Exemple #1
0
 public function actionResetPassword($email, $password)
 {
     $result = ResetPassword::where('email', $email)->where('status', 1)->first();
     if (!is_null($result)) {
         if (ResetPassword::where('email', $email)->where('status', 1)->update(array('status' => 2)) || User::where('email', $email)->update(array('password' => md5($password)))) {
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
 private function getReset($selectResult)
 {
     $pwdreset = new ResetPassword();
     $count = 0;
     while ($list = mysqli_fetch_assoc($selectResult)) {
         $pwdreset->setResetId($list['id']);
         $pwdreset->setResetCode($list['reset_code']);
         $pwdreset->setResetUser($list['user_id']);
         $pwdreset->setResetDate($list['date']);
         $pwdreset->setResetRequest($list['requested']);
     }
     return $pwdreset;
 }
 /**
  * Forgot password
  */
 public function actionReset()
 {
     $this->layout = '/layouts/form';
     $usermodel = new User();
     $name = 'message';
     $data = $_GET['data'];
     $data = base64_decode($data);
     $data = json_decode($data, true);
     $datacontent = $data['data'];
     $message_data = explode("|", $data['data']);
     $message = $message_data[0];
     $received_signature = $data['sig'];
     $private_key = $usermodel->get_private_key_for_public_key($data['pubKey']);
     $computed_signature = base64_encode(hash_hmac('sha1', $datacontent, $private_key, true));
     if ($computed_signature == $received_signature) {
         $user = User::model()->find("activationkey = ?", array($message));
         if (!$user) {
             throw new CHttpException(403, Yii::t('fshare', 'Invalid path'));
         } else {
             $userid = $message_data[1];
             if (isset($_POST['ajax']) && $_POST['ajax'] === 'changepass-form') {
                 echo CActiveForm::validate($model);
                 Yii::app()->end();
             }
             $model = new ResetPassword();
             // collect user input data
             if (isset($_POST['ResetPassword'])) {
                 $model->attributes = $_POST['ResetPassword'];
                 // validate user input and redirect to the previous page if valid
                 if ($model->validate()) {
                     $userchange = User::model()->findByPk($userid);
                     $newpass = $userchange->getcryptedpassword($model->password);
                     $activeKey = $usermodel->randomPassword(32);
                     $userchange->activationkey = $activeKey;
                     $userchange->password = $newpass;
                     $userchange->save(false);
                     Yii::app()->user->setFlash('title', Yii::t("fshare", "Change password"));
                     Yii::app()->user->setFlash('msg', "<strong>" . Yii::t("fshare", "Change password success") . "</strong>" . Yii::t("fshare", "<p> Thank you for using our services <br /> <small> Fshare.vn </ small><br /> <small> Return home 10 seconds</ small>"));
                     $this->redirect(array('site/message'));
                 }
             }
             //load form
             $this->render('resetpassword', array('model' => $model));
             exit;
         }
     } else {
         throw new CHttpException(403, Yii::t('fshare', 'Invalid path'));
         //Yii::app()->user->setFlash('title', 'Đường dẫn kích hoạt không hợp lệ');
     }
     $this->render('message');
 }