version 1.26, 2010/11/29 19:15:14
|
version 1.32, 2013/03/25 16:33:08
|
Line 66 sub handler {
|
Line 66 sub handler {
|
return OK; |
return OK; |
} |
} |
my $contact_name = &mt('LON-CAPA helpdesk'); |
my $contact_name = &mt('LON-CAPA helpdesk'); |
my $contact_email = $r->dir_config('lonSupportEMail'); |
my $origmail = $r->dir_config('lonSupportEMail'); |
my $server = $r->dir_config('lonHostID'); |
my $server = $r->dir_config('lonHostID'); |
my $defdom = &Apache::lonnet::default_login_domain(); |
my $defdom = &Apache::lonnet::default_login_domain(); |
|
my $contacts = |
|
&Apache::loncommon::build_recipient_list(undef,'helpdeskmail', |
|
$defdom,$origmail); |
|
my ($contact_email) = split(',',$contacts); |
my $handle = &Apache::lonnet::check_for_valid_session($r); |
my $handle = &Apache::lonnet::check_for_valid_session($r); |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
if ($handle ne '') { |
if ($handle ne '') { |
Line 173 sub handler {
|
Line 177 sub handler {
|
sub get_uname { |
sub get_uname { |
my ($defdom) = @_; |
my ($defdom) = @_; |
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
unam => 'username', |
unam => 'LON-CAPA username', |
udom => 'domain', |
udom => 'LON-CAPA domain', |
uemail => 'E-mail address in LON-CAPA', |
uemail => 'E-mail address in LON-CAPA', |
proc => 'Proceed'); |
proc => 'Proceed'); |
|
|
Line 186 sub get_uname {
|
Line 190 sub get_uname {
|
.'</ul>'; |
.'</ul>'; |
$msg .= '<form name="forgotpw" method="post" action="/adm/resetpw">'. |
$msg .= '<form name="forgotpw" method="post" action="/adm/resetpw">'. |
&Apache::lonhtmlcommon::start_pick_box(). |
&Apache::lonhtmlcommon::start_pick_box(). |
&Apache::lonhtmlcommon::row_title('LON-CAPA '.$lt{'unam'}). |
&Apache::lonhtmlcommon::row_title($lt{'unam'}). |
'<input type="text" name="uname" size="20" />'. |
'<input type="text" name="uname" size="20" />'. |
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::row_title('LON-CAPA '.$lt{'udom'}). |
&Apache::lonhtmlcommon::row_title($lt{'udom'}). |
&Apache::loncommon::select_dom_form($defdom,'udom'). |
&Apache::loncommon::select_dom_form($defdom,'udom'). |
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::row_closure(1). |
&Apache::lonhtmlcommon::row_title($lt{'uemail'}). |
&Apache::lonhtmlcommon::row_title($lt{'uemail'}). |
Line 202 sub get_uname {
|
Line 206 sub get_uname {
|
sub send_token { |
sub send_token { |
my ($uname,$udom,$email,$server,$domdesc,$contact_name, |
my ($uname,$udom,$email,$server,$domdesc,$contact_name, |
$contact_email) = @_; |
$contact_email) = @_; |
my $msg = &mt('Thank you for your request to reset the password for your LON-CAPA account.').'<br /><br />'; |
my $msg = |
|
'<p class="LC_info">' |
|
.&mt('Thank you for your request to reset the password for your LON-CAPA account.') |
|
.'</p>'; |
|
|
my $now = time; |
my $now = time; |
my $temppasswd = &create_passwd(); |
my $temppasswd = &create_passwd(); |
Line 224 sub send_token {
|
Line 231 sub send_token {
|
if ($result eq 'ok') { |
if ($result eq 'ok') { |
$msg .= &mt("An e-mail sent to the e-mail address associated with your LON-CAPA account includes the web address for the link you should use to complete the reset process.<br /><br />The link included in the message will be valid for the next <b>two</b> hours."); |
$msg .= &mt("An e-mail sent to the e-mail address associated with your LON-CAPA account includes the web address for the link you should use to complete the reset process.<br /><br />The link included in the message will be valid for the next <b>two</b> hours."); |
} else { |
} else { |
$msg .= &mt("An error occurred when sending a message to the e-mail address associated with your LON-CAPA account. Please contact the [_1] ([_2]) for assistance.",$contact_name,$contact_email); |
$msg .= |
|
'<p class="LC_error">' |
|
.&mt('An error occurred when sending a message to the e-mail address' |
|
.' associated with your LON-CAPA account.') |
|
.'</p>' |
|
.&display_actions($contact_email,$domdesc); |
|
|
} |
} |
} else { |
} else { |
$msg .= &mt("An error occurred creating a token required for the password reset process. Please contact the [_1] ([_2]) for assistance.",$contact_name,$contact_email); |
$msg .= |
|
'<p class="LC_error">' |
|
.&mt('An error occurred creating a token required for the' |
|
.' password reset process.') |
|
.'</p>' |
|
.&display_actions($contact_email,$domdesc); |
} |
} |
return $msg; |
return $msg; |
} |
} |
Line 256 sub invalid_state {
|
Line 274 sub invalid_state {
|
my ($error,$domdesc,$contact_name,$contact_email) = @_; |
my ($error,$domdesc,$contact_name,$contact_email) = @_; |
my $msg; |
my $msg; |
if ($error eq 'invalid') { |
if ($error eq 'invalid') { |
$msg = '<p class="LC_warning">'.&mt('The username you provided was not verified as a valid username in the LON-CAPA system for the [_1] domain.',$domdesc) |
$msg = |
.'</p>'.&mt('Please [_1]go back[_2] and try again.','<a href="javascript:history.go(-1)"><u>','</u></a>'); |
'<p class="LC_warning">' |
|
.&mt('The username you provided was not verified as a valid username' |
|
.' in the LON-CAPA system for the [_1] domain.','<i>'.$domdesc.'</i>') |
|
.'</p>'; |
|
$msg .= &display_actions($contact_email,$domdesc); |
} else { |
} else { |
if ($error eq 'baduseremail') { |
if ($error eq 'baduseremail') { |
$msg = &mt('The e-mail address you provided does not appear to be a valid address.'); |
$msg = &mt('The e-mail address you provided does not appear to be a valid address.'); |
Line 268 sub invalid_state {
|
Line 290 sub invalid_state {
|
} elsif ($error eq 'authentication') { |
} elsif ($error eq 'authentication') { |
$msg = &mt('The username you provided uses an authentication type which can not be reset directly via LON-CAPA.'); |
$msg = &mt('The username you provided uses an authentication type which can not be reset directly via LON-CAPA.'); |
} |
} |
$msg = '<p class="LC_warning">'.$msg.'</p>'; |
$msg = '<p class="LC_warning">'.$msg.'</p>' |
if ($contact_email ne '') { |
.&display_actions($contact_email,$domdesc); |
my $escuri = &HTML::Entities::encode('/adm/resetpw','&<>"'); |
|
$msg .= '<br /> '.&mt('You may wish to contact the [_1]LON-CAPA helpdesk[_2] for the [_3] domain.' |
|
,'<a href="/adm/helpdesk?origurl='.$escuri.'">','</a>',$domdesc); |
|
} else { |
|
$msg .= '<br /> '.&mt('You may wish to send an e-mail to the server administrator: [_1] for the [_2] domain.',$Apache::lonnet::perlvar{'AdminEmail'},$domdesc); |
|
} |
|
} |
} |
return $msg; |
return $msg; |
} |
} |
Line 313 sub reset_passwd {
|
Line 329 sub reset_passwd {
|
my $result = &send_mail($domdesc,$data{'email'},$mailmsg, |
my $result = &send_mail($domdesc,$data{'email'},$mailmsg, |
$contact_name,$contact_email); |
$contact_name,$contact_email); |
if ($result eq 'ok') { |
if ($result eq 'ok') { |
$msg .= &mt('An e-mail confirming setting of the password for your LON-CAPA account has been sent to [_1].',$data{'email'}); |
$msg .= |
|
'<p class="LC_success">' |
|
.&mt('An e-mail confirming setting of the password' |
|
.' for your LON-CAPA account has been sent to [_1].' |
|
,$data{'email'}) |
|
.'</p>'; |
} else { |
} else { |
$msg .= &mt('An error occurred when sending e-mail to [_1] confirming setting of your new password.',$data{'email'}); |
$msg .= |
|
'<p class="LC_error">' |
|
.&mt('An error occurred when sending e-mail to [_1]' |
|
.' confirming setting of your new password.' |
|
,$data{'email'}) |
|
.'</p>'; |
} |
} |
$msg .= '<br /><br />' |
$msg .= '<br />' |
.'<a href="/adm/login">'.&mt('Go to the login page').'</a>.'; |
.'<a href="/adm/login">'.&mt('Go to the login page').'</a>.'; |
} elsif ($change_failed eq 'invalid_client') { |
} elsif ($change_failed eq 'invalid_client') { |
my $homeserver = &Apache::lonnet::homeserver($data{'username'},$data{'domain'}); |
my $homeserver = &Apache::lonnet::homeserver($data{'username'},$data{'domain'}); |
Line 333 sub reset_passwd {
|
Line 359 sub reset_passwd {
|
$opentag = '<a href="'.$url.'">'; |
$opentag = '<a href="'.$url.'">'; |
$closetag = '</a>'; |
$closetag = '</a>'; |
} |
} |
$msg .= &mt('A problem occurred when attempting to reset the password for your account. Please try again from your [_1]home server[_2].',$opentag,$closetag); |
$msg .= |
|
'<p class="LC_warning">' |
|
.&mt('A problem occurred when attempting to reset' |
|
.' the password for your account.' |
|
.' Please try again from your [_1]home server[_2].' |
|
,$opentag,$closetag) |
|
.'</p>'; |
} |
} |
} else { |
} else { |
$msg .= &generic_failure_msg($contact_name,$contact_email); |
$msg .= &generic_failure_msg($contact_name,$contact_email); |
Line 344 sub reset_passwd {
|
Line 376 sub reset_passwd {
|
&Apache::lonpreferences::passwordchanger($r,'','reset_by_email',$token); |
&Apache::lonpreferences::passwordchanger($r,'','reset_by_email',$token); |
} |
} |
} else { |
} else { |
$msg = &mt('Sorry, the token generated when you requested a password reset has expired. Please submit a [_1]new request[_2], and follow the link to the web page included in the new e-mail that will be sent to you, to allow you to enter a new password.' |
$msg = |
,'<a href="/adm/resetpw">','</a>'); |
'<p class="LC_warning">' |
|
.&mt('Sorry, the token generated when you requested a password reset has expired. Please submit a [_1]new request[_2], and follow the link to the web page included in the new e-mail that will be sent to you, to allow you to enter a new password.' |
|
,'<a href="/adm/resetpw">','</a>') |
|
.'</p>'; |
} |
} |
} else { |
} else { |
$msg .= &mt('Sorry, the URL generated when you requested reset of your password contained incomplete information. Please submit a [_1]new request[_2] for a password reset, and use the new URL that will be sent to your e-mail account to complete the process.' |
$msg .= |
,'<a href="/adm/resetpw">','</a>'); |
'<p class="LC_warning">' |
|
.&mt('Sorry, the URL generated when you requested reset of your password contained incomplete information. Please submit a [_1]new request[_2] for a password reset, and use the new URL that will be sent to your e-mail account to complete the process.' |
|
,'<a href="/adm/resetpw">','</a>') |
|
.'</p>'; |
} |
} |
return $msg; |
return $msg; |
} |
} |
|
|
sub generic_failure_msg { |
sub generic_failure_msg { |
my ($contact_name,$contact_email) = @_; |
my ($contact_name,$contact_email) = @_; |
return &mt('A problem occurred when attempting to reset the password for your account. Please contact the [_1] - ([_2]) for assistance.', |
return |
$contact_name,'<a href="mailto:'.$contact_email.'">'.$contact_email.'</a>'); |
'<p class="LC_error">' |
|
.&mt('A problem occurred when attempting to reset the password for your account.') |
|
.'<br />' |
|
.&mt('Please contact the [_1] - ([_2]) for assistance.', |
|
$contact_name,'<a href="mailto:'.$contact_email.'">'.$contact_email.'</a>') |
|
.'</p>'; |
} |
} |
|
|
sub create_passwd { |
sub create_passwd { |
Line 380 sub create_passwd {
|
Line 423 sub create_passwd {
|
return ($passwd); |
return ($passwd); |
} |
} |
|
|
|
sub display_actions { |
|
my ($contact_email, $domdesc) = @_; |
|
my @msg = (&mt('[_1]Go back[_2] and try again', |
|
'<a href="javascript:history.go(-1)">','</a>')); |
|
my $msg2 = ''; |
|
if ($contact_email ne '') { |
|
my $escuri = &HTML::Entities::encode('/adm/resetpw','&<>"'); |
|
push(@msg, &mt('Contact the [_1]LON-CAPA helpdesk[_2] for the institution: [_3]', |
|
'<a href="/adm/helpdesk?origurl='.$escuri.'">', |
|
'</a>','<i>'.$domdesc.'</i>')); |
|
} else { |
|
$msg2 = |
|
'<p>' |
|
.&mt('You may wish to send an e-mail to the' |
|
.' server administrator: [_1] for the [_2] domain.', |
|
'<i>'.$Apache::lonnet::perlvar{'AdmEMail'}.'</i>', |
|
'<i>'.$domdesc.'</i>') |
|
.'</p>'; |
|
} |
|
|
|
return &Apache::lonhtmlcommon::actionbox(\@msg).$msg2; |
|
|
|
} |
|
|
1; |
1; |