version 1.111.2.10.2.2, 2020/07/18 21:49:35
|
version 1.111.2.13.2.1, 2022/01/04 19:37:55
|
Line 202 sub handler {
|
Line 202 sub handler {
|
my ($pagesymb,$courseid,$domain,$name)=&Apache::lonnet::whichuser(); |
my ($pagesymb,$courseid,$domain,$name)=&Apache::lonnet::whichuser(); |
unless ($pagesymb) { |
unless ($pagesymb) { |
$pagesymb=&Apache::lonnet::symbread($requrl); |
$pagesymb=&Apache::lonnet::symbread($requrl); |
} |
} |
if ($pagesymb && ($courseid ne '') && ($domain ne '') && ($name ne '')) { |
if ($pagesymb && ($courseid ne '') && ($domain ne '') && ($name ne '')) { |
my %times=&Apache::lonnet::get('firstaccesstimes', |
my %times=&Apache::lonnet::get('firstaccesstimes', |
[$courseid."\0".$pagesymb], |
[$courseid."\0".$pagesymb], |
Line 276 sub handler {
|
Line 276 sub handler {
|
my %ssilink=(); |
my %ssilink=(); |
my %ssivlink=(); |
my %ssivlink=(); |
my %ssialink=(); |
my %ssialink=(); |
|
my %cssrefs=(); |
|
my %httpref=(); |
|
|
my %cellemb=(); |
my %cellemb=(); |
my %cellexternal=(); |
my %cellexternal=(); |
Line 441 ENDEXT
|
Line 443 ENDEXT
|
my $bodydef=0; |
my $bodydef=0; |
my $thisxml=0; |
my $thisxml=0; |
my @rlinks=(); |
my @rlinks=(); |
|
my @css_hrefs=(); |
if ($output=~/\?xml/) { |
if ($output=~/\?xml/) { |
$isxml=1; |
$isxml=1; |
$thisxml=1; |
$thisxml=1; |
Line 483 ENDEXT
|
Line 486 ENDEXT
|
($bodydef==0)) { |
($bodydef==0)) { |
$allscript.="\n\n" |
$allscript.="\n\n" |
.$parser->get_text('/script'); |
.$parser->get_text('/script'); |
|
} elsif (($token->[1] eq 'link') && |
|
($bodydef==0)) { |
|
if (($token->[2]->{'href'} !~ m{^/adm/}) && |
|
($token->[2]->{'rel'} eq 'stylesheet')) { |
|
$css_hrefs[$#css_hrefs+1]= |
|
$token->[2]->{'href'}; |
|
|
|
} |
} |
} |
} |
} |
} |
} |
Line 645 ENDEXT
|
Line 656 ENDEXT
|
$output=~s/(\"|\'|\=\s*)$_(\"|\'|\s|\>)/$1$newlocation$2/; |
$output=~s/(\"|\'|\=\s*)$_(\"|\'|\s|\>)/$1$newlocation$2/; |
} |
} |
} |
} |
|
foreach my $css_href (@css_hrefs) { |
|
next if ($css_href eq ''); |
|
unless ($css_href =~ m{https?://}) { |
|
my $proburl = &Apache::lonnet::clutter($plainsrc); |
|
unless ($css_href =~ m{^/}) { |
|
my $probdir = $proburl; |
|
$probdir=~s/\/[^\/]*$//; |
|
$css_href = &Apache::lonnet::hreflocation($probdir,$css_href); |
|
} |
|
if ($css_href =~ m{^/(res|uploaded)/}) { |
|
unless (($env{'httpref.'.$css_href}) || |
|
($httpref{'httpref.'.$css_href}) || |
|
(&Apache::lonnet::is_on_map($css_href))) { |
|
if ($env{'httpref.'.$proburl}) { |
|
$proburl = $env{'httpref.'.$proburl}; |
|
} |
|
$httpref{'httpref.'.$css_href} = $proburl; |
|
} |
|
} |
|
} |
|
$cssrefs{$css_href} = 1; |
|
} |
# -------------------------------------------------- Deal with Applet codebases |
# -------------------------------------------------- Deal with Applet codebases |
$output=~s/(\<applet[^\>]+)(codebase\=[^\S\>]+)*([^\>]*)\>/$1.($2?$2:' codebase="'.$thisdir.'"').$3.'>'/gei; |
$output=~s/(\<applet[^\>]+)(codebase\=[^\S\>]+)*([^\>]*)\>/$1.($2?$2:' codebase="'.$thisdir.'"').$3.'>'/gei; |
$ssibody{$_}=$output; |
$ssibody{$_}=$output; |
Line 710 ENDEXT
|
Line 743 ENDEXT
|
$uniquetimes{$item} = 1; |
$uniquetimes{$item} = 1; |
} |
} |
} |
} |
if (scalar(keys(%uniquetimes)) == 1) { |
if (scalar(keys(%uniquetimes)) == 1) { |
my (%uniquedisplays,%uniquedones,$currdisp,$donebuttontime, |
my (%uniquedisplays,%uniquedones,$currdisp,$donebuttontime, |
$donebuttonextras); |
$donebuttonextras); |
if (keys(%countdowndisp)) { |
if (keys(%countdowndisp)) { |
Line 763 ENDEXT
|
Line 796 ENDEXT
|
} |
} |
} |
} |
} |
} |
|
if (keys(%cssrefs)) { |
|
my $links; |
|
if (keys(%cssrefs)) { |
|
foreach my $css_href (keys(%cssrefs)) { |
|
next unless ($css_href =~ m{^(/res/|/uploaded/|https?://)}); |
|
$links .= '<link rel="stylesheet" type="text/css" href="'.$css_href.'" />'."\n"; |
|
} |
|
} |
|
if ($links) { |
|
if (keys(%httpref)) { |
|
&Apache::lonnet::appenv(\%httpref); |
|
} |
|
$allscript .= "\n$links"; |
|
} |
|
} |
# ------------------------------------------------------------------ Start body |
# ------------------------------------------------------------------ Start body |
$r->print(&Apache::loncommon::start_page(undef,$allscript, |
$r->print(&Apache::loncommon::start_page(undef,$allscript, |
{'force_register' => 1, |
{'force_register' => 1, |
Line 995 sub get_buttons {
|
Line 1043 sub get_buttons {
|
if (($hash->{'src_'.$rid}=~/$LONCAPA::assess_re/) && |
if (($hash->{'src_'.$rid}=~/$LONCAPA::assess_re/) && |
($hash->{'src_'.$rid} !~ m-^/uploaded/-)) { |
($hash->{'src_'.$rid} !~ m-^/uploaded/-)) { |
|
|
if ((&Apache::lonnet::allowed('mgr',$crs_sec)) || |
if ((&Apache::lonnet::allowed('mgr',$crs_sec)) || |
(&Apache::lonnet::allowed('vgr',$crs_sec))) { |
(&Apache::lonnet::allowed('vgr',$crs_sec))) { |
$metainfo.= |
$metainfo.= |
'<a href="/adm/grades?symb='.&escape($symb). |
'<a href="/adm/grades?symb='.&escape($symb). |
Line 1008 sub get_buttons {
|
Line 1056 sub get_buttons {
|
} |
} |
if (&Apache::lonnet::allowed('mgr',$crs_sec)) { |
if (&Apache::lonnet::allowed('mgr',$crs_sec)) { |
$metainfo.= |
$metainfo.= |
'<a href="/adm/grades?symb='.&escape($symb). |
'<a href="/adm/grades?symb='.&escape($symb). |
# '&command=gradingmenu" target="LONcatInfo">'. |
# '&command=gradingmenu" target="LONcatInfo">'. |
'&command=gradingmenu">'. |
'&command=gradingmenu">'. |
'<img src="/res/adm/pages/pgrd.png" class="LC_icon"'. |
'<img src="/res/adm/pages/pgrd.png" class="LC_icon"'. |
' alt="'.&mt('Content Grades').'"'. |
' alt="'.&mt('Content Grades').'"'. |
' title="'.&mt('Content Grades').'" />'. |
' title="'.&mt('Content Grades').'" />'. |
'</a>'; |
'</a>'; |
} |
} |
if ((&Apache::lonnet::allowed('opa',$crs_sec)) || |
if ((&Apache::lonnet::allowed('opa',$crs_sec)) || |
(&Apache::lonnet::allowed('vpa',$crs_sec))) { |
(&Apache::lonnet::allowed('vpa',$crs_sec))) { |
$metainfo.= |
$metainfo.= |
'<a href="/adm/parmset?symb='.&escape($symb). |
'<a href="/adm/parmset?symb='.&escape($symb). |