[LON-CAPA-cvs] cvs: loncom /lonnet/perl lonnet.pm

raeburn raeburn at source.lon-capa.org
Fri Jun 12 13:46:15 EDT 2026


raeburn		Fri Jun 12 17:46:15 2026 EDT

  Modified files:              
    /loncom/lonnet/perl	lonnet.pm 
  Log:
  - Support deeplink access checking where deeplink parameter set to recursive
    at an enclosing map/folder level (with scope set to map or rec) for a 
    resource in course's top level folder (i.e., default.sequence).
  
  
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.1544 loncom/lonnet/perl/lonnet.pm:1.1545
--- loncom/lonnet/perl/lonnet.pm:1.1544	Sat Mar 28 18:10:33 2026
+++ loncom/lonnet/perl/lonnet.pm	Fri Jun 12 17:46:14 2026
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.1544 2026/03/28 18:10:33 raeburn Exp $
+# $Id: lonnet.pm,v 1.1545 2026/06/12 17:46:14 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -9785,12 +9785,15 @@
                         }
                     } elsif (($scope eq 'map') || ($scope eq 'rec')) {
                         my ($map_from_symb,$map_from_login);
-                        $map_from_symb = &deversion((&decode_symb($symb))[0]);
+                        my ($symb_decode_idx,$login_decode_idx) = (0,0);
+                        if ($symb =~ /\.(page|sequence)$/) {
+                            $symb_decode_idx = 2;
+                        }
+                        $map_from_symb = &deversion((&decode_symb($symb))[$symb_decode_idx]);
                         if ($deeplink_symb =~ /\.(page|sequence)$/) {
-                            $map_from_login = &deversion((&decode_symb($deeplink_symb))[2]);
-                        } else {
-                            $map_from_login = &deversion((&decode_symb($deeplink_symb))[0]);
+                            $login_decode_idx = 2;
                         }
+                        $map_from_login = &deversion((&decode_symb($deeplink_symb))[$login_decode_idx]);
                         if (($map_from_symb) && ($map_from_login)) {
                             if ($map_from_symb eq $map_from_login) {
                                 $allow = 1;




More information about the LON-CAPA-cvs mailing list