--- loncom/interface/loncreateuser.pm 2006/11/21 21:38:44 1.134 +++ loncom/interface/loncreateuser.pm 2007/12/13 01:08:47 1.208 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.134 2006/11/21 21:38:44 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.208 2007/12/13 01:08:47 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -65,11 +65,10 @@ use Apache::lonnet; use Apache::loncommon; use Apache::lonlocal; use Apache::longroup; -use lib '/home/httpd/lib/perl/'; -use LONCAPA; +use Apache::lonuserutils; +use LONCAPA qw(:DEFAULT :match); my $loginscript; # piece of javascript used in two separate instances -my $generalrule; my $authformnop; my $authformkrb; my $authformint; @@ -77,14 +76,27 @@ my $authformfsys; my $authformloc; sub initialize_authen_forms { + my ($dom,$curr_authtype,$mode) = @_; my ($krbdefdom)=( $ENV{'SERVER_NAME'}=~/(\w+\.\w+)$/); $krbdefdom= uc($krbdefdom); my %param = ( formname => 'document.cu', - kerb_def_dom => $krbdefdom - ); + kerb_def_dom => $krbdefdom, + domain => $dom, + ); + my %abv_auth = &auth_abbrev(); + if ($curr_authtype =~ /^(krb4|krb5|internal|localauth|unix):$/) { + my $long_auth = $1; + my %abv_auth = &auth_abbrev(); + $param{'curr_authtype'} = $abv_auth{$long_auth}; + if ($long_auth =~ /^krb(4|5)$/) { + $param{'curr_kerb_ver'} = $1; + } + if ($mode eq 'modifyuser') { + $param{'mode'} = $mode; + } + } # 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); # no longer static due to configurable kerberos defaults # $authformkrb = &Apache::loncommon::authform_kerberos(%param); @@ -93,18 +105,14 @@ sub initialize_authen_forms { $authformloc = &Apache::loncommon::authform_local(%param); } - -# ======================================================= Existing Custom Roles - -sub my_custom_roles { - my %returnhash=(); - my %rolehash=&Apache::lonnet::dump('roles'); - foreach (keys %rolehash) { - if ($_=~/^rolesdef\_(\w+)$/) { - $returnhash{$1}=$1; - } - } - return %returnhash; +sub auth_abbrev { + my %abv_auth = ( + krb4 => 'krb', + internal => 'int', + localuth => 'loc', + unix => 'fsys', + ); + return %abv_auth; } # ==================================================== Figure out author access @@ -122,69 +130,213 @@ sub portfolio_quota { my ($ccuname,$ccdomain) = @_; my %lt = &Apache::lonlocal::texthash( 'disk' => "Disk space allocated to user's portfolio files", + 'cuqu' => "Current quota", + 'cust' => "Custom quota", + 'defa' => "Default", + 'chqu' => "Change quota", ); - my $output = '