--- rat/lonuserstate.pm 2009/11/15 21:31:23 1.133 +++ rat/lonuserstate.pm 2010/06/16 23:42:52 1.136 @@ -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.133 2009/11/15 21:31:23 raeburn Exp $ +# $Id: lonuserstate.pm,v 1.136 2010/06/16 23:42:52 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -62,6 +62,12 @@ my %hiddenurl; # this URL (or complete f # ----------------------------------- Remove version from URL and store in hash +sub versionerror { + my ($uri,$usedversion,$unusedversion)=@_; + return '
'.&mt('Version discrepancy: resource [_1] included in both version [_2] and version [_3]. Using version [_2].', + $uri,$usedversion,$unusedversion).'
'; +} + sub versiontrack { my $uri=shift; if ($uri=~/\.(\d+)\.\w+$/) { @@ -69,7 +75,9 @@ sub versiontrack { $uri=~s/\.\d+\.(\w+)$/\.$1/; unless ($hash{'version_'.$uri}) { $hash{'version_'.$uri}=$version; - } + } elsif ($version!=$hash{'version_'.$uri}) { + $errtext.=&versionerror($uri,$hash{'version_'.$uri},$version); + } } return $uri; } @@ -118,6 +126,15 @@ sub loadmap { my $lpc=$pc; $hash{'map_pc_'.$uri}=$lpc; $hash{'map_id_'.$lpc}=$uri; + if ($parent_rid =~ /^(\d+)\.\d+$/) { + my $parent_pc = $1; + if (defined($hash{'map_hierarchy_'.$parent_pc})) { + $hash{'map_hierarchy_'.$lpc}=$hash{'map_hierarchy_'.$parent_pc}.','. + $parent_pc; + } else { + $hash{'map_hierarchy_'.$lpc}=$parent_pc; + } + } # Determine and check filename my $fn=&Apache::lonnet::filelocation('',&putinversion($uri)); @@ -278,7 +295,7 @@ sub parse_resource { $hash{'ids_'.$idsuri}=''.$rid; } - if ($turi=~/\/(syllabus|aboutme|navmaps|smppg|bulletinboard)$/) { + if ($turi=~/\/(syllabus|aboutme|navmaps|smppg|bulletinboard|viewclasslist)$/) { $turi.='?register=1'; }