--- rat/lonsequence.pm 2021/06/24 21:22:27 1.48.2.3 +++ rat/lonsequence.pm 2023/01/20 23:49:50 1.48.2.4.2.1 @@ -2,7 +2,7 @@ # # Sequence Handler # -# $Id: lonsequence.pm,v 1.48.2.3 2021/06/24 21:22:27 raeburn Exp $ +# $Id: lonsequence.pm,v 1.48.2.4.2.1 2023/01/20 23:49:50 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -233,9 +233,13 @@ sub handler { $r->send_http_header; $r->print(&Apache::loncommon::check_release_result(@reinit)); return OK; - } elsif ($result eq 'update') { - my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; - my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + } + my ($cnum,$cdom); + if ($result) { + $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + } + if (($result eq 'main') || ($result eq 'both')) { my ($furl,$ferr) = &Apache::lonuserstate::readmap("$cdom/$cnum"); if ($ferr) { my $requrl = $r->uri; @@ -244,7 +248,16 @@ sub handler { return HTTP_NOT_ACCEPTABLE; } } - + if (($result eq 'both') || ($result eq 'supp')) { + my $possdel; + if ($result eq 'supp') { + $possdel = 1; + } + my ($supplemental,$refs_updated) = &Apache::loncommon::get_supplemental($cnum,$cdom,'',$possdel); + unless ($refs_updated) { + &Apache::loncommon::set_supp_httprefs($cnum,$cdom,$supplemental,$possdel); + } + } &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; @@ -362,8 +375,6 @@ sub handler { $dismapid=(split(/\./,$disid))[1]; if (!$env{'request.role.adv'}) { $randomout = $bighash{'randomout_'.$disid}; - } - if (!$env{'request.role.adv'}) { $is_encrypted = $bighash{'encrypted_'.$disid}; } } elsif (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db', @@ -384,8 +395,6 @@ sub handler { $dismapid=(split(/\./,$disid))[1]; if (!$env{'request.role.adv'}) { $randomout = $bighash{'randomout_'.$disid}; - } - if (!$env{'request.role.adv'}) { $is_encrypted = $bighash{'encrypted_'.$disid}; } } @@ -412,7 +421,7 @@ sub handler { 'last_known' => [$disurl,$dismapid]); } &Apache::loncommon::content_type($r,'text/html'); - $r->header_out(Location => &Apache::lonnet::absolute_url($ENV{'SERVER_NAME'}). + $r->header_out(Location => &Apache::lonnet::absolute_url(). $showdisurl); return REDIRECT; } else {