--- loncom/lonnet/perl/lonnet.pm	2009/07/17 13:55:10	1.1004
+++ loncom/lonnet/perl/lonnet.pm	2009/07/25 14:44:55	1.1006
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # TCP networking package
 #
-# $Id: lonnet.pm,v 1.1004 2009/07/17 13:55:10 droeschl Exp $
+# $Id: lonnet.pm,v 1.1006 2009/07/25 14:44:55 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1326,7 +1326,7 @@ sub get_domain_defaults {
         }
     }
     if (ref($domconfig{'requestcourses'}) eq 'HASH') {
-        foreach my $item ('official','unofficial') {
+        foreach my $item ('official','unofficial','community') {
             $domdefaults{$item} = $domconfig{'requestcourses'}{$item};
         }
     }
@@ -4635,6 +4635,7 @@ sub usertools_access {
         %tools = (
                       official   => 1,
                       unofficial => 1,
+                      community  => 1,
                  );
     } else {
         %tools = (
@@ -5703,7 +5704,7 @@ sub auto_instcode_defaults {
 }
 
 sub auto_possible_instcodes {
-    my ($domain,$codetitles,$cat_titles,$cat_order) = @_;
+    my ($domain,$codetitles,$cat_titles,$cat_orders) = @_;
     my (@homeservers,$uhome);
     if (defined(&domain($domain,'primary'))) {
         $uhome=&domain($domain,'primary');
@@ -5723,12 +5724,12 @@ sub auto_possible_instcodes {
         my ($codetitlestr,$cat_title,$cat_order) = split(':',$response);
         @{$codetitles} = map { &unescape($_); } (split('&',$codetitlestr));  
         foreach my $item (split('&',$cat_title)) {   
-            my ($name,$value)=split('&',$item);
-            $cat_titles->{&unescape($name)}=&unescape($value);
+            my ($name,$value)=split('=',$item);
+            $cat_titles->{&unescape($name)}=&thaw_unescape($value);
         }
         foreach my $item (split('&',$cat_order)) {
-            my ($name,$value)=split('&',$item);
-            $cat_order->{&unescape($name)}=&unescape($value);
+            my ($name,$value)=split('=',$item);
+            $cat_orders->{&unescape($name)}=&thaw_unescape($value);
         }
         return 'ok';
     }