<?php

namespace numbpay\db;

use pjsql\DatabaseHandle;

class ResetPasswordModel extends TokenModel {
    public function __construct(DatabaseHandle $databaseHandle) {
        parent::__construct($databaseHandle, 'reset_tokens', TTL_RESET_PASSWORD);
    }

    public function createToken($email) {
        $account_model = ModelFactory::get('numbpay\db\AccountModel');
        $account_data = $account_model->get($email);

        if($account_data) {
            $token = \pc\sha1_token();
            $subject = 'Reset Your World Numerology Password';
            $additionalHeaders = sprintf("From: %s\r\n", EMAIL_FROM);
            $message = sprintf("Use this link to reset your password:\n\n%s?id=%d&token=%s",
                'https://www.worldnumerology.com/reset-password.php', $account_data['id'], $token);

            parent::createToken($account_data['id'], $token);
            $success = mail($email, $subject, $message, $additionalHeaders);
		file_put_contents("/var/www/html/numerology-app-services/wn-files/src/numbpay/db/email.txt", $email.$message);
                file_put_contents("/var/www/html/numerology-app-services/wn-files/src/numbpay/db/email.txt", $success, FILE_APPEND);

            //echo $message;
            return $success ? 'success' : 'failure';
        }

        return 'invalid';
    }

    public function getToken($userID, $token) {
        return parent::getToken($userID, $token);
    }

    public function deleteToken($tokenID) {
        parent::deleteToken($tokenID);
    }
}
