19declare(strict_types=1);
44 $this->crop_definition =
new TileImageFlavourDefinition();
53 ImageFactory $factory,
65 if ($irss->flavours()->possible($rid, $this->crop_definition)) {
66 $flavour = $irss->flavours()->get($rid, $this->crop_definition);
69 if ($irss->flavours()->possible($rid, $this->extract_definition)) {
70 $flavour = $irss->flavours()->get($rid, $this->extract_definition);
79 ImageFactory $factory,
82 $urls = $irss->consume()->flavourUrls($flavour)->getURLsAsArray();
88 $available_widths = $this->crop_definition->getWidths();
89 array_pop($available_widths);
91 if (!isset($urls[count($available_widths)])) {
95 $image = $factory->responsive($urls[count($available_widths)],
'');
98 function (array $carry, $size) use ($urls): array {
99 $image = $carry[
'image']->withAdditionalHighResSource($urls[$carry[
'counter']], $size / 2);
106 [
'image' => $image,
'counter' => 0]
112 IconFactory $icon_factory,
115 $info = $this->
info->getByObjectId($obj_id);
116 $path = $this->icons->getIconFilePathBySuffix(
$info->getSuffix());
118 return $icon_factory->custom(
$path,
$info->getSuffix());
getObjectTypeSpecificTileImage(int $obj_id, ImageFactory $factory, StorageService $irss)
ilObjFileInfoRepository $info
getObjectTypeSpecificIcon(int $obj_id, IconFactory $icon_factory, StorageService $irss)
FlavourDefinition $crop_definition
IconDatabaseRepository $icons
FlavourDefinition $extract_definition
getImageFromIRSS(StorageService $irss, ImageFactory $factory, Flavour $flavour)
This is how the factory for UI elements looks.
This describes the behavior of an custom icon.
This is how a factory for icons looks like.
if(!file_exists('../ilias.ini.php'))