ILIAS  release_7 Revision v7.30-3-g800a261c036
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
222 string $old_skin_id,
223 string $old_style_id,
224 string $new_skin_id,
225 string $new_style_id
226 ) {
227 global $DIC;
228
229 $DIC->database()->manipulate("UPDATE syst_style_cat " .
230 " SET skin_id = " . $DIC->database()->quote($new_skin_id, "text")
231 . ", style_id = " . $DIC->database()->quote($new_style_id, "text") .
232 " WHERE skin_id = " . $DIC->database()->quote($old_skin_id, "text") .
233 " AND style_id = " . $DIC->database()->quote($old_style_id, "text"));
234 }
235
242 string $old_substyle_id,
243 string $new_substyle_id
244 ) {
245 global $DIC;
246
247 $DIC->database()->manipulate("UPDATE syst_style_cat " .
248 " SET substyle = " . $DIC->database()->quote($new_substyle_id, "text") .
249 " WHERE substyle = " . $DIC->database()->quote($old_substyle_id, "text"));
250 }
251
258 public static function setCurrentUserPrefStyle($skin_id, $style_id)
259 {
260 global $DIC;
261
262 $DIC->user()->setPref("skin", $skin_id);
263 $DIC->user()->setPref("style", $style_id);
264 $DIC->user()->update();
265 }
266
272 public static function getCurrentUserPrefSkin()
273 {
274 global $DIC;
275
276 return $DIC->user()->getPref("skin");
277 }
278
284 public static function getCurrentUserPrefStyle()
285 {
286 global $DIC;
287
288 return $DIC->user()->getPref("style");
289 }
290
297 public static function setCurrentDefaultStyle($skin_id, $style_id)
298 {
299 global $DIC;
300
301 $DIC->clientIni()->setVariable("layout", "skin", $skin_id);
302 $DIC->clientIni()->setVariable("layout", "style", $style_id);
303 $DIC->clientIni()->write();
304 self::_activateStyle($skin_id, $style_id);
305 }
306
307 public static function resetDefaultToDelos()
308 {
309 $system_style_conf = new ilSystemStyleConfig();
310
311 self::setCurrentDefaultStyle($system_style_conf->getDefaultSkinId(), $system_style_conf->getDefaultSkinId());
312 }
313
319 public static function getCurrentDefaultSkin()
320 {
321 global $DIC;
322
323 $skin_id = $DIC->clientIni()->readVariable("layout", "skin");
324
325 if (!ilStyleDefinition::skinExists($skin_id)) {
327 $skin_id = $DIC->clientIni()->readVariable("layout", "skin");
328 }
329 return $skin_id;
330 }
331
338 public static function getCurrentDefaultStyle()
339 {
340 global $DIC;
341 $skin_id = $DIC->clientIni()->readVariable("layout", "skin");
342 $style_id = $DIC->clientIni()->readVariable("layout", "style");
343
344 if (!ilStyleDefinition::styleExistsForSkinId($skin_id, $style_id)) {
346 $style_id = $DIC->clientIni()->readVariable("layout", "style");
347 }
348 return $style_id;
349 }
350}
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 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 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: goto.php:24