/** * Process plugin data for table row * * @param strng $a_type * @param ilPluginSlot $a_slot * @param string $a_slot_subdir * @param array $a_plugin * @return array */ protected function gatherPluginData($a_type, ilPluginSlot $a_slot, $a_slot_subdir, array $a_plugin) { global $ilCtrl; $conf = false; if (ilPlugin::hasConfigureClass($a_slot->getPluginsDirectory(), $a_plugin["name"]) && $ilCtrl->checkTargetClass(ilPlugin::getConfigureClassName($a_plugin["name"]))) { $conf = true; } return array("slot_name" => $a_slot->getSlotName(), "component_type" => $a_type, "component_name" => $a_slot_subdir, "slot_id" => $a_slot->getSlotId(), "plugin_id" => $a_plugin["id"], "plugin_name" => $a_plugin["name"], "plugin_active" => $a_plugin["is_active"], "activation_possible" => $a_plugin["activation_possible"], "needs_update" => $a_plugin["needs_update"], "has_conf" => $conf, "has_lang" => (bool) sizeof(ilPlugin::getAvailableLangFiles($a_slot->getPluginsDirectory() . "/" . $a_plugin["name"] . "/lang"))); }
/** * Get pages for list. */ function getComponents() { include_once "./Services/Component/classes/class.ilModule.php"; $modules = ilModule::getAvailableCoreModules(); $slots = array(); foreach ($modules as $m) { $plugin_slots = ilComponent::lookupPluginSlots(IL_COMP_MODULE, $m["subdir"]); foreach ($plugin_slots as $ps) { $plugins = array(); include_once "./Services/Component/classes/class.ilPluginSlot.php"; $slot = new ilPluginSlot(IL_COMP_MODULE, $m["subdir"], $ps["id"]); foreach ($slot->getPluginsInformation() as $p) { $plugins[] = $p; } if (count($plugins) > 0) { $slots[] = array("slot_name" => $slot->getSlotName(), "component_type" => IL_COMP_MODULE, "component_name" => $m["subdir"], "slot_id" => $ps["id"], "plugins" => $plugins); } } } include_once "./Services/Component/classes/class.ilService.php"; $services = ilService::getAvailableCoreServices(); foreach ($services as $s) { $plugin_slots = ilComponent::lookupPluginSlots(IL_COMP_SERVICE, $s["subdir"]); foreach ($plugin_slots as $ps) { $plugins = array(); $slot = new ilPluginSlot(IL_COMP_SERVICE, $s["subdir"], $ps["id"]); foreach ($slot->getPluginsInformation() as $p) { $plugins[] = $p; } if (count($plugins) > 0) { $slots[] = array("slot_name" => $slot->getSlotName(), "component_type" => IL_COMP_SERVICE, "component_name" => $s["subdir"], "slot_id" => $ps["id"], "plugins" => $plugins); } } } $this->setData($slots); //include_once("./Services/Component/classes/class.ilService.php"); //$services = ilService::getAvailableCoreServices(); }