From fc48da583c1ab752ead17dad929dcb1bde03106b Mon Sep 17 00:00:00 2001 From: Stephen Abello Date: Mon, 24 Aug 2026 10:20:19 +0200 Subject: [PATCH] Replace MetaModel::EnumPlugins with InterfaceDiscovery::GetInstance()->FindItopClasses --- application/cmdbabstract.class.inc.php | 3 ++- .../UI/Base/Layout/ActivityPanel/ActivityPanelFactory.php | 3 ++- .../CaseLogEntryForm/CaseLogEntryFormFactory.php | 4 ++-- sources/Application/UI/Base/Layout/TopBar/TopBarFactory.php | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/application/cmdbabstract.class.inc.php b/application/cmdbabstract.class.inc.php index a2eaacaa42..17224caa37 100644 --- a/application/cmdbabstract.class.inc.php +++ b/application/cmdbabstract.class.inc.php @@ -49,6 +49,7 @@ use Combodo\iTop\Application\WebPage\WebPage; use Combodo\iTop\Renderer\BlockRenderer; use Combodo\iTop\Renderer\Console\ConsoleBlockRenderer; use Combodo\iTop\Renderer\Console\ConsoleFormRenderer; +use Combodo\iTop\Service\InterfaceDiscovery\InterfaceDiscovery; use Combodo\iTop\Service\Links\LinkSetDataTransformer; use Combodo\iTop\Service\Links\LinkSetModel; use Combodo\iTop\Service\TemporaryObjects\TemporaryObjectHelper; @@ -1068,7 +1069,7 @@ HTML $val['actions'] = []; /** @var \iPopupMenuExtension $oExtensionInstance */ - foreach (MetaModel::EnumPlugins('iPopupMenuExtension') as $oExtensionInstance) { + foreach (InterfaceDiscovery::GetInstance()->FindItopClasses('iPopupMenuExtension') as $oExtensionInstance) { foreach ($oExtensionInstance::EnumItems(iPopupMenuExtension::MENU_OBJDETAILS_FIELD_ACTIONS, ['object' => $this, 'att_code' => $sAttCode, 'mode' => $bEditMode ? 'edit' : 'read']) as $oMenuItem) { $val['actions'][] = $oMenuItem; } diff --git a/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanelFactory.php b/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanelFactory.php index c3179d7de6..d28c419045 100644 --- a/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanelFactory.php +++ b/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanelFactory.php @@ -24,6 +24,7 @@ use cmdbAbstractObject; use Combodo\iTop\Application\UI\Base\Layout\ActivityPanel\ActivityEntry\ActivityEntryFactory; use Combodo\iTop\Application\UI\Base\Layout\ActivityPanel\ActivityPanelAction\ActivityPanelActionFactory; use Combodo\iTop\Application\UI\Base\Layout\ActivityPanel\CaseLogEntryForm\CaseLogEntryFormFactory; +use Combodo\iTop\Service\InterfaceDiscovery\InterfaceDiscovery; use DBObject; use DBObjectSearch; use DBObjectSet; @@ -178,7 +179,7 @@ class ActivityPanelFactory if ($sMode === cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW) { $aActionItems = []; /** @var \iPopupMenuExtension $oExtensionInstance */ - foreach (MetaModel::EnumPlugins('iPopupMenuExtension') as $oExtensionInstance) { + foreach (InterfaceDiscovery::GetInstance()->FindItopClasses('iPopupMenuExtension') as $oExtensionInstance) { // Iterate over every case log tab to retrieve the actions for each of them foreach ($aCaseLogTabs as $sCaseLogAttCode => $aCaseLogData) { $aCaselogActions = []; diff --git a/sources/Application/UI/Base/Layout/ActivityPanel/CaseLogEntryForm/CaseLogEntryFormFactory.php b/sources/Application/UI/Base/Layout/ActivityPanel/CaseLogEntryForm/CaseLogEntryFormFactory.php index bb618213da..ee8875406b 100644 --- a/sources/Application/UI/Base/Layout/ActivityPanel/CaseLogEntryForm/CaseLogEntryFormFactory.php +++ b/sources/Application/UI/Base/Layout/ActivityPanel/CaseLogEntryForm/CaseLogEntryFormFactory.php @@ -12,8 +12,8 @@ use Combodo\iTop\Application\UI\Base\Component\Button\Button; use Combodo\iTop\Application\UI\Base\Component\Button\ButtonUIBlockFactory; use Combodo\iTop\Application\UI\Base\Component\ButtonGroup\ButtonGroupUIBlockFactory; use Combodo\iTop\Application\UI\Base\Component\PopoverMenu\PopoverMenu; -use Combodo\iTop\Application\UI\Base\Component\PopoverMenu\PopoverMenuFactory; use Combodo\iTop\Application\UI\Base\Component\PopoverMenu\PopoverMenuItem\PopoverMenuItemFactory; +use Combodo\iTop\Service\InterfaceDiscovery\InterfaceDiscovery; use DBObject; use DBObjectSet; use Dict; @@ -53,7 +53,7 @@ class CaseLogEntryFormFactory // Build extra actions $aPopupItems = []; /** @var \iPopupMenuExtension $oExtensionInstance */ - foreach (MetaModel::EnumPlugins('iPopupMenuExtension') as $oExtensionInstance) { + foreach (InterfaceDiscovery::GetInstance()->FindItopClasses('iPopupMenuExtension') as $oExtensionInstance) { foreach ($oExtensionInstance::EnumItems(iPopupMenuExtension::MENU_OBJDETAILS_FIELD_ACTIONS, ['object' => $oObject, 'att_code' => $sCaseLogAttCode, 'mode' => $sObjectMode === cmdbAbstractObject::ENUM_DISPLAY_MODE_EDIT ? 'edit' : 'read']) as $oMenuItem) { $aPopupItems[] = $oMenuItem; } diff --git a/sources/Application/UI/Base/Layout/TopBar/TopBarFactory.php b/sources/Application/UI/Base/Layout/TopBar/TopBarFactory.php index 6b239cca06..b4331f5dea 100644 --- a/sources/Application/UI/Base/Layout/TopBar/TopBarFactory.php +++ b/sources/Application/UI/Base/Layout/TopBar/TopBarFactory.php @@ -24,8 +24,8 @@ use Combodo\iTop\Application\UI\Base\Component\Breadcrumbs\Breadcrumbs; use Combodo\iTop\Application\UI\Base\Component\GlobalSearch\GlobalSearchFactory; use Combodo\iTop\Application\UI\Base\Component\QuickCreate\QuickCreateFactory; use Combodo\iTop\Application\UI\Base\Layout\TopBar\TopBarAction\TopBarQuickActionFactory; +use Combodo\iTop\Service\InterfaceDiscovery\InterfaceDiscovery; use iPopupMenuExtension; -use MetaModel; use utils; /** @@ -62,7 +62,7 @@ class TopBarFactory } /** @var \iPopupMenuExtension $oExtensionInstance */ - foreach (MetaModel::EnumPlugins('iPopupMenuExtension') as $oExtensionInstance) { + foreach (InterfaceDiscovery::GetInstance()->FindItopClasses('iPopupMenuExtension') as $oExtensionInstance) { foreach ($oExtensionInstance::EnumItems(iPopupMenuExtension::MENU_TOPBAR_ACTIONS, []) as $oMenuItem) { $oTopBar->AddAction(TopBarQuickActionFactory::MakeFromApplicationPopupItem($oMenuItem)); }