version 1.269.2.39.2.4, 2022/05/29 12:46:35
|
version 1.269.2.39.2.5, 2022/07/08 15:45:20
|
Line 145 use LONCAPA qw(:DEFAULT :match);
|
Line 145 use LONCAPA qw(:DEFAULT :match);
|
use HTML::Entities; |
use HTML::Entities; |
|
|
sub start_loading_course { |
sub start_loading_course { |
my ($r,$title) = @_; |
my ($r,$title,$only_body) = @_; |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::no_cache($r); |
&Apache::loncommon::no_cache($r); |
$r->send_http_header; |
$r->send_http_header; |
my $swinfo=&Apache::lonmenu::rawconfig(); |
if ($only_body) { |
# Breadcrumbs |
$r->print(&Apache::loncommon::start_page($title,undef,{'only_body' => 1, |
my $brcrum = [{'href' => '', |
'add_progressbar' => 1})); |
'text' => $title},]; |
} else { |
my $start_page = &Apache::loncommon::start_page($title,undef, |
my $swinfo=&Apache::lonmenu::rawconfig(); |
{'bread_crumbs' => $brcrum, |
# Breadcrumbs |
'bread_crumbs_nomenu' => 1, |
my $brcrum = [{'href' => '', |
'links_disabled' => 1}); |
'text' => $title},]; |
$r->print(<<ENDREDIR); |
my $start_page = &Apache::loncommon::start_page($title,undef, |
|
{'bread_crumbs' => $brcrum, |
|
'bread_crumbs_nomenu' => 1, |
|
'links_disabled' => 1}); |
|
$r->print(<<ENDREDIR); |
$start_page |
$start_page |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
Line 172 document.body.addEventListener('click',
|
Line 176 document.body.addEventListener('click',
|
// ]]> |
// ]]> |
</script> |
</script> |
ENDREDIR |
ENDREDIR |
|
} |
return; |
return; |
} |
} |
|
|
sub finish_loading_course { |
sub finish_loading_course { |
my ($r,$msg,$url) = @_; |
my ($r,$msg,$url,$only_body) = @_; |
my $link = '<div id="LC_course_loaded" style="display:none"><a href="'. |
my $link = '<div id="LC_course_loaded" style="display:none"><a href="'. |
&HTML::Entities::encode($url,'"<>&').'">'.&mt('Continue').'</a></div>'; |
&HTML::Entities::encode($url,'"<>&').'">'.&mt('Continue').'</a></div>'; |
my $end_page = &Apache::loncommon::end_page(); |
my $end_page = &Apache::loncommon::end_page(); |
Line 201 window.status='Done.';
|
Line 206 window.status='Done.';
|
ENDCLOSE |
ENDCLOSE |
} |
} |
} |
} |
|
my $reenable; |
|
unless ($only_body) { |
|
$reenable = <<REENABLE; |
|
\$('.isDisabled > a').removeAttr("aria-disabled"); |
|
\$('.isDisabled').removeClass("isDisabled"); |
|
REENABLE |
|
} |
$r->print(<<END); |
$r->print(<<END); |
$msg |
$msg |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
\$(document).ready(function() { |
\$(document).ready(function() { |
\$("#LC_course_loaded").css("display","block"); |
\$("#LC_course_loaded").css("display","block"); |
\$('.isDisabled > a').removeAttr("aria-disabled"); |
$reenable |
\$('.isDisabled').removeClass("isDisabled"); |
|
$remote_js |
$remote_js |
var url = "$js_url"; |
var url = "$js_url"; |
\$(location).attr('href',url); |
\$(location).attr('href',url); |
Line 773 ENDENTERKEY
|
Line 784 ENDENTERKEY
|
} |
} |
my $crstype = &Apache::loncommon::course_type($cdom.'_'.$cnum); |
my $crstype = &Apache::loncommon::course_type($cdom.'_'.$cnum); |
$crstype = lc($crstype); |
$crstype = lc($crstype); |
|
my ($msg,$critmsg_check,$title,$loadmsg,$only_body); |
|
$critmsg_check = 1; |
|
$title = &mt("Loading $crstype"); |
|
$loadmsg = &mt("Please be patient while your $crstype loads"); |
|
if (($env{'request.deeplink.login'}) && ($env{'request.linkprot'})) { |
|
if ($env{'request.linkprot'} =~ /^\d+(c|d):\Q$env{'form.destinationurl'}\E$/) { |
|
$title = &mt('Loading LON-CAPA session'); |
|
$loadmsg = &mt('Please be patient while LON-CAPA loads'); |
|
$only_body = 1; |
|
$critmsg_check = 0; |
|
} |
|
} |
my $preamble = '<div id="LC_update_'.$cdom.'_'.$cnum.'" class="LC_info">'. |
my $preamble = '<div id="LC_update_'.$cdom.'_'.$cnum.'" class="LC_info">'. |
'<br />'. |
'<br />'. |
&mt("Please be patient while your $crstype loads"). |
$loadmsg. |
'<br /></div>'. |
'<br /></div>'. |
'<div style="padding:0;clear:both;margin:0;border:0"></div>'; |
'<div style="padding:0;clear:both;margin:0;border:0"></div>'; |
my $closure = <<ENDCLOSE; |
my $closure = <<ENDCLOSE; |
Line 785 ENDENTERKEY
|
Line 808 ENDENTERKEY
|
// ]]> |
// ]]> |
</script> |
</script> |
ENDCLOSE |
ENDCLOSE |
my $title = &mt("Loading $crstype"); |
&start_loading_course($r,$title,$only_body); |
&start_loading_course($r,$title); |
|
my %prog_state = &Apache::lonhtmlcommon::Create_PrgWin($r,undef,$preamble); |
my %prog_state = &Apache::lonhtmlcommon::Create_PrgWin($r,undef,$preamble); |
&Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state,&mt('Loading ...')); |
&Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state,&mt('Loading ...')); |
$r->rflush(); |
$r->rflush(); |
my ($msg,$blockcrit,$critmsg_check); |
if ($critmsg_check) { |
$critmsg_check = 1; |
my $blockcrit = &Apache::loncommon::blocking_status('alert',$clientip,$cnum,$cdom,undef,1); |
$blockcrit = &Apache::loncommon::blocking_status('alert',$clientip,$cnum,$cdom,undef,1); |
if ($blockcrit) { |
if ($blockcrit) { |
my $checkrole = "cm./$cdom/$cnum"; |
my $checkrole = "cm./$cdom/$cnum"; |
if ($csec ne '') { |
if ($csec ne '') { |
$checkrole .= "/$csec"; |
$checkrole .= "/$csec"; |
} |
} |
unless ((&Apache::lonnet::allowed('evb',undef,undef,$checkrole)) && |
unless ((&Apache::lonnet::allowed('evb',undef,undef,$checkrole)) && |
($trolecode !~ m{^st\./$cdom/$cnum})) { |
($trolecode !~ m{^st\./$cdom/$cnum})) { |
$critmsg_check = 0; |
$critmsg_check = 0; |
} |
} |
} |
} |
} |
my ($furl,$ferr)= |
my ($furl,$ferr)= |
Line 911 ENDCLOSE
|
Line 933 ENDCLOSE
|
$msg = '<p>'.&mt('Entering [_1] ...', |
$msg = '<p>'.&mt('Entering [_1] ...', |
$env{'course.'.$cdom.'_'.$cnum.'.description'}). |
$env{'course.'.$cdom.'_'.$cnum.'.description'}). |
'</p>'; |
'</p>'; |
&finish_loading_course($r,$msg,$dest); |
&finish_loading_course($r,$msg,$dest,$only_body); |
} |
} |
} |
} |
$r->rflush(); |
$r->rflush(); |
Line 1004 ENDCLOSE
|
Line 1026 ENDCLOSE
|
$dest .= (($dest =~/\?/)? '&':'?').'symb='.$esc_symb; |
$dest .= (($dest =~/\?/)? '&':'?').'symb='.$esc_symb; |
} |
} |
} |
} |
$msg = '<p>'.&mt('Entering [_1] ...', |
|
$env{'course.'.$cdom.'_'.$cnum.'.description'}). |
|
'</p>'; |
|
if ($env{'form.ttoken'}) { |
if ($env{'form.ttoken'}) { |
$dest .= (($dest =~/\?/)? '&':'?').'ttoken='.$env{'form.ttoken'}; |
$dest .= (($dest =~/\?/)? '&':'?').'ttoken='.$env{'form.ttoken'}; |
} |
} |
&finish_loading_course($r,$msg,$dest); |
unless ($env{'request.deeplink.login'}) { |
|
$msg = '<p>'.&mt('Entering [_1] ...', |
|
$env{'course.'.$cdom.'_'.$cnum.'.description'}). |
|
'</p>'; |
|
} |
|
&finish_loading_course($r,$msg,$dest,$only_body); |
$r->rflush(); |
$r->rflush(); |
return OK; |
return OK; |
} |
} |
Line 1025 ENDCLOSE
|
Line 1049 ENDCLOSE
|
$msg = '<p>'.&mt('Entering [_1] ...', |
$msg = '<p>'.&mt('Entering [_1] ...', |
$env{'course.'.$cdom.'_'.$cnum.'.description'}). |
$env{'course.'.$cdom.'_'.$cnum.'.description'}). |
'</p>'; |
'</p>'; |
&finish_loading_course($r,$msg,'/adm/whatsnew?refpage=start'); |
&finish_loading_course($r,$msg,'/adm/whatsnew?refpage=start',$only_body); |
$r->rflush(); |
$r->rflush(); |
return OK; |
return OK; |
} |
} |
Line 1074 ENDCLOSE
|
Line 1098 ENDCLOSE
|
$msg = '<p>'.&mt('Entering [_1] ...', |
$msg = '<p>'.&mt('Entering [_1] ...', |
$env{'course.'.$cdom.'_'.$cnum.'.description'}). |
$env{'course.'.$cdom.'_'.$cnum.'.description'}). |
'</p>'; |
'</p>'; |
&finish_loading_course($r,$msg,$furl); |
&finish_loading_course($r,$msg,$furl,$only_body); |
} |
} |
$r->rflush(); |
$r->rflush(); |
return OK; |
return OK; |