Diff for /rat/lonpageflip.pm between versions 1.107 and 1.110

version 1.107, 2021/08/06 00:52:43 version 1.110, 2021/08/21 03:42:02
Line 126  sub move { Line 126  sub move {
  }   }
         $deeplinkonly = 0;          $deeplinkonly = 0;
         if ($hash{'deeplinkonly_'.$next}) {          if ($hash{'deeplinkonly_'.$next}) {
             my ($value,$level) = split(/:/,$hash{'deeplinkonly_'.$next});              my ($value,$level) = map { &unescape($_); } split(/:/,$hash{'deeplinkonly_'.$next});
             my ($listed,$scope,$access) = split(/,/,$value);              my ($state,$others,$listed,$scope,$protect) = split(/,/,$value);
             unless (($access eq 'any') || ($hash{'is_map_'.$next})) {              unless (($state eq 'both') || ($hash{'is_map_'.$next})) {
                 if ($level eq 'resource') {                  if ($level eq 'resource') {
                     $deeplinkonly = 1;                      $deeplinkonly = 1;
                 } elsif ($level eq 'map') {                  } elsif ($level eq 'map') {
Line 160  sub move { Line 160  sub move {
                 }                  }
             }              }
         } elsif (($hash{'deeplinkonly_'.$prev}) && (!$firstres)) {          } elsif (($hash{'deeplinkonly_'.$prev}) && (!$firstres)) {
             my ($value,$level) = split(/:/,$hash{'deeplinkonly_'.$prev});              my ($value,$level) = map { &unescape($_); } split(/:/,$hash{'deeplinkonly_'.$prev});
             my ($listed,$scope,$access) = split(/,/,$value);              my ($state,$others,$listed,$scope,$protect) = split(/,/,$value);
             unless (($access eq 'any') || ($hash{'is_map_'.$prev})) {              unless (($state eq 'both') || ($hash{'is_map_'.$prev})) {
                 if ($level eq 'resource') {                  if ($level eq 'resource') {
                     $deeplinkonly = 1;                      $deeplinkonly = 1;
                 } elsif ($level eq 'map') {                  } elsif ($level eq 'map') {
                     my ($listed,$scope,$access) = split(/,/,$value);  
                     if ($scope eq 'rec') {                      if ($scope eq 'rec') {
                         unless ($mapid == $prevmapid) {                          unless ($mapid == $prevmapid) {
                             unless ($deeplinkchecked) {                              unless ($deeplinkchecked) {
Line 426  sub get_deeplink_login_pc { Line 425  sub get_deeplink_login_pc {
     if (($env{'request.deeplink.login'}) && ($env{'request.course.id'})) {      if (($env{'request.deeplink.login'}) && ($env{'request.course.id'})) {
         my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};          my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
         my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};          my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
         if ($env{'request.deeplink.login'}) {          my $deeplink_symb = &Apache::loncommon::deeplink_login_symb($cnum,$cdom);
             my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};          if ($deeplink_symb) {
             my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};              my $loginmap;
             my $deeplink_symb = &Apache::loncommon::deeplink_login_symb($cnum,$cdom);              if ($deeplink_symb =~ /\.(page|sequence)$/) {
             if ($deeplink_symb) {                  $loginmap = &Apache::lonnet::clutter((&Apache::lonnet::decode_symb($deeplink_symb))[2]);
                 my $loginmap;              } else {
                 if ($deeplink_symb =~ /\.(page|sequence)$/) {                  $loginmap = &Apache::lonnet::clutter((&Apache::lonnet::decode_symb($deeplink_symb))[0]);
                     $loginmap = &Apache::lonnet::clutter((&Apache::lonnet::decode_symb($deeplink_symb))[2]);  
                 } else {  
                     $loginmap = &Apache::lonnet::clutter((&Apache::lonnet::decode_symb($deeplink_symb))[0]);  
                 }  
                 $deeplink_login_pc = $hash{'map_pc_'.$loginmap};  
             }              }
               $deeplink_login_pc = $hash{'map_pc_'.$loginmap};
         }          }
     }      }
     return $deeplink_login_pc;      return $deeplink_login_pc;
Line 695  sub handler { Line 690  sub handler {
                       my $mapid = $hash{'map_pc_'.&Apache::lonnet::clutter($map)};                        my $mapid = $hash{'map_pc_'.&Apache::lonnet::clutter($map)};
                       my $position_deeplink = $hash{'deeplinkonly_'.$mapid.'.'.$resid};                        my $position_deeplink = $hash{'deeplinkonly_'.$mapid.'.'.$resid};
                       if ($position_deeplink) {                        if ($position_deeplink) {
                           (my $value,$deeplinklevel) = split(/:/,$position_deeplink);                            (my $value,$deeplinklevel) = map { &unescape($_); } 
                                                          split(/:/,$position_deeplink);
                       }                        }
                   }                    }
               }                }

Removed from v.1.107  
changed lines
  Added in v.1.110


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