protected function importThumbs() { $this->info('Начало импорта превьюшек'); $list = RouteThumb::$list; $files = []; foreach ($list as $item) { /* @var $model Model */ $model = $this->parseModel($item); if (!$model) { continue; } $items = $model::all(); foreach ($items as $model_item) { $config_names = \Config::get(Arr::get($item, 'vendor') . '::models/' . Arr::get($item, 'package') . '/thumbs'); $sizes = (array) array_keys(Arr::get($config_names, 'sizes', [])); foreach ($sizes as $size) { $thumb = Thumb::fromModel($model_item, $size); $thumb_sizes = (array) array_keys($thumb->getConfig()); foreach ($thumb_sizes as $s) { $url = $thumb->makeUrl($s); $files[$url] = ['url' => $url, 'thumb' => $thumb, 'size' => $s]; } // Загруженная картинка $url = $thumb->makeUrl(); $files[$url] = ['url' => $url, 'thumb' => $thumb, 'size' => '']; } } } $this->downloadFiles($files); $this->info('Превьюшки успешно импортированы'); }
public function created($model) { $model_class = get_class($model); $session = 'tmp_upload_' . $model_class::getEntity(); $file = \Session::get($session); if ($file) { if (file_exists($file)) { Thumb::fromModel($model, 'item')->processing($file); unlink($file); } \Session::forget($session); } }