[LON-CAPA-cvs] cvs: loncom /interface createaccount.pm
raeburn
lon-capa-cvs-allow@mail.lon-capa.org
Sat, 12 Jul 2008 14:08:58 -0000
raeburn Sat Jul 12 10:08:58 2008 EDT
Modified files:
/loncom/interface createaccount.pm
Log:
- Add &sso_logout_frag() to provide a link to logout of an SSO session if username creation is not possible.
- Moved some <br /> for a more compact display for SSO authenticated case.
- Typo in an <h4></h4> header line.
Index: loncom/interface/createaccount.pm
diff -u loncom/interface/createaccount.pm:1.16 loncom/interface/createaccount.pm:1.17
--- loncom/interface/createaccount.pm:1.16 Fri Jul 11 11:44:32 2008
+++ loncom/interface/createaccount.pm Sat Jul 12 10:08:58 2008
@@ -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 @@
if ($sso_username ne '') {
&print_header($r,$start_page);
- my ($output,$msg);
+ my $msg;
if (grep(/^sso$/,@cancreate)) {
$msg = '<h3>'.&mt('Account creation').'</h3>'.
- &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.").'<br /><br />';
- ($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.").'<br />';
+ my ($output,$checkfail) = &username_check($sso_username,$domain,
+ $domdesc,$courseid,
+ $lonhost,$contact_email);
if ($checkfail) {
- $msg .= '<h4>'.&mt('Account creation unavailable');'</h4>';
+ $msg .= '<h4>'.&mt('Account creation unavailable').'</h4>';
if ($checkfail eq 'username') {
$msg .= '<span class="LC_warning">'.
- &mt('A LON-CAPA account may not be created with the username you use.').'</span>';
+ &mt('A LON-CAPA account may not be created with the username you use.').
+ '</span><br /><br />'.$output;
} elsif ($checkfail eq 'authtoken') {
- $msg .= '<span class="LC_error">'.&mt('Error creating token.').'</span>';
+ $msg .= '<span class="LC_error">'.&mt('Error creating token.').'</span>'.
+ '<br />'.$output;
}
- $msg .= '<br /><br />'.
- &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).'<br /><hr />'.
+ &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 .= '<br />'.&mt('To create one, use the table below to provide information about yourself (if appropriate), then click the "Create LON-CAPA account" button.').'<br />'.$output;
}
} else {
- $msg .= '<h3>'.&mt('Account creation unavailable').'</h3>'.
- '<span class="LC_warning">'.&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.").'</span><br /><br />'.&mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email);
+ $msg = '<h3>'.&mt('Account creation unavailable').'</h3>'.
+ '<span class="LC_warning">'.&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.").'</span><br /><br />'.&mt('Please contact the [_1] ([_2]) for assistance.',$contact_name,$contact_email).'<hr />'.
+ &sso_logout_frag($r,$domain);
}
- $r->print($msg.'<br />'.$output);
+ $r->print($msg);
$r->print(&Apache::loncommon::end_page());
return OK;
}
@@ -524,7 +529,7 @@
$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 @@
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 @@
my $msg;
if ($contact_email ne '') {
my $escuri = &HTML::Entities::encode('/adm/createaccount','&<>"');
- $msg .= '<br />'.&mt('You may wish to contact the [_1]LON-CAPA helpdesk[_2] for [_3].','<a href="/adm/helpdesk?origurl='.$escuri.'">','</a>',$domdesc);
+ $msg .= '<br />'.&mt('You may wish to contact the [_1]LON-CAPA helpdesk[_2] for [_3].','<a href="/adm/helpdesk?origurl='.$escuri.'">','</a>',$domdesc).'<br />';
} else {
- $msg .= '<br />'.&mt('You may wish to send an e-mail to the LON-CAPA server administrator: [_1] for [_2].',$Apache::lonnet::perlvar{'AdminEmail'},$domdesc);
+ $msg .= '<br />'.&mt('You may wish to send an e-mail to the server administrator: [_1] for [_2].',$Apache::lonnet::perlvar{'AdminEmail'},$domdesc).'<br />';
}
return $msg;
}
@@ -1050,4 +1056,25 @@
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;