--- rat/lonuserstate.pm 2002/10/07 13:50:36 1.44 +++ rat/lonuserstate.pm 2002/12/12 18:00:24 1.48 @@ -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.44 2002/10/07 13:50:36 www Exp $ +# $Id: lonuserstate.pm,v 1.48 2002/12/12 18:00:24 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -68,11 +68,11 @@ my @cond; # Array with all of the con my $errtext; # variable with all errors my $retfurl; # variable with the very first URL in the course my %randompick; # randomly picked resources -my %actualversion # version of resource as loaded now -my %setversion # forced version of resource -my %lastversion # version when CC came in last -my $versionmode # how versioning is handled in this course -my $hasversionpriv # user has versioning privileges +my %actualversion; # version of resource as loaded now +my %setversion; # forced version of resource +my %lastversion; # version when CC came in last +my $versionmode; # how versioning is handled in this course + # --------------------------------------------------------- Loads map from disk sub loadmap { @@ -120,6 +120,12 @@ sub loadmap { $hash{'kind_'.$rid}='res'; $hash{'title_'.$rid}=$token->[2]->{'title'}; my $turi=$token->[2]->{'src'}; + $Apache::lonnet::titlecache{ + &Apache::lonnet::symbclean( + &Apache::lonnet::declutter($uri).'___'. + $token->[2]->{'id'}.'___'. + &Apache::lonnet::declutter($turi))}= + $token->[2]->{'title'}; unless ($ispage) { $turi=~/\.(\w+)$/; my $embstyle=&Apache::loncommon::fileembstyle($1); @@ -272,7 +278,8 @@ sub traceroute { $sofar=simplify($sofar); unless ($beenhere=~/\&$rid\&/) { $beenhere.=$rid.'&'; - if (($retfurl eq '') && ($hash{'src_'.$rid})) { + if (($retfurl eq '') && ($hash{'src_'.$rid}) + && ($hash{'src_'.$rid}!~/\.sequence$/)) { my ($mapid,$resid)=split(/\./,$rid); $retfurl=$hash{'src_'.$rid}. (($hash{'src_'.$rid}=~/\?/)?'&':'?').'symb='. @@ -485,6 +492,10 @@ sub readmap { &accinit($uri,$short,$fn); &pickrandom(); } +# ------------------------------------------------------------ Version tracking +# if (&Apache::lonnet::allowed('srm',$ENV{'request.course.id'})) { +# &Apache::lonnet::logthis('Will be version tracking'); +# } unless ((untie(%hash)) && (untie(%parmhash))) { &Apache::lonnet::logthis("WARNING: ". "Could not untie coursemap $fn for $uri."); @@ -503,6 +514,15 @@ sub readmap { "Could not tie coursemap $fn for $uri."); } &Apache::lonmsg::author_res_msg($ENV{'request.course.uri'},$errtext); +# ------------------------------------------------- Check for critical messages + + my @what=&Apache::lonnet::dump('critical',$ENV{'user.domain'}, + $ENV{'user.name'}); + if ($what[0]) { + if (($what[0] ne 'con_lost') && ($what[0]!~/^error\:/)) { + $retfurl='/adm/email?critical=display'; + } + } return ($retfurl,$errtext); }