ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilSystemStyleSettings.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
4
20{
28 public static function _lookupActivatedStyle($a_skin, $a_style)
29 {
30 global $DIC;
31
32 $q = "SELECT count(*) cnt FROM settings_deactivated_s" .
33 " WHERE skin = " . $DIC->database()->quote($a_skin, "text") .
34 " AND style = " . $DIC->database()->quote($a_style, "text") . " ";
35
36 $cnt_set = $DIC->database()->query($q);
37 $cnt_rec = $DIC->database()->fetchAssoc($cnt_set);
38
39 if ($cnt_rec["cnt"] > 0) {
40 return false;
41 } else {
42 return true;
43 }
44 }
45
52 public static function _deactivateStyle($a_skin, $a_style)
53 {
54 global $DIC;
55
57 $q = "INSERT into settings_deactivated_s" .
58 " (skin, style) VALUES " .
59 " (" . $DIC->database()->quote($a_skin, "text") . "," .
60 " " . $DIC->database()->quote($a_style, "text") . ")";
61
62 $DIC->database()->manipulate($q);
63 }
64
71 public static function _activateStyle($a_skin, $a_style)
72 {
73 global $DIC;
74
75 $q = "DELETE FROM settings_deactivated_s" .
76 " WHERE skin = " . $DIC->database()->quote($a_skin, "text") .
77 " AND style = " . $DIC->database()->quote($a_style, "text");
78
79 $DIC->database()->manipulate($q);
80 }
81
90 public static function getSystemStyleCategoryAssignments($a_skin_id, $a_style_id)
91 {
92 global $DIC;
93
94 $assignments = [];
95 $set = $DIC->database()->query(
96 "SELECT substyle, category_ref_id FROM syst_style_cat " .
97 " WHERE skin_id = " . $DIC->database()->quote($a_skin_id, "text") .
98 " AND style_id = " . $DIC->database()->quote($a_style_id, "text")
99 );
100 while (($rec = $DIC->database()->fetchAssoc($set))) {
101 $assignments[] = [
102 "substyle" => $rec["substyle"],
103 "ref_id" => $rec["category_ref_id"]
104 ];
105 }
106 return $assignments;
107 }
108
118 public static function getSubStyleCategoryAssignments($a_skin_id, $a_style_id, $a_sub_style_id)
119 {
120 global $DIC;
121
122 $assignmnts = [];
123
124 $set = $DIC->database()->query(
125 "SELECT substyle, category_ref_id FROM syst_style_cat " .
126 " WHERE skin_id = " . $DIC->database()->quote($a_skin_id, "text") .
127 " AND substyle = " . $DIC->database()->quote($a_sub_style_id, "text") .
128 " AND style_id = " . $DIC->database()->quote($a_style_id, "text")
129 );
130 while (($rec = $DIC->database()->fetchAssoc($set))) {
131 $assignmnts[] = [
132 "substyle" => $rec["substyle"],
133 "ref_id" => $rec["category_ref_id"]
134 ];
135 }
136 return $assignmnts;
137 }
138
149 $a_skin_id,
150 $a_style_id,
151 $a_substyle,
152 $a_ref_id
153 ) {
154 global $DIC;
155
156 $assignments = self::getSubStyleCategoryAssignments($a_skin_id, $a_style_id, $a_substyle);
157
158 foreach ($assignments as $assignment) {
159 if ($assignment["ref_id"] == $a_ref_id) {
160 throw new ilSystemStyleException(ilSystemStyleException::SUBSTYLE_ASSIGNMENT_EXISTS, $a_substyle . ": " . $a_ref_id);
161 }
162 }
163 $DIC->database()->manipulate("INSERT INTO syst_style_cat " .
164 "(skin_id, style_id, substyle, category_ref_id) VALUES (" .
165 $DIC->database()->quote($a_skin_id, "text") . "," .
166 $DIC->database()->quote($a_style_id, "text") . "," .
167 $DIC->database()->quote($a_substyle, "text") . "," .
168 $DIC->database()->quote($a_ref_id, "integer") .
169 ")");
170 }
171
182 $a_skin_id,
183 $a_style_id,
184 $a_substyle,
185 $a_ref_id
186 ) {
187 global $DIC;
188
189 $DIC->database()->manipulate("DELETE FROM syst_style_cat WHERE " .
190 " skin_id = " . $DIC->database()->quote($a_skin_id, "text") .
191 " AND style_id = " . $DIC->database()->quote($a_style_id, "text") .
192 " AND substyle = " . $DIC->database()->quote($a_substyle, "text") .
193 " AND category_ref_id = " . $DIC->database()->quote($a_ref_id, "integer"));
194 }
195
203 public static function deleteSubStyleCategoryAssignments($a_skin_id, $a_style_id, $a_substyle)
204 {
205 global $DIC;
206
207 $DIC->database()->manipulate("DELETE FROM syst_style_cat WHERE " .
208 " skin_id = " . $DIC->database()->quote($a_skin_id, "text") .
209 " AND style_id = " . $DIC->database()->quote($a_style_id, "text") .
210 " AND substyle = " . $DIC->database()->quote($a_substyle, "text"));
211 }
212
219 public static function setCurrentUserPrefStyle($skin_id, $style_id)
220 {
221 global $DIC;
222
223 $DIC->user()->setPref("skin", $skin_id);
224 $DIC->user()->setPref("style", $style_id);
225 $DIC->user()->update();
226 }
227
233 public static function getCurrentUserPrefSkin()
234 {
235 global $DIC;
236
237 return $DIC->user()->getPref("skin");
238 }
239
245 public static function getCurrentUserPrefStyle()
246 {
247 global $DIC;
248
249 return $DIC->user()->getPref("style");
250 }
251
258 public static function setCurrentDefaultStyle($skin_id, $style_id)
259 {
260 global $DIC;
261
262 $DIC->clientIni()->setVariable("layout", "skin", $skin_id);
263 $DIC->clientIni()->setVariable("layout", "style", $style_id);
264 $DIC->clientIni()->write();
265 self::_activateStyle($skin_id, $style_id);
266 }
267
268 public static function resetDefaultToDelos()
269 {
270 $system_style_conf = new ilSystemStyleConfig();
271
272 self::setCurrentDefaultStyle($system_style_conf->getDefaultSkinId(), $system_style_conf->getDefaultSkinId());
273 }
274
280 public static function getCurrentDefaultSkin()
281 {
282 global $DIC;
283
284 $skin_id = $DIC->clientIni()->readVariable("layout", "skin");
285
286 if (!ilStyleDefinition::skinExists($skin_id)) {
288 $skin_id = $DIC->clientIni()->readVariable("layout", "skin");
289 }
290 return $skin_id;
291 }
292
299 public static function getCurrentDefaultStyle()
300 {
301 global $DIC;
302 $skin_id = $DIC->clientIni()->readVariable("layout", "skin");
303 $style_id = $DIC->clientIni()->readVariable("layout", "style");
304
305 if (!ilStyleDefinition::styleExistsForSkinId($skin_id, $style_id)) {
307 $style_id = $DIC->clientIni()->readVariable("layout", "style");
308 }
309 return $style_id;
310 }
311}
An exception for terminatinating execution or to throw for unit testing.
static skinExists($skin_id, ilSystemStyleConfig $system_style_config=null)
Check whether a skin exists.
static styleExistsForSkinId($skin_id, $style_id)
ilSystemStyleConfig wraps all 'constants' to ensure the testability of all classes using those 'const...
Class for advanced editing exception handling in ILIAS.
This class acts as Model for all system styles settings related settings such as activated or default...
static getSubStyleCategoryAssignments($a_skin_id, $a_style_id, $a_sub_style_id)
Get all system category assignments of exactly one substyle.
static writeSystemStyleCategoryAssignment( $a_skin_id, $a_style_id, $a_substyle, $a_ref_id)
Sets a substyle category assignment.
static getCurrentDefaultStyle()
Gets default style of the system.
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 _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 getSystemStyleCategoryAssignments($a_skin_id, $a_style_id)
Get all system sub styles category assignments.
static deleteSubStyleCategoryAssignments($a_skin_id, $a_style_id, $a_substyle)
Delets a sub styles category assignment.
static getCurrentUserPrefStyle()
Gets a users preferred style by using the user object.
static deleteSystemStyleCategoryAssignment( $a_skin_id, $a_style_id, $a_substyle, $a_ref_id)
Deletes all sub style category assignment of a system style.
global $DIC
Definition: saml.php:7