ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilObjStudyProgrammeGUI.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 2015 Richard Klees <richard.klees@concepts-and-training.de> Extended GPL, see docs/LICENSE */
4 
5 require_once("./Services/Container/classes/class.ilContainerGUI.php");
6 require_once("./Services/AccessControl/classes/class.ilObjRole.php");
7 require_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
8 require_once("./Services/AccessControl/classes/class.ilPermissionGUI.php");
9 require_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
10 require_once("./Services/Object/classes/class.ilObjectAddNewItemGUI.php");
11 require_once("./Modules/StudyProgramme/classes/class.ilObjStudyProgrammeTreeGUI.php");
12 require_once('./Services/Container/classes/class.ilContainerSortingSettings.php');
13 require_once("./Modules/StudyProgramme/classes/types/class.ilStudyProgrammeTypeGUI.php");
14 require_once("./Modules/StudyProgramme/classes/model/class.ilStudyProgrammeAdvancedMetadataRecord.php");
15 require_once("./Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php");
16 require_once("./Services/Object/classes/class.ilObjectCopyGUI.php");
17 require_once("./Services/Repository/classes/class.ilRepUtil.php");
18 
38  public $ctrl;
39 
43  public $tpl;
44 
48  public $tabs_gui;
49 
53  protected $ilAccess;
54 
58  protected $toolbar;
59 
63  protected $ilLocator;
64 
68  public $tree;
69 
73  public $object;
74 
78  protected $ilLog;
79 
83  public $ilias;
84 
88  protected $help;
89 
90 
91  public function __construct() {
92  global $DIC;
93  $tpl = $DIC['tpl'];
94  $ilCtrl = $DIC['ilCtrl'];
95  $ilAccess = $DIC['ilAccess'];
96  $ilToolbar = $DIC['ilToolbar'];
97  $ilLocator = $DIC['ilLocator'];
98  $tree = $DIC['tree'];
99  $lng = $DIC['lng'];
100  $ilLog = $DIC['ilLog'];
101  $ilias = $DIC['ilias'];
102  $ilHelp = $DIC['ilHelp'];
103 
104  parent::__construct(array(), (int) $_GET['ref_id'], true, false);
105 
106  $this->tpl = $tpl;
107  $this->ctrl = $ilCtrl;
108  $this->ilAccess = $ilAccess;
109  $this->ilLocator = $ilLocator;
110  $this->tree = $tree;
111  $this->toolbar = $ilToolbar;
112  $this->ilLog = $ilLog;
113  $this->ilias = $ilias;
114  $this->type = "prg";
115  $this->help = $ilHelp;
116 
117  $lng->loadLanguageModule("prg");
118  }
119 
120 
121  public function executeCommand() {
122  $cmd = $this->ctrl->getCmd();
123  $next_class = $this->ctrl->getNextClass($this);
124 
125  if ($cmd == "") {
126  $cmd = "view";
127  }
128 
129  $this->addToNavigationHistory();
130 
131  parent::prepareOutput();
132 
133  // show repository tree
134  $this->showRepTree();
135 
136  switch ($next_class) {
137  case "ilinfoscreengui":
138  $this->tabs_gui->setTabActive(self::TAB_INFO);
139  $this->denyAccessIfNotAnyOf(array("read", "visible"));
140  $info = new ilInfoScreenGUI($this);
141  $this->fillInfoScreen($info);
142  $this->ctrl->forwardCommand($info);
143 
144  // I guess this is how it was supposed to work, but it doesn't... it won't respect our sub-id and sub-type when creating the objects!
145  // So we reimplemented the stuff in the method parseInfoScreen()
146  // $info = new ilInfoScreenGUI($this);
147  // $amd_gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_INFO, 'orgu', $this->object->getId(), 'orgu_type', $this->object->getOrgUnitTypeId());
148  // $amd_gui->setInfoObject($info);
149  // $amd_gui->setSelectedOnly(true);
150  // $amd_gui->parse();
151  // $this->ctrl->forwardCommand($info);
152  break;
153  case 'ilpermissiongui':
154  $this->tabs_gui->setTabActive('perm_settings');
155  $ilPermissionGUI = new ilPermissionGUI($this);
156  $this->ctrl->forwardCommand($ilPermissionGUI);
157  break;
158  case "ilcommonactiondispatchergui":
159  require_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
161  $this->ctrl->forwardCommand($gui);
162  break;
163  case "ilobjstudyprogrammesettingsgui":
164  $this->denyAccessIfNot("write");
165 
166  $this->getSubTabs('settings');
167  $this->tabs_gui->setTabActive(self::TAB_SETTINGS);
168  $this->tabs_gui->setSubTabActive('settings');
169 
170  require_once("Modules/StudyProgramme/classes/class.ilObjStudyProgrammeSettingsGUI.php");
171  $gui = new ilObjStudyProgrammeSettingsGUI($this, $this->ref_id);
172  $this->ctrl->forwardCommand($gui);
173  break;
174  /*case 'iltranslationgui':
175  $this->denyAccessIfNot("write");
176 
177  $this->getSubTabs('settings');
178  $this->tabs_gui->setTabActive("settings");
179  $this->tabs_gui->setSubTabActive('edit_translations');
180 
181  $ilTranslationGui = new ilTranslationGUI($this);
182  $this->ctrl->forwardCommand($ilTranslationGui);
183  break;*/
184  case "ilobjstudyprogrammemembersgui":
185  $this->denyAccessIfNot("manage_members");
186  $this->tabs_gui->setTabActive(self::TAB_MEMBERS);
187  require_once("Modules/StudyProgramme/classes/class.ilObjStudyProgrammeMembersGUI.php");
188  $gui = new ilObjStudyProgrammeMembersGUI($this, $this->ref_id);
189  $this->ctrl->forwardCommand($gui);
190  break;
191  case "ilobjstudyprogrammetreegui":
192  $this->denyAccessIfNot("write");
193 
194  $this->getSubTabs($cmd);
195  $this->setContentSubTabs();
196  $this->tabs_gui->setTabActive(self::TAB_VIEW_CONTENT);
197  $this->tabs_gui->setSubTabActive(self::SUBTAB_VIEW_TREE);
198 
199  // disable admin panel
200  $_SESSION["il_cont_admin_panel"] = false;
201 
202  $gui = new ilObjStudyProgrammeTreeGUI($this->id);
203  $this->ctrl->forwardCommand($gui);
204  break;
205  case 'ilstudyprogrammetypegui':
206  $this->tabs_gui->setTabActive('subtypes');
207 
208  $types_gui = new ilStudyProgrammeTypeGUI($this);
209  $this->ctrl->forwardCommand($types_gui);
210  break;
211  case 'ilobjectcopygui':
212  $gui = new ilobjectcopygui($this);
213  $this->ctrl->forwardCommand($gui);
214  break;
215  case false:
216  $this->getSubTabs($cmd);
217  switch ($cmd) {
218  case "cancelDelete":
219  $cmd = "view";
220  case "create":
221  case "save":
222  case "view":
223  case "cancel":
224  case "edit":
225  $this->$cmd();
226  break;
227  case "delete":
228  $this->tabs_gui->clearTargets();
229  $this->tabs_gui->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTarget($this));
230  parent::deleteObject();
231  break;
232  case 'confirmedDelete':
233  parent::confirmedDeleteObject();
234  break;
235  case 'editAdvancedSettings':
236  $this->tabs_gui->setTabActive("settings");
237  $this->tabs_gui->setSubTabActive('edit_advanced_settings');
238  //$this->setSubTabsSettings('edit_advanced_settings');
239  $this->editAdvancedSettings();
240  break;
241  case 'updateAdvancedSettings':
242  $this->tabs_gui->setTabActive("settings");
243  $this->tabs_gui->setSubTabActive('edit_advanced_settings');
244  //$this->setSubTabsSettings('edit_advanced_settings');
245  $this->updateAdvancedSettings();
246  break;
247  case "infoScreen":
248  $this->ctrl->redirectByClass("ilInfoScreenGUI", "showSummary");
249  break;
250  case 'getAsynchItemList':
251  parent::getAsynchItemListObject();
252  break;
253  case 'trash':
254  case 'undelete':
255  case 'confirmRemoveFromSystem':
256  case 'removeFromSystem':
257  $cmd .= "Object";
258  $this->$cmd();
259  break;
260  /*case 'editSettings':
261  $this->tabs_gui->setTabActive("settings");
262  $this->setSubTabsSettings('edit_settings');
263  $this->editSettings();
264  break;
265  case '':
266  case 'view':
267  case 'render':
268  case 'cancel':
269  case 'cancelDelete':
270  $this->view();
271  break;
272  case 'create':
273 
274  parent::createObject();
275  break;
276  case 'save':
277  parent::saveObject();
278  break;
279  case 'delete':
280  $this->tabs_gui->clearTargets();
281  $this->tabs_gui->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTarget($this));
282  parent::deleteObject();
283  break;
284  case 'confirmedDelete':
285  parent::confirmedDeleteObject();
286  break;
287  case 'cut':
288  $this->tabs_gui->clearTargets();
289  $this->tabs_gui->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTarget($this));
290  parent::cutObject();
291  break;
292  case 'clear':
293  parent::clearObject();
294  break;
295  case 'enableAdministrationPanel':
296  parent::enableAdministrationPanelObject();
297  break;
298  case 'disableAdministrationPanel':
299  parent::disableAdministrationPanelObject();
300  break;
301  case 'editSettings':
302  $this->tabs_gui->setTabActive("settings");
303  $this->setSubTabsSettings('edit_settings');
304  $this->editSettings();
305  break;
306  case 'updateSettings':
307  $this->tabs_gui->setTabActive("settings");
308  $this->setSubTabsSettings('edit_settings');
309  $this->updateSettings();
310  break;
311  case 'editAdvancedSettings':
312  $this->tabs_gui->setTabActive("settings");
313  $this->setSubTabsSettings('edit_advanced_settings');
314  $this->editAdvancedSettings();
315  break;
316  case 'updateAdvancedSettings':
317  $this->tabs_gui->setTabActive("settings");
318  $this->setSubTabsSettings('edit_advanced_settings');
319  $this->updateAdvancedSettings();
320  break;*/
321  default:
322  throw new ilException("ilObjStudyProgrammeGUI: Command not supported: $cmd");
323  }
324  break;
325  default:
326  throw new ilException("ilObjStudyProgrammeGUI: Can't forward to next class $next_class");
327  }
328  }
329 
330 
334  protected function create() {
335  parent::createObject();
336  }
337 
338 
344  protected function save() {
345  parent::saveObject();
346 
347  if($this->ctrl->isAsynch()) {
348  $form = $this->getAsyncCreationForm();
349  $form->setValuesByPost();
350  echo ilAsyncOutputHandler::encodeAsyncResponse(array("cmd" =>$this->ctrl->getCmd(), "success"=>false, "errors"=>$form->getErrors()));
351  exit();
352  }
353  }
354 
355 
361  protected function cancel() {
362  $async_response = ilAsyncOutputHandler::encodeAsyncResponse(array("cmd" =>"cancel", "success"=>false));
363 
364  ilAsyncOutputHandler::handleAsyncOutput("", $async_response, false);
365 
366  parent::cancelCreation();
367  }
368 
369 
376  protected function afterSave(ilObject $a_new_object)
377  {
378  // set default sort to manual
379  $settings = new ilContainerSortingSettings($a_new_object->getId());
381  $settings->setSortDirection(ilContainer::SORT_DIRECTION_ASC);
382  $settings->setSortNewItemsOrder(ilContainer::SORT_NEW_ITEMS_ORDER_CREATION);
383  $settings->setSortNewItemsPosition(ilContainer::SORT_NEW_ITEMS_POSITION_BOTTOM);
384  $settings->save();
385 
386  $async_response = ilAsyncOutputHandler::encodeAsyncResponse(array("cmd" =>"cancel", "success"=>true, "message"=>$this->lng->txt("object_added")));
387 
388  ilAsyncOutputHandler::handleAsyncOutput("", $async_response, false);
389 
390  ilUtil::sendSuccess($this->lng->txt("object_added"), true);
391 
392  $this->ctrl->setParameter($this, "ref_id", $a_new_object->getRefId());
393  ilUtil::redirect($this->getReturnLocation("save",
394  $this->ctrl->getLinkTarget($this, "edit", "", false, false)));
395  }
396 
397 
401  protected function view() {
402  $this->denyAccessIfNot("read");
403  $this->tabs_gui->setTabActive(self::TAB_VIEW_CONTENT);
404 
405  parent::renderObject();
406  }
407 
413  protected function initAdvancedSettingsForm() {
414  $form = new ilPropertyFormGUI();
415  $form->setFormAction($this->ctrl->getFormAction($this));
416  $form->addCommandButton('updateAdvancedSettings', $this->lng->txt('save'));
417  $form->addCommandButton('editAdvancedSettings', $this->lng->txt('cancel'));
418 
419  return $form;
420  }
421 
425  protected function editAdvancedSettings() {
426  if (!$this->ilAccess->checkAccess("write", "", $this->ref_id)) {
427  ilUtil::sendFailure($this->lng->txt("permission_denied"), true);
428  $this->ctrl->redirect($this);
429  }
430  $form = $this->initAdvancedSettingsForm();
431  $gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_EDITOR, 'prg', $this->object->getId(), 'prg_type', $this->object->getSubtypeId());
432  $gui->setPropertyForm($form);
433  $gui->parse();
434  $this->tpl->setContent($form->getHTML());
435  }
436 
437 
441  protected function updateAdvancedSettings() {
442  if (!$this->ilAccess->checkAccess("write", "", $this->ref_id)) {
443  ilUtil::sendFailure($this->lng->txt("permission_denied"), true);
444  $this->ctrl->redirect($this);
445  }
446 
447  $form = $this->initAdvancedSettingsForm();
448  $gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_EDITOR, 'prg', $this->object->getId(), 'prg_type', $this->object->getSubtypeId());
449  $gui->setPropertyForm($form);
450  $form->checkInput();
451  $gui->parse();
452  if ($gui->importEditFormPostValues()) {
453  $gui->writeEditForm();
454  ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
455  $this->ctrl->redirect($this, 'editAdvancedSettings');
456  } else {
457  $this->tpl->setContent($form->getHTML());
458  }
459  }
460 
461 
469  protected function initCreationForms($a_new_type) {
470  return array( self::CFORM_NEW => $this->initCreateForm($a_new_type));
471  }
472 
473 
480  public function getAsyncCreationForm() {
481  $asyncForm = new ilAsyncPropertyFormGUI();
482 
483  $tmp_forms = $this->initCreationForms('prg');
484  $asyncForm->cloneForm($tmp_forms[self::CFORM_NEW]);
485  $asyncForm->setAsync(true);
486 
487  return $asyncForm;
488  }
489 
491  // HELPERS
493 
494  protected function checkAccess($a_which) {
495  return $this->ilAccess->checkAccess($a_which, "", $this->ref_id);
496  }
497 
498  protected function denyAccessIfNot($a_perm) {
499  return $this->denyAccessIfNotAnyOf(array($a_perm));
500  }
501 
502  protected function denyAccessIfNotAnyOf($a_perms) {
503  foreach ($a_perms as $perm) {
504  if ($this->checkAccess($perm)) {
505  return;
506  }
507  }
508 
509  if ($this->checkAccess("visible")) {
510  ilUtil::sendFailure($this->lng->txt("msg_no_perm_write"));
511  $this->ctrl->redirectByClass('ilinfoscreengui', '');
512  }
513 
514  $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"), $this->ilias->error_obj->WARNING);
515  }
516 
517  const TAB_VIEW_CONTENT = "view_content";
518  const SUBTAB_VIEW_TREE = "view_tree";
519  const TAB_INFO = "info_short";
520  const TAB_SETTINGS = "settings";
521  const TAB_MEMBERS = "members";
522  const TAB_SUBTYPES = "subtypes";
523 
527  public function getTabs() {
528  $this->help->setScreenIdComponent("prg");
529  if ($this->checkAccess("read")) {
530  $this->tabs_gui->addTab( self::TAB_VIEW_CONTENT
531  , $this->lng->txt("content")
532  , $this->getLinkTarget("view"));
533  }
534 
535  if ($this->checkAccess("visible")) {
536  $this->tabs_gui->addTab( self::TAB_INFO
537  , $this->lng->txt("info_short")
538  , $this->getLinkTarget("info_short")
539  );
540  }
541 
542  if ($this->checkAccess("write")) {
543  $this->tabs_gui->addTab( self::TAB_SETTINGS
544  , $this->lng->txt("settings")
545  , $this->getLinkTarget("settings")
546  );
547  }
548 
549  if ($this->checkAccess("manage_members") ) {
550  $this->tabs_gui->addTab( self::TAB_MEMBERS
551  , $this->lng->txt("members")
552  , $this->getLinkTarget("members")
553  );
554  }
555  parent::getTabs();
556  }
557 
563  public function getSubTabs($a_parent_tab) {
564  switch($a_parent_tab) {
565  case self::TAB_VIEW_CONTENT:
566  case self::SUBTAB_VIEW_TREE:
567  case 'view':
568  if($this->checkAccess("read")) {
569  $this->tabs_gui->addSubTab(self::TAB_VIEW_CONTENT, $this->lng->txt("view"), $this->getLinkTarget("view"));
570  }
571 
572  if($this->checkAccess("write")) {
573  $this->tabs_gui->addSubTab(self::SUBTAB_VIEW_TREE, $this->lng->txt("cntr_manage"), $this->getLinkTarget(self::SUBTAB_VIEW_TREE));
574  }
575  break;
576  case 'settings':
577  case 'editAdvancedSettings':
578  $this->tabs_gui->addSubTab('settings', $this->lng->txt('settings'), $this->getLinkTarget('settings'));
579  //$this->tabs_gui->addSubTab("edit_translations", $this->lng->txt("obj_multilinguality"), $this->ctrl->getLinkTargetByClass("iltranslationgui", "editTranslations"));
580 
581  $type = ilStudyProgrammeType::find($this->object->getSubtypeId());
582 
583  if (!is_null($type) && count($type->getAssignedAdvancedMDRecords(true))) {
584  $this->tabs_gui->addSubTab('edit_advanced_settings', $this->lng->txt('prg_adv_settings'), $this->ctrl->getLinkTarget($this, 'editAdvancedSettings'));
585  }
586  break;
587  }
588 
589  }
590 
591 
595  public function setContentSubTabs() {
596  return;
597  }
598 
599 
607  protected function getLinkTarget($a_cmd) {
608  if ($a_cmd == "info_short") {
609  return $this->ctrl->getLinkTargetByClass("ilinfoscreengui", "showSummary");
610  }
611  if ($a_cmd == "settings") {
612  return $this->ctrl->getLinkTargetByClass("ilobjstudyprogrammesettingsgui", "view");
613  }
614  if($a_cmd == self::SUBTAB_VIEW_TREE) {
615  return $this->ctrl->getLinkTargetByClass("ilobjstudyprogrammetreegui", "view");
616  }
617  if ($a_cmd == "members") {
618  return $this->ctrl->getLinkTargetByClass("ilobjstudyprogrammemembersgui", "view");
619  }
620  if($a_cmd == "subtypes") {
621  return $this->ctrl->getLinkTargetByClass("ilstudyprogrammetypegui", "listTypes");
622  }
623 
624  return $this->ctrl->getLinkTarget($this, $a_cmd);
625  }
626 
627 
633  protected function fillInfoScreen($a_info_screen) {
634  require_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
635  require_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
636  require_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
637  require_once('./Services/ADT/classes/class.ilADTFactory.php');
638 
639  $type = ilStudyProgrammeType::find($this->object->getSubtypeId());
640  if (!$type) {
641  return;
642  }
643 
644  $record_gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_INFO, 'prg', $this->object->getId(), 'prg_type', $this->object->getSubtypeId());
645  $record_gui->setInfoObject($a_info_screen);
646  $record_gui->parse();
647  }
648 
649  protected function edit(){
650  $this->denyAccessIfNot("write");
651 
652  $this->getSubTabs('settings');
653  $this->tabs_gui->setTabActive(self::TAB_SETTINGS);
654  $this->tabs_gui->setSubTabActive('settings');
655 
656  require_once("Modules/StudyProgramme/classes/class.ilObjStudyProgrammeSettingsGUI.php");
657  $gui = new ilObjStudyProgrammeSettingsGUI($this, $this->ref_id);
658  $this->ctrl->setCmd("view");
659  $this->ctrl->forwardCommand($gui);
660  }
661 
668  public static function _goto($a_target) {
669  global $DIC;
670  $ilAccess = $DIC['ilAccess'];
671  $ilErr = $DIC['ilErr'];
672  $ilCtrl = $DIC['ilCtrl'];
673  $id = explode("_", $a_target);
674  $ilCtrl->setTargetScript("ilias.php");
675  $ilCtrl->initBaseClass("ilRepositoryGUI");
676  $ilCtrl->setParameterByClass("ilobjstudyprogrammegui", "ref_id", $id[0]);
677 
678  $ilCtrl->redirectByClass(array( "ilRepositoryGUI", "ilobjstudyprogrammegui" ), "view");
679  }
680 
681  public function addToNavigationHistory(){
682  global $DIC;
683  $ilNavigationHistory = $DIC['ilNavigationHistory'];
684 
685  if(!$this->getCreationMode() &&
686  $this->ilAccess->checkAccess('read', '', $_GET['ref_id']))
687  {
688  $link = $this->ctrl->getLinkTargetByClass("ilrepositorygui", "frameset");
689 
690  $ilNavigationHistory->addItem($_GET['ref_id'],
691  $link, 'prg');
692  }
693  }
694 }
695 
696 ?>
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
global $ilErr
Definition: raiseError.php:16
Base class for ILIAS Exception handling.
Class ilInfoScreenGUI.
Class ilObjStudyProgrammeGUI class.
$_SESSION["AccountId"]
This class represents a property form user interface.
setPropertyForm($form)
set property form object
$_GET["client_id"]
cancel()
Cancel the object generation.
Class ilObject Basic functions for all objects.
$cmd
Definition: sahs_server.php:35
logging
Definition: class.ilLog.php:18
global $ilCtrl
Definition: ilias.php:18
Class ilStudyProgrammeTypeGUI.
static _goto($a_target)
_goto Deep link
$info
Definition: example_052.php:80
getSubTabs($a_parent_tab)
Adds subtabs based on the parent tab.
const SORT_NEW_ITEMS_POSITION_BOTTOM
static encodeAsyncResponse(array $data=array())
Encode data as json for async output.
setInfoObject($info)
get info sections
getId()
get object id public
getLinkTarget($a_cmd)
Generates a link based on a cmd.
getAsyncCreationForm()
Method for implementing async windows-output Should be moved into core to enable async requests on cr...
const SORT_NEW_ITEMS_ORDER_CREATION
editAdvancedSettings()
Edit Advanced Metadata.
getTabs()
Adds the default tabs to the gui.
redirection script todo: (a better solution should control the processing via a xml file) ...
updateAdvancedSettings()
Update Advanced Metadata.
Class ilObjStudyProgrammeMembersGUI.
initCreateForm($a_new_type)
Init object creation form.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
setContentSubTabs()
Disable default content subtabs.
Create new PHPExcel object
obj_idprivate
fillInfoScreen($a_info_screen)
Adding meta-data to the info-screen.
getCreationMode()
get creation mode
getRefId()
get reference id public
afterSave(ilObject $a_new_object)
After save hook Sets the sorting of the container correctly.
Class ilContainerGUI.
initCreationForms($a_new_type)
Overwritten from ilObjectGUI since copy and import are not implemented.
Class ilAsyncPropertyFormGUI.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
global $DIC
const SORT_DIRECTION_ASC
initAdvancedSettingsForm()
Initialize the form for editing advanced meta data.
static redirect($a_script)
http redirect to other script
getReturnLocation($a_cmd, $a_location="")
get return location for command (command is method name without "Object", e.g.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Class ilObjStudyProgrammeSettingsGUI.
Class ilObjStudyProgrammeTreeGUI Generates the manage view for ilTrainingProgramme-Repository objects...
static handleAsyncOutput($normal_content, $async_content=null, $apply_to_tpl=true)
Handles async output.