Diff for /loncom/interface/loncommon.pm between versions 1.1361 and 1.1364

version 1.1361, 2021/06/15 20:52:26 version 1.1364, 2021/08/07 20:49:11
Line 9142  sub menucoll_in_effect { Line 9142  sub menucoll_in_effect {
     my ($menucoll,$deeplinkmenu,%menu);      my ($menucoll,$deeplinkmenu,%menu);
     if ($env{'request.course.id'}) {      if ($env{'request.course.id'}) {
         $menucoll = $env{'course.'.$env{'request.course.id'}.'.menudefault'};          $menucoll = $env{'course.'.$env{'request.course.id'}.'.menudefault'};
         if (($env{'request.deeplink.login'}) &&          if ($env{'request.deeplink.login'}) {
             ($env{'request.noversionuri'} =~ m{^/(res|uploaded)/})) {              my ($deeplink_symb,$deeplink);
             my $deeplink = &Apache::lonnet::EXT('resource.0.deeplink');              my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
               my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
               if ($env{'request.noversionuri'} =~ m{^/(res|uploaded)/}) {
                   if ($env{'request.noversionuri'} =~ /\.(page|sequence)$/) {
                       my $navmap = Apache::lonnavmaps::navmap->new();
                       if (ref($navmap)) {
                           $deeplink = $navmap->get_mapparam(undef,
                                                             &Apache::lonnet::declutter($env{'request.noversionuri'}),
                                                             '0.deeplink');
                       }
                   } else {
                       $deeplink = &Apache::lonnet::EXT('resource.0.deeplink');
                   }
               } else {
                   $deeplink_symb = &deeplink_login_symb($cnum,$cdom);
                   if ($deeplink_symb =~ /\.(page|sequence)$/) {
                       my $mapname = &Apache::lonnet::deversion((&Apache::lonnet::decode_symb($deeplink_symb))[2]);
                       my $navmap = Apache::lonnavmaps::navmap->new();
                       if (ref($navmap)) {
                           $deeplink = $navmap->get_mapparam(undef,$mapname,'0.deeplink');
                       }
                   } else {
                       $deeplink = &Apache::lonnet::EXT('resource.0.deeplink',$deeplink_symb);
                   }
               }
             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 9160  sub menucoll_in_effect { Line 9184  sub menucoll_in_effect {
     return ($menucoll,$deeplinkmenu,\%menu);      return ($menucoll,$deeplinkmenu,\%menu);
 }  }
   
   sub deeplink_login_symb {
       my ($cnum,$cdom) = @_;
       my $login_symb;
       if ($env{'request.deeplink.login'}) {
           $login_symb = &symb_from_tinyurl($env{'request.deeplink.login'},$cnum,$cdom);
       }
       return $login_symb;
   }
   
   sub symb_from_tinyurl {
       my ($url,$cnum,$cdom) = @_;
       if ($url =~ m{^\Q/tiny/$cdom/\E(\w+)$}) {
           my $key = $1;
           my ($tinyurl,$login);
           my ($result,$cached)=&Apache::lonnet::is_cached_new('tiny',$cdom."\0".$key);
           if (defined($cached)) {
               $tinyurl = $result;
           } else {
               my $configuname = &Apache::lonnet::get_domainconfiguser($cdom);
               my %currtiny = &Apache::lonnet::get('tiny',[$key],$cdom,$configuname);
               if ($currtiny{$key} ne '') {
                   $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;
               }
           }
       }
       if (wantarray) {
           return ();
       } else {
           return;
       }
   }
   
 sub wishlist_window {  sub wishlist_window {
     return(<<'ENDWISHLIST');      return(<<'ENDWISHLIST');
 <script type="text/javascript">  <script type="text/javascript">

Removed from v.1.1361  
changed lines
  Added in v.1.1364


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