ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
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 */
3 include_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  {
100  $lng = $this->lng;
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  {
162  $lng = $this->lng;
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 }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
This class represents a property form user interface.
global $DIC
Definition: saml.php:7
This class represents a checkbox property in a property form.
global $ilCtrl
Definition: ilias.php:18
setInfo($a_info)
Set Information Text.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
prepareOutput($a_show_subobjects=true)
prepare output
if(isset($_POST['submit'])) $form
This class represents a number property in a property form.
Class ilObjectGUI Basic methods of all Output classes.
Create styles array
The data for the language used.
settings()
Definition: settings.php:2
This class represents a non editable value in a property form.
global $ilSetting
Definition: privfeed.php:17
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Contructor.
initFormSettings()
Init settings property form.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
setRequired($a_required)
Set Required.
editSettings($a_form=null)
Edit settings.