コード例 #1
0
ファイル: Account.php プロジェクト: auchalet/Yii-Echos-Lbres
 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;
 }
コード例 #2
0
 /**
  * 
  */
 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]);
 }