version 1.48.2.4.2.1, 2023/01/20 23:49:50
|
version 1.52, 2020/09/03 12:14:30
|
Line 36 use Apache::lonnet;
|
Line 36 use Apache::lonnet;
|
use Apache::Constants qw(:common :http REDIRECT); |
use Apache::Constants qw(:common :http REDIRECT); |
use GDBM_File; |
use GDBM_File; |
use LONCAPA::map(); |
use LONCAPA::map(); |
|
use LONCAPA::ltiutils; |
use LONCAPA; |
use LONCAPA; |
use Apache::lonpageflip(); |
use Apache::lonpageflip(); |
use Apache::loncommon(); |
use Apache::loncommon(); |
Line 233 sub handler {
|
Line 234 sub handler {
|
$r->send_http_header; |
$r->send_http_header; |
$r->print(&Apache::loncommon::check_release_result(@reinit)); |
$r->print(&Apache::loncommon::check_release_result(@reinit)); |
return OK; |
return OK; |
} |
} elsif ($result eq 'update') { |
my ($cnum,$cdom); |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
if ($result) { |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
$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"); |
my ($furl,$ferr) = &Apache::lonuserstate::readmap("$cdom/$cnum"); |
if ($ferr) { |
if ($ferr) { |
my $requrl = $r->uri; |
my $requrl = $r->uri; |
Line 248 sub handler {
|
Line 245 sub handler {
|
return HTTP_NOT_ACCEPTABLE; |
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'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
|
|
Line 273 sub handler {
|
Line 261 sub handler {
|
if (ref($navmap)) { |
if (ref($navmap)) { |
# renderer call |
# renderer call |
if (&Apache::lonnet::is_on_map($requrl)) { |
if (&Apache::lonnet::is_on_map($requrl)) { |
@crumbs = ({text => $crstype.' Contents', |
my ($ltiscope,$ltiuri); |
href => "javascript:gopost('/adm/navmaps','')"}); |
if (($env{'request.lti.login'}) && ($env{'request.lti.uri'})) { |
my $res = $navmap->getResourceByUrl($mapurl); |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
if (ref($res)) { |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $symb = $res->symb(); |
($ltiscope,$ltiuri) = &LONCAPA::ltiutils::lti_provider_scope($env{'request.lti.uri'},$cdom,$cnum); |
if ($symb) { |
} |
my ($parent) = &Apache::lonnet::decode_symb($res->symb()); |
@crumbs = (); |
if ($parent ne $env{'course.'.$env{'request.course.id'}.'.url'}) { |
unless ($ltiscope eq 'resource') { |
my @mapcrumbs = $navmap->recursed_crumbs($parent); |
unless ($ltiscope eq 'map') { |
if (@mapcrumbs) { |
@crumbs = ({text => $crstype.' Contents', |
push(@crumbs,@mapcrumbs); |
href => "javascript:gopost('/adm/navmaps','')"}); |
|
} |
|
my $res = $navmap->getResourceByUrl($mapurl); |
|
if (ref($res)) { |
|
my $symb = $res->symb(); |
|
if ($symb) { |
|
my ($parent) = &Apache::lonnet::decode_symb($res->symb()); |
|
if (($parent ne $env{'course.'.$env{'request.course.id'}.'.url'}) && |
|
!(($ltiscope eq 'map') && ($requrl eq $ltiuri))) { |
|
my @mapcrumbs = $navmap->recursed_crumbs($parent); |
|
if (@mapcrumbs) { |
|
push(@crumbs,@mapcrumbs); |
|
} |
} |
} |
|
$env{'request.symb'} = $symb; |
} |
} |
$env{'request.symb'} = $symb; |
|
} |
} |
} |
} |
push(@crumbs,{text => $maptitle, no_mt => 1}); |
push(@crumbs,{text => $maptitle, no_mt => 1}); |
$args = {'bread_crumbs' => \@crumbs, |
$args = {'bread_crumbs' => \@crumbs, |
'bread_crumbs_nomenu' => 1, |
'bread_crumbs_nomenu' => 1}; |
'no_auto_mt_title' => 1}; |
|
$r->print(&Apache::loncommon::start_page($maptitle,undef,$args)); |
$r->print(&Apache::loncommon::start_page($maptitle,undef,$args)); |
|
|
my $renderArgs = { 'cols' => [0,1,2,3], |
my $renderArgs = { 'cols' => [0,1,2,3], |
Line 375 sub handler {
|
Line 374 sub handler {
|
$dismapid=(split(/\./,$disid))[1]; |
$dismapid=(split(/\./,$disid))[1]; |
if (!$env{'request.role.adv'}) { |
if (!$env{'request.role.adv'}) { |
$randomout = $bighash{'randomout_'.$disid}; |
$randomout = $bighash{'randomout_'.$disid}; |
|
} |
|
if (!$env{'request.role.adv'}) { |
$is_encrypted = $bighash{'encrypted_'.$disid}; |
$is_encrypted = $bighash{'encrypted_'.$disid}; |
} |
} |
} elsif (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db', |
} elsif (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db', |
Line 395 sub handler {
|
Line 396 sub handler {
|
$dismapid=(split(/\./,$disid))[1]; |
$dismapid=(split(/\./,$disid))[1]; |
if (!$env{'request.role.adv'}) { |
if (!$env{'request.role.adv'}) { |
$randomout = $bighash{'randomout_'.$disid}; |
$randomout = $bighash{'randomout_'.$disid}; |
|
} |
|
if (!$env{'request.role.adv'}) { |
$is_encrypted = $bighash{'encrypted_'.$disid}; |
$is_encrypted = $bighash{'encrypted_'.$disid}; |
} |
} |
} |
} |
Line 414 sub handler {
|
Line 417 sub handler {
|
if ($is_encrypted) { |
if ($is_encrypted) { |
$showdisurl = &Apache::lonenc::encrypted($disurl); |
$showdisurl = &Apache::lonenc::encrypted($disurl); |
} |
} |
if ($disurl =~ m{^/adm/navmaps(\?|$)}) { |
if ($disurl =~ m{/adm/navmaps(\?|$)}) { |
&Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid]); |
&Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid]); |
} else { |
} else { |
&Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid], |
&Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid], |
'last_known' => [$disurl,$dismapid]); |
'last_known' => [$disurl,$dismapid]); |
} |
} |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->header_out(Location => &Apache::lonnet::absolute_url(). |
$r->header_out(Location => &Apache::lonnet::absolute_url($ENV{'SERVER_NAME'}). |
$showdisurl); |
$showdisurl); |
return REDIRECT; |
return REDIRECT; |
} else { |
} else { |