--- loncom/interface/createaccount.pm 2008/07/11 15:44:32 1.16
+++ loncom/interface/createaccount.pm 2008/07/12 14:08:58 1.17
@@ -3,7 +3,7 @@
# institutional log-in ID (institutional authentication required - localauth
# or kerberos) or an e-mail address.
#
-# $Id: createaccount.pm,v 1.16 2008/07/11 15:44:32 raeburn Exp $
+# $Id: createaccount.pm,v 1.17 2008/07/12 14:08:58 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -127,31 +127,36 @@ sub handler {
if ($sso_username ne '') {
&print_header($r,$start_page);
- my ($output,$msg);
+ my $msg;
if (grep(/^sso$/,@cancreate)) {
$msg = '
'.&mt('Account creation').'
'.
- &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 at this institution.").'
';
- ($output, my $checkfail) = &username_check($sso_username,$domain,
- $domdesc,$courseid,
- $lonhost,$contact_email);
+ &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 at this institution.").'
';
+ my ($output,$checkfail) = &username_check($sso_username,$domain,
+ $domdesc,$courseid,
+ $lonhost,$contact_email);
if ($checkfail) {
- $msg .= ''.&mt('Account creation unavailable');'
';
+ $msg .= ''.&mt('Account creation unavailable').'
';
if ($checkfail eq 'username') {
$msg .= ''.
- &mt('A LON-CAPA account may not be created with the username you use.').'';
+ &mt('A LON-CAPA account may not be created with the username you use.').
+ '
'.$output;
} elsif ($checkfail eq 'authtoken') {
- $msg .= ''.&mt('Error creating token.').'';
+ $msg .= ''.&mt('Error creating token.').''.
+ '
'.$output;
}
- $msg .= '
'.
- &mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);
+ $msg .= &mt('Please contact the [_1] ([_2]) for assistance.',
+ $contact_name,$contact_email).'
'.
+ &sso_logout_frag($r,$domain);
+
} 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.');
+ $msg .= '
'.&mt('To create one, use the table below to provide information about yourself (if appropriate), then click the "Create LON-CAPA account" button.').'
'.$output;
}
} else {
- $msg .= ''.&mt('Account creation unavailable').'
'.
- ''.&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 at this institution, and you are not permitted to create one.").'
'.&mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);
+ $msg = ''.&mt('Account creation unavailable').'
'.
+ ''.&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 at this institution, and you are not permitted to create one.").'
'.&mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email).'
'.
+ &sso_logout_frag($r,$domain);
}
- $r->print($msg.'
'.$output);
+ $r->print($msg);
$r->print(&Apache::loncommon::end_page());
return OK;
}
@@ -524,7 +529,7 @@ sub process_mailtoken {
$data{'username'},$domdesc);
if ($result eq 'ok') {
$msg = $output;
- my $shownow = localtime($now);
+ my $shownow = &Apache::lonlocal::locallocaltime($now);
my $mailmsg = &mt('A LON-CAPA account for the institution: [_1] has been created [_2] from IP address: [_3]. If you did not perform this action or authorize it, please contact the [_4] ([_5]).',$domdesc,$shownow,$ENV{'REMOTE_ADDR'},$contact_name,$contact_email)."\n";
my $mailresult = &Apache::resetpw::send_mail($domdesc,$data{'email'},
$mailmsg,$contact_name,
@@ -771,7 +776,8 @@ sub username_check {
my ($userchkmsg,$checkfail);
if (ref($curr_rules{$domain}) eq 'HASH') {
$userchkmsg =
- &Apache::loncommon::instrule_disallow_msg('username',$domdesc,1).
+ &Apache::loncommon::instrule_disallow_msg('username',$domdesc,1,
+ 'selfcreate').
&Apache::loncommon::user_rule_formats($domain,$domdesc,
$curr_rules{$domain}{'username'},'username');
if ($userchkmsg) {
@@ -934,9 +940,9 @@ sub linkto_email_help {
my $msg;
if ($contact_email ne '') {
my $escuri = &HTML::Entities::encode('/adm/createaccount','&<>"');
- $msg .= '
'.&mt('You may wish to contact the [_1]LON-CAPA helpdesk[_2] for [_3].','','',$domdesc);
+ $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 LON-CAPA 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{'AdminEmail'},$domdesc).'
';
}
return $msg;
}
@@ -1050,4 +1056,25 @@ sub guest_format_check {
return $format_msg;
}
+sub sso_logout_frag {
+ my ($r,$domain) = @_;
+ my $endsessionmsg;
+ if (defined($r->dir_config('lonSSOUserLogoutMessageFile_'.$domain))) {
+ my $msgfile = $r->dir_config('lonSSOUserLogoutMessageFile_'.$domain);
+ if (-e $msgfile) {
+ open(my $fh,"<$msgfile");
+ $endsessionmsg = join('',<$fh>);
+ close($fh);
+ }
+ } elsif (defined($r->dir_config('lonSSOUserLogoutMessageFile'))) {
+ my $msgfile = $r->dir_config('lonSSOUserLogoutMessageFile');
+ if (-e $msgfile) {
+ open(my $fh,"<$msgfile");
+ $endsessionmsg = join('',<$fh>);
+ close($fh);
+ }
+ }
+ return $endsessionmsg;
+}
+
1;