--- loncom/interface/createaccount.pm 2012/12/05 18:23:54 1.54
+++ loncom/interface/createaccount.pm 2013/06/05 12:46:39 1.56
@@ -3,7 +3,7 @@
# institutional log-in ID (institutional authentication required - localauth
# or kerberos) or an e-mail address.
#
-# $Id: createaccount.pm,v 1.54 2012/12/05 18:23:54 bisitz Exp $
+# $Id: createaccount.pm,v 1.56 2013/06/05 12:46:39 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -59,15 +59,31 @@ sub handler {
my $sso_username = $r->subprocess_env->get('REDIRECT_SSOUserUnknown');
my $sso_domain = $r->subprocess_env->get('REDIRECT_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');
@@ -1041,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)$/) &&
@@ -1168,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;
}