예제 #1
0
파일: api.php 프로젝트: kindtg/bank-online
function actionLost()
{
    $arrResult = [];
    $sql = 'SELECT * FROM `users` WHERE `email` = :email';
    $db = new Db();
    $users = $db->dbSelect($sql, [':email' => $_GET['email']])[0];
    if (empty($users)) {
        $arrResult['result'] = false;
        $arrResult['message'] = 'Email не зарегистрирован';
    } else {
        $username = $users->username;
        $tmstamp = time();
        $token = md5($username . $tmstamp);
        $sql = 'UPDATE `users` SET `email_token` = :token, `email_token_tmstamp` = :tmstamp
                WHERE `email` = :email';
        $db = new Db();
        $res = $db->dbExecute($sql, [':token' => $token, ':tmstamp' => $tmstamp, ':email' => $_GET['email']]);
        if (!$res) {
            $arrResult['result'] = false;
            $arrResult['message'] = 'Не удалось создать сссылку.';
        } else {
            $email = new MyMailer();
            $email->addAddress($_GET['email']);
            $email->username = $username;
            $email->href = 'http://probation/pwd.php?user='******'&token=' . $token;
            $email->date = date('d.m.y H:i:s', $tmstamp);
            if ($email->sendMail()) {
                $arrResult['result'] = true;
                $arrResult['message'] = 'Вам направлено письмо';
            } else {
                $arrResult['result'] = false;
                $arrResult['message'] = 'Не удалось отправить письмо';
            }
        }
    }
    echo json_encode($arrResult, JSON_UNESCAPED_UNICODE);
}