--- rat/map.pm 2014/06/14 19:05:00 1.15 +++ rat/map.pm 2022/10/22 17:24:55 1.16 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # routines for modyfing .sequence and .page files # -# $Id: map.pm,v 1.15 2014/06/14 19:05:00 raeburn Exp $ +# $Id: map.pm,v 1.16 2022/10/22 17:24:55 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -678,10 +678,12 @@ sub savemap { } } $outstr.="\n"; + my ($cdom,$cnum,$mapname); if ($fn=~m{^/*uploaded/($LONCAPA::domain_re)/($LONCAPA::courseid_re)/(.*)$}) { + ($cdom,$cnum,$mapname) = ($1,$2,$3); $env{'form.output'}=$outstr; - my $result=&Apache::lonnet::finishuserfileupload($2,$1, - 'output',$3); + my $result=&Apache::lonnet::finishuserfileupload($cnum,$cdom, + 'output',$mapname); if ($result != m|^/uploaded/|) { $errtext.='Map not saved: A network error occurred when trying to save the map. '; } @@ -696,13 +698,19 @@ sub savemap { if ($dotimeupdate) { unless ($errtext) { if ($env{'request.course.id'}) { - my $now = time; - &Apache::lonnet::put('environment',{'internal.contentchange' => $now}, - $env{'course.'.$env{'request.course.id'}.'.domain'}, - $env{'course.'.$env{'request.course.id'}.'.num'}); - &Apache::lonnet::appenv( - {'course.'.$env{'request.course.id'}.'.internal.contentchange' => $now}); - &Apache::lonnet::do_cache_new('crschange',$env{'request.course.id'},$now,600); + if (($cdom eq $env{'course.'.$env{'request.course.id'}.'.domain'}) && + ($cnum eq $env{'course.'.$env{'request.course.id'}.'.num'}) && + ($mapname =~ /^supplemental(|_\d+)\.sequence$/)) { + &Apache::lonnet::update_supp_caches($cdom,$cnum); + } else { + my $now = time; + &Apache::lonnet::put('environment',{'internal.contentchange' => $now}, + $env{'course.'.$env{'request.course.id'}.'.domain'}, + $env{'course.'.$env{'request.course.id'}.'.num'}); + &Apache::lonnet::appenv( + {'course.'.$env{'request.course.id'}.'.internal.contentchange' => $now}); + &Apache::lonnet::do_cache_new('crschange',$env{'request.course.id'},$now,600); + } } } }