Diff for /loncom/interface/loncommon.pm between versions 1.1362 and 1.1368

version 1.1362, 2021/07/19 15:48:26 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 9170  sub menucoll_in_effect { Line 9181  sub menucoll_in_effect {
                 }                  }
             }              }
             if ($deeplink ne '') {              if ($deeplink ne '') {
                 my ($listed,$scope,$access,$display) = split(/,/,$deeplink);                  my ($state,$others,$listed,$scope,$protect,$display) = split(/,/,$deeplink);
                 if ($display =~ /^\d+$/) {                  if ($display =~ /^\d+$/) {
                     $deeplinkmenu = 1;                      $deeplinkmenu = 1;
                     $menucoll = $display;                      $menucoll = $display;
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').'&nbsp;'.                        &mt('Type in the letters/numbers shown below').'&nbsp;'.
                       '<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;

Removed from v.1.1362  
changed lines
  Added in v.1.1368


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>