[ 'class' => VerbFilter::className(), 'actions' => [ ], ], 'access' => [ 'class' => AccessControl::className(), 'rules' => [ [ 'allow' => true, 'roles' => ['@'], /*'matchCallback' => function ($rule, $action) { return Yii::$app->user->identity->status == USER::STATUS_ADMIN ; }*/ ] ], ], ]; } /** * Updates an existing User model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate() { $model = $this->findModel(Yii::$app->user->identity->id); if ($model->load(Yii::$app->request->post()) && $model->validate()) { // l'utilisateur ne peut pas changer d'adresse email $old_model = $this->findModel(Yii::$app->user->identity->id) ; $model->email = $old_model->email ; // modification du mot de passe if(strlen($model->password_new)) { //$model->setPassword($model->password_new) ; $model->password_hash = Yii::$app->security->generatePasswordHash($model->password_new); $model->password_old = '' ; $model->password_new = '' ; $model->password_new_confirm = '' ; } $model->save() ; Yii::$app->session->setFlash('success','Votre profil a bien été modifié.') ; return $this->render('update', [ 'model' => $model, ]); } else { if(!$model->validate()) { Yii::$app->session->setFlash('error','Le formulaire comporte des erreurs.') ; } return $this->render('update', [ 'model' => $model, ]); } } public function actionCredit() { return $this->render('credit', [ ]); } /** * Finds the User model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return User the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = User::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } } }