/var/www/vhosts/nabawater/api/common/models
NameSizeModeActions
CustomerChangePasswordForm.php20720644editdlrm
LoginForm.php72570644editdlrm
UserChangePassword.php31810644editdlrm
Edit: /var/www/vhosts/nabawater/api/common/models/UserChangePassword.php (3181B)
8, 'max' => 32 ], [ ['password_new', 'confirm_password'], 'match', 'pattern' => '/([0-9]+[\d@$!%*#?&]+[a-zA-Z]+|[a-zA-Z]+[\d@$!%*#?&]+[0-9]+|[0-9]+[a-zA-Z]+[\d@$!%*#?&]+)[0-9a-zA-Z\d@$!%*#?&]*$/', 'message' => Yii::t('frontend', 'Password should contain at least 8 characters and at least 1 number and 1 letter'), ], [ 'confirm_password', 'compare', 'compareAttribute' => 'password_new', 'skipOnEmpty' => false, 'message' => Yii::t('api', 'PASSWORD_DOSE_NOT_MATCH') ], [['password'], 'validatePassword'], [['password_new'], 'validateNewPassword'], ]; } /** * @param string $attribute * @param $params * @return void * @throws \yii\base\InvalidParamException */ public function validatePassword($attribute, $params) { if (!$this->hasErrors()) { $user = $this->getUser(); if (!$user || !$user->validatePassword($this->password)) { $this->addError($attribute, Yii::t('api', 'INVALID_CURRENT_PASSWORD')); } } } /** * Finds user by [[username]] * * @return User|IdentityInterface */ protected function getUser() { if ($this->_user === null) { $this->_user = \Yii::$app->getUser()->getIdentity(); } return $this->_user; } /** * @return mixed * @throws \yii\base\InvalidParamException * @throws \yii\base\Exception */ public function changePassword() { $user = $this->getUser(); $user->setPassword($this->password_new); return $user->save(); } /** * @param string $attribute * @param $params * @return void * @throws \yii\base\InvalidParamException */ public function validateNewPassword($attribute, $params) { if (!$this->hasErrors()) { $user = $this->getUser(); if ($user->validatePassword($this->password_new)) { $this->addError($attribute, \Yii::t('api', 'NEW_PASSWORD_SHOULD_NOT_BE_SAME_AS_OLD_PASSWORD')); } } } }