Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.1457 and 1.1459

version 1.1457, 2021/06/06 23:18:59 version 1.1459, 2021/06/12 21:37:36
Line 8441  sub allowed { Line 8441  sub allowed {
                =~/\Q$priv\E\&([^\:]*)/) {                 =~/\Q$priv\E\&([^\:]*)/) {
                my $value = $1;                 my $value = $1;
                if ($priv eq 'bre') {                 if ($priv eq 'bre') {
                    if ($noblockcheck) {                     my $deeplinkblock = &deeplink_check($priv,$symb,$uri);
                      if ($deeplinkblock) {
                          $thisallowed = 'D';
                      } elsif ($noblockcheck) {
                        $thisallowed.=$value;                         $thisallowed.=$value;
                    } else {                     } else {
                        my @blockers = &has_comm_blocking($priv,$symb,$uri,$ignorecache);                         my @blockers = &has_comm_blocking($priv,$symb,$uri,$ignorecache);
Line 9062  sub deeplink_check { Line 9065  sub deeplink_check {
                         if ($symb eq $login) {                          if ($symb eq $login) {
                             $allow = 1;                              $allow = 1;
                         }                          }
                     } elsif ($scope eq 'map') {                      } elsif (($scope eq 'map') || ($scope eq 'rec')) {
 #FIXME Compare map for $env{'request.deeplink.login'} with map for $symb                          my ($map_from_symb) = &deversion((&decode_symb($symb))[0]);
                     } elsif ($scope eq 'rec') {                          my ($map_from_login) = &deversion((&decode_symb($login))[0]);
 #FIXME Recurse up for $env{'request.deeplink.login'} with map for $symb                          if (($map_from_symb) && ($map_from_login)) {
                               if ($map_from_symb eq $map_from_login) {
                                   $allow = 1;
                               } elsif ($scope eq 'rec') {
                                   my @recurseup = &get_map_hierarchy($map_from_symb,$env{'request.course.id'});
                                   if (grep(/^\Q$map_from_login\E$/,@recurseup)) {
                                       $allow = 1;
                                   }
                               }
                           }
                     }                      }
                 } else {                  } else {
                     my ($acctype,$item) = split(/:/,$access);                      my ($acctype,$item) = split(/:/,$access);

Removed from v.1.1457  
changed lines
  Added in v.1.1459


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