--- loncom/interface/domainprefs.pm 2008/12/26 16:34:01 1.82 +++ loncom/interface/domainprefs.pm 2008/12/26 21:48:43 1.83 @@ -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 @@ sub modify_serverstatuses { 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; } } }