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

raeburn raeburn at source.lon-capa.org
Sat Aug 3 23:00:13 EDT 2013


raeburn		Sun Aug  4 03:00:13 2013 EDT

  Modified files:              (Branch: version_2_11_X)
    /loncom/lonnet/perl	lonnet.pm 
  Log:
  - For 2.11
    - Backport 1.1230, 1.1231, 1.1232.
  
  
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.1172.2.29 loncom/lonnet/perl/lonnet.pm:1.1172.2.30
--- loncom/lonnet/perl/lonnet.pm:1.1172.2.29	Fri Jul  5 15:53:28 2013
+++ loncom/lonnet/perl/lonnet.pm	Sun Aug  4 03:00:12 2013
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.1172.2.29 2013/07/05 15:53:28 raeburn Exp $
+# $Id: lonnet.pm,v 1.1172.2.30 2013/08/04 03:00:12 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1576,6 +1576,36 @@
     }
 }
 
+# ---------------------------------------- Delete unwanted IDs from ids.db file
+
+sub iddel {
+    my ($udom,$idshashref,$uhome)=@_;
+    my %result=();
+    unless (ref($idshashref) eq 'HASH') {
+        return %result;
+    }
+    my %servers=();
+    while (my ($id,$uname) = each(%{$idshashref})) {
+        my $uhom;
+        if ($uhome) {
+            $uhom = $uhome;
+        } else {
+            $uhom=&homeserver($uname,$udom);
+        }
+        if ($uhom ne 'no_host') {
+            if ($servers{$uhom}) {
+                $servers{$uhom}.='&'.&escape($id);
+            } else {
+                $servers{$uhom}=&escape($id);
+            }
+        }
+    }
+    foreach my $server (keys(%servers)) {
+        $result{$server} = &critical('iddel:'.$udom.':'.$servers{$server},$uhome);
+    }
+    return %result;
+}
+
 # ------------------------------dump from db file owned by domainconfig user
 sub dump_dom {
     my ($namespace, $udom, $regexp) = @_;
@@ -2012,6 +2042,11 @@
             $domdefaults{'officialcredits'} = $domconfig{'coursedefaults'}{'coursecredits'}{'official'};
             $domdefaults{'unofficialcredits'} = $domconfig{'coursedefaults'}{'coursecredits'}{'unofficial'};
         }
+        if (ref($domconfig{'coursedefaults'}{'uploadquota'}) eq 'HASH') {
+            $domdefaults{'officialquota'} = $domconfig{'coursedefaults'}{'uploadquota'}{'official'};
+            $domdefaults{'unofficialquota'} = $domconfig{'coursedefaults'}{'uploadquota'}{'unofficial'};
+            $domdefaults{'communityquota'} = $domconfig{'coursedefaults'}{'uploadquota'}{'community'};
+        }
     }
     if (ref($domconfig{'usersessions'}) eq 'HASH') {
         if (ref($domconfig{'usersessions'}{'remote'}) eq 'HASH') {
@@ -9722,21 +9757,43 @@
 	    if (!$symbparm) { $symbparm=&symbread(); }
 	}
 
-	if ($space eq 'title') {
-	    if (!$symbparm) { $symbparm = $env{'request.filename'}; }
-	    return &gettitle($symbparm);
-	}
+        if ($qualifier eq '') {
+	    if ($space eq 'title') {
+	        if (!$symbparm) { $symbparm = $env{'request.filename'}; }
+	        return &gettitle($symbparm);
+	    }
 	
-	if ($space eq 'map') {
-	    my ($map) = &decode_symb($symbparm);
-	    return &symbread($map);
-	}
-	if ($space eq 'filename') {
-	    if ($symbparm) {
-		return &clutter((&decode_symb($symbparm))[2]);
+	    if ($space eq 'map') {
+	        my ($map) = &decode_symb($symbparm);
+	        return &symbread($map);
+	    }
+            if ($space eq 'maptitle') {
+                my ($map) = &decode_symb($symbparm);
+                return &gettitle($map);
+            }
+	    if ($space eq 'filename') {
+	        if ($symbparm) {
+		    return &clutter((&decode_symb($symbparm))[2]);
+	        }
+	        return &hreflocation('',$env{'request.filename'});
 	    }
-	    return &hreflocation('',$env{'request.filename'});
-	}
+
+            if ((defined($courseid)) && ($courseid eq $env{'request.course.id'}) && $symbparm) {
+                if ($space eq 'visibleparts') {
+                    my $navmap = Apache::lonnavmaps::navmap->new();
+                    my $item;
+                    if (ref($navmap)) {
+                        my $res = $navmap->getBySymb($symbparm);
+                        my $parts = $res->parts();
+                        if (ref($parts) eq 'ARRAY') {
+                            $item = join(',',@{$parts});
+                        }
+                        undef($navmap);
+                    }
+                    return $item;
+                }
+            }
+        }
 
 	my ($section, $group, @groups);
 	my ($courselevelm,$courselevel);




More information about the LON-CAPA-cvs mailing list