--- loncom/interface/loncreateuser.pm 2001/04/25 20:33:26 1.16
+++ loncom/interface/loncreateuser.pm 2002/02/08 19:40:42 1.24
@@ -1,6 +1,30 @@
-# The LearningOnline Network
+# The LearningOnline Network with CAPA
# Create a user
#
+# $Id: loncreateuser.pm,v 1.24 2002/02/08 19:40:42 matthew Exp $
+#
+# Copyright Michigan State University Board of Trustees
+#
+# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
+#
+# LON-CAPA is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# LON-CAPA is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LON-CAPA; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# /home/httpd/html/adm/gpl.txt
+#
+# http://www.lon-capa.org/
+#
# (Create a course
# (My Desk
#
@@ -10,6 +34,7 @@
# 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14,
# 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9 Gerd Kortemeyer)
#
+# YEAR=2001
# 3/1/1 Gerd Kortemeyer)
#
# 3/1 Gerd Kortemeyer)
@@ -17,13 +42,146 @@
# 2/14 Gerd Kortemeyer)
#
# 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
#
+# $Id: loncreateuser.pm,v 1.24 2002/02/08 19:40:42 matthew Exp $
+###
+
package Apache::loncreateuser;
use strict;
use Apache::Constants qw(:common :http);
use Apache::lonnet;
+my $loginscript; # piece of javascript used in two separate instances
+my $generalrule;
+my $authformnop;
+my $authformkrb;
+my $authformint;
+my $authformfsys;
+my $authformloc;
+
+BEGIN {
+ $ENV{'SERVER_NAME'}=~/(\w+\.\w+)$/;
+ my $krbdefdom=$1;
+ $krbdefdom=~tr/a-z/A-Z/;
+ $authformnop=(<
+
+Do not change login data
+
');
}
+ my $currentauth=&Apache::lonnet::queryauthenticate($ccuname,$ccdomain);
+ if ($currentauth=~/^krb4:/) {
+ $currentauth=~/^krb4:(.*)/;
+ my $krbdefdom2=$1;
+ $loginscript=~s/vf\.krbdom\.value='.*?';/vf.krbdom.value='$krbdefdom2';/;
+ }
+ # minor script hack here
+# $loginscript=~s/login\[3\]/login\[4\]/; # loc
+# $loginscript=~s/login\[2\]/login\[3\]/; # fsys
+# $loginscript=~s/login\[1\]/login\[2\]/; # int
+# $loginscript=~s/login\[0\]/login\[1\]/; # krb4
+
+ unless ($currentauth=~/^krb4:/ or
+ $currentauth=~/^unix:/ or
+ $currentauth=~/^internal:/ or
+ $currentauth=~/^localauth:/
+ ) {
+ $r->print(<
+$loginscript
+ERROR:
+This user has an unrecognized authentication scheme ($currentauth).
+Please specify login data below.
+
Login Data
+$generalrule
+$authformkrb
+$authformint
+$authformfsys
+$authformloc
+END
+ }
+ else {
+ my $authformcurrent='';
+ my $authformother='';
+ if ($currentauth=~/^krb4:/) {
+ $authformcurrent=$authformkrb;
+ $authformother=$authformint.$authformfsys.$authformloc;
+ # embarrassing script hack here
+ $loginscript=~s/login\[3\]/login\[4\]/; # loc
+ $loginscript=~s/login\[2\]/login\[3\]/; # fsys
+ $loginscript=~s/login\[1\]/login\[2\]/; # int
+ $loginscript=~s/login\[0\]/login\[1\]/; # krb4
+ }
+ elsif ($currentauth=~/^internal:/) {
+ $authformcurrent=$authformint;
+ $authformother=$authformkrb.$authformfsys.$authformloc;
+ # embarrassing script hack here
+ $loginscript=~s/login\[3\]/login\[4\]/; # loc
+ $loginscript=~s/login\[2\]/login\[3\]/; # fsys
+ $loginscript=~s/login\[1\]/login\[1\]/; # int
+ $loginscript=~s/login\[0\]/login\[2\]/; # krb4
+ }
+ elsif ($currentauth=~/^unix:/) {
+ $authformcurrent=$authformfsys;
+ $authformother=$authformkrb.$authformint.$authformloc;
+ # embarrassing script hack here
+ $loginscript=~s/login\[3\]/login\[4\]/; # loc
+ $loginscript=~s/login\[1\]/login\[3\]/; # int
+ $loginscript=~s/login\[2\]/login\[1\]/; # fsys
+ $loginscript=~s/login\[0\]/login\[2\]/; # krb4
+ }
+ elsif ($currentauth=~/^localauth:/) {
+ $authformcurrent=$authformloc;
+ $authformother=$authformkrb.$authformint.$authformfsys;
+ # embarrassing script hack here
+ $loginscript=~s/login\[3\]/login\[loc\]/; # loc
+ $loginscript=~s/login\[2\]/login\[4\]/; # fsys
+ $loginscript=~s/login\[1\]/login\[3\]/; # int
+ $loginscript=~s/login\[0\]/login\[2\]/; # krb4
+ $loginscript=~s/login\[loc\]/login\[1\]/; # loc
+ }
+ $authformcurrent=<
+
+
* * * WARNING * * *
+
* * * WARNING * * *
+
+
$authformcurrent
+
Changing this value will overwrite existing authentication for the user; you should notify the user of this change.
+
+END
+ $r->print(<
+$loginscript
+
Change Current Login Data
+$generalrule
+$authformnop
+$authformcurrent
+
Enter New Login Data
+$authformother
+END
+ }
+ }
+ $r->print('
Add Roles
');
+#
+# Co-Author
+#
+
+ if (&Apache::lonnet::allowed('cca',$ENV{'user.domain'})) {
+ my $cuname=$ENV{'user.name'};
+ my $cudom=$ENV{'user.domain'};
+ $r->print(<Construction Space
+