[LON-CAPA-cvs] cvs: loncom /lonnet/perl lonnet.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Thu, 03 Apr 2003 22:17:09 -0000
albertel Thu Apr 3 17:17:09 2003 EDT
Modified files:
/loncom/lonnet/perl lonnet.pm
Log:
- &EXT() now works for public users.
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.358 loncom/lonnet/perl/lonnet.pm:1.359
--- loncom/lonnet/perl/lonnet.pm:1.358 Mon Mar 31 15:53:39 2003
+++ loncom/lonnet/perl/lonnet.pm Thu Apr 3 17:17:09 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.358 2003/03/31 20:53:39 www Exp $
+# $Id: lonnet.pm,v 1.359 2003/04/03 22:17:09 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3094,8 +3094,10 @@
unless ($varname) { return ''; }
#get real user name/domain, courseid and symb
my $courseid;
+ my $publicuser;
if (!($uname && $udom)) {
(my $cursymb,$courseid,$udom,$uname)=&Apache::lonxml::whichuser();
+ if ($udom eq 'public' and $uname =~ /^public/) { $publicuser='1'; }
if (!$symbparm) { $symbparm=$cursymb; }
} else {
$courseid=$ENV{'request.course.id'};
@@ -3118,7 +3120,12 @@
if (defined($Apache::lonhomework::parsing_a_problem)) {
return $Apache::lonhomework::history{$qualifierrest};
} else {
- my %restored=&restore($symbparm,$courseid,$udom,$uname);
+ my %restored;
+ if ($publicuser || $ENV{'request.state'} eq 'construct') {
+ %restored=&tmprestore($symbparm,$courseid,$udom,$uname);
+ } else {
+ %restored=&restore($symbparm,$courseid,$udom,$uname);
+ }
return $restored{$qualifierrest};
}
# ----------------------------------------------------------------- user.access
@@ -3131,7 +3138,11 @@
($udom eq $ENV{'user.domain'})) {
return $ENV{join('.',('environment',$qualifierrest))};
} else {
- my %returnhash=&userenvironment($udom,$uname,$qualifierrest);
+ my %returnhash;
+ if (!$publicuser) {
+ %returnhash=&userenvironment($udom,$uname,
+ $qualifierrest);
+ }
return $returnhash{$qualifierrest};
}
# ----------------------------------------------------------------- user.course
@@ -3155,8 +3166,11 @@
return $uname;
# ---------------------------------------------------- Any other user namespace
} else {
- my %reply=&get($space,[$qualifierrest],$udom,$uname);
- return $reply{$qualifierrest};
+ my %reply;
+ if (!$publicuser) {
+ %reply=&get($space,[$qualifierrest],$udom,$uname);
+ }
+ return $reply{$qualifierrest};
}
} elsif ($realm eq 'query') {
# ---------------------------------------------- pull stuff out of query string
@@ -3175,7 +3189,7 @@
return $ENV{'course.'.$courseid.'.'.$spacequalifierrest};
} elsif ($realm eq 'resource') {
- if ($courseid eq $ENV{'request.course.id'}) {
+ if (defined($courseid) && $courseid eq $ENV{'request.course.id'}) {
#print '<br>'.$space.' - '.$qualifier.' - '.$spacequalifierrest;