25 define (
"IL_COMP_MODULE",
"Modules");
26 define (
"IL_COMP_SERVICE",
"Services");
27 define (
"IL_COMP_PLUGIN",
"Plugins");
61 abstract function isCore();
76 $set = $ilDB->query(
"SELECT * FROM il_component WHERE type = ".
77 $ilDB->quote($this->getComponentType()).
" AND name = ".
78 $ilDB->quote($this->getName()));
82 $this->
setId($rec[
"id"]);
114 $this->pluginslots = $a_pluginslots;
124 return $this->pluginslots;
138 $set = $ilDB->query(
"SELECT * FROM il_component WHERE type = ".
139 $ilDB->quote($a_ctype).
" AND name = ".$ilDB->quote($a_cname));
140 if ($set->numRows() == 0)
148 if (is_file(
"./Modules/".$a_cname.
"/classes/class.il".$a_cname.
"Module.php"))
150 include_once(
"./Modules/".$a_cname.
"/classes/class.il".$a_cname.
"Module.php");
151 $class =
"il".$a_cname.
"Module";
152 $comp =
new $class();
158 if (is_file(
"./Services/".$a_cname.
"/classes/class.il".$a_cname.
"Service.php"))
160 include_once(
"./Services/".$a_cname.
"/classes/class.il".$a_cname.
"Service.php");
161 $class =
"il".$a_cname.
"Service";
162 $comp =
new $class();
178 $this->subdirectory = $a_subdirectory;
188 return $this->subdirectory;
198 $set = $ilDB->query(
"SELECT * FROM il_pluginslot WHERE component = ".
199 $ilDB->quote($a_type.
"/".$a_name));
204 $rec[
"dir"] =
"Customizing/global/plugins/".$a_type.
"/".$a_name.
"/".$rec[
"name"];
205 $rec[
"dir_pres"] =
"Customizing/global/plugins/<br />".$a_type.
"/".$a_name.
"/".$rec[
"name"];
207 $ps[$rec[
"id"]] = $rec;
221 return $slots[$a_id][
"name"];
233 return "Customizing/global/plugins/".$this->getComponentType().
"/".
234 $this->
getName().
"/".$slots[$a_id][
"name"];
245 return $this->
getId().
"_".$slots[$a_id][
"id"].
"_";
255 $set = $ilDB->query(
"SELECT * FROM il_component WHERE type = ".
256 $ilDB->quote($a_type).
" AND name = ".$ilDB->quote($a_name));
269 $lng->loadLanguageModule(
"cmps");
271 $parts = explode(
".", $a_ver);
273 if (count($parts) != 3)
275 return $lng->txt(
"cmps_version_nr_format_error");
278 if (!is_numeric($parts[0]) || !is_numeric($parts[1]) || !is_numeric($parts[2]))
280 return $lng->txt(
"cmps_version_nr_parts_not_numeric");
290 if (is_array($a_arr1) && is_array($a_arr2))
310 if ($a_ver1[0] > $a_ver2[0])
314 else if ($a_ver1[0] < $a_ver2[0])
318 else if ($a_ver1[1] > $a_ver2[1])
322 else if ($a_ver1[1] < $a_ver2[1])
326 else if ($a_ver1[2] > $a_ver2[2])