do_forgot_password
process_forgot_password
do_process_forgot_password
+ process_forgot_password_session
));
push @actions, @nologin_actions;
my %nologin_actions = map { $_=>1 } @nologin_actions;
my $action = 'myaccount'; # sensible default
-if ( $cgi->param('action') =~ /^(\w+)$/ ) {
+
+if ( $cgi->param('action') =~ /^process_forgot_password_session_(\w+)$/ ) {
+ $action = 'process_forgot_password_session';
+ $session_id = $1;
+} elsif ( $cgi->param('action') =~ /^(\w+)$/ ) {
if (grep {$_ eq $1} @actions) {
$action = $1;
} else {
'email' => $email,
'password' => $password
);
+
if ( $login_rv->{'error'} ) {
my $ip = $cgi->remote_addr();
- warn("login failure [email $email] [ip $ip]");
+ warn("login failure [email $email] [ip $ip] [error $login_rv->{error}]");
} else {
#successful login
- $session_id = $login_rv->{'session_id'};
}
+ $session_id = $login_rv->{'session_id'};
+
} else {
$cgi->param('username') =~ /^\s*([a-z0-9_\-\.\&]{0,$form_max})\s*$/i;
'error' => '<FONT COLOR="#FF0000">Postal or email required.</FONT>',
};
}
+
_process_change_info( 'change_pay', @list );
}
}
sub view_usage {
- list_svcs(
+ my $res = list_svcs(
'session_id' => $session_id,
'svcdb' => [ 'svc_acct', 'svc_phone', 'svc_port', ],
'ncancelled' => 1,
);
+ if ($res->{hide_usage}) {
+ $action = 'myaccount';
+ return myaccount();
+ } else {
+ return $res;
+ }
}
sub real_port_graph {
);
}
+sub process_forgot_password_session {
+ $action = 'process_forgot_password';
+ check_reset_passwd(
+ 'session_id' => $session_id,
+ );
+}
+
sub do_process_forgot_password {
process_reset_passwd(
map { $_ => scalar($cgi->param($_)) }