ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
ilComponent Class Reference
+ Inheritance diagram for ilComponent:
+ Collaboration diagram for ilComponent:

Public Member Functions

 getVersion ()
 Get Version Number of Component. More...
 
 isCore ()
 
 getName ()
 Get Name. More...
 
 __construct ()
 
 setId ($a_id)
 Set Id. More...
 
 getId ()
 Get Id. More...
 
 setPluginSlots ($a_pluginslots)
 Set Plugin Slots. More...
 
 getPluginSlots ()
 Get Plugin Slots. More...
 
 setSubDirectory ($a_subdirectory)
 Set Sub Directory. More...
 
 getSubDirectory ()
 Get Sub Directory. More...
 
 getPluginSlotName ($a_id)
 Get name of plugin slot. More...
 
 getPluginSlotDirectory ($a_id)
 Get directory of plugin slot. More...
 
 getPluginSlotLanguagePrefix ($a_id)
 Get language prefix for plugin slot. More...
 

Static Public Member Functions

static getComponentType ()
 
static getComponentObject ($a_ctype, $a_cname)
 Get component object. More...
 
static lookupPluginSlots ($a_type, $a_name)
 Lookup all plugin slots of a component. More...
 
static lookupId ($a_type, $a_name)
 Lookup ID of a component. More...
 
static getComponentInfo ($a_type, $a_name)
 
static checkVersionNumber ($a_ver)
 Check version number. More...
 
static isVersionGreaterString ($a_ver1, $a_ver2)
 
static isVersionGreater ($a_ver1, $a_ver2)
 Check whether version number is greater than another version number. More...
 

Protected Attributes

 $global_cache
 

Detailed Description

Definition at line 23 of file class.ilComponent.php.

Constructor & Destructor Documentation

◆ __construct()

ilComponent::__construct ( )

Definition at line 59 of file class.ilComponent.php.

References getComponentType(), ilCachedComponentData\getInstance(), getName(), lookupPluginSlots(), setId(), and setPluginSlots().

60  {
61 // global $ilDB;
62  $this->global_cache = ilCachedComponentData::getInstance();
63 
64  $rec = $this->global_cache->lookCompId($this->getName(), $this->getComponentType());
65  $this->setId($rec["id"]);
67  $this->getComponentType(), $this->getName()));
68 
69 //
70 // echo '<pre>' . print_r($data, 1) . '</pre>';
71 //
72 //
73 // $set = $ilDB->queryF("SELECT * FROM il_component WHERE type = %s ".
74 // " AND name = %s", array("text", "text"),
75 // array($this->getComponentType(), $this->getName()));
76 // $rec = $ilDB->fetchAssoc($set);
77 //
78 // $this->setId($rec["id"]);
79 // $this->setPluginSlots(ilComponent::lookupPluginSlots(
80 // $this->getComponentType(), $this->getName()));
81  }
setPluginSlots($a_pluginslots)
Set Plugin Slots.
setId($a_id)
Set Id.
static getComponentType()
getName()
Get Name.
static lookupPluginSlots($a_type, $a_name)
Lookup all plugin slots of a component.
+ Here is the call graph for this function:

Member Function Documentation

◆ checkVersionNumber()

static ilComponent::checkVersionNumber (   $a_ver)
staticfinal

Check version number.

Definition at line 283 of file class.ilComponent.php.

References $lng.

Referenced by isVersionGreaterString().

284  {
285  global $lng;
286 
287  $parts = explode(".", $a_ver);
288 
289  if (count($parts) != 3)
290  {
291  return "Version Number does not conform to format a.b.c";
292  }
293 
294  if (!is_numeric($parts[0]) || !is_numeric($parts[1]) || !is_numeric($parts[2]))
295  {
296  return "Not all version number parts a.b.c are numeric.";
297  }
298 
299  return $parts;
300  }
global $lng
Definition: privfeed.php:40
+ Here is the caller graph for this function:

◆ getComponentInfo()

static ilComponent::getComponentInfo (   $a_type,
  $a_name 
)
static
Parameters
$a_type
$a_name
Returns
mixed

Definition at line 274 of file class.ilComponent.php.

References $global_cache, and ilCachedComponentData\getInstance().

Referenced by ilCtrl\callBaseClass().

