示例#1
0
 public function actionRecoveryHandler()
 {
     $arr['katalaluan'] = $_POST['katalaluan'];
     $arr['pengesahan_katalaluan'] = $_POST['pengesahan_katalaluan'];
     $model = new \yii\base\DynamicModel($arr);
     $model->addRule(['katalaluan', 'pengesahan_katalaluan'], 'required', ['message' => 'Medan {attribute} ini wajib diisi'])->addRule('katalaluan', 'compare', ['compareAttribute' => 'pengesahan_katalaluan', 'message' => 'Katalaluan dan Pengesahan Katalaluan Mestilah Sama'])->validate();
     $str = $_POST['str'];
     $app = \app\models\Applicant::findOne(['forgot_pwd' => $str]);
     if ($model->hasErrors()) {
         return $this->render('pwd_recovery', ['errors' => $model->getErrors(), 'app' => $app]);
     } else {
         $app->password = $_POST['katalaluan'];
         $app->confirm_password = $app->password;
         // need to re-arrange on rules
         $app->com_state2 = $app->com_state;
         if ($app->validate()) {
             $app->forgot_pwd = null;
             $app->save();
             \Yii::$app->session->setFlash('msg', 'Katalaluan telah berjaya ditukar');
             return $this->goHome();
         } else {
             //var_dump($app->getErrors());
             return $this->render('pwd_recovery', ['errors' => $app->getErrors(), 'app' => $app]);
         }
     }
 }