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

raeburn raeburn at source.lon-capa.org
Tue Nov 29 08:13:24 EST 2016


raeburn		Tue Nov 29 13:13:24 2016 EDT

  Modified files:              (Branch: version_2_11_X)
    /loncom/interface	loncommon.pm 
  Log:
  - For 2.11
    - Backport 1.1261, 1.1262, 1.1263, 1.1264, 1.1265, 1.1266, 1.1267 
  
  
-------------- next part --------------
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.1075.2.118 loncom/interface/loncommon.pm:1.1075.2.119
--- loncom/interface/loncommon.pm:1.1075.2.118	Sun Nov 13 17:42:13 2016
+++ loncom/interface/loncommon.pm	Tue Nov 29 13:13:22 2016
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common routines
 #
-# $Id: loncommon.pm,v 1.1075.2.118 2016/11/13 17:42:13 raeburn Exp $
+# $Id: loncommon.pm,v 1.1075.2.119 2016/11/29 13:13:22 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -262,7 +262,7 @@
 		next if ($line =~ /^\#/);
 		chomp($line);
                 my ($extension,$category)=(split(/\s+/,$line,2));
-                push @{$category_extensions{lc($category)}},$extension;
+                push(@{$category_extensions{lc($category)}},$extension);
             }
             close($fh);
         }
@@ -1138,7 +1138,7 @@
         $result.="select2data.d_$s1.texts = new Array(";        
         my @s2texts;
         foreach my $value (@s2values) {
-            push @s2texts, $hashref->{$s1}->{'select2'}->{$value};
+            push(@s2texts, $hashref->{$s1}->{'select2'}->{$value});
         }
         $result.="\"@s2texts\");\n";
     }
@@ -8213,7 +8213,7 @@
 };
 	var openMyModal = function(source,width,height,scrolling,transparency,style)
 	{
-                source = source.replace("'","'");
+                source = source.replace(/'/g,"'");
 		modalWindow.windowId = "myModal";
 		modalWindow.width = width;
 		modalWindow.height = height;
@@ -10107,7 +10107,7 @@
         foreach (@currxlists) {
             if (m/^([^:]+):(\w*)$/) {
                 unless (grep/^$1$/,@{$allcourses}) {
-                    push @{$allcourses},$1;
+                    push(@{$allcourses},$1);
                     $$LC_code{$1} = $2;
                 }
             }
@@ -10120,7 +10120,7 @@
                 my $sec = $coursecode.$1;
                 my $lc_sec = $2;
                 unless (grep/^$sec$/,@{$allcourses}) {
-                    push @{$allcourses},$sec;
+                    push(@{$allcourses},$sec);
                     $$LC_code{$sec} = $lc_sec;
                 }
             }
@@ -13491,7 +13491,7 @@
         @Labels = @$labels;
     } else {
         for (my $i=0;$i<@{$Values[0]};$i++) {
-            push (@Labels,$i+1);
+            push(@Labels,$i+1);
         }
     }
     #
@@ -14570,7 +14570,7 @@
                 return ($can_clone, $clonemsg, $cloneid, $clonehome);
             }
         }
