From c4d7ab9b3927262818009121a35bcfce2e823977 Mon Sep 17 00:00:00 2001 From: Stephan Kergomard Date: Thu, 15 Jan 2026 18:52:56 +0100 Subject: [PATCH] References: Fix Custom Icon See: https://mantis.ilias.de/view.php?id=46848 --- .../CategoryReferenceObjectProperties.php | 45 ++++++++++++++ ...goryReferenceObjectPropertiesProviders.php | 59 +++++++++++++++++++ .../CourseReferenceObjectProperties.php | 45 ++++++++++++++ ...urseReferenceObjectPropertiesProviders.php | 59 +++++++++++++++++++ .../GroupReferenceObjectProperties.php | 45 ++++++++++++++ ...roupReferenceObjectPropertiesProviders.php | 59 +++++++++++++++++++ 6 files changed, 312 insertions(+) create mode 100644 components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectProperties.php create mode 100644 components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectPropertiesProviders.php create mode 100644 components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectProperties.php create mode 100644 components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectPropertiesProviders.php create mode 100644 components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectProperties.php create mode 100644 components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectPropertiesProviders.php diff --git a/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectProperties.php b/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectProperties.php new file mode 100644 index 000000000000..23ebdbfae541 --- /dev/null +++ b/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectProperties.php @@ -0,0 +1,45 @@ +providers === null) { + $this->providers = new CategoryReferenceObjectPropertiesProviders(); + } + return $this->providers; + } + + public function preload(array $object_ids): void + { + return; + } +} diff --git a/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectPropertiesProviders.php b/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectPropertiesProviders.php new file mode 100644 index 000000000000..9085b5be575b --- /dev/null +++ b/components/ILIAS/CategoryReference/ObjectProperties/CategoryReferenceObjectPropertiesProviders.php @@ -0,0 +1,59 @@ +getObjectProperties()->getPropertyIcon()->getCustomIcon(); + if ($custom_icon?->exists()) { + return $icon_factory->custom( + $custom_icon->getFullPath(), + '' + ); + } + + return null; + } +} diff --git a/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectProperties.php b/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectProperties.php new file mode 100644 index 000000000000..af778ea32c29 --- /dev/null +++ b/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectProperties.php @@ -0,0 +1,45 @@ +providers === null) { + $this->providers = new CourseReferenceObjectPropertiesProviders(); + } + return $this->providers; + } + + public function preload(array $object_ids): void + { + return; + } +} diff --git a/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectPropertiesProviders.php b/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectPropertiesProviders.php new file mode 100644 index 000000000000..d62775c69b76 --- /dev/null +++ b/components/ILIAS/CourseReference/ObjectProperties/CourseReferenceObjectPropertiesProviders.php @@ -0,0 +1,59 @@ +getObjectProperties()->getPropertyIcon()->getCustomIcon(); + if ($custom_icon?->exists()) { + return $icon_factory->custom( + $custom_icon->getFullPath(), + '' + ); + } + + return null; + } +} diff --git a/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectProperties.php b/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectProperties.php new file mode 100644 index 000000000000..5a09cf45814c --- /dev/null +++ b/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectProperties.php @@ -0,0 +1,45 @@ +providers === null) { + $this->providers = new GroupReferenceObjectPropertiesProviders(); + } + return $this->providers; + } + + public function preload(array $object_ids): void + { + return; + } +} diff --git a/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectPropertiesProviders.php b/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectPropertiesProviders.php new file mode 100644 index 000000000000..95bfec6796fd --- /dev/null +++ b/components/ILIAS/GroupReference/ObjectProperties/GroupReferenceObjectPropertiesProviders.php @@ -0,0 +1,59 @@ +getObjectProperties()->getPropertyIcon()->getCustomIcon(); + if ($custom_icon?->exists()) { + return $icon_factory->custom( + $custom_icon->getFullPath(), + '' + ); + } + + return null; + } +}