/**
  * Updates an existing DotaPlayer model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModel($id);
     if (Yii::$app->request->isPost) {
     }
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $model->imageFiles = UploadedFile::getInstances($model, 'imageFiles');
         //echo'<pre>';var_dump($model->imageFiles);echo'</pre>';die;
         if (count($model->imageFiles) != 0) {
             if ($model->upload()) {
                 $img_path = $model->path . '/' . $model->filename;
                 $img_dimentions = DImageHelper::getImageDimentions($img_path);
                 DImageHelper::processImage($model->path, $model->filename, 250, 250, $img_dimentions, true);
                 $model->foto = $model->filename;
             }
             $model->imageFiles = null;
         }
         //echo'<pre>';print_r($model);echo'</pre>';//die;
         if ($model->foto != $model->oldAttributes['foto'] && $model->oldAttributes['foto'] != '') {
             DFileHelper::deleteFile($model->oldAttributes['foto'], 'players');
         }
         $model->save(false);
         if (isset($_POST['save'])) {
             return $this->redirect(['index']);
         } else {
             return $this->redirect(['update', 'id' => $model->account_id]);
         }
     } else {
         //echo'<pre>';print_r($_FILES);echo'</pre>';//die;
         //echo'<pre>';print_r($model);echo'</pre>';die;
         return $this->render('update', ['model' => $model]);
     }
 }
示例#2
0
 /**
  * загражает файл аватарки и создает миниатюру для него
  * @return bool
  */
 public function uploadFoto()
 {
     $photo = UploadedFile::getInstance($this, 'photo');
     //echo'<pre>';print_r($photo);echo'</pre>';die;
     if ($photo && $photo->tempName) {
         $this->photo = $photo;
         //echo'<pre>';print_r($this->photo);echo'</pre>';//die;
         //$img_path = $this->photo->tempName . DIRECTORY_SEPARATOR . $this->photo->name;
         //echo'<pre>';var_dump($this->validate());echo'</pre>';//die;
         //echo'<pre>';print_r($this);echo'</pre>';die;
         if ($this->validate()) {
             //echo'<pre>';print_r($this->image);echo'</pre>';die;
             $filename = DStringHelper::buildFileName($this->photo->name);
             $path = $this->avatarsPath;
             $tmp_path = Yii::getAlias('@frontend') . DIRECTORY_SEPARATOR . 'web' . DIRECTORY_SEPARATOR . 'tmp';
             $tmp_file = $tmp_path . DIRECTORY_SEPARATOR . $filename;
             $this->photo->saveAs($tmp_file);
             //загружаем картинку
             $img = new SimpleImage();
             $img->load($tmp_file);
             //получаем информацию по изображению
             $original_info = $img->get_original_info();
             //echo'<pre>';print_r($original_info);echo'</pre>';die;
             if ($original_info['orientation'] != 'square') {
                 Yii::$app->session->setFlash('error', 'К загрузке допускаются только квадратные фото');
                 unlink($tmp_file);
                 return false;
             } else {
                 //если было прикреплено фото - то удаляем его
                 if ($this->foto != '') {
                     $this->deleteImageFiles();
                 }
                 // перемещаем фото из временного каталога
                 rename($tmp_file, $path . DIRECTORY_SEPARATOR . $filename);
             }
             //$this->photo->saveAs( $path . DIRECTORY_SEPARATOR . $filename);
             $this->foto = $filename;
             //echo'<pre>';print_r($path . DIRECTORY_SEPARATOR . $filename);echo'</pre>';die;
             DImageHelper::createTmb($path, $filename, Yii::$app->params['poker-tmb-image-res']['width'], Yii::$app->params['poker-tmb-image-res']['height']);
             $this->photo = null;
         } else {
             Yii::$app->session->setFlash('error', 'Ошибка загрузки фото');
             return false;
         }
     }
     return true;
 }
示例#3
0
 public function uploadFoto()
 {
     $photo = UploadedFile::getInstance($this, 'photo');
     if ($photo && $photo->tempName) {
         $this->photo = $photo;
         if ($this->validate()) {
             //echo'<pre>';print_r($this->image);echo'</pre>';die;
             //если у материала было прикреплено фото - то удаляем его
             if ($this->image != '') {
                 $this->deleteImageFiles();
             }
             $path = Yii::getAlias('@frontend') . '/web/files/pages';
             $filename = DStringHelper::buildFileName($this->photo->name);
             $this->photo->saveAs($path . '/' . $filename);
             $this->image = $filename;
             DImageHelper::createTmb($path, $filename, Yii::$app->params['page-tmb-image-res']['width'], Yii::$app->params['page-tmb-image-res']['height']);
             $this->photo = null;
         } else {
             return false;
         }
     }
     return true;
 }
示例#4
0
echo $form->field($model, 'role_id')->dropDownList(DotaPlayerRole::getRolesListDropDown(), [$model->role_id]);
?>
    
    <?php 
echo $form->field($model, 'status')->dropDownList($model->statusValues, [$model->status]);
?>
    
    <?php 
echo $form->field($model, 'imageFiles')->fileInput();
?>
    <?php 
if ($model->foto != '') {
    ?>
    	<div class="form-group">
    		<?php 
    echo Html::img(DImageHelper::getImageUrl($model->foto, 'players'));
    ?>
    		<br>
    		<a href="<?php 
    echo Url::to(['delete-foto', 'id' => $model->id]);
    ?>
">Удалить фото</a>
    	</div>
    <?php 
}
?>
    
    <?php 
echo $form->field($model, 'description')->textarea(['rows' => 6]);
?>