HEX
Server: LiteSpeed
System: Linux premium260.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: aliazzsr (627)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/aliazzsr/api.crm.vqode.com/models/forms/ForgotPassword.php
<?php
namespace app\models\forms;

use app\components\BaseBodyForm;
use app\components\helpers\MailHelper;
use app\models\core\User;

class ForgotPassword extends BaseBodyForm
{
    /** @var string $email user email */
    public $email;

    /** @var User */
    private $_user = null;

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['email'], 'required'],
            ['email', 'email'],
            ['email', 'validateEmail'],
            [['email'], 'safe'],
        ];
    }

    public function validateEmail()
    {
        $this->_user = User::findOne(['email' => $this->email]);

        if (!$this->_user) {
            $this->addError('email', 'Email does not exist. Please recheck your email.');
        }
    }

    /**
     * @inheritdoc
     */
    public function process()
    {
        if(!$this->validate() || !$this->_user->renderToken()) {
            return false;
        }

        return MailHelper::sendForgotPassword($this->_user);
    }
}