$r->post('/my/newuser')->to('login#newuser', captcha_check => 1);
$r->get('/my/activation')->to('login#activation');
$r->get('/my/resetpassword')->to('login#reset_password');
- $r->post('/my/resetpassword')->to('login#reset_password');
+ $r->post('/my/resetpassword')->to('login#reset_password', captcha_check => 1);
# Change Email
$r->get('/my/change_email')->to('my#change_email', seclev => 1);
return $c->update_password($uid, $data);
}
+ if ($data->{type} eq "reset_password") {
+ return $c->reset_password($uid, $data);
+ }
+
$c->render(json => { error => 1, message => "invalid_request" });
$c->rendered(400);
return;
return;
}
+sub reset_password {
+ my $c = shift;
+ my $params = $c->req->json;
+
+ if ($params->{email}) {
+ my $users = $c->model('users');
+ my $user = $users->select(realemail => $email);
+ if (!$user) {
+ if ($rs->last_error eq "INVALID_USER") {
+ # mask invalid_user error
+ $c->render(json => {});
+ return;
+ }
+ $c->render(json => { error => 1, message => $rs->last_error || 1 });
+ $c->rendered(400);
+ return;
+ }
+ my $rs = $c->users->reste_password($user);
+ if (!$rs) {
+ $c->render(json => { error => 1, message => $c->users->last_error || 1 });
+ $c->rendered(400);
+ return;
+ }
+ $c->render(json => {});
+ return;
+ }
+ $c->render(json => { error => 1, message => "INVALID_EMAIL" });
+ $c->rendered(400);
+ return;
+}
+
sub validate_new_user {
my $c = shift;
my $params = $c->req->json;