2 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
3 include_once(
"Services/Style/System/classes/Utilities/class.ilSkinXML.php");
4 include_once(
"Services/Style/System/classes/Utilities/class.ilSystemStyleSkinContainer.php");
5 include_once(
"Services/Style/System/classes/class.ilSystemStyleSettings.php");
6 include_once(
"Services/Style/System/classes/Exceptions/class.ilSystemStyleException.php");
7 include_once(
"Services/Style/System/classes/Utilities/class.ilSystemStyleMessageStack.php");
8 include_once(
"Services/Style/System/classes/Utilities/class.ilSystemStyleMessage.php");
9 include_once(
"Services/Style/System/classes/Settings/class.ilSubStyleAssignmentGUI.php");
46 $this->ctrl = $DIC->ctrl();
47 $this->lng = $DIC->language();
48 $this->tabs = $DIC->tabs();
50 $this->tpl = $DIC[
"tpl"];
59 $cmd = $this->ctrl->getCmd() ? $this->ctrl->getCmd():
"edit";
61 $skin = ilSkinXML::parseFromXML($system_style_conf->getCustomizingSkinPath() .
$_GET[
"skin_id"] .
"/template.xml");
62 $style = $skin->getStyle(
$_GET[
"style_id"]);
64 if ($style->isSubstyle()) {
65 if ($cmd ==
"edit" || $cmd ==
"view") {
73 case "deleteAssignments":
75 $assign_gui->deleteAssignments($skin, $style);
77 case "saveAssignment":
79 $assign_gui->saveAssignment($skin, $style);
83 $assign_gui->addAssignment($skin, $style);
87 $assign_gui->assignStyle($skin, $style);
104 $this->tabs->addSubTab(
'edit', $this->lng->txt(
'settings'), $this->ctrl->getLinkTargetByClass(
'ilsystemstylesettingsgui'));
105 $this->tabs->addSubTab(
'assignStyle', $this->lng->txt(
'assignment'), $this->ctrl->getLinkTargetByClass(
'ilsystemstylesettingsgui',
"assignStyle"));
107 $this->tabs->activateSubTab($active);
114 $this->tpl->setContent($form->getHTML());
124 if (!
$_GET[
"skin_id"]) {
127 if (!
$_GET[
"style_id"]) {
131 $skin = ilSkinXML::parseFromXML($system_style_config->getCustomizingSkinPath() .
$_GET[
"skin_id"] .
"/template.xml");
132 $style = $skin->getStyle(
$_GET[
"style_id"]);
133 $values[
"skin_id"] = $skin->getId();
134 $values[
"skin_name"] = $skin->getName();
135 $values[
"style_id"] = $style->getId();
136 $values[
"style_name"] = $style->getName();
137 $values[
"image_dir"] = $style->getImageDirectory();
138 $values[
"font_dir"] = $style->getFontDirectory();
139 $values[
"sound_dir"] = $style->getSoundDirectory();
142 if ($style->isSubstyle()) {
143 $values[
"parent_style"] = $style->getSubstyleOf();
146 $is_personal_style = $DIC->user()->getPref(
"skin") == $skin->getId() && $DIC->user()->getPref(
"style") == $style->getId();
147 $values[
"personal"] = $is_personal_style;
149 $values[
"default"] = $is_default_style;
152 $form->setValuesByArray($values);
161 if ($form->checkInput()) {
164 $skin = ilSkinXML::parseFromXML($system_style_conf->getCustomizingSkinPath() .
$_GET[
"skin_id"] .
"/template.xml");
165 $style = $skin->getStyle(
$_GET[
"style_id"]);
167 if ($style->isSubstyle()) {
174 $message_stack->sendMessages(
true);
175 $this->ctrl->redirectByClass(
"ilSystemStyleSettingsGUI");
180 $message_stack->sendMessages();
183 $form->setValuesByPost();
184 $this->tpl->setContent($form->getHTML());
198 $old_style = clone $old_skin->getStyle(
$_GET[
"style_id"]);
201 $new_skin->setId(
$_POST[
"skin_id"]);
202 $new_skin->setName(
$_POST[
"skin_name"]);
203 $new_skin->getVersionStep(
$_POST[
'skin_version']);
205 $new_style_id =
$_POST[
"style_id"];
206 $new_skin->updateParentStyleOfSubstyles($old_style->getId(), $new_style_id);
208 $new_style = $new_skin->getStyle(
$_GET[
"style_id"]);
209 $new_style->setId($new_style_id);
210 $new_style->setName(
$_POST[
"style_name"]);
211 $new_style->setCssFile(
$_POST[
"style_id"]);
212 $new_style->setImageDirectory(
$_POST[
"image_dir"]);
213 $new_style->setSoundDirectory(
$_POST[
"sound_dir"]);
214 $new_style->setFontDirectory(
$_POST[
"font_dir"]);
217 $container->updateStyle($new_style->getId(), $old_style);
226 if (
$_POST[
"active"] == 1) {
228 if (
$_POST[
"personal"] == 1) {
231 if (
$_POST[
"default"] == 1) {
237 $_POST[
"default"] = 0;
243 if (!
$_POST[
"personal"] && $DIC->user()->getPref(
"skin") == $new_skin->getId()) {
252 $system_style_conf->getDefaultSkinId(),
253 $system_style_conf->getDefaultStyleId()
265 $system_style_conf->getDefaultSkinId(),
266 $system_style_conf->getDefaultStyleId()
270 $this->lng->txt(
"default_style_set_to") .
" " . $system_style_conf->getDefaultSkinId() .
": " . $system_style_conf->getDefaultStyleId(),
275 $this->ctrl->setParameterByClass(
'ilSystemStyleSettingsGUI',
'skin_id', $new_skin->getId());
276 $this->ctrl->setParameterByClass(
'ilSystemStyleSettingsGUI',
'style_id', $new_style->getId());
287 $old_substyle = clone $skin->getStyle(
$_GET[
"style_id"]);
289 $new_substyle = $skin->getStyle(
$_GET[
"style_id"]);
290 $new_substyle->setId(
$_POST[
"style_id"]);
291 $new_substyle->setName(
$_POST[
"style_name"]);
292 $new_substyle->setCssFile(
$_POST[
"style_id"]);
293 $new_substyle->setImageDirectory(
$_POST[
"image_dir"]);
294 $new_substyle->setSoundDirectory(
$_POST[
"sound_dir"]);
295 $new_substyle->setFontDirectory(
$_POST[
"font_dir"]);
296 $new_substyle->setSubstyleOf($old_substyle->getSubstyleOf());
299 $container->updateStyle($new_substyle->getId(), $old_substyle);
303 $this->ctrl->setParameterByClass(
'ilSystemStyleSettingsGUI',
'skin_id', $skin->getId());
304 $this->ctrl->setParameterByClass(
'ilSystemStyleSettingsGUI',
'style_id', $new_substyle->getId());
316 $skin = ilSkinXML::parseFromXML($system_style_conf->getCustomizingSkinPath() .
$_GET[
"skin_id"] .
"/template.xml");
317 $style = $skin->getStyle(
$_GET[
"style_id"]);
319 $form->setFormAction($this->ctrl->getFormActionByClass(
"ilsystemstylesettingsgui"));
322 if (!$style->isSubstyle()) {
323 $form->setTitle($this->lng->txt(
"skin"));
326 $ti->setMaxLength(128);
328 $ti->setRequired(
true);
329 $ti->setInfo($this->lng->txt(
"skin_id_description"));
332 $ti =
new ilTextInputGUI($this->lng->txt(
"skin_name"),
"skin_name");
333 $ti->setInfo($this->lng->txt(
"skin_name_description"));
334 $ti->setMaxLength(128);
336 $ti->setRequired(
true);
339 if ($skin->isVersionChangeable()) {
341 $ti->
setInfo($this->lng->txt(
"skin_version_description"));
342 $ti->setValue($skin->getVersion());
347 $section->setTitle($this->lng->txt(
"style"));
350 $form->setTitle($this->lng->txt(
"sub_style"));
353 $ti =
new ilTextInputGUI($this->lng->txt(
"style_id"),
"style_id");
354 $ti->setMaxLength(128);
356 $ti->setRequired(
true);
357 $ti->setInfo($this->lng->txt(
"style_id_description"));
360 $ti =
new ilTextInputGUI($this->lng->txt(
"style_name"),
"style_name");
361 $ti->setMaxLength(128);
363 $ti->setRequired(
true);
364 $ti->setInfo($this->lng->txt(
"style_name_description"));
367 $ti =
new ilTextInputGUI($this->lng->txt(
"image_dir"),
"image_dir");
368 $ti->setMaxLength(128);
370 $ti->setInfo($this->lng->txt(
"image_dir_description"));
373 $ti =
new ilTextInputGUI($this->lng->txt(
"font_dir"),
"font_dir");
374 $ti->setMaxLength(128);
376 $ti->setInfo($this->lng->txt(
"font_dir_description"));
379 $ti =
new ilTextInputGUI($this->lng->txt(
"sound_dir"),
"sound_dir");
380 $ti->setMaxLength(128);
382 $ti->setInfo($this->lng->txt(
"sound_dir_description"));
385 if (!$style->isSubstyle()) {
387 $section->setTitle($this->lng->txt(
"system_style_activation"));
390 $active =
new ilCheckboxInputGUI($this->lng->txt(
"system_style_activation"),
"active");
391 $active->
setInfo($this->lng->txt(
"system_style_activation_description"));
394 $set_default->
setInfo($this->lng->txt(
"system_style_default_description"));
395 $active->addSubItem($set_default);
398 $set_personal->
setInfo($this->lng->txt(
"system_style_personal_description"));
399 $active->addSubItem($set_personal);
402 $form->addItem($active);
405 $form->addCommandButton(
"save", $this->lng->txt(
"save"));
406 $form->addCommandButton(
"cancel", $this->lng->txt(
"cancel"));
static _deactivateStyle($a_skin, $a_style)
deactivate system style
static getCurrentUserPrefSkin()
Gets a users preferred skin by using the user object.
static getCurrentDefaultSkin()
Gets default Skin of the System.
static setCurrentDefaultStyle($skin_id, $style_id)
Sets the default style of the system.
static getCurrentUserPrefStyle()
Gets a users preferred style by using the user object.
setInfo($a_info)
Set Information Text.
__construct()
Constructor.
addMessage(ilSystemStyleMessage $message)
Add a message to be displayed by the stack.
static _lookupActivatedStyle($a_skin, $a_style)
lookup if a style is activated
executeCommand()
Execute command.
static updateSkinIdAndStyleIDOfSubStyleCategoryAssignments(string $old_skin_id, string $old_style_id, string $new_skin_id, string $new_style_id)
Updates an assignment, e.g.
Class for advanced editing exception handling in ILIAS.
static setCurrentUserPrefStyle($skin_id, $style_id)
Sets a users preferred system skin/style by using the user object.
static generateFromId($skin_id, ilSystemStyleMessageStack $message_stack=null, ilSystemStyleConfig $system_styles_conf=null)
Generate the container class by parsing the corresponding XML.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
ilSystemStyleConfig wraps all 'constants' to ensure the testability of all classes using those 'const...
static _activateStyle($a_skin, $a_style)
activate system style
This class represents a non editable value in a property form.
Used to stack messages to be shown to the user.
getPropertiesValues($form)
Get values for edit properties form.
static getCurrentDefaultStyle()
Gets default style of the system.
saveStyle(ilSystemStyleMessageStack $message_stack)
saveSubStyle(ilSystemStyleMessageStack $message_stack)
setSubStyleSubTabs($active="")
static updateSubStyleIdfSubStyleCategoryAssignments(string $old_substyle_id, string $new_substyle_id)
Updates an assignment, e.g.