public function getAvatar() { switch ($this->active_avatar) { case 0: $path = '/uploads/' . sha1('base') . '/avatar.jpg'; break; case 1: //var_dump($this);die; $avatar = UploadFile::findIdentity($this->avatar); //Bug sur Ajax $this->avatar = null $path = '/uploads/' . sha1($this->getUser()->username) . '/' . $avatar->filename; break; case 2: $path = $this->getGravatar(200); break; default: $path = '/uploads/' . sha1('base') . '/avatar.jpg'; break; } return $path; }
/** * */ public function actionChangeAvatar($id_user = null) { $model = new UploadForm(); //Récupération du dossier frontend/web/uploads/sha1(login)/ if ($id_user == NULL) { $user = Yii::$app->user->identity; } else { $user = User::findIdentity($id_user); } $accountUser = $user->findAccount(); if ($accountUser->getAvatar() != NULL) { $avatar = UploadFile::findIdentity($accountUser->avatar); } else { $avatar = NULL; } //var_dump($avatar);die; if (Yii::$app->request->isPost) { //Chemin du dossier upload de l'User $hash = sha1($user->username); $path = 'uploads/' . $hash; $model->imageFile = UploadedFile::getInstance($model, 'imageFile'); if ($id = $model->uploadAvatar($path)) { //Association user $accountUser->updateAvatar($id); // file is uploaded successfully Yii::$app->getSession()->setFlash('success', 'Avatar changé'); return $this->redirect(['index']); } else { echo "Echec de l'upload"; } } return $this->renderAjax('change-avatar', ['model' => $model, 'user' => $user, 'avatar' => $avatar]); }