<?php

if ($Request->method == 'POST') {
    $User = new User($Request->params['email'], $Request->headers['App-Id']);
    if ($User->exists()) {
        $verify = Hash::get($Request->params['email'], 'reset_password' . time());
        $crud = CRUD::getInstance();
        $crud->insert("user_reset_tokens", array('user_id' => $User->data()['user_id'], 'type' => 'password', 'hash' => $verify));
        $Mail = new Mail();
        //$rlink = RESOURCE_PATH_APIS."apps/v1/reset-password?reset=".$verify;//02-12-15 :: vj : resource path corrected
        // Archana : 04/12/15 : Changed reset to reset-token and pass App-Id to reset password rlink
        $rlink = RESOURCE_PATH_APIS . "apps/v1.1/reset-password?reset_token=" . $verify . "&App-Id=" . $Request->headers['App-Id'];
        //02-12-15 :: vj : resource path corrected
        $App = new App($Request->headers['App-Id']);
        $send = $Mail->passwordResetMail(array(array('name' => $User->data()['name'], 'email' => $User->data()['email'])), $rlink, "Password reset request. | " . $App->data()['name'] . " App");
        if ($send) {
            $json['message'] = "An email has been sent to {$User->data()['email']} to reset your password. The link will work on mobile browsers only.";
        } else {
            $json['error'] = 1;
            $json['message'] = "Unable to send email right now.";
        }
    } else {
        $json['error'] = 1;
        $json['message'] = "No record found for this email.";
    }
} else {
    $json['error'] = 1;
    $json['message'] = "Invalid request method.";
}
Response::printResponse($json);