/** * Displays the login page */ public function actionLogin() { if (!Yii::app()->user->isGuest) { $this->redirect(Yii::app()->user->returnUrl); } $model = new LoginForm(); // if it is ajax validation request if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') { echo CActiveForm::validate($model); Yii::app()->end(); } if (isset($_GET['redir'])) { Yii::app()->user->returnUrl = $_GET['redir']; } // collect user input data if (isset($_POST['LoginForm'])) { $model->attributes = $_POST['LoginForm']; // validate user input and redirect to the previous page if valid if ($model->validate() && $model->login()) { ## update last_login user Yii::app()->db->commandBuilder->createUpdateCommand("p_user", ['last_login' => DataFilter::toSQLDateTime(date("Y-m-d H:i:s"))], new CDbCriteria(['condition' => '"id" = :p', 'params' => [':p' => Yii::app()->user->id]])); ## audit trail tracker AuditTrail::login(); $this->redirect(Yii::app()->user->returnUrl); } } // display the login form $this->renderForm('LoginForm', $model, [], ['pageTitle' => Setting::get("app.name") . " Login"]); }