Пример #1
0
 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('Превьюшки успешно импортированы');
 }
Пример #2
0
 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);
     }
 }