static function findRelatableModules($includeActivitiesSubmodules = true) { $relatableModules = array(); // add in activities automatically if required $relatableModules['Activities']['default'] = translate('LBL_DEFAULT'); // find all deployed modules require_once 'modules/ModuleBuilder/Module/StudioBrowser.php'; $browser = new StudioBrowser(); $browser->loadRelatableModules(); reset($browser->modules); while (list($moduleName, $module) = each($browser->modules)) { // do not include the submodules of Activities as already have the parent... if (!$includeActivitiesSubmodules && in_array($module->module, self::$activities)) { continue; } $relatableModules[$module->module] = $module->getProvidedSubpanels(); } return $relatableModules; }
public static function getStudioModules($type = '') { include 'modules/pmse_Inbox/engine/PMSEModules.php'; $studioBrowser = new StudioBrowser(); if ($type == 'related') { $studioBrowser->loadRelatableModules(); } else { $studioBrowser->loadModules(); } $moduleList = $studioBrowser->modules; $blacklisted = $type === '' ? self::$targetBlacklistedModules : self::$relatedBlacklistedModules; $removed = array_merge($pmseModulesList, $blacklisted); foreach ($moduleList as $key => $module) { if (in_array($module->module, $removed)) { unset($moduleList[$key]); } } return $moduleList; }