?> </div> <input type="file" class="fileupload-cover-back" name="CoverForm[photo]" value="" data-url="<?php echo Url::toRoute(['covers-api/upload-cover-back', 'id' => $cover->id]); ?> "> </span> </form> <div id="coverBackPreview"> <?php if (file_exists(UserUrl::coverBack(false, $cover->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($cover->cover_back, UserUrl::IMAGE_THUMB, 'png'))) { ?> <div class="row"><div class="col-lg-3"><div class="thumbnail"><a class="thumbnail"><img src="<?php echo UserUrl::coverBack(true, $cover->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($cover->cover_back, UserUrl::IMAGE_THUMB, 'png'); ?> " /></a></div></div></div> <?php } ?> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <div class="input-group">
<div class="divider"></div> </div> </div> </div> </div> </div> <div class="bb-item" id="sitem3"> <div class="content" > <div class="box"> <div id="coverBackBackground" style="width: 100%; height: 100%; position: absolute; border-bottom-left-radius: 5px; border-top-left-radius: 5px; background-size: contain; background-image: url('<?php echo UserUrl::coverBack(true, $selected_cover->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($selected_cover->cover_back, UserUrl::IMAGE_ORIGINAL, 'png'); ?> ');"> <div class="bb-custom-wrapper"></div> </div> </div> </div> </div> </div> </div> </div>
public function updateCoverBack() { //Удаляем старую подложку обложки foreach (UserUrl::$IMAGE_SIZE as $image_size => $value) { $file_path = UserUrl::coverBack(false, $this->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($this->cover_back, $image_size, 'png'); if (file_exists($file_path)) { unlink($file_path); } } $file = UploadedFile::getInstance($this, 'photo'); if ($file) { if ($file->size !== 0) { $file_id = AlphaId::id(rand(10000000000, 9999999999999)); $file_path = UserUrl::coverBack(false, $this->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($file_id, UserUrl::IMAGE_ORIGINAL, 'png'); $file->saveAs($file_path); foreach (UserUrl::$IMAGE_SIZE as $image_size => $param) { if ($image_size == UserUrl::IMAGE_ORIGINAL) { continue; } $image = Yii::$app->image->load($file_path); $type = Yii\image\drivers\Image::WIDTH; $file_resize_path = UserUrl::coverBack(false, $this->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($file_id, $image_size, 'png'); $image->resize($param['width'], $param['height'], $type); $image->save($file_resize_path); } $this->cover_back = $file_id; if (!$this->save()) { return ['error' => ['msg' => Yii::t('app', 'Ошибка записи в базу-данных')]]; } else { return ['response' => ['status' => true, 'cover_back' => $file_id, 'cover_back_thumb_url' => UserUrl::coverBack(true, $this->id) . DIRECTORY_SEPARATOR . UserUrl::imageFile($file_id, UserUrl::IMAGE_THUMB, 'png')]]; } } else { return ['error' => ['msg' => Yii::t('app', 'Данные не получены')]]; } } else { return ['error' => ['msg' => Yii::t('app', 'Данные не получены')]]; } }