--- loncom/interface/loncreateuser.pm 2001/02/21 20:38:35 1.3 +++ loncom/interface/loncreateuser.pm 2001/03/02 20:31:34 1.4 @@ -16,7 +16,7 @@ # # 2/14 Gerd Kortemeyer) # -# 2/14,2/17,2/19,2/20,2/21 Gerd Kortemeyer +# 2/14,2/17,2/19,2/20,2/21,2/22,2/23,3/2 Gerd Kortemeyer # package Apache::loncreateuser; @@ -53,6 +53,13 @@ sub phase_two { my $r=shift; 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{'user.domain'}; + $ccuname=~s/\W//g; $ccdomain=~s/\W//g; $r->print(<print('

New user '.$ccuname.' at '.$ccdomain.'

'); + $r->print(<New user $ccuname at $ccdomain + + +

Personal Data

+First Name:
+Middle Name:
+Last Name:
+Generation:

+ +ID/Student Number:

+ +Group/Section:

+ +

Login Data

+Username:

+Domain:

+Note: login settings below will not take effect if the user already exists

+ + +Kerberos authenticated with domain +

+ +Internally authenticated (with initial password +) +ENDNUSER } else { $r->print('

Existing user '.$ccuname.' at '.$ccdomain.'

'); my $rolesdump=&Apache::lonnet::reply( @@ -210,9 +338,72 @@ ENDROW } ('st','ta','ep','ad','in'); } sort keys %inccourses; $r->print(''); + $r->print(''); $r->print(''); } +# ================================================================= Phase Three + +sub phase_three { + my $r=shift; + $r->print(< + +The LearningOnline Network with CAPA + + + +

Create User, Change User Privileges

+ENDTHREEHEAD + if ($ENV{'form.makeuser'}) { + $r->print('

Creating User

'); + if (($ENV{'form.cuname'})&&($ENV{'form.cuname'}!~/\W/)&& + ($ENV{'form.cdomain'})&&($ENV{'form.cdomain'}!~/\W/)) { + my $amode=''; + my $genpwd=''; + if ($ENV{'form.login'} eq 'krb') { + $amode='krb4'; + $genpwd=$ENV{'form.krbdom'}; + } elsif ($ENV{'form.login'} eq 'int') { + $amode='internal'; + $genpwd=$ENV{'form.intpwd'}; + } + if (($amode) && ($genpwd)) { + &dropstudent($ENV{'form.cdomain'},$ENV{'form.cuname'}, + $ENV{'request.course.id'},$ENV{'form.csec'}); + $r->print(&Apache::lonnet::modifystudent( + $ENV{'form.cdomain'},$ENV{'form.cuname'}, + $ENV{'form.cstid'},$amode,$genpwd, + $ENV{'form.cfirst'},$ENV{'form.cmiddle'}, + $ENV{'form.clast'},$ENV{'form.cgen'}, + $ENV{'form.csec'},$ENV{'form.enddate'}, + $ENV{'form.startdate'})); + } else { + $r->print('Invalid login mode or password'); + } + } else { + $r->print('Invalid username or domain'); + } + } + $r->print('

'.$ENV{'form.cuname'}.' at '.$ENV{'form.cdomain'}.'

'); + my $now=time; +# sub assignrole { +# my ($udom,$uname,$url,$role,$end,$start)=@_; + map { + if (($_=~/^form\.rev\:([^\_]+)\_([^\_]+)$/) && ($ENV{$_})) { + $r->print('Revoking '.$2.' in '.$1.': '. + &Apache::lonnet::assignrole($ENV{'form.cdomain'},$ENV{'form.cuname'}, + $1,$2,$now).'
'); + } + } keys %ENV; + $r->print(''); + map { + if (($_=~/^form\.act\_([^\_]+)\_([^\_]+)\_([^\_]+)$/) && ($ENV{$_})) { + $r->print('a:'.$_.': '.$1.' '.$2.' '.$3.'
'); + } + } keys %ENV; +} + # ================================================================ Main Handler sub handler { my $r = shift; @@ -235,6 +426,8 @@ sub handler { } if ($ENV{'form.phase'} eq 'two') { &phase_two($r); + } elsif ($ENV{'form.phase'} eq 'three') { + &phase_three($r); } } else { $ENV{'user.error.msg'}=