12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace manager\models;
- use app\forks\galleryManager\GalleryBehavior;
- use Yii;
- /**
- * @property string $inject
- */
- class Gallery extends \app\models\base\Gallery
- {
- public function behaviors()
- {
- return [
- 'galleryBehavior' => [
- 'class' => GalleryBehavior::className(),
- 'type' => 'post_gallery',
- 'extension' => 'png',
- 'directory' => Yii::getAlias('@webroot') . '/images/post_gallery/gallery',
- 'url' => Yii::getAlias('@web') . '/images/post_gallery/gallery',
- 'versions' => [
- 'small' => function ($img) {
- /** @var \Imagine\Image\ImageInterface $img */
- return $img
- ->copy()
- ->thumbnail(new \Imagine\Image\Box(200, 200));
- },
- 'medium' => function ($img) {
- /** @var \Imagine\Image\ImageInterface $img */
- $dstSize = $img->getSize();
- $maxWidth = 800;
- if ($dstSize->getWidth() > $maxWidth) {
- $dstSize = $dstSize->widen($maxWidth);
- }
- return $img
- ->copy()
- ->resize($dstSize);
- },
- 'large' => function ($img) {
- /** @var \Imagine\Image\ImageInterface $img */
- $dstSize = $img->getSize();
- $maxWidth = 1920;
- if ($dstSize->getWidth() > $maxWidth) {
- $dstSize = $dstSize->widen($maxWidth);
- }
- return $img
- ->copy()
- ->resize($dstSize);
- },
- ]
- ]
- ];
- }
- public function getInject()
- {
- return "##_gallery-".$this->id."##";
- }
- }
|