/**
  * Get pages for list.
  */
 function getComponents()
 {
     $plugins = array();
     include_once "./Services/Component/classes/class.ilModule.php";
     $modules = ilModule::getAvailableCoreModules();
     foreach ($modules as $m) {
         $plugin_slots = ilComponent::lookupPluginSlots(IL_COMP_MODULE, $m["subdir"]);
         foreach ($plugin_slots as $ps) {
             include_once "./Services/Component/classes/class.ilPluginSlot.php";
             $slot = new ilPluginSlot(IL_COMP_MODULE, $m["subdir"], $ps["id"]);
             foreach ($slot->getPluginsInformation() as $p) {
                 $plugins[] = $this->gatherPluginData(IL_COMP_MODULE, $slot, $m["subdir"], $p);
             }
         }
     }
     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) {
             $slot = new ilPluginSlot(IL_COMP_SERVICE, $s["subdir"], $ps["id"]);
             foreach ($slot->getPluginsInformation() as $p) {
                 $plugins[] = $this->gatherPluginData(IL_COMP_SERVICE, $slot, $s["subdir"], $p);
             }
         }
     }
     $this->setData($plugins);
 }
 /**
  * Get pages for list.
  */
 function getComponents()
 {
     if ($this->mode == IL_COMP_MODULE) {
         include_once "./Services/Component/classes/class.ilModule.php";
         $modules = ilModule::getAvailableCoreModules();
         $this->setData($modules);
     } else {
         include_once "./Services/Component/classes/class.ilService.php";
         $services = ilService::getAvailableCoreServices();
         $this->setData($services);
     }
 }
 /**
  * Get pages for list.
  */
 function getComponents()
 {
     $data = array();
     include_once "./Services/Component/classes/class.ilService.php";
     foreach (ilService::getAvailableCoreServices() as $obj) {
         foreach (ilComponent::lookupPluginSlots(IL_COMP_SERVICE, $obj["subdir"]) as $slot) {
             $data[] = array("subdir" => $obj["subdir"], "id" => $slot["id"], "name" => $slot["name"], "dir" => $slot["dir_pres"], "lang" => $slot["lang_prefix"], "ctype" => IL_COMP_SERVICE);
         }
     }
     include_once "./Services/Component/classes/class.ilModule.php";
     foreach (ilModule::getAvailableCoreModules() as $obj) {
         foreach (ilComponent::lookupPluginSlots(IL_COMP_MODULE, $obj["subdir"]) as $slot) {
             $data[] = array("subdir" => $obj["subdir"], "id" => $slot["id"], "name" => $slot["name"], "dir" => $slot["dir_pres"], "lang" => $slot["lang_prefix"], "ctype" => IL_COMP_MODULE);
         }
     }
     $this->setData($data);
 }
 /**
  * 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();
 }
 /**
  * Constructor: read information on component
  */
 function __construct()
 {
     parent::__construct();
 }