-	if (($env{'request.role.domain'} eq $args->{'clonedomain'}) && 
+	if (($env{'request.role.domain'} eq $args->{'clonedomain'}) &&
             (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'}))) {
 	    $can_clone = 1;
 	} else {
@@ -14667,7 +14667,8 @@
 }
 
 sub construct_course {
-    my ($args,$logmsg,$courseid,$crsudom,$crsunum,$udom,$uname,$context,$cnum,$category,$coderef) = @_;
+    my ($args,$logmsg,$courseid,$crsudom,$crsunum,$udom,$uname,$context,
+        $cnum,$category,$coderef) = @_;
     my $outcome;
     my $linefeed =  '<br />'."\n";
     if ($context eq 'auto') {
@@ -14815,7 +14816,7 @@
                 my $addcheck = &Apache::lonnet::auto_new_course($$crsunum,$$crsudom,$class,$cenv{'internal.courseowner'});
                 $cenv{'internal.sectionnums'} .= $item.',';
                 unless ($addcheck eq 'ok') {
-                    push @badclasses, $class;
+                    push(@badclasses,$class);
                 }
             }
             $cenv{'internal.sectionnums'} =~ s/,$//;
@@ -14843,7 +14844,7 @@
                 my $addcheck =  &Apache::lonnet::auto_new_course($$crsunum,$$crsudom,$xl,$cenv{'internal.courseowner'});
                 $cenv{'internal.crosslistings'} .= $item.',';
                 unless ($addcheck eq 'ok') {
-                    push @badclasses, $xl;
+                    push(@badclasses,$xl);
                 }
             }
             $cenv{'internal.crosslistings'} =~ s/,$//;
@@ -14878,28 +14879,29 @@
     }
     if (@badclasses > 0) {
         my %lt=&Apache::lonlocal::texthash(
-                'tclb' => 'The courses listed below were included as sections or crosslistings affiliated with your new LON-CAPA course.  However, if automated course roster updates are enabled for this class, these particular sections/crosslistings will not contribute towards enrollment, because the user identified as the course owner for this LON-CAPA course',
-                'dnhr' => 'does not have rights to access enrollment in these classes',
-                'adby' => 'as determined by the policies of your institution on access to official classlists'
+                'tclb' => 'The courses listed below were included as sections or crosslistings affiliated with your new LON-CAPA course.',
+                'howi' => 'However, if automated course roster updates are enabled for this class, these particular sections/crosslistings are not guaranteed to contribute towards enrollment.',
+                'itis' => 'It is possible that rights to access enrollment for these classes will be available through assignment of co-owners.',
         );
-        my $badclass_msg = $cenv{'internal.courseowner'}.') - '.$lt{'dnhr'}.
-                           ' ('.$lt{'adby'}.')';
+        my $badclass_msg = $lt{'tclb'}.$linefeed.$lt{'howi'}.$linefeed.
+                           &mt('That is because the user identified as the course owner ([_1]) does not have rights to access enrollment in these classes, as determined by the policies of your institution on access to official classlists',$cenv{'internal.courseowner'}).$linefeed.$lt{'itis'};
         if ($context eq 'auto') {
             $outcome .= $badclass_msg.$linefeed;
+        } else {
             $outcome .= '<div class="LC_warning">'.$badclass_msg.$linefeed.'<ul>'."\n";
-            foreach my $item (@badclasses) {
-                if ($context eq 'auto') {
-                    $outcome .= " - $item\n";
-                } else {
-                    $outcome .= "<li>$item</li>\n";
-                }
-            }
+        }
+        foreach my $item (@badclasses) {
             if ($context eq 'auto') {
-                $outcome .= $linefeed;
+                $outcome .= " - $item\n";
             } else {
-                $outcome .= "</ul><br /><br /></div>\n";
+                $outcome .= "<li>$item</li>\n";
             }
-        } 
+        }
+        if ($context eq 'auto') {
+            $outcome .= $linefeed;
+        } else {
+            $outcome .= "</ul><br /><br /></div>\n";
+        }
     }
     if ($args->{'no_end_date'}) {
         $args->{'endaccess'} = 0;
@@ -15969,7 +15971,7 @@
                 if (ref($courses{$cid}) eq 'HASH') {
                     if (ref($courses{$cid}{roles}) eq 'ARRAY') {
                         if (!grep(/^\Q$courserole\E$/,@{$courses{$cid}{roles}})) {
-                            push (@{$courses{$cid}{roles}},$courserole);
+                            push(@{$courses{$cid}{roles}},$courserole);
                         }
                     } else {
                         $courses{$cid}{roles} = [$courserole];
@@ -16299,8 +16301,8 @@
 }
 
 sub symb_to_docspath {
-    my ($symb) = @_;
-    return unless ($symb);
+    my ($symb,$navmapref) = @_;
+    return unless ($symb && ref($navmapref));
     my ($mapurl,$id,$resurl) = &Apache::lonnet::decode_symb($symb);
     if ($resurl=~/\.(sequence|page)$/) {
         $mapurl=$resurl;
@@ -16308,9 +16310,11 @@
         $mapurl=$env{'course.'.$env{'request.course.id'}.'.url'};
     }
     my $mapresobj;
-    my $navmap = Apache::lonnavmaps::navmap->new();
-    if (ref($navmap)) {
-        $mapresobj = $navmap->getResourceByUrl($mapurl);
+    unless (ref($$navmapref)) {
+        $$navmapref = Apache::lonnavmaps::navmap->new();
+    }
+    if (ref($$navmapref)) {
+        $mapresobj = $$navmapref->getResourceByUrl($mapurl);
     }
     $mapurl=~s{^.*/([^/]+)\.(\w+)$}{$1};
     my $type=$2;
@@ -16320,7 +16324,7 @@
         if ($pcslist ne '') {
             foreach my $pc (split(/,/,$pcslist)) {
                 next if ($pc <= 1);
-                my $res = $navmap->getByMapPc($pc);
+                my $res = $$navmapref->getByMapPc($pc);
                 if (ref($res)) {
                     my $thisurl = $res->src();
                     $thisurl=~s{^.*/([^/]+)\.\w+$}{$1};


More information about the LON-CAPA-cvs mailing list