/** * 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]); } }
/** * загражает файл аватарки и создает миниатюру для него * @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; }
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; }
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]); ?>