--- loncom/interface/loncreateuser.pm	2002/11/25 18:44:33	1.45
+++ loncom/interface/loncreateuser.pm	2003/04/30 15:49:45	1.52
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Create a user
 #
-# $Id: loncreateuser.pm,v 1.45 2002/11/25 18:44:33 matthew Exp $
+# $Id: loncreateuser.pm,v 1.52 2003/04/30 15:49:45 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -44,10 +44,9 @@
 # 2/14,2/17,2/19,2/20,2/21,2/22,2/23,3/2,3/17,3/24,04/12 Gerd Kortemeyer
 # April Guy Albertelli
 # 05/10,10/16 Gerd Kortemeyer 
-# 11/12,11/13,11/15 Scott Harrison
 # 02/11/02 Matthew Hall
 #
-# $Id: loncreateuser.pm,v 1.45 2002/11/25 18:44:33 matthew Exp $
+# $Id: loncreateuser.pm,v 1.52 2003/04/30 15:49:45 matthew Exp $
 ###
 
 package Apache::loncreateuser;
@@ -71,10 +70,12 @@ BEGIN {
     my %param = ( formname => 'document.cu',
                   kerb_def_dom => $krbdefdom 
                   );
-    $loginscript  = &Apache::loncommon::authform_header(%param);
+# no longer static due to configurable kerberos defaults
+#    $loginscript  = &Apache::loncommon::authform_header(%param);
     $generalrule  = &Apache::loncommon::authform_authorwarning(%param);
     $authformnop  = &Apache::loncommon::authform_nochange(%param);
-    $authformkrb  = &Apache::loncommon::authform_kerberos(%param);
+# no longer static due to configurable kerberos defaults
+#    $authformkrb  = &Apache::loncommon::authform_kerberos(%param);
     $authformint  = &Apache::loncommon::authform_internal(%param);
     $authformfsys = &Apache::loncommon::authform_filesystem(%param);
     $authformloc  = &Apache::loncommon::authform_local(%param);
@@ -102,18 +103,22 @@ sub print_username_entry_form {
     my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain');
     my $bodytag =&Apache::loncommon::bodytag(
                                   'Create Users, Change User Privileges');
+    my $selscript=&Apache::loncommon::studentbrowser_javascript();
+    my $sellink=&Apache::loncommon::selectstudent_link
+                                        ('crtuser','ccuname','ccdomain');
     $r->print(<<"ENDDOCUMENT");
 <html>
 <head>
 <title>The LearningOnline Network with CAPA</title>
+$selscript
 </head>
 $bodytag
-<form action="/adm/createuser" method="post">
+<form action="/adm/createuser" method="post" name="crtuser">
 <input type="hidden" name="phase" value="get_user_info">
 <p>
 <table>
 <tr><td>Username:</td><td><input type="text" size="15" name="ccuname">
-</td></tr><tr><td>
+</td><td rowspan="2">$sellink</td></tr><tr><td>
 Domain:</td><td>$domform</td></tr>
 </table> 
 </p>
@@ -130,18 +135,21 @@ sub print_user_modification_page {
     my $ccuname=$ENV{'form.ccuname'};
     my $ccdomain=$ENV{'form.ccdomain'};
 
-    $ENV{'SERVER_NAME'}=~/(\w+\.\w+)$/;
-    my $krbdefdom=$1;
-    $krbdefdom=~tr/a-z/A-Z/;
+    my $defdom=$ENV{'request.role.domain'};
+
+    my ($krbdef,$krbdefdom) =
+       &Apache::loncommon::get_kerberos_defaults($defdom);
+
     my %param = ( formname => 'document.cu',
-                  kerb_def_dom => $krbdefdom 
+                  kerb_def_dom => $krbdefdom,
+                  kerb_def_auth => $krbdef
                   );
     $loginscript  = &Apache::loncommon::authform_header(%param);
-
-    my $defdom=$ENV{'request.role.domain'};
+    $authformkrb  = &Apache::loncommon::authform_kerberos(%param);
 
     $ccuname=~s/\W//g;
     $ccdomain=~s/\W//g;
+    my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();
     my $dochead =<<"ENDDOCHEAD";
 <html>
 <head>
@@ -154,14 +162,7 @@ sub print_user_modification_page {
         parmwin.close();
     }
 
-    function pjump(type,dis,value,marker,ret,call) {
-        parmwin=window.open("/adm/rat/parameter.html?type="+escape(type)
-                 +"&value="+escape(value)+"&marker="+escape(marker)
-                 +"&return="+escape(ret)
-                 +"&call="+escape(call)+"&name="+escape(dis),"LONCAPAparms",
-                 "height=350,width=350,scrollbars=no,menubar=no");
-
-    }
+    $pjump_def
 
     function dateset() {
         eval("document.cu."+document.cu.pres_marker.value+
@@ -186,7 +187,7 @@ ENDFORMINFO
     my $uhome=&Apache::lonnet::homeserver($ccuname,$ccdomain);
     my %incdomains; 
     my %inccourses;
-    foreach (%Apache::lonnet::hostdom) {
+    foreach (values(%Apache::lonnet::hostdom)) {
        $incdomains{$_}=1;
     }
     foreach (keys(%ENV)) {
@@ -285,7 +286,12 @@ END
                if ($area =~ /^\/(\w+)\/(\d\w+)/ ) {
                    my %coursedata=
                        &Apache::lonnet::coursedescription($1.'_'.$2);
-                   my $carea='Course: '.$coursedata{'description'};
+		   my $carea;
+		   if (defined($coursedata{'description'})) {
+		       $carea='Course: '.$coursedata{'description'};
+		   } else {
+		       $carea='Unavailable course: '.$area;
+		   }
                    $inccourses{$1.'_'.$2}=1;
                    if (&Apache::lonnet::allowed('c'.$role_code,$1.'/'.$2)) {
                        $allowed=1;
@@ -824,6 +830,7 @@ sub course_level_table {
 	$thiscourse=~s:_:/:g;
 	my %coursedata=&Apache::lonnet::coursedescription($thiscourse);
 	my $area=$coursedata{'description'};
+	if (!defined($area)) { $area='Unavailable course: '.$_; }
 	my $bgcol=$thiscourse;
 	$bgcol=~s/[^8-9b-e]//g;
 	$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',0,6);