25 include_once(
"./Services/Component/classes/class.ilComponent.php");
 
   54         private final function getPluginData($a_ctype, $a_cname, $a_slot_id, $a_pname)
 
   58                 if (!isset($this->got_data[$a_ctype][$a_cname][$a_slot_id][$a_pname]))
 
   60                         include_once 
"./Services/Component/classes/class.ilPluginSlot.php";
 
   63                         $plugin_php_file = 
"./Customizing/global/plugins/".$a_ctype.
"/".
 
   64                                 $a_cname.
"/".$slot_name.
"/".$a_pname.
"/plugin.php";
 
   68                         if (is_file($plugin_php_file))
 
   70                                 include_once($plugin_php_file);
 
   71                                 $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname] =
 
   72                                         array(
"version" => $version, 
"id" => $id,
 
   73                                         "ilias_min_version" => $ilias_min_version,
 
   74                                         "ilias_max_version" => $ilias_max_version,
 
   75                                         "responsible" => $responsible,
 
   76                                         "responsible_mail" => $responsible_mail);
 
   79                         $active = $rec[
"active"];
 
   80                         $needs_update = 
false;
 
   81                         $activation_possible = !$active;
 
   82                         $inactive_reason = 
"";
 
   90                                         $inactive_reason = $lng->txt(
"cmps_needs_newer_ilias_version");
 
   94                                         $inactive_reason = 
"Plugin needs a newer version of ILIAS.";
 
   96                                 $activation_possible = 
false;
 
  103                                         $inactive_reason = $lng->txt(
"cmps_needs_newer_plugin_version");
 
  107                                         $inactive_reason = 
"Plugin does not support current version of ILIAS. Newer version of plugin needed.";
 
  109                                 $activation_possible = 
false;
 
  111                         else if ($rec[
"last_update_version"] == 
"")
 
  116                                         $inactive_reason = $lng->txt(
"cmps_needs_update");
 
  120                                         $inactive_reason = 
"Update needed.";
 
  122                                 $needs_update = 
true;
 
  123                                 $activation_possible = 
false;
 
  130                                         $inactive_reason = $lng->txt(
"cmps_needs_upgrade");
 
  134                                         $inactive_reason = 
"Upgrade needed.";
 
  136                                 $activation_possible = 
false;
 
  138                         else if ($rec[
"last_update_version"] != $version)
 
  143                                         $inactive_reason = $lng->txt(
"cmps_needs_update");
 
  147                                         $inactive_reason = 
"Update needed.";
 
  149                                 $needs_update = 
true;
 
  150                                 $activation_possible = 
false;
 
  153                         $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"is_active"] = $active;
 
  154                         $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"inactive_reason"] = $inactive_reason;
 
  155                         $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"needs_update"] = $needs_update;
 
  156                         $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"activation_possible"] = $activation_possible;
 
  158                         $this->got_data[$a_ctype][$a_cname][$a_slot_id][$a_pname] = 
true;
 
  170         function getVersion($a_ctype, $a_cname, $a_slot_id, $a_pname)
 
  172                 $this->
getPluginData($a_ctype, $a_cname, $a_slot_id, $a_pname);
 
  173                 return $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"version"];
 
  186                 $this->
getPluginData($a_ctype, $a_cname, $a_slot_id, $a_pname);
 
  187                 return $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"ilias_min_version"];
 
  200                 $this->
getPluginData($a_ctype, $a_cname, $a_slot_id, $a_pname);
 
  201                 return $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"ilias_max_version"];
 
  212         function getId($a_ctype, $a_cname, $a_slot_id, $a_pname)
 
  214                 $this->
getPluginData($a_ctype, $a_cname, $a_slot_id, $a_pname);
 
  215                 return $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"id"];
 
  226         function isActive($a_ctype, $a_cname, $a_slot_id, $a_pname)
 
  228                 $this->
getPluginData($a_ctype, $a_cname, $a_slot_id, $a_pname);
 
  229                 return $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"is_active"];
 
  240         function exists($a_ctype, $a_cname, $a_slot_id, $a_pname)
 
  242                 $this->
getPluginData($a_ctype, $a_cname, $a_slot_id, $a_pname);
 
  243                 return isset($this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname]);
 
  256                 $this->
getPluginData($a_ctype, $a_cname, $a_slot_id, $a_pname);
 
  257                 return $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname][
"needs_update"];
 
  268         function getAllData($a_ctype, $a_cname, $a_slot_id, $a_pname)
 
  270                 $this->
getPluginData($a_ctype, $a_cname, $a_slot_id, $a_pname);
 
  271                 return $this->data[$a_ctype][$a_cname][$a_slot_id][$a_pname];
 
  279                 include_once 
"./Services/Component/classes/class.ilPlugin.php";