--- loncom/interface/resetpw.pm 2009/09/23 20:17:53 1.17.10.1 +++ loncom/interface/resetpw.pm 2009/10/01 21:05:12 1.17.10.2 @@ -1,7 +1,7 @@ # The LearningOnline Network # Allow access to password changing via a token sent to user's e-mail. # -# $Id: resetpw.pm,v 1.17.10.1 2009/09/23 20:17:53 gci Exp $ +# $Id: resetpw.pm,v 1.17.10.2 2009/10/01 21:05:12 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -46,7 +46,7 @@ sub handler { my $contact_name = &mt('LON-CAPA helpdesk'); my $contact_email = $r->dir_config('lonSupportEMail'); my $server = $r->dir_config('lonHostID'); - my $defdom = $r->dir_config('lonDefDomain'); + my $defdom = &Apache::lonnet::default_login_domain(); &Apache::lonacc::get_posted_cgi($r); &Apache::lonlocal::get_language_handle($r); &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['token']); @@ -76,18 +76,26 @@ sub handler { my %userinfo = &Apache::lonnet::get('environment',\@emailtypes, $udom,$uname); - my $email = ''; - my $emailtarget; + my @allemails; foreach my $type (@emailtypes) { - $email = $userinfo{$type}; - if ($email =~ /[^\@]+\@[^\@]+/) { - $emailtarget = $type; - last; + my $email = $userinfo{$type}; + my @items; + if ($email =~ /,/) { + @items = split(',',$userinfo{$type}); + } else { + @items = ($email); + } + foreach my $item (@items) { + if ($item =~ /^[^\@]+\@[^\@]+\.[^\@\.]+$/) { + unless(grep(/^\Q$item\E$/,@allemails)) { + push(@allemails,$item); + } + } } } - if ($email =~ /^[^\@]+\@[^\@]+\.[^\@\.]+$/) { - if ($useremail eq $email) { - $output = &send_token($uname,$udom,$email,$server, + if (@allemails > 0) { + if (grep(/^\Q$useremail\E$/,@allemails)) { + $output = &send_token($uname,$udom,$useremail,$server, $domdesc,$contact_name, $contact_email); } else { @@ -118,8 +126,8 @@ sub handler { sub get_uname { my ($defdom) = @_; my %lt = &Apache::lonlocal::texthash( - unam => 'username', - udom => 'domain', + unam => 'LON-CAPA username', + udom => 'LON-CAPA domain', uemail => 'E-mail address in LON-CAPA', proc => 'Proceed'); @@ -133,9 +141,9 @@ sub get_uname {
+ - +
-
GCI WebCenter $lt{'unam'}:
$lt{'unam'}:
GCI WebCenter $lt{'udom'}:
$lt{'udom'}: |; $msg .= &Apache::loncommon::select_dom_form($defdom,'udom'); $msg .= qq|