/**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'show' page.
  */
 public function actionUpdate()
 {
     $model = $this->loadUser();
     if (isset($_POST['User'])) {
         $model->attributes = $_POST['User'];
         // var_dump($_POST['User']);echo "<br/>";
         // var_dump($model->attributes);echo "<br/>";
         if ($model->password && $model->validate()) {
             $model->password = md5($model->password);
         } elseif (!$model->password) {
             unset($model->password);
         }
         // special treatment for admin
         if ($model->id == 1) {
             $model->banned = User::BANNED_NO;
         }
         $model->avatar = CUploadedFile::getInstance($model, 'avatar');
         /*echo $model->avatar."<br/>";*/
         if ($model->avatar && $model->validate()) {
             $imagename = User::getRIN() . '.' . $model->avatar->getExtensionName();
             $image = Yii::app()->image->load($model->avatar->getTempName());
             $image->resize(Yii::app()->params['avatarWidth'], Yii::app()->params['avatarHeight']);
             $image->save(Yii::app()->params['avatarPath'] . $imagename);
             $model->avatar = $imagename;
             @unlink(Yii::app()->params['avatarPath'] . User::model()->findbyPk($model->id)->avatar);
         } else {
             unset($model->avatar);
         }
         /*var_dump($model->attributes);echo "<br/>";*/
         if ($_POST['avatar']) {
             @unlink(Yii::app()->params['avatarPath'] . User::model()->findbyPk($model->id)->avatar);
             $model->avatar = '';
         }
         // var_dump($_POST);
         // var_dump($model->attributes);echo "<br/>";
         if ($model->save()) {
             $flashmessage = Yii::t('lan', 'Account updated');
             $flashmessage .= '&nbsp;' . CHtml::image(Yii::app()->theme->baseUrl . "/images/close.gif", Yii::t('lan', 'close'), array("id" => "close_btn", "title" => Yii::t('lan', 'Click to close message.')));
             Yii::app()->user->setFlash('message', $flashmessage);
             $this->redirect(array('user/update', 'id' => $model->id));
         }
     }
     if ($model->id == Yii::app()->user->id) {
         $this->pageTitle = Yii::t('lan', 'My account');
     } else {
         $this->pageTitle = Yii::t('lan', 'Update User');
     }
     $this->render('update', array('model' => $model));
 }
Example #2
0
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'show' page.
  */
 public function actionUpdate()
 {
     $model = $this->loadUser();
     if (isset($_POST['User'])) {
         $model->attributes = $_POST['User'];
         if ($model->password && $model->validate()) {
             $model->password = md5($model->password);
         } elseif (!$model->password) {
             unset($model->password);
         }
         if ($model->id == 1) {
             $model->banned = User::BANNED_NO;
         }
         $model->avatar = CUploadedFile::getInstance($model, 'avatar');
         if ($model->avatar && $model->validate()) {
             $imagename = User::getRIN() . '.' . $model->avatar->getExtensionName();
             $image = Yii::app()->image->load($model->avatar->getTempName());
             $image->resize(Yii::app()->params['avatarWidth'], Yii::app()->params['avatarHeight']);
             $image->save(Yii::app()->params['avatarPath'] . $imagename);
             $model->avatar = $imagename;
             @unlink(Yii::app()->params['avatarPath'] . User::model()->findbyPk($model->id)->avatar);
         } else {
             unset($model->avatar);
         }
         if ($_POST['davatar']) {
             @unlink(Yii::app()->params['avatarPath'] . User::model()->findbyPk($model->id)->avatar);
             $model->avatar = '';
         }
         if ($model->save()) {
             $this->redirect(array('show', 'id' => $model->id));
         }
     }
     if ($model->id == Yii::app()->user->id) {
         $this->pageTitle = Yii::t('lan', 'My profile');
     } else {
         $this->pageTitle = Yii::t('lan', 'Update User');
     }
     $this->render('update', array('model' => $model));
 }