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

raeburn raeburn@source.lon-capa.org
Fri, 26 Dec 2008 21:48:43 -0000


raeburn		Fri Dec 26 21:48:43 2008 EDT

  Modified files:              
    /loncom/interface	domainprefs.pm 
  Log:
  - Eliminate duplicate code.
  
  
Index: loncom/interface/domainprefs.pm
diff -u loncom/interface/domainprefs.pm:1.82 loncom/interface/domainprefs.pm:1.83
--- loncom/interface/domainprefs.pm:1.82	Fri Dec 26 16:34:01 2008
+++ loncom/interface/domainprefs.pm	Fri Dec 26 21:48:43 2008
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Handler to set domain-wide configuration settings
 #
-# $Id: domainprefs.pm,v 1.82 2008/12/26 16:34:01 raeburn Exp $
+# $Id: domainprefs.pm,v 1.83 2008/12/26 21:48:43 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -4977,46 +4977,35 @@
     my %serverstatushash =  (
                                 serverstatuses => \%newserverstatus,
                             );
-    my $putresult = &Apache::lonnet::put_dom('configuration',\%serverstatushash,
-                                             $dom);
     my %changes;
     foreach my $type (@pages) {
-        if (ref($currserverstatus{$type}) eq 'HASH') {
-            my @currnamed = split(/,/,$currserverstatus{$type}{'namedusers'});
-            my @newusers = split(/,/,$newserverstatus{$type}{'namedusers'});
-            foreach my $item (@currnamed) {
-                if (!grep(/^\Q$item\E$/,@newusers)) {
-                    $changes{$type}{'namedusers'} = 1;
-                    last;
-                }
-            }
-            foreach my $item (@newusers) {
-                if (!grep(/^\Q$item\E$/,@currnamed)) {
-                    $changes{$type}{'namedusers'} = 1;
-                    last;
-                }
-            }
-            my @currmachines = split(/,/,$currserverstatus{$type}{'machines'});
-            my @newmachines = split(/,/,$newserverstatus{$type}{'machines'});
-            if (@currmachines > 0) {
-                if (@newmachines > 0) {
-                    foreach my $item (@currmachines) {
-                        if (!grep(/^\Q$item\E$/,@newmachines)) {
-                            $changes{$type}{'machines'} = 1;
+        foreach my $setting ('namedusers','machines') {
+            my @current = ();
+            if (ref($currserverstatus{$type}) eq 'HASH') {
+                @current = split(/,/,$currserverstatus{$type}{$setting});
+            }
+            my @new = split(/,/,$newserverstatus{$type}{$setting});
+            if (@current > 0) {
+                if (@new > 0) {
+                    foreach my $item (@current) {
+                        if (!grep(/^\Q$item\E$/,@new)) {
+                            $changes{$type}{$setting} = 1;
                             last;
                         }
                     }
-                    foreach my $item (@newmachines) {
-                        if (!grep(/^\Q$item\E$/,@currmachines)) {
-                            $changes{$type}{'machines'} = 1;
-                            last;
+                    if (!$changes{$type}{$setting}) {
+                        foreach my $item (@new) {
+                            if (!grep(/^\Q$item\E$/,@current)) {
+                                $changes{$type}{$setting} = 1;
+                                last;
+                            }
                         }
                     }
                 } else {
-                    $changes{$type}{'machines'} = 1;
+                    $changes{$type}{$setting} = 1;
                 }
-            } elsif (@newmachines > 0) {
-                $changes{$type}{'machines'} = 1;
+            } elsif (@new > 0) {
+                $changes{$type}{$setting} = 1;
             }
         }
     }