ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilObjStudyProgrammeAdminGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3include_once('./Services/Object/classes/class.ilObjectGUI.php');
4include_once('./Modules/StudyProgramme/classes/types/class.ilStudyProgrammeTypeGUI.php');
5require_once('./Modules/StudyProgramme/classes/class.ilObjStudyProgrammeAdmin.php');
6
23 public function __construct($a_data, $a_id, $a_call_by_reference = true, $a_prepare_output = true) {
24 global $ilCtrl, $ilAccess, $ilSetting;
25 $this->ctrl = $ilCtrl;
26 $this->ilAccess = $ilAccess;
27 $this->ilSetting = $ilSetting;
28 $this->type = 'prgs';
29 parent::ilObjectGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
30 $this->lng->loadLanguageModule('prg');
31 //Check Permissions globally for all SubGUIs. We only check write permissions
32 $this->checkPermission('write');
33 }
34
35
40 public function executeCommand() {
41 $next_class = $this->ctrl->getNextClass($this);
42 $cmd = $this->ctrl->getCmd();
43 $this->prepareOutput();
44 switch ($next_class) {
45 case 'ilpermissiongui':
46 $this->tabs_gui->setTabActive('perm_settings');
47 include_once('Services/AccessControl/classes/class.ilPermissionGUI.php');
48 $perm_gui = new ilPermissionGUI($this);
49 $this->ctrl->forwardCommand($perm_gui);
50 break;
51 case 'ilstudyprogrammetypegui':
52 $this->tabs_gui->setTabActive('prg_subtypes');
53 $type_gui = new ilStudyProgrammeTypeGUI($this);
54 $this->ctrl->forwardCommand($type_gui);
55 break;
56 default:
57 if(!$cmd || $cmd == "view")
58 {
59 $cmd = "editSettings";
60 }
61 $this->$cmd();
62 break;
63 }
64 }
65
66 public function editSettings() {
67 $this->tabs_gui->setTabActive('settings');
68
69 if(!$a_form)
70 {
71 $a_form = $this->initFormSettings();
72 }
73 $this->tpl->setContent($a_form->getHTML());
74 return true;
75 }
76
77 public function initFormSettings(ilPropertyFormGUI $a_form = null) {
78
79 include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
80 $form = new ilPropertyFormGUI();
81 $form->setFormAction($this->ctrl->getFormAction($this, "saveSettings"));
82 $form->setTitle($this->lng->txt("settings"));
83
84 $radio_grp = new ilRadioGroupInputGUI($this->lng->txt("prg_show_programmes"),"visible_on_personal_desktop");
85 $radio_grp->addOption(new ilRadioOption($this->lng->txt("prg_show_programmes_on_pd_always"),ilObjStudyProgrammeAdmin::SETTING_VISIBLE_ON_PD_ALLWAYS));
86 $radio_grp->addOption(new ilRadioOption($this->lng->txt("prg_show_programmes_on_pd_only_read"),ilObjStudyProgrammeAdmin::SETTING_VISIBLE_ON_PD_READ));
89 $radio_grp->setValue($value);
90 $form->addItem($radio_grp);
91
92 if ($this->ilAccess->checkAccess("write", "", $this->object->getRefId()))
93 {
94 $form->addCommandButton("saveSettings", $this->lng->txt("save"));
95 $form->addCommandButton("view", $this->lng->txt("cancel"));
96 }
97
98 return $form;
99 }
100
101 public function saveSettings()
102 {
103 $this->checkPermission("write");
104
105 $form = $this->initFormSettings();
106 if($form->checkInput())
107 {
108 if($this->save($form))
109 {
111 $form->getInput('visible_on_personal_desktop'));
112
113 ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
114 $this->ctrl->redirect($this, "editSettings");
115 }
116 }
117
118 $form->setValuesByPost();
119 $this->editSettings($form);
120 }
121
122 public function getAdminTabs() {
123 global $rbacsystem;
128 if ($rbacsystem->checkAccess('visible,read', $this->object->getRefId())) {
129 $this->tabs_gui->addTarget('settings', $this->ctrl->getLinkTargetByClass('ilObjStudyProgrammeAdminGUI', 'view'));
130
131 $this->tabs_gui->addTarget('prg_subtypes', $this->ctrl->getLinkTargetByClass(array(
132 'ilObjStudyProgrammeAdminGUI',
133 'ilStudyProgrammeTypeGUI'
134 ), 'listTypes'));
135 }
136 if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
137 $this->tabs_gui->addTarget('perm_settings', $this->ctrl->getLinkTargetByClass('ilpermissiongui', 'perm'), array(), 'ilpermissiongui');
138 }
139 }
140
141 public function _goto($ref_id) {
142 $this->ctrl->initBaseClass("ilAdministrationGUI");
143 $this->ctrl->setTargetScript("ilias.php");
144 $this->ctrl->setParameterByClass("ilObjStudyProgrammeAdminGUI", "ref_id", $ref_id);
145 $this->ctrl->setParameterByClass("ilObjStudyProgrammeAdminGUI", "admin_mode", "settings");
146 $this->ctrl->redirectByClass(array( "ilAdministrationGUI", "ilObjStudyProgrammeAdminGUI" ), "view");
147 }
148
149 protected function save(ilPropertyFormGUI $a_form) {
150 return true;
151 }
152}
StudyProgramme Administration Settings.
initFormSettings(ilPropertyFormGUI $a_form=null)
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Class ilObjectGUI Basic methods of all Output classes.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
prepareOutput()
prepare output
getAdminTabs(&$tabs_gui)
administration tabs show only permissions and trash folder
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents a property form user interface.
This class represents a property in a property form.
This class represents an option in a radio group.
ILIAS Setting Class.
set($a_key, $a_val)
write one value to db-table settings @access public
get($a_keyword, $a_default_value=false)
get setting
Class ilStudyProgrammeTypeGUI.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
global $ilCtrl
Definition: ilias.php:18
global $ilSetting
Definition: privfeed.php:40
$cmd
Definition: sahs_server.php:35