--- rat/lonuserstate.pm 2011/10/20 17:14:19 1.142 +++ rat/lonuserstate.pm 2013/05/06 18:08:39 1.145 @@ -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.142 2011/10/20 17:14:19 raeburn Exp $ +# $Id: lonuserstate.pm,v 1.145 2013/05/06 18:08:39 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1108,9 +1108,8 @@ sub readmap { # # Most likely a permissions problem on the lockfile or its directory. # - $errtext.='
'.&mt('Map not loaded - Lock file could not be opened when reading map:').' '.$fn.'.'; $retfurl = ''; - return ($retfurl,$errtext); + return ($retfurl,'
'.&mt('Map not loaded - Lock file could not be opened when reading map:').' '.$fn.'.'); } my $lock=0; my $gotstate=0; @@ -1126,6 +1125,7 @@ sub readmap { undef %hiddenurl; undef %encurl; $retfrid=''; + $errtext=''; my ($untiedhash,$untiedparmhash,$tiedhash,$tiedparmhash); # More state flags. # if we got the lock, regenerate course regnerate empty files and tie them. @@ -1220,7 +1220,9 @@ sub readmap { # &Apache::lonnet::appenv({"request.course.id" => $short, "request.course.fn" => $fn, - "request.course.uri" => $uri}); + "request.course.uri" => $uri, + "request.course.tied" => time}); + $untiedhash = untie(%hash); $untiedparmhash = untie(%parmhash); $gotstate = 1; @@ -1265,6 +1267,7 @@ sub readmap { undef %randompick; undef %hiddenurl; undef %encurl; + $errtext=''; $retfrid=''; # # Once more through the routine of tying and loading and so on. @@ -1376,7 +1379,8 @@ sub build_tmp_hashes { if (defined($hash{'map_start_'.$uri})) { &Apache::lonnet::appenv({"request.course.id" => $short, "request.course.fn" => $fn, - "request.course.uri" => $uri}); + "request.course.uri" => $uri, + "request.course.tied" => time}); $env{'request.course.id'}=$short; &traceroute('0',$hash{'map_start_'.$uri},'&'); &accinit($uri,$short,$fn); @@ -1427,7 +1431,7 @@ sub unlink_tmpfiles { my ($fn) = @_; my $file_dir = dirname($fn); - if ($fn eq LONCAPA::tempdir()) { + if ("$file_dir/" eq LONCAPA::tempdir()) { my @files = qw (.db _symb.db .state _parms.db); foreach my $file (@files) { if (-e $fn.$file) {