version 1.1363, 2021/08/04 19:59:10
|
version 1.1368, 2021/10/18 22:29:20
|
Line 5745 sub get_domainconf {
|
Line 5745 sub get_domainconf {
|
} |
} |
} |
} |
} |
} |
|
} elsif ($key eq 'saml') { |
|
if (ref($domconfig{'login'}{$key}) eq 'HASH') { |
|
foreach my $host (keys(%{$domconfig{'login'}{$key}})) { |
|
if (ref($domconfig{'login'}{$key}{$host}) eq 'HASH') { |
|
$designhash{$udom.'.login.'.$key.'_'.$host} = 1; |
|
foreach my $item ('text','img','alt','url','title','notsso') { |
|
$designhash{$udom.'.login.'.$key.'_'.$item.'_'.$host} = $domconfig{'login'}{$key}{$host}{$item}; |
|
} |
|
} |
|
} |
|
} |
} else { |
} else { |
foreach my $img (keys(%{$domconfig{'login'}{$key}})) { |
foreach my $img (keys(%{$domconfig{'login'}{$key}})) { |
$designhash{$udom.'.login.'.$key.'_'.$img} = |
$designhash{$udom.'.login.'.$key.'_'.$img} = |
Line 9188 sub deeplink_login_symb {
|
Line 9199 sub deeplink_login_symb {
|
my ($cnum,$cdom) = @_; |
my ($cnum,$cdom) = @_; |
my $login_symb; |
my $login_symb; |
if ($env{'request.deeplink.login'}) { |
if ($env{'request.deeplink.login'}) { |
if ($env{'request.deeplink.login'} =~ m{^\Q/tiny/$cdom/\E(\w+)$}) { |
$login_symb = &symb_from_tinyurl($env{'request.deeplink.login'},$cnum,$cdom); |
my $key = $1; |
} |
my ($tinyurl,$login); |
return $login_symb; |
my ($result,$cached)=&Apache::lonnet::is_cached_new('tiny',$cdom."\0".$key); |
} |
if (defined($cached)) { |
|
$tinyurl = $result; |
sub symb_from_tinyurl { |
} else { |
my ($url,$cnum,$cdom) = @_; |
my $configuname = &Apache::lonnet::get_domainconfiguser($cdom); |
if ($url =~ m{^\Q/tiny/$cdom/\E(\w+)$}) { |
my %currtiny = &Apache::lonnet::get('tiny',[$key],$cdom,$configuname); |
my $key = $1; |
if ($currtiny{$key} ne '') { |
my ($tinyurl,$login); |
$tinyurl = $currtiny{$key}; |
my ($result,$cached)=&Apache::lonnet::is_cached_new('tiny',$cdom."\0".$key); |
&Apache::lonnet::do_cache_new('tiny',$cdom."\0".$key,$currtiny{$key},600); |
if (defined($cached)) { |
} |
$tinyurl = $result; |
} |
} else { |
if ($tinyurl ne '') { |
my $configuname = &Apache::lonnet::get_domainconfiguser($cdom); |
my ($cnumreq,$posslogin) = split(/\&/,$tinyurl); |
my %currtiny = &Apache::lonnet::get('tiny',[$key],$cdom,$configuname); |
if ($cnumreq eq $cnum) { |
if ($currtiny{$key} ne '') { |
$login_symb = $posslogin; |
$tinyurl = $currtiny{$key}; |
} |
&Apache::lonnet::do_cache_new('tiny',$cdom."\0".$key,$currtiny{$key},600); |
|
} |
|
} |
|
if ($tinyurl ne '') { |
|
my ($cnumreq,$symb) = split(/\&/,$tinyurl); |
|
if (wantarray) { |
|
return ($cnumreq,$symb); |
|
} elsif ($cnumreq eq $cnum) { |
|
return $symb; |
} |
} |
} |
} |
} |
} |
return $login_symb; |
if (wantarray) { |
|
return (); |
|
} else { |
|
return; |
|
} |
} |
} |
|
|
sub wishlist_window { |
sub wishlist_window { |
Line 9302 ENDLINK
|
Line 9325 ENDLINK
|
} |
} |
|
|
sub modal_adhoc_script { |
sub modal_adhoc_script { |
my ($funcname,$width,$height,$content)=@_; |
my ($funcname,$width,$height,$content,$possmathjax)=@_; |
|
my $mathjax; |
|
if ($possmathjax) { |
|
$mathjax = <<'ENDJAX'; |
|
if (typeof MathJax == 'object') { |
|
MathJax.Hub.Queue(["Typeset",MathJax.Hub]); |
|
} |
|
ENDJAX |
|
} |
return (<<ENDADHOC); |
return (<<ENDADHOC); |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
Line 9313 sub modal_adhoc_script {
|
Line 9344 sub modal_adhoc_script {
|
modalWindow.height = $height; |
modalWindow.height = $height; |
modalWindow.content = '$content'; |
modalWindow.content = '$content'; |
modalWindow.open(); |
modalWindow.open(); |
|
$mathjax |
}; |
}; |
// ]]> |
// ]]> |
</script> |
</script> |
Line 9320 ENDADHOC
|
Line 9352 ENDADHOC
|
} |
} |
|
|
sub modal_adhoc_inner { |
sub modal_adhoc_inner { |
my ($funcname,$width,$height,$content)=@_; |
my ($funcname,$width,$height,$content,$possmathjax)=@_; |
my $innerwidth=$width-20; |
my $innerwidth=$width-20; |
$content=&js_ready( |
$content=&js_ready( |
&start_page('Dialog',undef,{'only_body'=>1,'bgcolor'=>'#FFFFFF'}). |
&start_page('Dialog',undef,{'only_body'=>1,'bgcolor'=>'#FFFFFF'}). |
Line 9329 sub modal_adhoc_inner {
|
Line 9361 sub modal_adhoc_inner {
|
&end_scrollbox(). |
&end_scrollbox(). |
&end_page() |
&end_page() |
); |
); |
return &modal_adhoc_script($funcname,$width,$height,$content); |
return &modal_adhoc_script($funcname,$width,$height,$content,$possmathjax); |
} |
} |
|
|
sub modal_adhoc_window { |
sub modal_adhoc_window { |
my ($funcname,$width,$height,$content,$linktext)=@_; |
my ($funcname,$width,$height,$content,$linktext,$possmathjax)=@_; |
return &modal_adhoc_inner($funcname,$width,$height,$content). |
return &modal_adhoc_inner($funcname,$width,$height,$content,$possmathjax). |
"<a href=\"javascript:$funcname();void(0);\">".$linktext."</a>"; |
"<a href=\"javascript:$funcname();void(0);\">".$linktext."</a>"; |
} |
} |
|
|
Line 18264 sub create_captcha {
|
Line 18296 sub create_captcha {
|
|
|
if (-e $Apache::lonnet::perlvar{'lonCaptchaDir'}.'/'.$md5sum.'.png') { |
if (-e $Apache::lonnet::perlvar{'lonCaptchaDir'}.'/'.$md5sum.'.png') { |
$output = '<input type="hidden" name="crypt" value="'.$md5sum.'" />'."\n". |
$output = '<input type="hidden" name="crypt" value="'.$md5sum.'" />'."\n". |
|
'<span class="LC_nobreak">'. |
&mt('Type in the letters/numbers shown below').' '. |
&mt('Type in the letters/numbers shown below').' '. |
'<input type="text" size="5" name="code" value="" autocomplete="off" />'. |
'<input type="text" size="5" name="code" value="" autocomplete="off" />'. |
'<br />'. |
'</span><br />'. |
'<img src="'.$captcha_params{'www_output_dir'}.'/'.$md5sum.'.png" alt="captcha" />'; |
'<img src="'.$captcha_params{'www_output_dir'}.'/'.$md5sum.'.png" alt="captcha" />'; |
last; |
last; |
} |
} |
Line 18312 sub check_captcha {
|
Line 18345 sub check_captcha {
|
sub create_recaptcha { |
sub create_recaptcha { |
my ($pubkey,$version) = @_; |
my ($pubkey,$version) = @_; |
if ($version >= 2) { |
if ($version >= 2) { |
return '<div class="g-recaptcha" data-sitekey="'.$pubkey.'"></div>'; |
return '<div class="g-recaptcha" data-sitekey="'.$pubkey.'"></div>'. |
|
'<div style="padding:0;clear:both;margin:0;border:0"></div>'; |
} else { |
} else { |
my $use_ssl; |
my $use_ssl; |
if ($ENV{'SERVER_PORT'} == 443) { |
if ($ENV{'SERVER_PORT'} == 443) { |
Line 18805 sub page_menu {
|
Line 18839 sub page_menu {
|
my @entries = split(/\&/,$value); |
my @entries = split(/\&/,$value); |
foreach my $entry (@entries) { |
foreach my $entry (@entries) { |
my ($name,$fields) = split(/=/,$entry); |
my ($name,$fields) = split(/=/,$entry); |
if (($name eq 'top') || ($name eq 'inline') || ($name eq 'main')) { |
if (($name eq 'top') || ($name eq 'inline') || ($name eq 'foot') || ($name eq 'main')) { |
$menu{$name} = $fields; |
$menu{$name} = $fields; |
} else { |
} else { |
my @shown; |
my @shown; |