[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm

raeburn raeburn at source.lon-capa.org
Wed Nov 17 14:55:16 EST 2021


raeburn		Wed Nov 17 19:55:16 2021 EDT

  Modified files:              
    /loncom/interface	loncommon.pm 
  Log:
  - Bug 6907
    If session was initiated via launch from a deep-link use menu in effect for
    the launch URL if current resource is a map and navmap object unavailable,
    or if resource should have a symb, but symb is unknown.
  
  
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.1369 loncom/interface/loncommon.pm:1.1370
--- loncom/interface/loncommon.pm:1.1369	Mon Nov 15 22:36:37 2021
+++ loncom/interface/loncommon.pm	Wed Nov 17 19:55:15 2021
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common routines
 #
-# $Id: loncommon.pm,v 1.1369 2021/11/15 22:36:37 raeburn Exp $
+# $Id: loncommon.pm,v 1.1370 2021/11/17 19:55:15 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -9171,7 +9171,7 @@
     if ($env{'request.course.id'}) {
         $menucoll = $env{'course.'.$env{'request.course.id'}.'.menudefault'};
         if ($env{'request.deeplink.login'}) {
-            my ($deeplink_symb,$deeplink);
+            my ($deeplink_symb,$deeplink,$check_login_symb);
             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)/}) {
@@ -9181,11 +9181,21 @@
                         $deeplink = $navmap->get_mapparam(undef,
                                                           &Apache::lonnet::declutter($env{'request.noversionuri'}),
                                                           '0.deeplink');
+                    } else {
+                        $check_login_symb = 1;
                     }
                 } else {
-                    $deeplink = &Apache::lonnet::EXT('resource.0.deeplink');
+                    my $symb = &Apache::lonnet::symbread();
+                    if ($symb) {
+                        $deeplink = &Apache::lonnet::EXT('resource.0.deeplink',$symb);
+                    } else {
+                        $check_login_symb = 1;
+                    }
                 }
             } else {
+                $check_login_symb = 1;
+            }
+            if ($check_login_symb) {
                 $deeplink_symb = &deeplink_login_symb($cnum,$cdom);
                 if ($deeplink_symb =~ /\.(page|sequence)$/) {
                     my $mapname = &Apache::lonnet::deversion((&Apache::lonnet::decode_symb($deeplink_symb))[2]);




More information about the LON-CAPA-cvs mailing list