--- loncom/lonnet/perl/lonnet.pm 2000/11/15 23:25:59 1.64 +++ loncom/lonnet/perl/lonnet.pm 2000/11/16 12:00:01 1.65 @@ -67,7 +67,7 @@ # 10/04 Gerd Kortemeyer # 10/04 Guy Albertelli # 10/06,10/09,10/10,10/11,10/14,10/20,10/23,10/25,10/26,10/27,10/28,10/29, -# 10/30,10/31,11/2,11/14,11/15 Gerd Kortemeyer +# 10/30,10/31,11/2,11/14,11/15,11/16 Gerd Kortemeyer package Apache::lonnet; @@ -122,8 +122,7 @@ sub reply { my ($cmd,$server)=@_; my $answer=subreply($cmd,$server); if ($answer eq 'con_lost') { $answer=subreply($cmd,$server); } - if (($answer=~/^error:/) || ($answer=~/^refused/) || - ($answer=~/^rejected/)) { + if (($answer=~/^refused/) || ($answer=~/^rejected/)) { &logthis("WARNING:". " $cmd to $server returned $answer"); } @@ -1258,8 +1257,9 @@ sub EXT { } elsif ($realm eq 'resource') { if ($ENV{'request.course.id'}) { # ----------------------------------------------------- Cascading lookup scheme + my $symbparm=&symbread().'.'.$spacequalifierrest; my $reslevel= - $ENV{'request.course.id'}.'.'.&symbread().'.'.$spacequalifierrest; + $ENV{'request.course.id'}.'.'.$symbparm; my $seclevel= $ENV{'request.course.id'}.'.'. $ENV{'request.course.sec'}.'.'.$spacequalifierrest; @@ -1295,10 +1295,14 @@ sub EXT { } # ------------------------------------------------------ third, check map parms - - if ($ENV{'resource.parms.'.$reslevel}) { - return $ENV{'resource.parms.'.$reslevel}; + my %parmhash=(); + my $thisparm=''; + if (tie(%parmhash,'GDBM_File', + $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640)) { + $thisparm=$parmhash{$symbparm}; + untie(%parmhash); } + if ($thisparm) { return $thisparm; } } # --------------------------------------------- last, look in resource metadata @@ -1328,21 +1332,6 @@ sub EXT { return ''; } -# ---------------------------------------- Append resource parms to environment - -sub appendparms { - my ($symb,$parms)=@_; - my %storehash=(); - my $prefix='resource.parms.'.$ENV{'request.course.id'}.'.'.$symb; - map { - my ($typename,$value)=split(/\=/,$_); - my ($type,$name)=split(/\:/,$typename); - $storehash{$prefix.'.'.unescape($name)}=unescape($value); - $storehash{$prefix.'.'.unescape($name).'.type'}=unescape($type); - } split(/\&/,$parms); - &appenv(%storehash); -} - # ------------------------------------------------- Update symbolic store links sub symblist { @@ -1374,7 +1363,6 @@ sub symbread { my %hash; my %bighash; my $syval=''; - my $parms=''; if (($ENV{'request.course.fn'}) && ($thisfn)) { if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db', &GDBM_READER,0640)) { @@ -1396,13 +1384,15 @@ sub symbread { &GDBM_READER,0640)) { # ---------------------------------------------- Get ID(s) for current resource my $ids=$bighash{'ids_/res/'.$thisfn}; + unless ($ids) { + $ids=$bighash{'ids_/'.$thisfn}; + } if ($ids) { # ------------------------------------------------------------------- Has ID(s) my @possibilities=split(/\,/,$ids); if ($#possibilities==0) { # ----------------------------------------------- There is only one possibility my ($mapid,$resid)=split(/\./,$ids); - $parms=$bighash{'param_'.$ids}; $syval=declutter($bighash{'map_id_'.$mapid}).'___'.$resid; } else { # ------------------------------------------ There is more than one possibility @@ -1413,7 +1403,6 @@ sub symbread { my ($mapid,$resid)=split(/\./,$_); if ($bighash{'map_type_'.$mapid} ne 'page') { $realpossible++; - $parms=$bighash{'param_'.$_}; $syval=declutter($bighash{'map_id_'.$mapid}). '___'.$resid; } @@ -1426,9 +1415,6 @@ sub symbread { } } if ($syval) { - if ($parms) { - &appendparms($syval.'___'.$thisfn,$parms); - } return $syval.'___'.$thisfn; } }