ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilObjComponentSettingsGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3include_once("./Services/Object/classes/class.ilObjectGUI.php");
4
5
17{
18 private static $ERROR_MESSAGE;
24 public function __construct($a_data, $a_id, $a_call_by_reference = true, $a_prepare_output = true)
25 {
26 $this->type = 'cmps';
27 parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
28
29 $this->lng->loadLanguageModule('cmps');
30 }
31
38 public function executeCommand()
39 {
40 global $DIC;
41 $rbacsystem = $DIC->rbac()->system();
42 $ilErr = $DIC['ilErr'];
43 $ilCtrl = $DIC->ctrl();
44
45 $next_class = $this->ctrl->getNextClass($this);
46 $cmd = $this->ctrl->getCmd();
47
48 $this->prepareOutput();
49
50 if (!$rbacsystem->checkAccess('read', $this->object->getRefId())) {
51 $ilErr->raiseError($this->lng->txt('no_permission'), $ilErr->WARNING);
52 }
53
54 switch ($next_class) {
55 case 'ilpermissiongui':
56 $this->tabs_gui->setTabActive('perm_settings');
57 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
58 $perm_gui = new ilPermissionGUI($this);
59 $ret = $this->ctrl->forwardCommand($perm_gui);
60 break;
61
62 default:
63
64 // configure classes
65 $config = false;
66 if (substr(strtolower($next_class), strlen($next_class) - 9) == "configgui") {
67 $path = $ilCtrl->lookupClassPath(strtolower($next_class));
68 if ($path != "") {
69 include_once($path);
70 $nc = new $next_class();
71
73 $_GET["ctype"],
74 $_GET["cname"],
75 $_GET["slot_id"],
76 $_GET["pname"]
77 );
78
79 $nc->setPluginObject($pl);
80
81 $ret = $this->ctrl->forwardCommand($nc);
82 $config = true;
83 }
84 }
85
86 if (!$config) {
87 if (!$cmd || $cmd == 'view') {
88 $cmd = "listPlugins";
89 }
90
91 $this->$cmd();
92 }
93 break;
94 }
95 return true;
96 }
97
104 public function getAdminTabs()
105 {
106 global $DIC;
107 $rbacsystem = $DIC->rbac()->system();
108 $lng = $DIC->language();
109
110 if ($rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
111 $this->tabs_gui->addTab(
112 "plugins",
113 $lng->txt("cmps_plugins"),
114 $this->ctrl->getLinkTarget($this, "listPlugins")
115 );
116
117 if (DEVMODE) {
118 $this->tabs_gui->addTab(
119 "slots",
120 $lng->txt("cmps_slots"),
121 $this->ctrl->getLinkTarget($this, "listSlots")
122 );
123 }
124 }
125
126 if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
127 $this->tabs_gui->addTab(
128 "perm_settings",
129 $lng->txt("perm_settings"),
130 $this->ctrl->getLinkTargetByClass('ilpermissiongui', "perm")
131 );
132 }
133
134 if ($_GET["ctype"] == "Services") {
135 $this->tabs_gui->activateTab("services");
136 }
137 }
138
142 public function listSlots()
143 {
144 if (!DEVMODE) {
145 $this->ctrl->redirect($this, "listPlugins");
146 }
147
148 $this->tabs_gui->activateTab('slots');
149
150 include_once("./Services/Component/classes/class.ilComponentsTableGUI.php");
151 $comp_table = new ilComponentsTableGUI($this, "listSlots");
152
153 $this->tpl->setContent($comp_table->getHTML());
154 }
155
162 protected function listPlugins()
163 {
164 global $DIC;
165 $tpl = $DIC->ui()->mainTemplate();
166 $ilTabs = $DIC->tabs();
167
168 $ilTabs->activateTab("plugins");
169 include_once("./Services/Component/classes/class.ilPluginsOverviewTableGUI.php");
170 $table = new ilPluginsOverviewTableGUI($this, "listPlugins");
171 $tpl->setContent($table->getHTML());
172 }
173
177 protected function showPluginSlotInfo()
178 {
179 global $DIC;
180 $tpl = $DIC->ui()->mainTemplate();
181 $lng = $DIC->language();
182 $ilTabs = $DIC->tabs();
183 $ilCtrl = $DIC->ctrl();
184
185 if (!DEVMODE) {
186 $ilCtrl->redirect($this, "listPlugins");
187 }
188
189 $ilTabs->clearTargets();
190
191 $ilTabs->setBackTarget(
192 $lng->txt("cmps_slots"),
193 $ilCtrl->getLinkTarget($this, "listSlots")
194 );
195
196 include_once("./Services/Component/classes/class.ilComponent.php");
197 $comp = ilComponent::getComponentObject($_GET["ctype"], $_GET["cname"]);
198
199 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
200 $form = new ilPropertyFormGUI();
201
202 // component
203 $ne = new ilNonEditableValueGUI($lng->txt("cmps_component"), "", true);
204 $ne->setValue($comp->getComponentType() . "/" . $comp->getName() . " [" . $comp->getId() . "]");
205 $form->addItem($ne);
206
207 // plugin slot
208 $ne = new ilNonEditableValueGUI($lng->txt("cmps_plugin_slot"), "", true);
209 $ne->setValue($comp->getPluginSlotName($_GET["slot_id"]) . " [" . $_GET["slot_id"] . "]");
210 $form->addItem($ne);
211
212 // main dir
213 $ne = new ilNonEditableValueGUI($lng->txt("cmps_main_dir"), "", true);
214 $ne->setValue($comp->getPluginSlotDirectory($_GET["slot_id"]) . "/&lt;Plugin_Name&gt;");
215 $form->addItem($ne);
216
217 // plugin file
218 $ne = new ilNonEditableValueGUI($lng->txt("cmps_plugin_file"), "", true);
219 $ne->setValue("&lt;" . $lng->txt("cmps_main_dir") . "&gt;" .
220 "/classes/class.il&lt;Plugin_Name&gt;Plugin.php");
221 $form->addItem($ne);
222
223 // language files
224 $ne = new ilNonEditableValueGUI($lng->txt("cmps_lang_files"), "", true);
225 $ne->setValue("&lt;" . $lng->txt("cmps_main_dir") . "&gt;" .
226 "/lang/ilias_&lt;Language ID&gt;.lang");
227 $form->addItem($ne);
228
229 // db update
230 $ne = new ilNonEditableValueGUI($lng->txt("cmps_db_update"), "", true);
231 $ne->setValue("&lt;" . $lng->txt("cmps_main_dir") . "&gt;" .
232 "/sql/dbupdate.php");
233 $form->addItem($ne);
234
235 // lang prefix
236 $ne = new ilNonEditableValueGUI($lng->txt("cmps_plugin_lang_prefixes"), "", true);
237 $ne->setValue($comp->getPluginSlotLanguagePrefix($_GET["slot_id"]) . "&lt;Plugin_ID&gt;_");
238 $form->addItem($ne);
239
240 // db prefix
241 $ne = new ilNonEditableValueGUI($lng->txt("cmps_plugin_db_prefixes"), "", true);
242 $ne->setValue($comp->getPluginSlotLanguagePrefix($_GET["slot_id"]) . "&lt;Plugin_ID&gt;_");
243 $form->addItem($ne);
244
245 $form->setTitle($lng->txt("cmps_plugin_slot"));
246
247 // set content and title
248 $tpl->setContent($form->getHTML());
249 $tpl->setTitle($comp->getComponentType() . "/" . $comp->getName() . ": " .
250 $lng->txt("cmps_plugin_slot") . " \"" . $comp->getPluginSlotName($_GET["slot_id"]) . "\"");
251 $tpl->setDescription("");
252 }
253
254 protected function showPlugin()
255 {
256 global $DIC;
257 $ilCtrl = $DIC->ctrl();
258 $ilTabs = $DIC->tabs();
259 $lng = $DIC->language();
260 $tpl = $DIC->ui()->mainTemplate();
261 $ilDB = $DIC->database();
262 $ilToolbar = $DIC->toolbar();
263
264 if (!$_GET["ctype"] ||
265 !$_GET["cname"] ||
266 !$_GET["slot_id"] ||
267 !$_GET["plugin_id"]) {
268 $ilCtrl->redirect($this, "listPlugins");
269 }
270
271 include_once("./Services/Component/classes/class.ilPluginSlot.php");
272 $slot = new ilPluginSlot($_GET["ctype"], $_GET["cname"], $_GET["slot_id"]);
273
274 $plugin = null;
275 foreach ($slot->getPluginsInformation() as $item) {
276 if ($item["id"] == $_GET["plugin_id"]) {
277 $plugin = $item;
278 break;
279 }
280 }
281 if (!$plugin) {
282 $ilCtrl->redirect($this, "listPlugins");
283 }
284
285 $ilTabs->clearTargets();
286 $ilTabs->setBackTarget(
287 $lng->txt("cmps_plugins"),
288 $ilCtrl->getLinkTarget($this, "listPlugins")
289 );
290
291 $ilCtrl->setParameter($this, "ctype", $_GET["ctype"]);
292 $ilCtrl->setParameter($this, "cname", $_GET["cname"]);
293 $ilCtrl->setParameter($this, "slot_id", $_GET["slot_id"]);
294 $ilCtrl->setParameter($this, "plugin_id", $_GET["plugin_id"]);
295 $ilCtrl->setParameter($this, "pname", $plugin["name"]);
296
297 $langs = ilPlugin::getAvailableLangFiles($slot->getPluginsDirectory() . "/" .
298 $plugin["name"] . "/lang");
299
300 // dbupdate
302 $_GET["ctype"],
303 $_GET["cname"],
304 ilPluginSlot::lookupSlotName($_GET["ctype"], $_GET["cname"], $_GET["slot_id"]),
305 $plugin["name"]
306 );
307 $db_curr = $db_file = null;
308 if (@is_file($file)) {
309 include_once("./Services/Component/classes/class.ilPluginDBUpdate.php");
310 $dbupdate = new ilPluginDBUpdate(
311 $_GET["ctype"],
312 $_GET["cname"],
313 $_GET["slot_id"],
314 $plugin["name"],
315 $ilDB,
316 true,
317 ""
318 );
319
320 $db_curr = $dbupdate->getCurrentVersion();
321 $db_file = $dbupdate->getFileVersion();
322 }
323
324 $plugin_db_data = ilPlugin::getPluginRecord($plugin["component_type"], $plugin["component_name"], $plugin["slot_id"], $plugin["name"]);
325
326 // toolbar actions
327 if ($plugin["must_install"]) {
328 $ilToolbar->addButton(
329 $lng->txt("cmps_install"),
330 $ilCtrl->getLinkTarget($this, "installPlugin")
331 );
332 } else {
333 // configure button
334 if (ilPlugin::hasConfigureClass($slot->getPluginsDirectory(), $plugin, $plugin_db_data) &&
335 $ilCtrl->checkTargetClass(ilPlugin::getConfigureClassName($plugin))) {
336 $ilToolbar->addButton(
337 $lng->txt("cmps_configure"),
338 $ilCtrl->getLinkTargetByClass(strtolower(ilPlugin::getConfigureClassName($plugin)), "configure")
339 );
340 }
341 // refresh languages button
342 if (count($langs) > 0) {
343 $ilToolbar->addButton(
344 $lng->txt("cmps_refresh"),
345 $ilCtrl->getLinkTarget($this, "refreshLanguages")
346 );
347 }
348
349 if ($plugin["activation_possible"]) {
350 $ilToolbar->addButton(
351 $lng->txt("cmps_activate"),
352 $ilCtrl->getLinkTarget($this, "activatePlugin")
353 );
354 }
355
356 // deactivation/refresh languages button
357 if ($plugin["is_active"]) {
358 // deactivate button
359 $ilToolbar->addButton(
360 $lng->txt("cmps_deactivate"),
361 $ilCtrl->getLinkTarget($this, "deactivatePlugin")
362 );
363 }
364
365 // update button
366 if ($plugin["needs_update"]) {
367 $ilToolbar->addButton(
368 $lng->txt("cmps_update"),
369 $ilCtrl->getLinkTarget($this, "updatePlugin")
370 );
371 }
372 }
373
374 // info
375 $resp = array();
376 if (strlen($plugin["responsible"])) {
377 $responsibles = explode('/', $plugin["responsible_mail"]);
378 foreach ($responsibles as $responsible) {
379 if (!strlen($responsible = trim($responsible))) {
380 continue;
381 }
382
383 $resp[] = $responsible;
384 }
385
386 $resp = $plugin["responsible"] . " (" . implode(" / ", $resp) . ")";
387 }
388
389 if ($plugin["is_active"]) {
390 $status = $lng->txt("cmps_active");
391 } else {
392 $r = ($plugin["inactive_reason"] != "")
393 ? " (" . $plugin["inactive_reason"] . ")"
394 : "";
395
396 $status = $lng->txt("cmps_inactive") . $r;
397 }
398
399 $info[""][$lng->txt("cmps_name")] = $plugin["name"];
400 $info[""][$lng->txt("cmps_id")] = $plugin["id"];
401 $info[""][$lng->txt("cmps_version")] = $plugin["version"];
402 if ($resp) {
403 $info[""][$lng->txt("cmps_responsible")] = $resp;
404 }
405 $info[""][$lng->txt("cmps_ilias_min_version")] = $plugin["ilias_min_version"];
406 $info[""][$lng->txt("cmps_ilias_max_version")] = $plugin["ilias_max_version"];
407 $info[""][$lng->txt("cmps_status")] = $status;
408
409 if (sizeof($langs)) {
410 $lang_files = array();
411 foreach ($langs as $lang) {
412 $lang_files[] = $lang["file"];
413 }
414 $info[""][$lng->txt("cmps_languages")] = implode(", ", $lang_files);
415 } else {
416 $info[""][$lng->txt("cmps_languages")] = $lng->txt("cmps_no_language_file_available");
417 }
418
419 $info[$lng->txt("cmps_basic_files")]["plugin.php"] = $plugin["plugin_php_file_status"] ?
420 $lng->txt("cmps_available") :
421 $lng->txt("cmps_missing");
422 $info[$lng->txt("cmps_basic_files")][$lng->txt("cmps_class_file")] = ($plugin["class_file_status"] ?
423 $lng->txt("cmps_available") :
424 $lng->txt("cmps_missing")) .
425 " (" . $plugin["class_file"] . ")";
426
427 if (!$db_file) {
428 $info[$lng->txt("cmps_database")][$lng->txt("file")] = $lng->txt("cmps_no_db_update_file_available");
429 } else {
430 $info[$lng->txt("cmps_database")][$lng->txt("file")] = "dbupdate.php";
431 $info[$lng->txt("cmps_database")][$lng->txt("cmps_current_version")] = $db_curr;
432 $info[$lng->txt("cmps_database")][$lng->txt("cmps_file_version")] = $db_file;
433 }
434
435 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
436 $form = new ilPropertyFormGUI();
437 $form->setTitle($lng->txt("cmps_plugin"));
438
439 foreach ($info as $section => $items) {
440 if (trim($section)) {
441 $sec = new ilFormSectionHeaderGUI();
442 $sec->setTitle($section);
443 $form->addItem($sec);
444 }
445 foreach ($items as $key => $value) {
446 $non = new ilNonEditableValueGUI($key);
447 $non->setValue($value);
448 $form->addItem($non);
449 }
450 }
451
452 $tpl->setContent($form->getHTML());
453 }
454
460 protected function installPlugin()
461 {
462 include_once("./Services/Component/classes/class.ilPlugin.php");
464 $_GET["ctype"],
465 $_GET["cname"],
466 $_GET["slot_id"],
467 $_GET["pname"]
468 );
469
470 $pl->install();
471 $this->update($pl);
472 }
473
477 protected function activatePlugin()
478 {
479 global $DIC;
480 $ilCtrl = $DIC->ctrl();
481 $lng = $DIC->language();
482
483 include_once("./Services/Component/classes/class.ilPlugin.php");
485 $_GET["ctype"],
486 $_GET["cname"],
487 $_GET["slot_id"],
488 $_GET["pname"]
489 );
490
491 try {
492 $result = $pl->activate();
493 if ($result !== true) {
495 } else {
496 ilUtil::sendSuccess($lng->txt("cmps_plugin_activated"), true);
497 }
498 } catch (ilPluginException $e) {
499 ilUtil::sendFailure($e->getMessage(), true);
500 }
501
502 $ilCtrl->setParameter($this, "ctype", $_GET["ctype"]);
503 $ilCtrl->setParameter($this, "cname", $_GET["cname"]);
504 $ilCtrl->setParameter($this, "slot_id", $_GET["slot_id"]);
505
506 if ($_GET["plugin_id"]) {
507 $ilCtrl->setParameter($this, "plugin_id", $_GET["plugin_id"]);
508 $ilCtrl->redirect($this, "showPlugin");
509 } else {
510 $ilCtrl->redirect($this, "listPlugins");
511 }
512 }
513
517 protected function updatePlugin()
518 {
519 include_once("./Services/Component/classes/class.ilPlugin.php");
521 $_GET["ctype"],
522 $_GET["cname"],
523 $_GET["slot_id"],
524 $_GET["pname"]
525 );
526
527 $this->update($pl);
528 }
529
537 protected function update(ilPlugin $plugin)
538 {
539 $result = $plugin->update();
540
541 if ($result !== true) {
542 ilUtil::sendFailure($plugin->message, true);
543 } else {
544 ilUtil::sendSuccess($plugin->message, true);
545 }
546
547 // reinitialize control class
548 global $DIC;
549 $ilCtrl = $DIC->ctrl();
550 $ilCtrl->initBaseClass("iladministrationgui");
551 $_GET["cmd"] = "jumpToPluginSlot";
552 $ilCtrl->setParameterByClass("iladministrationgui", "ctype", $_GET["ctype"]);
553 $ilCtrl->setParameterByClass("iladministrationgui", "cname", $_GET["cname"]);
554 $ilCtrl->setParameterByClass("iladministrationgui", "slot_id", $_GET["slot_id"]);
555 $ilCtrl->setParameterByClass("iladministrationgui", "plugin_id", $_GET["plugin_id"]);
556 ilUtil::redirect("ilias.php?admin_mode=settings&baseClass=ilAdministrationGUI" .
557 "&cmd=jumpToPluginSlot&ref_id=" . $_GET["ref_id"] . "&ctype=" . $_GET["ctype"] .
558 "&cname=" . $_GET["cname"] . "&slot_id=" . $_GET["slot_id"] . "&plugin_id=" . $_GET["plugin_id"]);
559 }
560
564 protected function deactivatePlugin()
565 {
566 global $DIC;
567 $ilCtrl = $DIC->ctrl();
568 $lng = $DIC->language();
569
570 include_once("./Services/Component/classes/class.ilPlugin.php");
572 $_GET["ctype"],
573 $_GET["cname"],
574 $_GET["slot_id"],
575 $_GET["pname"]
576 );
577
578 $result = $pl->deactivate();
579
580 if ($result !== true) {
582 } else {
583 ilUtil::sendSuccess($lng->txt("cmps_plugin_deactivated"), true);
584 }
585
586 $ilCtrl->setParameter($this, "ctype", $_GET["ctype"]);
587 $ilCtrl->setParameter($this, "cname", $_GET["cname"]);
588 $ilCtrl->setParameter($this, "slot_id", $_GET["slot_id"]);
589
590 if ($_GET["plugin_id"]) {
591 $ilCtrl->setParameter($this, "plugin_id", $_GET["plugin_id"]);
592 $ilCtrl->redirect($this, "showPlugin");
593 } else {
594 $ilCtrl->redirect($this, "listPlugins");
595 }
596 }
597
601 protected function refreshLanguages()
602 {
603 global $DIC;
604 $ilCtrl = $DIC->ctrl();
605
606 include_once("./Services/Component/classes/class.ilPlugin.php");
608 $_GET["ctype"],
609 $_GET["cname"],
610 $_GET["slot_id"],
611 $_GET["pname"]
612 );
613
614 $result = $pl->updateLanguages();
615
616 if ($result !== true) {
618 }
619
620 $ilCtrl->setParameter($this, "ctype", $_GET["ctype"]);
621 $ilCtrl->setParameter($this, "cname", $_GET["cname"]);
622 $ilCtrl->setParameter($this, "slot_id", $_GET["slot_id"]);
623
624 if ($_GET["plugin_id"]) {
625 $ilCtrl->setParameter($this, "plugin_id", $_GET["plugin_id"]);
626 $ilCtrl->redirect($this, "showPlugin");
627 } else {
628 $ilCtrl->redirect($this, "listPlugins");
629 }
630 }
631
632 protected function confirmUninstallPlugin()
633 {
634 global $DIC;
635 $ilCtrl = $DIC->ctrl();
636 $tpl = $DIC->ui()->mainTemplate();
637 $ilPluginAdmin = $DIC['ilPluginAdmin'];
638
639 include_once("./Services/Component/classes/class.ilPlugin.php");
641 $_GET["ctype"],
642 $_GET["cname"],
643 $_GET["slot_id"],
644 $_GET["pname"]
645 );
646
647 $pl_meta = $ilPluginAdmin->getAllData(
648 $_GET["ctype"],
649 $_GET["cname"],
650 $_GET["slot_id"],
651 $_GET["pname"]
652 );
653
654 $activation = ((bool) $pl_meta["activation_possible"] || (bool) $pl_meta["is_active"]); // #18827
655 $reason = $pl_meta["inactive_reason"];
656
657 $question = $activation
658 ? sprintf($this->lng->txt("cmps_uninstall_confirm"), $pl->getPluginName())
659 : sprintf($this->lng->txt("cmps_uninstall_inactive_confirm"), $pl->getPluginName(), $reason);
660
661 $ilCtrl->setParameter($this, "ctype", $_GET["ctype"]);
662 $ilCtrl->setParameter($this, "cname", $_GET["cname"]);
663 $ilCtrl->setParameter($this, "slot_id", $_GET["slot_id"]);
664 $ilCtrl->setParameter($this, "pname", $_GET["pname"]);
665
666 include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
667 $confirmation_gui = new ilConfirmationGUI();
668 $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
669 $confirmation_gui->setHeaderText($question);
670 $confirmation_gui->setCancel($this->lng->txt("cancel"), "listPlugins");
671 $confirmation_gui->setConfirm($this->lng->txt("cmps_uninstall"), "uninstallPlugin");
672
673 $tpl->setContent($confirmation_gui->getHTML());
674 }
675
676 protected function uninstallPlugin()
677 {
678 global $DIC;
679 $ilCtrl = $DIC->ctrl();
680
681 include_once("./Services/Component/classes/class.ilPlugin.php");
683 $_GET["ctype"],
684 $_GET["cname"],
685 $_GET["slot_id"],
686 $_GET["pname"]
687 );
688
689 try {
690 $result = $pl->uninstall();
691 if ($result !== true) {
693 } else {
694 ilUtil::sendSuccess($this->lng->txt("cmps_plugin_uninstalled"), true);
695 }
696 } catch (ilPluginException $e) {
697 ilUtil::sendFailure($e->getMessage(), true);
698 }
699
700 ilGlobalCache::flushAll();
701 $ilPluginsOverviewTableGUI = new ilPluginsOverviewTableGUI($this);
702
703 $ilCtrl->setParameter($this, "ctype", $_GET["ctype"]);
704 $ilCtrl->setParameter($this, "cname", $_GET["cname"]);
705 $ilCtrl->setParameter($this, "slot_id", $_GET["slot_id"]);
706 $ilCtrl->redirect($this, "listPlugins");
707 }
708}
$result
$section
Definition: Utf8Test.php:83
$path
Definition: aliased.php:25
$_GET["client_id"]
An exception for terminatinating execution or to throw for unit testing.
static getComponentObject($a_ctype, $a_cname)
Get component object.
TableGUI class for components listing.
Confirmation screen class.
This class represents a section header in a property form.
This class represents a non editable value in a property form.
Components (Modules, Services, Plugins) Settings.
update(ilPlugin $plugin)
Execute update and ctrl reload.
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Contructor.
showPluginSlotInfo()
Show information about a plugin slot.
Class ilObjectGUI Basic methods of all Output classes.
prepareOutput($a_show_subobjects=true)
prepare output
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
Database Update class.
static lookupSlotName($a_ctype, $a_cname, $a_slot_id)
Lookup slot name for component and slot id.
static getPluginRecord(string $a_ctype, string $a_cname, string $a_slot_id, string $a_pname)
static getAvailableLangFiles(string $a_lang_directory)
Get array of all language files in the plugin.
static hasConfigureClass(string $a_slot_dir, array $plugin_data, array $plugin_db_data)
Has the plugin a configure class?
update()
Update plugin.
static getDBUpdateScriptName(string $a_ctype, string $a_cname, string $a_slot_name, string $a_pname)
static getPluginObject(string $a_ctype, string $a_cname, string $a_slot_id, string $a_pname)
static getConfigureClassName(array $plugin_data)
Get plugin configure class name.
TableGUI class for components listing.
This class represents a property form user interface.
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$key
Definition: croninfo.php:18
$r
Definition: example_031.php:79
global $ilCtrl
Definition: ilias.php:18
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
Definition: langwiz.php:349
$config
Definition: bootstrap.php:15
$info
Definition: index.php:5
$ret
Definition: parser.php:6
if(empty($password)) $table
Definition: pwgen.php:24
if(isset($_POST['submit'])) $form
global $DIC
Definition: saml.php:7
global $ilDB