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

raeburn raeburn@source.lon-capa.org
Mon, 08 Mar 2010 14:51:14 -0000


raeburn		Mon Mar  8 14:51:14 2010 EDT

  Modified files:              
    /loncom/interface	loncommon.pm 
  Log:
  - Changes to &get_domainconf().
    - Sanity checking that $domconfig{'login'}{'loginvia'}{$hostname} is a 
      reference to a hash for lonHostID: $hostname.
    - Include setting for co-owners in autoenroll domain config in domain
      config items cached from %designhash.
  
  
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.947 loncom/interface/loncommon.pm:1.948
--- loncom/interface/loncommon.pm:1.947	Wed Mar  3 21:33:15 2010
+++ loncom/interface/loncommon.pm	Mon Mar  8 14:51:14 2010
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common routines
 #
-# $Id: loncommon.pm,v 1.947 2010/03/03 21:33:15 droeschl Exp $
+# $Id: loncommon.pm,v 1.948 2010/03/08 14:51:14 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -4231,7 +4231,7 @@
     if (defined($cached)) { return %{$result}; }
 
     my %domconfig = &Apache::lonnet::get_dom('configuration',
-					     ['login','rolecolors'],$udom);
+					     ['login','rolecolors','autoenroll'],$udom);
     my (%designhash,%legacy);
     if (keys(%domconfig) > 0) {
         if (ref($domconfig{'login'}) eq 'HASH') {
@@ -4242,17 +4242,19 @@
                             if (ref($domconfig{'login'}{'loginvia'}) eq 'HASH') {
                                 my @ids = &Apache::lonnet::current_machine_ids();
                                 foreach my $hostname (@ids) {
-                                    if ($domconfig{'login'}{'loginvia'}{$hostname}{'server'}) {
-                                        my $server = $domconfig{'login'}{'loginvia'}{$hostname}{'server'};
-                                        $designhash{$udom.'.login.loginvia'} = $server;
-                                        if ($domconfig{'login'}{'loginvia'}{$hostname}{'serverpath'} eq 'custom') {
-
-                                            $designhash{$udom.'.login.loginvia_'.$hostname} = $server.':'.$domconfig{'login'}{'loginvia'}{$hostname}{'custompath'};
-                                        } else {
-                                            $designhash{$udom.'.login.loginvia_'.$hostname} = $server.':'.$domconfig{'login'}{'loginvia'}{$hostname}{'serverpath'};
-                                        }
-                                        if ($domconfig{'login'}{'loginvia'}{$hostname}{'exempt'}) {
-                                            $designhash{$udom.'.login.loginvia_exempt_'.$hostname} = $domconfig{'login'}{'loginvia'}{$hostname}{'exempt'};
+                                    if (ref($domconfig{'login'}{'loginvia'}{$hostname}) eq 'HASH') {
+                                        if ($domconfig{'login'}{'loginvia'}{$hostname}{'server'}) {
+                                            my $server = $domconfig{'login'}{'loginvia'}{$hostname}{'server'};
+                                            $designhash{$udom.'.login.loginvia'} = $server;
+                                            if ($domconfig{'login'}{'loginvia'}{$hostname}{'serverpath'} eq 'custom') {
+
+                                                $designhash{$udom.'.login.loginvia_'.$hostname} = $server.':'.$domconfig{'login'}{'loginvia'}{$hostname}{'custompath'};
+                                            } else {
+                                                 $designhash{$udom.'.login.loginvia_'.$hostname} = $server.':'.$domconfig{'login'}{'loginvia'}{$hostname}{'serverpath'};
+                                            }
+                                            if ($domconfig{'login'}{'loginvia'}{$hostname}{'exempt'}) {
+                                                $designhash{$udom.'.login.loginvia_exempt_'.$hostname} = $domconfig{'login'}{'loginvia'}{$hostname}{'exempt'};
+                                            }
                                         }
                                     }
                                 }
@@ -4288,6 +4290,11 @@
         } else {
             $legacy{'rolecolors'} = 1;
         }
+        if (ref($domconfig{'autoenroll'}) eq 'HASH') {
+            if ($domconfig{'autoenroll'}{'co-owners'}) {
+                $designhash{$udom.'.autoassign.co-owners'}=$domconfig{'autoenroll'}{'co-owners'};
+            }
+        }
         if (keys(%legacy) > 0) {
             my %legacyhash = &get_legacy_domconf($udom);
             foreach my $item (keys(%legacyhash)) {