Файловый менеджер - Редактировать - /var/www/html/plugins/media-action/resize/src/Extension/Resize.php
Ðазад
<?php /** * @package Joomla.Plugin * @subpackage Media-Action.resize * * @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\MediaAction\Resize\Extension; use Joomla\CMS\Event\Model\BeforeSaveEvent; use Joomla\CMS\Image\Image; use Joomla\Component\Media\Administrator\Plugin\MediaActionPlugin; use Joomla\Event\SubscriberInterface; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Media Manager Resize Action * * @since 4.0.0 */ final class Resize extends MediaActionPlugin implements SubscriberInterface { /** * Returns an array of events this subscriber will listen to. * * @return array * * @since 5.2.0 */ public static function getSubscribedEvents(): array { return array_merge(parent::getSubscribedEvents(), [ 'onContentBeforeSave' => 'onContentBeforeSave', ]); } /** * The save event. * * @param BeforeSaveEvent $event The event instance * * @return void * * @since 4.0.0 */ public function onContentBeforeSave(BeforeSaveEvent $event): void { $context = $event->getContext(); $item = $event->getItem(); if ($context != 'com_media.file') { return; } if (!$this->params->get('batch_width') && !$this->params->get('batch_height')) { return; } if (!\in_array(strtolower($item->extension), ['jpg', 'jpeg', 'png', 'gif', 'webp', 'avif'])) { return; } if (strtolower($item->extension) === 'avif' && !\function_exists('imageavif')) { return; } $imgObject = new Image(imagecreatefromstring($item->data)); $maxWidth = (int) $this->params->get('batch_width', 0); $maxHeight = (int) $this->params->get('batch_height', 0); if ( !(($maxWidth && $imgObject->getWidth() > $maxWidth) || ($maxHeight && $imgObject->getHeight() > $maxHeight)) ) { return; } $imgObject->resize( $maxWidth, $maxHeight, false, Image::SCALE_INSIDE ); switch (strtolower($item->extension)) { case 'gif': $type = IMAGETYPE_GIF; break; case 'png': $type = IMAGETYPE_PNG; break; case 'avif': $type = IMAGETYPE_AVIF; break; case 'webp': $type = IMAGETYPE_WEBP; break; default: $type = IMAGETYPE_JPEG; } ob_start(); $imgObject->toFile(null, $type); $item->data = ob_get_clean(); } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка