public function actionAvatarChange() { $user = \Yii::$app->user->identity; $avatar = new AvatarForm(); if ($avatar->load($_POST)) { if (\Yii::$app->request->isAjax) { return ActiveForm::validate($avatar); } $avatar->img = UploadedFile::getInstance($avatar, 'img'); if ($avatar->validate()) { $avatar->save($user); return $this->redirect('index'); } } return $this->render('avatar-change', ['user' => $user, 'avatar' => $avatar]); }
/** * @return array|string */ public function actionSetting() { $this->title = '设置' . ' - ' . Yii::$app->name; $this->description = ''; if (Yii::$app->user->isGuest) { return $this->redirect('/account/login?next=/account/setting'); } $model = User::findOne(Yii::$app->user->id); $avatar = new AvatarForm(); $password = new EditPasswordForm(); if (Yii::$app->request->post() != null) { if ($model->load(Yii::$app->request->post())) { $model->updated_at = time(); if ($model->update()) { Yii::$app->getSession()->setFlash('setting', 1); Yii::$app->getSession()->setFlash('success', '修改成功'); Yii::$app->cache->delete('user' . Yii::$app->user->id); return $this->refresh(); } else { Yii::$app->getSession()->setFlash('setting', 1); Yii::$app->getSession()->setFlash('danger', '修改失败'); } } if ($avatar->load(Yii::$app->request->post())) { if ($avatar->update()) { Yii::$app->cache->delete('user' . Yii::$app->user->id); Yii::$app->getSession()->setFlash('avatar', 1); Yii::$app->getSession()->setFlash('success', '修改成功'); return $this->redirect('/account/setting#avatar'); } else { Yii::$app->getSession()->setFlash('avatar', 1); Yii::$app->getSession()->setFlash('danger', '修改失败'); } } if ($password->load(Yii::$app->request->post())) { if ($password->update()) { Yii::$app->getSession()->setFlash('password', 1); Yii::$app->getSession()->setFlash('success', '修改成功'); return $this->redirect('/account/setting#password'); } else { Yii::$app->getSession()->setFlash('password', 1); Yii::$app->getSession()->setFlash('danger', '修改失败'); } } } return $this->render('setting', ['model' => $model, 'avatar' => $avatar, 'password' => $password]); }