예제 #1
0
 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;
 }
예제 #2
0
 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;
 }