/** * Handle a resize image event. * * @param ResizeImageEvent $event The event. * * @return void */ public function handleResize(ResizeImageEvent $event) { $event->setResultImage(\Image::get($event->getImage(), $event->getWidth(), $event->getHeight(), $event->getMode(), $event->getTarget(), $event->isForced())); }
/** * Render a model in the backend list. * * @param ModelToLabelEvent $event The event. * * @return void */ public function modelToLabel(ModelToLabelEvent $event) { if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel') { return; } $model = $event->getModel(); $translator = $event->getEnvironment()->getTranslator(); $database = $this->getDatabase(); if (!($model && $database->tableExists($model->getProviderName()))) { return; } $strLabel = vsprintf($event->getLabel(), $event->getArgs()); $strImage = ''; if ($model->getProperty('addImage')) { $arrSize = deserialize($model->getProperty('size')); $imageEvent = new ResizeImageEvent($model->getProperty('singleSRC'), $arrSize[0], $arrSize[1], $arrSize[2]); $event->getEnvironment()->getEventDispatcher()->dispatch(ContaoEvents::IMAGE_RESIZE, $event); $strImage = sprintf('<div class="image" style="padding-top:3px"><img src="%s" alt="%%1$s" /></div> ', $imageEvent->getImage(), htmlspecialchars($strLabel)); } $objCount = $database->prepare('SELECT count(*) AS itemCount FROM ' . $model->getProperty('tableName'))->execute(); /** @noinspection PhpUndefinedFieldInspection */ $count = $objCount->itemCount; $itemCount = sprintf('<span style="color:#b3b3b3; padding-left:3px">[%s]</span>', $translator->translatePluralized('itemFormatCount', $count, 'tl_metamodel', array($count))); $tableName = '<span style="color:#b3b3b3; padding-left:3px">(' . $model->getProperty('tableName') . ')</span>'; $event->setArgs(array('<span class="name">' . $strLabel . $tableName . $itemCount . '</span>' . $strImage)); }