--- loncom/interface/createaccount.pm 2008/07/01 16:41:57 1.7 +++ loncom/interface/createaccount.pm 2008/07/08 03:00:43 1.10 @@ -3,7 +3,7 @@ # institutional log-in ID (institutional authentication required - localauth # or kerberos) or an e-mail address. # -# $Id: createaccount.pm,v 1.7 2008/07/01 16:41:57 bisitz Exp $ +# $Id: createaccount.pm,v 1.10 2008/07/08 03:00:43 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,6 +42,7 @@ use Authen::Captcha; use DynaLoader; # for Crypt::DES version use Crypt::DES; use LONCAPA qw(:DEFAULT :match); +use HTML::Entities; sub handler { my $r = shift; @@ -122,9 +123,13 @@ sub handler { my ($output,$msg); if (grep(/^sso$/,@cancreate)) { $msg = &mt("Although your username and password were authenticated by your institution's Single Sign On system, you do not currently have a LON-CAPA account in this domain."); - ($output, my $checkfail) = &username_check($sso_username,$domain,$domdesc,$courseid); - if ($checkfail) { + ($output, my $checkfail) = &username_check($sso_username,$domain, + $domdesc,$courseid, + $lonhost,$contact_email); + if ($checkfail eq 'username') { $msg .= &mt('A LON-CAPA account may not be created with the username you use.'); + } elsif ($checkfail eq 'authtoken') { + $msg .= &mt('Error creating token.'); } else { $msg .= &mt('To create one, use the table below to provide information about yourself (if appropriate), then click the "Create LON-CAPA account" button.'); } @@ -181,7 +186,8 @@ sub handler { $courseid); } elsif ($env{'form.phase'} eq 'username_validation') { $output = &username_validation($env{'form.uname'},$domain,$domdesc, - $contact_name,$contact_email,$courseid); + $contact_name,$contact_email,$courseid, + $lonhost); } elsif (!$token) { my $now=time; if (grep(/^login$/,@cancreate)) { @@ -284,7 +290,7 @@ sub print_username_form { my %domdefaults = &Apache::lonnet::get_domain_defaults($domain); if ((($domdefaults{'auth_def'} =~/^krb/) && ($domdefaults{'auth_arg_def'} ne '')) || ($domdefaults{'auth_def'} eq 'localauth')) { $output = '