public function actionRecreateThumbnails($idList = null, $showProgress = false) { /** @var ThumbnailSize[] $sizes */ $sizes = ThumbnailSize::find()->all(); /** @var Image[] $images */ if (is_null($idList)) { $images = Image::find()->all(); } else { $ids = explode(',', $idList); $images = Image::findAll(['id' => $ids]); } foreach ($images as $image) { if ($showProgress) { echo "Image: {$image->id}\n"; } if ($image !== null) { foreach ($sizes as $size) { Thumbnail::getImageThumbnailBySize($image, $size); } } } }
/** * @param string $demand * @param bool|false $useWatermark * @return string * @throws Exception */ public function getThumbnail($demand, $useWatermark = false) { $size = ThumbnailSize::getByDemand($demand); $thumb = Thumbnail::getImageThumbnailBySize($this, $size); /** @var string $src */ $src = $thumb->file; if ($useWatermark === true) { $watermark = Watermark::findOne($size->default_watermark_id); if ($watermark !== null) { $water = ThumbnailWatermark::getThumbnailWatermark($thumb, $watermark); $src = $water->file; } else { throw new Exception(Yii::t('app', 'Set watermark id')); } } return $src; }