Your IP : 216.73.216.79


Current Path : /var/www/html/agc/backend/controllers/
Upload File :
Current File : /var/www/html/agc/backend/controllers/LoginController.php

<?php

namespace backend\controllers;

use Yii;
use backend\modules\mimin\components\AccessControl;
//use common\models\User;
use backend\modules\mimin\models\User;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\helpers\Url;

class LoginController extends Controller {

    public function actionForgot() {
        $msg = '';
        $this->layout = 'empty';

        if (isset($_POST) && !empty($_POST)) {
            if (empty($_POST['username'])) {
                $msg = '<div class="msg" style="background-color: #c24d4a;">Username cannot be blank</div>';
            } else {
                $username_post = Yii::$app->request->post('username');
                if (($model = User::findOne(['username' => $username_post])) !== null) {
                    $pwd = Yii::$app->security->generateRandomString(8);
                    $model->password_hash = \Yii::$app->security->generatePasswordHash($pwd);
                    if ($model->save(false)) {
                        //send email
                        $email_content = '<p>Hi ' . $model->fullname . ',</p>
                            <p>We\'ve received your request to reset your password. You can access the system now using below details :</p>
                            <p>URL: <a href="' . Url::base(true) . '" target="_blank">' . Url::base(true) . '</a></p>
                            <p>Username: ' . $model->username . '</p>
                            <p>Password: ' . $pwd . '</p>
                            <p>- Admin -</p>';

                        $to_mail = $model->email;
                        $subject_mail = 'Reset Password';
                        $send_email = Yii::$app->emailModule->sendemail($to_mail, $subject_mail, $email_content);
                        if ($send_email) {
                            $msg = '<div class="msg" style="background-color: #1ab394;">Password success to reset. <br>Please check your email for your new password</div>';
                        }
                    } else {
                        $msg = '<div class="msg" style="background-color: #c24d4a;">Failed to reset password. <br>Please try again.</div>';
                    }
                } else {
                    $msg = '<div class="msg" style="background-color: #c24d4a;">' . $username_post . ' not found. <br>Please make sure the your username are correct.</div>';
                }
            }
        }

        return $this->render('forgot', ['msg' => $msg]);
    }

}