--- loncom/interface/createaccount.pm 2012/08/25 04:34:44 1.52
+++ loncom/interface/createaccount.pm 2014/01/30 12:15:06 1.57
@@ -3,7 +3,7 @@
# institutional log-in ID (institutional authentication required - localauth
# or kerberos) or an e-mail address.
#
-# $Id: createaccount.pm,v 1.52 2012/08/25 04:34:44 raeburn Exp $
+# $Id: createaccount.pm,v 1.57 2014/01/30 12:15:06 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -39,7 +39,6 @@ use Apache::lonhtmlcommon;
use Apache::lonlocal;
use Apache::lonauth;
use Apache::resetpw;
-use Authen::Captcha;
use DynaLoader; # for Crypt::DES version
use Crypt::DES;
use LONCAPA qw(:DEFAULT :match);
@@ -57,18 +56,34 @@ sub handler {
my $domain;
- my $sso_username = $r->subprocess_env->get('REDIRECT_SSOUserUnknown');
- my $sso_domain = $r->subprocess_env->get('REDIRECT_SSOUserDomain');
+ my $sso_username = $r->subprocess_env->get('SSOUserUnknown');
+ my $sso_domain = $r->subprocess_env->get('SSOUserDomain');
- &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['token','courseid']);
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
+ ['token','courseid','domain']);
&Apache::lonacc::get_posted_cgi($r);
&Apache::lonlocal::get_language_handle($r);
if ($sso_username ne '' && $sso_domain ne '') {
$domain = $sso_domain;
} else {
- ($domain, undef) = Apache::lonnet::is_course($env{'form.courseid'});
- $domain ||= &Apache::lonnet::default_login_domain();
+ ($domain, undef) = Apache::lonnet::is_course($env{'form.courseid'});
+ unless ($domain) {
+ if ($env{'form.phase'} =~ /^username_(activation|validation)$/) {
+ if (($env{'form.udom'} =~ /^$match_domain$/) &&
+ (&Apache::lonnet::domain($env{'form.udom'}) ne '')) {
+ $domain = $env{'form.udom'};
+ } else {
+ $domain = &Apache::lonnet::default_login_domain();
+ }
+ } elsif (($env{'form.phase'} eq '') &&
+ ($env{'form.domain'} =~ /^$match_domain$/) &&
+ (&Apache::lonnet::domain($env{'form.domain'}) ne '')) {
+ $domain = $env{'form.domain'};
+ } else {
+ $domain = &Apache::lonnet::default_login_domain();
+ }
+ }
}
my $domdesc = &Apache::lonnet::domain($domain,'description');
my $contact_name = &mt('LON-CAPA helpdesk');
@@ -806,7 +821,7 @@ sub create_account {
# Error messages
my $error = ''.&mt('Error:').' ';
my $end = '
';
- my $rtnlink = ''.
+ my $rtnlink = ''.
&mt('Return to previous page').''.
&Apache::loncommon::end_page();
if ($retrieved eq 'ok') {
@@ -1020,7 +1035,7 @@ sub username_activation {
my $output;
my $error = ''.&mt('Error:').' ';
my $end = '
';
- my $rtnlink = ''.
+ my $rtnlink = ''.
&mt('Return to previous page').''.
&Apache::loncommon::end_page();
my %domdefaults = &Apache::lonnet::get_domain_defaults($domain);
@@ -1042,7 +1057,12 @@ sub username_activation {
$output = &mt('Sorry, your authentication has expired.');
}
if ($earlyout ne '') {
- $output .= '
'.&mt('Please [_1]start again[_2].','','');
+ my $link = '/adm/createaccount';
+ if (&Apache::lonnet::domain($domain) ne '') {
+ $link .= "?domain=$domain";
+ }
+ $output .= '
'.&mt('Please [_1]start again[_2].',
+ '','');
return($earlyout,$output);
}
if ((($domdefaults{'auth_def'} =~/^krb(4|5)$/) &&
@@ -1169,7 +1189,7 @@ sub linkto_email_help {
}
$msg .= '
'.&mt('You may wish to contact the [_1]LON-CAPA helpdesk[_2] for [_3].','','',$domdesc).'
';
} else {
- $msg .= '
'.&mt('You may wish to send an e-mail to the server administrator: [_1] for [_2].',$Apache::lonnet::perlvar{'AdminEmail'},$domdesc).'
';
+ $msg .= '
'.&mt('You may wish to send an e-mail to the server administrator: [_1] for [_2].',$Apache::lonnet::perlvar{'AdmEMail'},$domdesc).'
';
}
return $msg;
}