ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilObjBlogAdministrationGUI.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");
4
17{
23 public function __construct($a_data, $a_id, $a_call_by_reference = true, $a_prepare_output = true)
24 {
25 global $DIC;
26
27 $this->lng = $DIC->language();
28 $this->settings = $DIC->settings();
29 $this->ctrl = $DIC->ctrl();
30 $this->type = "blga";
31 parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
32
33 $this->lng->loadLanguageModule("blog");
34 }
35
42 public function executeCommand()
43 {
44 $next_class = $this->ctrl->getNextClass($this);
45 $cmd = $this->ctrl->getCmd();
46
47 $this->prepareOutput();
48
49 switch ($next_class) {
50 case 'ilpermissiongui':
51 $this->tabs_gui->setTabActive('perm_settings');
52 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
53 $perm_gui = new ilPermissionGUI($this);
54 $this->ctrl->forwardCommand($perm_gui);
55 break;
56
57 default:
58 if (!$cmd || $cmd == 'view') {
59 $cmd = "editSettings";
60 }
61
62 $this->$cmd();
63 break;
64 }
65 return true;
66 }
67
74 public function getAdminTabs()
75 {
76 if ($this->checkPermissionBool("visible,read")) {
77 $this->tabs_gui->addTarget(
78 "settings",
79 $this->ctrl->getLinkTarget($this, "editSettings"),
80 array("editSettings", "view")
81 );
82 }
83
84 if ($this->checkPermissionBool('edit_permission')) {
85 $this->tabs_gui->addTarget(
86 "perm_settings",
87 $this->ctrl->getLinkTargetByClass('ilpermissiongui', "perm"),
88 array(),
89 'ilpermissiongui'
90 );
91 }
92 }
93
94
98 public function editSettings($a_form = null)
99 {
102
103 $this->tabs_gui->setTabActive('settings');
104
105 if (!$ilSetting->get("disable_wsp_blogs")) {
106 ilUtil::sendInfo($lng->txt("blog_admin_toggle_info"));
107 } else {
108 ilUtil::sendInfo($lng->txt("blog_admin_inactive_info"));
109 }
110
111 if (!$a_form) {
112 $a_form = $this->initFormSettings();
113 }
114 $this->tpl->setContent($a_form->getHTML());
115 return true;
116 }
117
121 public function saveSettings()
122 {
124
125 $this->checkPermission("write");
126
127 $form = $this->initFormSettings();
128 if ($form->checkInput()) {
129 $banner = (bool) $form->getInput("banner");
130
131 $blga_set = new ilSetting("blga");
132 $blga_set->set("banner", $banner);
133 $blga_set->set("banner_width", (int) $form->getInput("width"));
134 $blga_set->set("banner_height", (int) $form->getInput("height"));
135 $blga_set->set("mask", (bool) $form->getInput("mask"));
136
137 ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
138 $ilCtrl->redirect($this, "editSettings");
139 }
140
141 $form->setValuesByPost();
142 $this->editSettings($form);
143 }
144
148 public function cancel()
149 {
151
152 $ilCtrl->redirect($this, "view");
153 }
154
160 protected function initFormSettings()
161 {
163
164 include_once('Services/Form/classes/class.ilPropertyFormGUI.php');
165 $form = new ilPropertyFormGUI();
166 $form->setFormAction($this->ctrl->getFormAction($this));
167 $form->setTitle($this->lng->txt('blog_settings'));
168
169 if ($this->checkPermissionBool("write")) {
170 $form->addCommandButton('saveSettings', $this->lng->txt('save'));
171 $form->addCommandButton('cancel', $this->lng->txt('cancel'));
172 }
173
174 $banner = new ilCheckboxInputGUI($lng->txt("blog_preview_banner"), "banner");
175 $banner->setInfo($lng->txt("blog_preview_banner_info"));
176 $form->addItem($banner);
177
178 $width = new ilNumberInputGUI($lng->txt("blog_preview_banner_width"), "width");
179 $width->setRequired(true);
180 $width->setSize(4);
181 $banner->addSubItem($width);
182
183 $height = new ilNumberInputGUI($lng->txt("blog_preview_banner_height"), "height");
184 $height->setRequired(true);
185 $height->setSize(4);
186 $banner->addSubItem($height);
187
188 $blga_set = new ilSetting("blga");
189 $banner->setChecked($blga_set->get("banner", false));
190 if ($blga_set->get("banner")) {
191 $width->setValue($blga_set->get("banner_width"));
192 $height->setValue($blga_set->get("banner_height"));
193 } else {
194 $width->setValue(1370);
195 $height->setValue(100);
196 }
197
198 /*
199 $mask = new ilCheckboxInputGUI($lng->txt("blog_allow_html"), "mask");
200 $mask->setInfo($lng->txt("blog_allow_html_info"));
201 $mask->setChecked($blga_set->get("mask", false));
202 $form->addItem($mask);*/
203
205 $ne = new ilNonEditableValueGUI($lng->txt("blog_allow_html"), "", true);
206 $this->ctrl->setParameter($gui, "ref_id", $gui->object->getRefId());
207 $link = $this->ctrl->getLinkTarget($gui);
208 $ne->setValue("<a href='$link'> >> " . $this->lng->txt("settings") . "</a>");
209 $form->addItem($ne);
210
211
212 return $form;
213 }
214}
An exception for terminatinating execution or to throw for unit testing.
This class represents a checkbox property in a property form.
This class represents a non editable value in a property form.
This class represents a number property in a property form.
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Contructor.
editSettings($a_form=null)
Edit settings.
initFormSettings()
Init settings property form.
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($a_show_subobjects=true)
prepare output
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents a property form user interface.
ILIAS Setting Class.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
global $ilCtrl
Definition: ilias.php:18
global $ilSetting
Definition: privfeed.php:17
if(isset($_POST['submit'])) $form
global $DIC
Definition: saml.php:7
settings()
Definition: settings.php:2