Example #6
0
 function loadXMLInfo()
 {
     global $ilCtrlStructureReader;
     // read module and service information into db
     require_once "./setup/classes/class.ilModuleReader.php";
     require_once "./setup/classes/class.ilServiceReader.php";
     require_once "./setup/classes/class.ilCtrlStructureReader.php";
     require_once "./Services/Component/classes/class.ilModule.php";
     require_once "./Services/Component/classes/class.ilService.php";
     $modules = ilModule::getAvailableCoreModules();
     $services = ilService::getAvailableCoreServices();
     $mr = new ilModuleReader("", "", "");
     $mr->clearTables();
     foreach ($modules as $module) {
         $mr = new ilModuleReader(ILIAS_ABSOLUTE_PATH . "/Modules/" . $module["subdir"] . "/module.xml", $module["subdir"], "Modules");
         $mr->getModules();
         unset($mr);
     }
     $sr = new ilServiceReader("", "", "");
     $sr->clearTables();
     foreach ($services as $service) {
         $sr = new ilServiceReader(ILIAS_ABSOLUTE_PATH . "/Services/" . $service["subdir"] . "/service.xml", $service["subdir"], "Services");
         $sr->getServices();
         unset($sr);
     }
     $ilCtrlStructureReader->readStructure();
     return true;
 }
 /**
  * reload control structure
  */
 function reloadControlStructure()
 {
     global $ilCtrlStructureReader;
     if (!$this->setup->getClient()->db_installed) {
         ilUtil::sendInfo($this->lng->txt("no_db"), true);
         $this->displayTools();
         return;
     }
     // referencing does not work in dbupdate-script
     $GLOBALS["ilDB"] = $this->setup->getClient()->getDB();
     // BEGIN WebDAV
     // read module and service information into db
     require_once "./setup/classes/class.ilModuleReader.php";
     require_once "./setup/classes/class.ilServiceReader.php";
     require_once "./setup/classes/class.ilCtrlStructureReader.php";
     require_once "./Services/Component/classes/class.ilModule.php";
     require_once "./Services/Component/classes/class.ilService.php";
     $modules = ilModule::getAvailableCoreModules();
     $services = ilService::getAvailableCoreServices();
     // clear tables
     $mr = new ilModuleReader("", "", "");
     $mr->clearTables();
     foreach ($modules as $module) {
         $mr = new ilModuleReader(ILIAS_ABSOLUTE_PATH . "/Modules/" . $module["subdir"] . "/module.xml", $module["subdir"], "Modules");
         $mr->getModules();
         unset($mr);
     }
     // clear tables
     $sr = new ilServiceReader("", "", "");
     $sr->clearTables();
     foreach ($services as $service) {
         $sr = new ilServiceReader(ILIAS_ABSOLUTE_PATH . "/Services/" . $service["subdir"] . "/service.xml", $service["subdir"], "Services");
         $sr->getServices();
         unset($sr);
     }
     // END WebDAV
     $ilCtrlStructureReader->readStructure(true);
     ilUtil::sendInfo($this->lng->txt("ctrl_structure_reloaded"), true);
     $this->displayTools();
 }
 protected static function getAllObjTypes()
 {
     global $ilPluginAdmin, $objDefinition;
     $res = array();
     // parse modules
     include_once "./Services/Component/classes/class.ilModule.php";
     foreach (ilModule::getAvailableCoreModules() as $mod) {
         $has_repo = false;
         $rep_types = $objDefinition->getRepositoryObjectTypesForComponent(IL_COMP_MODULE, $mod["subdir"]);
         if (sizeof($rep_types) > 0) {
             foreach ($rep_types as $ridx => $rt) {
                 // we only want to display repository modules
                 if ($rt["repository"]) {
                     $has_repo = true;
                 } else {
                     unset($rep_types[$ridx]);
                 }
             }
         }
         if ($has_repo) {
             foreach ($rep_types as $rt) {
                 $res[] = $rt["id"];
             }
         }
     }
     // parse plugins
     include_once "./Services/Component/classes/class.ilPlugin.php";
     $pl_names = $ilPluginAdmin->getActivePluginsForSlot(IL_COMP_SERVICE, "Repository", "robj");
     foreach ($pl_names as $pl_name) {
         $pl_id = ilPlugin::lookupIdForName(IL_COMP_SERVICE, "Repository", "robj", $pl_name);
         if ($pl_id) {
             $res[] = $pl_id;
         }
     }
     return $res;
 }
 /**
  * Get pages for list.
  */
 function getComponents()
 {
     global $objDefinition, $ilSetting, $lng, $ilPluginAdmin;
     // unassigned objects should be last
     $this->pos_group_options = array(0 => $lng->txt("rep_new_item_group_unassigned"));
     $pos_group_map[0] = "9999";
     include_once "Services/Repository/classes/class.ilObjRepositorySettings.php";
     foreach (ilObjRepositorySettings::getNewItemGroups() as $item) {
         $this->pos_group_options[$item["id"]] = $item["title"];
         $pos_group_map[$item["id"]] = $item["pos"];
     }
     $obj_types = array();
     // parse modules
     include_once "./Services/Component/classes/class.ilModule.php";
     foreach (ilModule::getAvailableCoreModules() as $mod) {
         $has_repo = false;
         $rep_types = $objDefinition->getRepositoryObjectTypesForComponent(IL_COMP_MODULE, $mod["subdir"]);
         if (sizeof($rep_types) > 0) {
             foreach ($rep_types as $ridx => $rt) {
                 // we only want to display repository modules
                 if ($rt["repository"]) {
                     $has_repo = true;
                 } else {
                     unset($rep_types[$ridx]);
                 }
             }
         }
         if ($has_repo) {
             foreach ($rep_types as $rt) {
                 $obj_types[$rt["id"]] = array("object" => $rt["class_name"], "caption" => $lng->txt("obj_" . $rt["id"]), "subdir" => $mod["subdir"], "grp" => $rt["grp"], "default_pos" => $rt["default_pos"]);
             }
         }
     }
     // parse plugins
     include_once "./Services/Component/classes/class.ilPlugin.php";
     $pl_names = $ilPluginAdmin->getActivePluginsForSlot(IL_COMP_SERVICE, "Repository", "robj");
     foreach ($pl_names as $pl_name) {
         $pl_id = ilPlugin::lookupIdForName(IL_COMP_SERVICE, "Repository", "robj", $pl_name);
         if ($pl_id) {
             $obj_types[$pl_id] = array("object" => $pl_name, "caption" => ilPlugin::lookupTxt("rep_robj", $pl_id, "obj_" . $pl_id), "subdir" => $lng->txt("cmps_plugin"), "grp" => "", "default_pos" => 2000);
         }
     }
     // parse positions
     $data = array();
     foreach ($obj_types as $obj_type => $item) {
         $org_pos = $ilSetting->get("obj_add_new_pos_" . $obj_type);
         if (!(int) $org_pos) {
             // no setting yet, use default
             $org_pos = $item["default_pos"];
         }
         if (strlen($org_pos) < 8) {
             // "old" setting without group part, add "unassigned" group
             $org_pos = $pos_group_map[0] . str_pad($org_pos, 4, "0", STR_PAD_LEFT);
         }
         $pos_grp_id = $ilSetting->get("obj_add_new_pos_grp_" . $obj_type, 0);
         $group = null;
         if ($item["grp"] != "") {
             $group = $objDefinition->getGroup($item["grp"]);
             $group = $group["name"];
         }
         $data[] = array("id" => $obj_type, "object" => $item["object"], "caption" => $item["caption"], "subdir" => $item["subdir"], "pos" => (int) substr($org_pos, 4), "pos_group" => $pos_grp_id, "creation" => !(bool) $ilSetting->get("obj_dis_creation_" . $obj_type, false), "group_id" => $item["grp"], "group" => $group, "sort_key" => (int) $org_pos);
     }
     $data = ilUtil::sortArray($data, "sort_key", "asc", true);
     $this->setData($data);
 }