--- rat/lonuserstate.pm 2003/02/28 16:17:00 1.52 +++ rat/lonuserstate.pm 2003/04/30 21:13:57 1.58 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Construct and maintain state and binary representation of course for user # -# $Id: lonuserstate.pm,v 1.52 2003/02/28 16:17:00 www Exp $ +# $Id: lonuserstate.pm,v 1.58 2003/04/30 21:13:57 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -97,7 +97,7 @@ sub loadmap { my $instr=&Apache::lonnet::getfile($fn); - unless ($instr == -1) { + unless ($instr eq -1) { # Successfully got file, parse it @@ -139,19 +139,24 @@ sub loadmap { $turi='/adm/coursedocs/showdoc'.$turi; } } else { # normal internal resource - if (($embstyle eq 'img') || ($embstyle eq 'emb') - || ($turi=~/\/(syllabus|aboutme|navmaps|smppg|bulletinboard)$/)) { - $turi=$turi.'?register=1'; + if (($embstyle eq 'img') || ($embstyle eq 'emb')) { + $turi='/adm/wrapper'.$turi; } } } - $hash{'src_'.$rid}=$turi; if (defined($hash{'ids_'.$turi})) { $hash{'ids_'.$turi}.=','.$rid; } else { $hash{'ids_'.$turi}=''.$rid; } + + if + ($turi=~/\/(syllabus|aboutme|navmaps|smppg|bulletinboard)$/) { + $turi.='?register=1'; + } + + $hash{'src_'.$rid}=$turi; if ($token->[2]->{'external'} eq 'true') { $hash{'ext_'.$rid}='true:'; @@ -372,11 +377,11 @@ sub accinit { my $resid=$_; my $uri=$hash{'src_'.$resid}; $uri=~s/^\/adm\/wrapper//; + $uri=&Apache::lonnet::declutter($uri); my @uriparts=split(/\//,$uri); my $urifile=$uriparts[$#uriparts]; $#uriparts--; my $uripath=join('/',@uriparts); - $uripath=~s/^\/res\///; if ($uripath) { my $uricond='0'; if (defined($hash{'conditions_'.$resid})) { @@ -384,7 +389,7 @@ sub accinit { } if (defined($acchash{'acc.res.'.$short.'.'.$uripath})) { if ($acchash{'acc.res.'.$short.'.'.$uripath}=~ - /(\&$urifile\:[^\&]*)/) { + /(\&\Q$urifile\E\:[^\&]*)/) { my $replace=$1; my $regexp=$replace; $regexp=~s/\|/\\\|/g; @@ -438,7 +443,7 @@ sub pickrandom { my (undef,$id)=split(/\./,$rid); if ($randompickseed{$rid}) { $id=$randompickseed{$rid}; } my $rndseed=&Apache::lonnet::rndseed($id); # use id instead of symb - &Math::Random::random_set_seed_from_phrase($rndseed); + &Apache::lonnet::setup_random_from_rndseed($rndseed); my @whichids=&Math::Random::random_permuted_index($#currentrids+1); for (my $i=1;$i<=$rndpick;$i++) { $currentrids[$whichids[$i]]=''; } #&Apache::lonnet::logthis("$id,$rndseed,".join(':',@whichids));