public function change(array $option = []) { $user = Users::find()->where(['id' => Yii::$app->user->id])->one(); foreach ($option as $key => $item) { if (property_exists($this, $key) && $key != 'avatar') { $user->{$key} = $item; } } $this->avatar = UploadedFile::getInstance($this, 'avatar'); if ($this->avatar) { $user->avatar = "{$this->avatar->baseName}.{$this->avatar->extension}"; } if ($user->save()) { if ($this->avatar) { $folder_path = "./images/users_photo/{$user->id}/avatar/"; if (!is_dir($folder_path)) { mkdir($folder_path, 0777, true); } else { $file = $folder_path . $user->avatar; if (is_file($file)) { unlink($file); } } $this->avatar->saveAs($folder_path . $user->avatar); } } }
/** * @inheritdoc */ public function rules() { return [[['username', 'password'], 'required'], ['password', 'string', 'min' => self::MIN_PASS_LEN, 'max' => self::MAX_PASS_LEN, 'message' => '4-12 символов'], ['username', function ($username, $param) { if (Users::find()->where(['username' => $this->{$username}])->exists()) { $this->addError($username, 'Такое имя пользователя уже занято'); } }]]; }
public function change() { if ($this->validate()) { $user = Users::find()->where(['id' => Yii::$app->user->id])->one(); $user->password = Yii::$app->security->generatePasswordHash($this->new_pass); return $user->save(); } return false; }
public function actionIndex() { $form_model = new Profile(); $post = \Yii::$app->request->post('Profile'); if ($post) { $form_model->change($post); } $user = Users::find()->where(['id' => Yii::$app->user->id])->asArray()->one(); foreach ($user as $key => $item) { if (property_exists($form_model, $key) && $key != 'avatar') { if (strlen($item) < 1) { $user[$key] = "-"; } $form_model->{$key} = $item; } } $avatar_path = "./images/users_photo/" . Yii::$app->user->id . "/avatar/"; if (!is_file($avatar_path . $user['avatar'])) { $user['avatar'] = "./images/faces/nomen.png"; } else { $user['avatar'] = $avatar_path . $user['avatar']; } return $this->render('index', ['form_model' => $form_model, 'user' => $user]); }
public function actionGetPassport() { if (Yii::$app->getRequest()->isAjax && Yii::$app->request->post('username')) { if (Users::find()->where(['username' => Yii::$app->request->post('username')])->exists()) { return json_encode(['errors' => 'Этот оргнейм занят']); } else { return Users::getNewPassport(); } } }
public static function getPassportCode($social_role) { $passport_code = Users::find()->select("MAX(`pasport_code`)+1 as pcode")->where(['social_role' => $social_role])->scalar(); if (!$passport_code) { return 1; } return $passport_code; }