2include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
3include_once(
"Services/Style/System/classes/Utilities/class.ilSkinXML.php");
4include_once(
"Services/Style/System/classes/Utilities/class.ilSystemStyleSkinContainer.php");
5include_once(
"Services/Style/System/classes/class.ilSystemStyleSettings.php");
6include_once(
"Services/Style/System/classes/Exceptions/class.ilSystemStyleException.php");
7include_once(
"Services/Style/System/classes/Utilities/class.ilSystemStyleMessageStack.php");
8include_once(
"Services/Style/System/classes/Utilities/class.ilSystemStyleMessage.php");
9include_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) {
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"));
An exception for terminatinating execution or to throw for unit testing.
This class represents a non editable value in a property form.
ilSystemStyleConfig wraps all 'constants' to ensure the testability of all classes using those 'const...
Class for advanced editing exception handling in ILIAS.
Used to stack messages to be shown to the user.
addMessage(ilSystemStyleMessage $message)
Add a message to be displayed by the stack.
setSubStyleSubTabs($active="")
saveSubStyle(ilSystemStyleMessageStack $message_stack)
executeCommand()
Execute command.
getPropertiesValues($form)
Get values for edit properties form.
saveStyle(ilSystemStyleMessageStack $message_stack)
__construct()
Constructor.
static getCurrentDefaultStyle()
Gets default style of the system.
static updateSubStyleIdfSubStyleCategoryAssignments(string $old_substyle_id, string $new_substyle_id)
Updates an assignment, e.g.
static getCurrentUserPrefSkin()
Gets a users preferred skin by using the user object.
static setCurrentDefaultStyle($skin_id, $style_id)
Sets the default style of the system.
static _activateStyle($a_skin, $a_style)
activate system style
static _deactivateStyle($a_skin, $a_style)
deactivate system style
static updateSkinIdAndStyleIDOfSubStyleCategoryAssignments(string $old_skin_id, string $old_style_id, string $new_skin_id, string $new_style_id)
Updates an assignment, e.g.
static _lookupActivatedStyle($a_skin, $a_style)
lookup if a style is activated
static getCurrentDefaultSkin()
Gets default Skin of the System.
static setCurrentUserPrefStyle($skin_id, $style_id)
Sets a users preferred system skin/style by using the user object.
static getCurrentUserPrefStyle()
Gets a users preferred 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.
This class represents a text property in a property form.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.