274  {
276 
277  return $global_cache->lookupCompInfo($a_type, $a_name);
278  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getComponentObject()

static ilComponent::getComponentObject (   $a_ctype,
  $a_cname 
)
staticfinal

Get component object.

Parameters
string$a_ctypeIL_COMP_MODULE | IL_COMP_SERVICE
string$a_cnamecomponent name

Definition at line 129 of file class.ilComponent.php.

References $ilDB, IL_COMP_MODULE, and IL_COMP_SERVICE.

Referenced by ilObjComponentSettingsGUI\showPluginSlotInfo().

130  {
131  global $ilDB;
132 
133  $set = $ilDB->queryF("SELECT * FROM il_component WHERE type = %s ".
134  " AND name = %s", array("text", "text"),
135  array($a_ctype, $a_cname));
136  if (!$ilDB->fetchAssoc($set))
137  {
138  return null;
139  }
140 
141  switch ($a_ctype)
142  {
143  case IL_COMP_MODULE:
144  if (is_file("./Modules/".$a_cname."/classes/class.il".$a_cname."Module.php"))
145  {
146  include_once("./Modules/".$a_cname."/classes/class.il".$a_cname."Module.php");
147  $class = "il".$a_cname."Module";
148  $comp = new $class();
149  return $comp;
150  }
151  break;
152 
153  case IL_COMP_SERVICE:
154  if (is_file("./Services/".$a_cname."/classes/class.il".$a_cname."Service.php"))
155  {
156  include_once("./Services/".$a_cname."/classes/class.il".$a_cname."Service.php");
157  $class = "il".$a_cname."Service";
158  $comp = new $class();
159  return $comp;
160  }
161  break;
162  }
163 
164  return null;
165  }
const IL_COMP_MODULE
global $ilDB
const IL_COMP_SERVICE
+ Here is the caller graph for this function:

◆ getComponentType()

static ilComponent::getComponentType ( )
staticabstract

Referenced by __construct().

+ Here is the caller graph for this function:

◆ getId()

ilComponent::getId ( )
final

Get Id.

Returns
string Id

Definition at line 98 of file class.ilComponent.php.

Referenced by getPluginSlotLanguagePrefix().

99  {
100  return $this->id;
101  }
+ Here is the caller graph for this function:

◆ getName()

ilComponent::getName ( )
abstract

Get Name.

Returns
string Name

Referenced by __construct(), and getPluginSlotDirectory().

+ Here is the caller graph for this function:

◆ getPluginSlotDirectory()

ilComponent::getPluginSlotDirectory (   $a_id)

Get directory of plugin slot.

Parameters
string$a_idPlugin Slot ID

Definition at line 229 of file class.ilComponent.php.

References getName(), and getPluginSlots().

230  {
231  $slots = $this->getPluginSlots();
232 
233  return "Customizing/global/plugins/".$this->getComponentType()."/".
234  $this->getName()."/".$slots[$a_id]["name"];
235  }
getPluginSlots()
Get Plugin Slots.
getName()
Get Name.
+ Here is the call graph for this function:

◆ getPluginSlotLanguagePrefix()

ilComponent::getPluginSlotLanguagePrefix (   $a_id)

Get language prefix for plugin slot.

Parameters
string$a_idPlugin Slot ID

Definition at line 242 of file class.ilComponent.php.

References getId(), and getPluginSlots().

243  {
244  $slots = $this->getPluginSlots();
245  return $this->getId()."_".$slots[$a_id]["id"]."_";
246  }
getPluginSlots()
Get Plugin Slots.
+ Here is the call graph for this function:

◆ getPluginSlotName()

ilComponent::getPluginSlotName (   $a_id)

Get name of plugin slot.

Parameters
string$a_idPlugin Slot ID

Definition at line 217 of file class.ilComponent.php.

References getPluginSlots().

218  {
219  $slots = $this->getPluginSlots();
220 
221  return $slots[$a_id]["name"];
222  }
getPluginSlots()
Get Plugin Slots.
+ Here is the call graph for this function:

◆ getPluginSlots()

ilComponent::getPluginSlots ( )
final

Get Plugin Slots.

Returns
array Plugin Slots

Definition at line 118 of file class.ilComponent.php.

Referenced by getPluginSlotDirectory(), getPluginSlotLanguagePrefix(), and getPluginSlotName().

119  {
120  return $this->pluginslots;
121  }
+ Here is the caller graph for this function:

◆ getSubDirectory()

ilComponent::getSubDirectory ( )

Get Sub Directory.

Returns
string Sub Directory

Definition at line 182 of file class.ilComponent.php.

183  {
184  return $this->subdirectory;
185  }

◆ getVersion()

ilComponent::getVersion ( )
abstract

Get Version Number of Component.

The number should be changed if anything in the code is changed. Otherwise ILIAS will not be able to recognize any change in the module.

The format must be: <major number>="">.<minor number>="">.<bugfix number>=""> <bugfix number>=""> should be increased for bugfixes <minor number>=""> should be increased for behavioural changes (and new functionalities) <major number>=""> should be increased for major revisions

The number should be returned directly as string, e.g. return "1.0.2";

Returns
string version number

◆ isCore()

ilComponent::isCore ( )
abstract

◆ isVersionGreater()

static ilComponent::isVersionGreater (   $a_ver1,
  $a_ver2 
)
staticfinal

Check whether version number is greater than another version number.

Parameters
$a_ver1array version number as array as returned by checkVersionNumber()
$a_ver2array version number as array as returned by checkVersionNumber()

$return boolean true, if $a_ver1 is greater than $a_ver2

Definition at line 324 of file class.ilComponent.php.

Referenced by isVersionGreaterString().

325  {
326  if ($a_ver1[0] > $a_ver2[0])
327  {
328  return true;
329  }
330  else if ($a_ver1[0] < $a_ver2[0])
331  {
332  return false;
333  }
334  else if ($a_ver1[1] > $a_ver2[1])
335  {
336  return true;
337  }
338  else if ($a_ver1[1] < $a_ver2[1])
339  {
340  return false;
341  }
342  else if ($a_ver1[2] > $a_ver2[2])
343  {
344  return true;
345  }
346 
347  return false;
348  }
+ Here is the caller graph for this function:

◆ isVersionGreaterString()

static ilComponent::isVersionGreaterString (   $a_ver1,
  $a_ver2 
)
staticfinal

Definition at line 302 of file class.ilComponent.php.

References checkVersionNumber(), and isVersionGreater().

Referenced by ilPluginAdmin\getPluginData().

303  {
304  $a_arr1 = ilComponent::checkVersionNumber($a_ver1);
305  $a_arr2 = ilComponent::checkVersionNumber($a_ver2);
306  if (is_array($a_arr1) && is_array($a_arr2))
307  {
308  return ilComponent::isVersionGreater($a_arr1, $a_arr2);
309  }
310  else
311  {
312  return false;
313  }
314  }
static checkVersionNumber($a_ver)
Check version number.
static isVersionGreater($a_ver1, $a_ver2)
Check whether version number is greater than another version number.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lookupId()

static ilComponent::lookupId (   $a_type,
  $a_name 
)
static

Lookup ID of a component.

Definition at line 251 of file class.ilComponent.php.

References $global_cache, and ilCachedComponentData\getInstance().

Referenced by ilPlugin\_getImagePath(), ilWebAccessChecker\checkAccess(), ilPluginSlot\getPrefix(), ilPlugin\getStyleSheetLocation(), and lookupPluginSlots().

252  {
254 
255  return $global_cache->lookCompId($a_type, $a_name);
256 
257  //global $ilDB;
258 
259  //$set = $ilDB->queryF("SELECT * FROM il_component WHERE type = %s ".
260  // " AND name = %s", array("text", "text"),
261  // array($a_type, $a_name));
262  //$rec = $ilDB->fetchAssoc($set);
263 
264  //return $rec["id"];
265  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lookupPluginSlots()

static ilComponent::lookupPluginSlots (   $a_type,
  $a_name 
)
static

Lookup all plugin slots of a component.

Definition at line 190 of file class.ilComponent.php.

References ilCachedComponentData\getInstance(), and lookupId().

Referenced by __construct(), ilComponentsTableGUI\getComponents(), and ilPluginsOverviewTableGUI\getComponents().

191  {
192 // global $ilDB;
193 
194  $cached_component = ilCachedComponentData::getInstance();
195  $recs = $cached_component->lookupPluginSlotByComponent($a_type."/".$a_name);
196 
197  //$set = $ilDB->query("SELECT * FROM il_pluginslot WHERE component = ".
198  // $ilDB->quote($a_type."/".$a_name, "text"));
199  $ps = array();
200 //echo "<br>".$a_type."/".$a_name;
201  //while($rec = $ilDB->fetchAssoc($set))
202  foreach($recs as $rec)
203  {
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"];
206  $rec["lang_prefix"] = ilComponent::lookupId($a_type,$a_name)."_".$rec["id"]."_";
207  $ps[$rec["id"]] = $rec;
208  }
209  return $ps;
210  }
static lookupId($a_type, $a_name)
Lookup ID of a component.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setId()

ilComponent::setId (   $a_id)
final

Set Id.

Parameters
string$a_idId

Definition at line 88 of file class.ilComponent.php.

Referenced by __construct().

89  {
90  $this->id = $a_id;
91  }
+ Here is the caller graph for this function:

◆ setPluginSlots()

ilComponent::setPluginSlots (   $a_pluginslots)
final

Set Plugin Slots.

Parameters
array$a_pluginslotsPlugin Slots

Definition at line 108 of file class.ilComponent.php.

Referenced by __construct().

109  {
110  $this->pluginslots = $a_pluginslots;
111  }
+ Here is the caller graph for this function:

◆ setSubDirectory()

ilComponent::setSubDirectory (   $a_subdirectory)

Set Sub Directory.

Parameters
string$a_subdirectorySub Directory

Definition at line 172 of file class.ilComponent.php.

173  {
174  $this->subdirectory = $a_subdirectory;
175  }

Field Documentation

◆ $global_cache

ilComponent::$global_cache
protected

Definition at line 57 of file class.ilComponent.php.

Referenced by getComponentInfo(), and lookupId().


The documentation for this class was generated from the following file: