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

raeburn raeburn@source.lon-capa.org
Wed, 17 Dec 2008 21:50:29 -0000


raeburn		Wed Dec 17 21:50:29 2008 EDT

  Modified files:              
    /loncom/interface	domainprefs.pm 
  Log:
  - Check that $settings ($domainconfig{'quotas'} actually is a reference to a hash, to avoid an ISE if values have yet to be stored.
  
  
Index: loncom/interface/domainprefs.pm
diff -u loncom/interface/domainprefs.pm:1.77 loncom/interface/domainprefs.pm:1.78
--- loncom/interface/domainprefs.pm:1.77	Thu Dec 11 16:37:42 2008
+++ loncom/interface/domainprefs.pm	Wed Dec 17 21:50:29 2008
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Handler to set domain-wide configuration settings
 #
-# $Id: domainprefs.pm,v 1.77 2008/12/11 16:37:42 raeburn Exp $
+# $Id: domainprefs.pm,v 1.78 2008/12/17 21:50:29 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1246,10 +1246,12 @@
     if (ref($types) eq 'ARRAY') {
         foreach my $type (@{$types}) {
             my $currdefquota;
-            if (ref($settings->{defaultquota}) eq 'HASH') {
-                $currdefquota = $settings->{defaultquota}->{$type}; 
-            } else {
-                $currdefquota = $settings->{$type};
+            if (ref($settings) eq 'HASH') {
+                if (ref($settings->{defaultquota}) eq 'HASH') {
+                    $currdefquota = $settings->{defaultquota}->{$type}; 
+                } else {
+                    $currdefquota = $settings->{$type};
+                }
             }
             if (defined($usertypes->{$type})) {
                 $typecount ++;
@@ -1259,9 +1261,11 @@
                               '<td class="LC_left_item">';
                 foreach my $item (@usertools) {
                     my $checked = 'checked="checked" ';
-                    if (ref($settings->{$item}) eq 'HASH') {
-                        if ($settings->{$item}->{$type} == 0) {
-                            $checked = '';
+                    if (ref($settings) eq 'HASH') {
+                        if (ref($settings->{$item}) eq 'HASH') {
+                            if ($settings->{$item}->{$type} == 0) {
+                                $checked = '';
+                            }
                         }
                     }
                     $datatable .= '<span class="LC_nobreak"><label>'.
@@ -1291,9 +1295,11 @@
                   '<td class="LC_left_item">';
     foreach my $item (@usertools) {
         my $checked = 'checked="checked" ';
-        if (ref($settings->{$item}) eq 'HASH') {
-            if ($settings->{$item}->{'default'} == 0) {
-                $checked = '';
+        if (ref($settings) eq 'HASH') {
+            if (ref($settings->{$item}) eq 'HASH') {
+                if ($settings->{$item}->{'default'} == 0) {
+                    $checked = '';
+                }
             }
         }
         $datatable .= '<span class="LC_nobreak"><label>'.