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
5require_once("./Services/Container/classes/class.ilContainerGUI.php");
6require_once("./Services/AccessControl/classes/class.ilObjRole.php");
7require_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
8require_once("./Services/AccessControl/classes/class.ilPermissionGUI.php");
9require_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
10require_once("./Services/Object/classes/class.ilObjectAddNewItemGUI.php");
11require_once("./Modules/StudyProgramme/classes/class.ilObjStudyProgrammeTreeGUI.php");
12require_once('./Services/Container/classes/class.ilContainerSortingSettings.php');
13require_once("./Modules/StudyProgramme/classes/types/class.ilStudyProgrammeTypeGUI.php");
14require_once("./Modules/StudyProgramme/classes/model/class.ilStudyProgrammeAdvancedMetadataRecord.php");
15require_once("./Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php");
16require_once("./Services/Object/classes/class.ilObjectCopyGUI.php");
17require_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());
380 $settings->setSortMode(ilContainer::SORT_MANUAL);
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());
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) {
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?>
$_GET["client_id"]
$_SESSION["AccountId"]
An exception for terminatinating execution or to throw for unit testing.
static handleAsyncOutput($normal_content, $async_content=null, $apply_to_tpl=true)
Handles async output.
static encodeAsyncResponse(array $data=array())
Encode data as json for async output.
Class ilAsyncPropertyFormGUI.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Class ilContainerGUI.
const SORT_NEW_ITEMS_ORDER_CREATION
const SORT_NEW_ITEMS_POSITION_BOTTOM
const SORT_DIRECTION_ASC
Base class for ILIAS Exception handling.
Class ilInfoScreenGUI.
logging
Definition: class.ilLog.php:19
Class ilObjStudyProgrammeGUI class.
initAdvancedSettingsForm()
Initialize the form for editing advanced meta data.
getSubTabs($a_parent_tab)
Adds subtabs based on the parent tab.
cancel()
Cancel the object generation.
updateAdvancedSettings()
Update Advanced Metadata.
executeCommand()
execute command note: this method is overwritten in all container objects
fillInfoScreen($a_info_screen)
Adding meta-data to the info-screen.
getLinkTarget($a_cmd)
Generates a link based on a cmd.
editAdvancedSettings()
Edit Advanced Metadata.
getAsyncCreationForm()
Method for implementing async windows-output Should be moved into core to enable async requests on cr...
getTabs()
Adds the default tabs to the gui.
static _goto($a_target)
_goto Deep link
setContentSubTabs()
Disable default content subtabs.
initCreationForms($a_new_type)
Overwritten from ilObjectGUI since copy and import are not implemented.
afterSave(ilObject $a_new_object)
After save hook Sets the sorting of the container correctly.
Class ilObjStudyProgrammeMembersGUI.
Class ilObjStudyProgrammeSettingsGUI.
Class ilObjStudyProgrammeTreeGUI Generates the manage view for ilTrainingProgramme-Repository objects...
initCreateForm($a_new_type)
Init object creation form.
getReturnLocation($a_cmd, $a_location="")
get return location for command (command is method name without "Object", e.g.
getCreationMode()
get creation mode
Class ilObject Basic functions for all objects.
getRefId()
get reference id @access public
getId()
get object id @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents a property form user interface.
Class ilStudyProgrammeTypeGUI.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static redirect($a_script)
http redirect to other script
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$info
Definition: example_052.php:80
global $ilCtrl
Definition: ilias.php:18
redirection script todo: (a better solution should control the processing via a xml file)
global $ilErr
Definition: raiseError.php:16
$cmd
Definition: sahs_server.php:35
global $DIC