dolibarr 24.0.0-beta
style.css.php
Go to the documentation of this file.
1<?php
2/* Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net>
3 * Copyright (C) 2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
4 * Copyright (C) 2007-2017 Regis Houssin <regis.houssin@inodbox.com>
5 * Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com>
6 * Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
7 * Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es>
8 * Copyright (C) 2021-2023 Anthony Berton <anthony.berton@bb2a.fr>
9 * Copyright (C) 2024-2026 MDW <mdeweerd@users.noreply.github.com>
10 * Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 3 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program. If not, see <https://www.gnu.org/licenses/>.
24 */
25
31//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled because need to load personalized language
32//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url.
33if (!defined('NOREQUIRESOC')) {
34 define('NOREQUIRESOC', '1');
35}
36//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled because need to do translations
37if (!defined('NOCSRFCHECK')) {
38 define('NOCSRFCHECK', 1);
39}
40if (!defined('NOTOKENRENEWAL')) {
41 define('NOTOKENRENEWAL', 1);
42}
43if (!defined('NOLOGIN')) {
44 define('NOLOGIN', 1); // File must be accessed by logon page so without login.
45}
46//if (!defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); // We load menu manager class (note that object loaded may have wrong content because NOLOGIN is set and some values depends on login)
47if (!defined('NOREQUIREHTML')) {
48 define('NOREQUIREHTML', 1);
49}
50if (!defined('NOREQUIREAJAX')) {
51 define('NOREQUIREAJAX', '1');
52}
53
54
55define('ISLOADEDBYSTEELSHEET', '1');
56
57
58require __DIR__.'/theme_vars.inc.php';
59if (defined('THEME_ONLY_CONSTANT')) {
60 return;
61}
62// Types from theme_vars
63'
64@phan-var-force string $badgeWarning
65@phan-var-force string $butactionbg
66@phan-var-force string $colorbackbody
67@phan-var-force string $colorbackhmenu1
68@phan-var-force string $colorbacklinebreak
69@phan-var-force string $colorbacklineimpair1
70@phan-var-force string $colorbacklineimpair2
71@phan-var-force string $colorbacklinepair1
72@phan-var-force string $colorbacklinepair2
73@phan-var-force string $colorbacklinepairchecked
74@phan-var-force string $colorbacklinepairhover
75@phan-var-force string $colorbacktabactive
76@phan-var-force string $colorbacktabcard1
77@phan-var-force string $colorbacktitle1
78@phan-var-force string $colorbackvmenu1
79@phan-var-force string $colorblind_deuteranopes_textSuccess
80@phan-var-force string $colorblind_deuteranopes_textWarning
81@phan-var-force string $colortext
82@phan-var-force string $colortextlink
83@phan-var-force string $colortexttitle
84@phan-var-force string $colortexttitlelink
85@phan-var-force string $colortexttitlenotab
86@phan-var-force string $colortexttitlenotab2
87@phan-var-force string $colortopbordertitle1
88@phan-var-force string $fontsize
89@phan-var-force string $textDanger
90@phan-var-force string $textSuccess
91@phan-var-force string $textWarning
92@phan-var-force string $textbutaction
93@phan-var-force string $toolTipBgColor
94@phan-var-force string $toolTipFontColor
95@phan-var-force string $topMenuFontSize
96';
97
98
99session_cache_limiter('public');
100
101require_once __DIR__.'/../../main.inc.php'; // __DIR__ allow this script to be included in custom themes
102// From main.inc.php
103'
104@phan-var-force MenuManager $menumanager
105';
106require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
148// Load user to have $user->conf loaded (not done into main because of NOLOGIN constant defined)
149// and permission, so we can later calculate number of top menu ($nbtopmenuentries) according to user profile.
150if (empty($user->id) && !empty($_SESSION['dol_login'])) {
151 $user->fetch(0, $_SESSION['dol_login'], '', 1);
152 $user->loadRights();
153
154 // Reload menu now we have the good user (and we need the good menu to have ->showmenu('topnb') correct.
155 // @phan-suppress-next-line PhanRedefinedClassReference
156 $menumanager = new MenuManager($db, empty($user->socid) ? 0 : 1);
157 // @phan-suppress-next-line PhanRedefinedClassReference
158 $menumanager->loadMenu();
159}
160
161
162// Define css type
163top_httphead('text/css');
164// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access.
165header('Cache-Control: max-age=10800, public, must-revalidate');
166
167if (GETPOST('theme', 'aZ09')) {
168 $conf->theme = GETPOST('theme', 'aZ09'); // If theme was forced on URL
169}
170if (GETPOST('lang', 'aZ09')) {
171 $langs->setDefaultLang(GETPOST('lang', 'aZ09')); // If language was forced on URL
172}
173if (GETPOSTISSET('THEME_DARKMODEENABLED')) {
174 $conf->global->THEME_DARKMODEENABLED = GETPOSTINT('THEME_DARKMODEENABLED'); // If darkmode was forced on URL
175}
176
177$langs->load("main", 0, 1);
178$right = ($langs->trans("DIRECTION") == 'rtl' ? 'left' : 'right');
179$left = ($langs->trans("DIRECTION") == 'rtl' ? 'right' : 'left');
180
181$path = ''; // This value may be used in future for external module to overwrite theme
182$theme = 'eldy'; // Value of theme
183if (getDolGlobalString('MAIN_OVERWRITE_THEME_RES')) {
184 $path = '/' . getDolGlobalString('MAIN_OVERWRITE_THEME_RES');
185 $theme = getDolGlobalString('MAIN_OVERWRITE_THEME_RES');
186}
187
188// Define image path files and other constants
189
190//$fontlist='helvetica, verdana, arial, sans-serif';
191//$fontlist='"open sans", "Helvetica Neue", Helvetica, Arial, sans-serif';
192
193$fontlist = 'arial,tahoma,verdana,helvetica';
194if (getDolGlobalString('THEME_FONT_FAMILY')) {
195 $fontlist = getDolGlobalString('THEME_FONT_FAMILY').', '.$fontlist;
196}
197
198$img_head = '';
199$img_button = dol_buildpath($path.'/theme/'.$theme.'/img/button_bg.png', 1);
200$dol_hide_topmenu = $conf->dol_hide_topmenu;
201$dol_hide_leftmenu = $conf->dol_hide_leftmenu;
202$dol_optimize_smallscreen = $conf->dol_optimize_smallscreen;
203$dol_no_mouse_hover = $conf->dol_no_mouse_hover;
204
205//$conf->global->THEME_ELDY_ENABLE_PERSONALIZED=0;
206//$user->conf->THEME_ELDY_ENABLE_PERSONALIZED=0;
207//var_dump($user->conf->THEME_ELDY_RGB);
208
209$useboldtitle = getDolGlobalInt('THEME_ELDY_USEBOLDTITLE');
210$userborderontable = getDolGlobalInt('THEME_ELDY_USEBORDERONTABLE');
211$borderwidth = 1;
212
213// Case of option always editable
214if (!isset($conf->global->THEME_ELDY_BACKBODY)) {
215 $conf->global->THEME_ELDY_BACKBODY = $colorbackbody;
216}
217if (!isset($conf->global->THEME_ELDY_TOPMENU_BACK1)) {
218 $conf->global->THEME_ELDY_TOPMENU_BACK1 = $colorbackhmenu1;
219}
220if (!isset($conf->global->THEME_ELDY_VERMENU_BACK1)) {
221 $conf->global->THEME_ELDY_VERMENU_BACK1 = $colorbackvmenu1;
222}
223if (!isset($conf->global->THEME_ELDY_BACKTITLE1)) {
224 $conf->global->THEME_ELDY_BACKTITLE1 = $colorbacktitle1;
225}
226if (!isset($conf->global->THEME_ELDY_USE_HOVER)) {
227 $conf->global->THEME_ELDY_USE_HOVER = $colorbacklinepairhover;
228}
229if (!isset($conf->global->THEME_ELDY_USE_CHECKED)) {
230 $conf->global->THEME_ELDY_USE_CHECKED = $colorbacklinepairchecked;
231}
232if (!isset($conf->global->THEME_ELDY_LINEBREAK)) {
233 $conf->global->THEME_ELDY_LINEBREAK = $colorbacklinebreak;
234}
235if (!isset($conf->global->THEME_ELDY_TEXTTITLENOTAB)) {
236 $conf->global->THEME_ELDY_TEXTTITLENOTAB = $colortexttitlenotab;
237}
238if (!isset($conf->global->THEME_ELDY_TEXTLINK)) {
239 $conf->global->THEME_ELDY_TEXTLINK = $colortextlink;
240}
241if (!isset($conf->global->THEME_ELDY_BTNACTION)) {
242 $conf->global->THEME_ELDY_BTNACTION = $butactionbg;
243}
244if (!isset($conf->global->THEME_ELDY_TEXTBTNACTION)) {
245 $conf->global->THEME_ELDY_TEXTBTNACTION = $textbutaction;
246}
247// Case of option editable only if option THEME_ELDY_ENABLE_PERSONALIZED is on
248if (!getDolGlobalString('THEME_ELDY_ENABLE_PERSONALIZED')) {
249 $conf->global->THEME_ELDY_BACKTABCARD1 = '255,255,255'; // card
250 $conf->global->THEME_ELDY_BACKTABACTIVE = '234,234,234';
251 $conf->global->THEME_ELDY_TEXT = '0,0,0';
252 $conf->global->THEME_ELDY_FONT_SIZE1 = $fontsize;
253 $conf->global->THEME_ELDY_FONT_SIZE2 = '0.75em';
254}
255
256// Case of option availables only if THEME_ELDY_ENABLE_PERSONALIZED is on
257$colorbackbody = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_BACKBODY') ? $colorbackbody : $conf->global->THEME_ELDY_BACKBODY) : (empty($user->conf->THEME_ELDY_BACKBODY) ? $colorbackbody : $user->conf->THEME_ELDY_BACKBODY);
258$colorbackhmenu1 = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_TOPMENU_BACK1') ? $colorbackhmenu1 : $conf->global->THEME_ELDY_TOPMENU_BACK1) : (empty($user->conf->THEME_ELDY_TOPMENU_BACK1) ? $colorbackhmenu1 : $user->conf->THEME_ELDY_TOPMENU_BACK1);
259$colorbackvmenu1 = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_VERMENU_BACK1') ? $colorbackvmenu1 : $conf->global->THEME_ELDY_VERMENU_BACK1) : (empty($user->conf->THEME_ELDY_VERMENU_BACK1) ? $colorbackvmenu1 : $user->conf->THEME_ELDY_VERMENU_BACK1);
260$colortopbordertitle1 = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_TOPBORDER_TITLE1') ? $colortopbordertitle1 : $conf->global->THEME_ELDY_TOPBORDER_TITLE1) : (empty($user->conf->THEME_ELDY_TOPBORDER_TITLE1) ? $colortopbordertitle1 : $user->conf->THEME_ELDY_TOPBORDER_TITLE1);
261$colorbacktitle1 = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_BACKTITLE1') ? $colorbacktitle1 : $conf->global->THEME_ELDY_BACKTITLE1) : (empty($user->conf->THEME_ELDY_BACKTITLE1) ? $colorbacktitle1 : $user->conf->THEME_ELDY_BACKTITLE1);
262$colorbacktabcard1 = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_BACKTABCARD1') ? $colorbacktabcard1 : $conf->global->THEME_ELDY_BACKTABCARD1) : (empty($user->conf->THEME_ELDY_BACKTABCARD1) ? $colorbacktabcard1 : $user->conf->THEME_ELDY_BACKTABCARD1);
263$colorbacktabactive = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_BACKTABACTIVE') ? $colorbacktabactive : $conf->global->THEME_ELDY_BACKTABACTIVE) : (empty($user->conf->THEME_ELDY_BACKTABACTIVE) ? $colorbacktabactive : $user->conf->THEME_ELDY_BACKTABACTIVE);
264$colorbacklineimpair1 = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_LINEIMPAIR1') ? $colorbacklineimpair1 : $conf->global->THEME_ELDY_LINEIMPAIR1) : (empty($user->conf->THEME_ELDY_LINEIMPAIR1) ? $colorbacklineimpair1 : $user->conf->THEME_ELDY_LINEIMPAIR1);
265$colorbacklineimpair2 = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_LINEIMPAIR2') ? $colorbacklineimpair2 : $conf->global->THEME_ELDY_LINEIMPAIR2) : (empty($user->conf->THEME_ELDY_LINEIMPAIR2) ? $colorbacklineimpair2 : $user->conf->THEME_ELDY_LINEIMPAIR2);
266$colorbacklinepair1 = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_LINEPAIR1') ? $colorbacklinepair1 : $conf->global->THEME_ELDY_LINEPAIR1) : (empty($user->conf->THEME_ELDY_LINEPAIR1) ? $colorbacklinepair1 : $user->conf->THEME_ELDY_LINEPAIR1);
267$colorbacklinepair2 = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_LINEPAIR2') ? $colorbacklinepair2 : $conf->global->THEME_ELDY_LINEPAIR2) : (empty($user->conf->THEME_ELDY_LINEPAIR2) ? $colorbacklinepair2 : $user->conf->THEME_ELDY_LINEPAIR2);
268$colorbacklinebreak = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_LINEBREAK') ? $colorbacklinebreak : $conf->global->THEME_ELDY_LINEBREAK) : (empty($user->conf->THEME_ELDY_LINEBREAK) ? $colorbacklinebreak : $user->conf->THEME_ELDY_LINEBREAK);
269$colortexttitlenotab = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_TEXTTITLENOTAB') ? $colortexttitlenotab : getDolGlobalString('THEME_ELDY_TEXTTITLENOTAB')) : (empty($user->conf->THEME_ELDY_TEXTTITLENOTAB) ? $colortexttitlenotab : $user->conf->THEME_ELDY_TEXTTITLENOTAB);
270$colortexttitle = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_TEXTTITLE') ? $colortexttitle : getDolGlobalString('THEME_ELDY_TEXTTITLE')) : (empty($user->conf->THEME_ELDY_TEXTTITLE) ? $colortexttitle : $user->conf->THEME_ELDY_TEXTTITLE);
271$colortexttitlelink = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_TEXTTITLELINK') ? $colortexttitlelink : getDolGlobalString('THEME_ELDY_TEXTTITLELINK')) : (empty($user->conf->THEME_ELDY_TEXTTITLELINK) ? $colortexttitlelink : $user->conf->THEME_ELDY_TEXTTITLELINK);
272$colortext = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_TEXT') ? $colortext : getDolGlobalString('THEME_ELDY_TEXT')) : (empty($user->conf->THEME_ELDY_TEXT) ? $colortext : $user->conf->THEME_ELDY_TEXT);
273$colortextlink = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_TEXTLINK') ? $colortextlink : getDolGlobalString('THEME_ELDY_TEXTLINK')) : (empty($user->conf->THEME_ELDY_TEXTLINK) ? $colortextlink : $user->conf->THEME_ELDY_TEXTLINK);
274$colortextlinkHsla = colorHexToHsl($colortextlink, false, true);
275
276$butactionbg = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_BTNACTION') ? $butactionbg : getDolGlobalString('THEME_ELDY_BTNACTION')) : (empty($user->conf->THEME_ELDY_BTNACTION) ? $butactionbg : $user->conf->THEME_ELDY_BTNACTION);
277$textbutaction = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_TEXTBTNACTION') ? $textbutaction : getDolGlobalString('THEME_ELDY_TEXTBTNACTION')) : (empty($user->conf->THEME_ELDY_TEXTBTNACTION) ? $textbutaction : $user->conf->THEME_ELDY_TEXTBTNACTION);
278$fontsize = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_FONT_SIZE1') ? $fontsize : getDolGlobalString('THEME_ELDY_FONT_SIZE1')) : (empty($user->conf->THEME_ELDY_FONT_SIZE1) ? $fontsize : $user->conf->THEME_ELDY_FONT_SIZE1);
279$fontsizesmaller = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_FONT_SIZE2') ? $fontsize : getDolGlobalString('THEME_ELDY_FONT_SIZE2')) : (empty($user->conf->THEME_ELDY_FONT_SIZE2) ? $fontsize : $user->conf->THEME_ELDY_FONT_SIZE2);
280$heightrow = empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) ? (!getDolGlobalString('THEME_ELDY_USECOMOACTROW') ? '155%' : '300%') : (empty($user->conf->THEME_ELDY_USECOMOACTROW) ? '155%' : '300%');
281// Hover color
282$colorbacklinepairhover = ((!isset($conf->global->THEME_ELDY_USE_HOVER) || getDolGlobalString('THEME_ELDY_USE_HOVER') === '255,255,255') ? '' : (getDolGlobalString('THEME_ELDY_USE_HOVER') === '1' ? 'e6edf0' : getDolGlobalString('THEME_ELDY_USE_HOVER')));
283$colorbacklinepairchecked = ((!isset($conf->global->THEME_ELDY_USE_CHECKED) || getDolGlobalString('THEME_ELDY_USE_CHECKED') === '255,255,255') ? '' : (getDolGlobalString('THEME_ELDY_USE_CHECKED') === '1' ? 'e6edf0' : getDolGlobalString('THEME_ELDY_USE_CHECKED')));
284if (!empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)) {
285 $colorbacklinepairhover = ((!isset($user->conf->THEME_ELDY_USE_HOVER) || $user->conf->THEME_ELDY_USE_HOVER === '0') ? '' : ($user->conf->THEME_ELDY_USE_HOVER === '1' ? 'e6edf0' : $user->conf->THEME_ELDY_USE_HOVER));
286 $colorbacklinepairchecked = ((!isset($user->conf->THEME_ELDY_USE_CHECKED) || $user->conf->THEME_ELDY_USE_CHECKED === '0') ? '' : ($user->conf->THEME_ELDY_USE_CHECKED === '1' ? 'e6edf0' : $user->conf->THEME_ELDY_USE_CHECKED));
287}
288
289
290// Set text color to black or white
291$colorbackhmenu1 = implode(',', colorStringToArray($colorbackhmenu1)); // Normalize value to 'x,y,z'
292$tmppart = explode(',', $colorbackhmenu1);
293$tmpval = (!empty($tmppart[0]) ? $tmppart[0] : 0) + (!empty($tmppart[1]) ? $tmppart[1] : 0) + (!empty($tmppart[2]) ? $tmppart[2] : 0);
294if ($tmpval <= 460) {
295 $colortextbackhmenu = 'FFFFFF';
296} else {
297 $colortextbackhmenu = '000000';
298}
299
300$colorbackvmenu1 = implode(',', colorStringToArray($colorbackvmenu1)); // Normalize value to 'x,y,z'
301$tmppart = explode(',', $colorbackvmenu1);
302$tmpval = (!empty($tmppart[0]) ? $tmppart[0] : 0) + (!empty($tmppart[1]) ? $tmppart[1] : 0) + (!empty($tmppart[2]) ? $tmppart[2] : 0);
303if ($tmpval <= 460) {
304 $colortextbackvmenu = 'FFFFFF';
305} else {
306 $colortextbackvmenu = '222222';
307}
308
309$colortopbordertitle1 = implode(',', colorStringToArray($colortopbordertitle1)); // Normalize value to 'x,y,z'
310
311$colorbacktitle1 = implode(',', colorStringToArray($colorbacktitle1)); // Normalize value to 'x,y,z'
312$tmppart = explode(',', $colorbacktitle1);
313if ($colortexttitle == '') {
314 $tmpval = (!empty($tmppart[0]) ? $tmppart[0] : 0) + (!empty($tmppart[1]) ? $tmppart[1] : 0) + (!empty($tmppart[2]) ? $tmppart[2] : 0);
315 if ($tmpval <= 460) {
316 $colortexttitle = 'FFFFFF';
317 $colorshadowtitle = '888888';
318 } else {
319 $colortexttitle = '000000';
320 $colorshadowtitle = 'FFFFFF';
321 }
322} else {
323 $colorshadowtitle = '888888';
324}
325
326$colorbacktabcard1 = implode(',', colorStringToArray($colorbacktabcard1)); // Normalize value to 'x,y,z'
327$tmppart = explode(',', $colorbacktabcard1);
328$tmpval = (!empty($tmppart[0]) ? $tmppart[0] : 0) + (!empty($tmppart[1]) ? $tmppart[1] : 0) + (!empty($tmppart[2]) ? $tmppart[2] : 0);
329if ($tmpval <= 460) {
330 $colortextbacktab = 'FFFFFF';
331} else {
332 $colortextbacktab = '000000';
333}
334
335
336// Format color value to match expected format (may be 'FFFFFF' or '255,255,255')
337$colorbackhmenu1 = implode(',', colorStringToArray($colorbackhmenu1));
338$colorbackvmenu1 = implode(',', colorStringToArray($colorbackvmenu1));
339$colorbacktitle1 = implode(',', colorStringToArray($colorbacktitle1));
340$colorbacktabcard1 = implode(',', colorStringToArray($colorbacktabcard1));
341$colorbacktabactive = implode(',', colorStringToArray($colorbacktabactive));
342$colorbacklineimpair1 = implode(',', colorStringToArray($colorbacklineimpair1));
343$colorbacklineimpair2 = implode(',', colorStringToArray($colorbacklineimpair2));
344$colorbacklinepair1 = implode(',', colorStringToArray($colorbacklinepair1));
345$colorbacklinepair2 = implode(',', colorStringToArray($colorbacklinepair2));
346if ($colorbacklinepairhover != '') {
347 $colorbacklinepairhover = implode(',', colorStringToArray($colorbacklinepairhover));
348}
349if ($colorbacklinepairchecked != '') {
350 $colorbacklinepairchecked = implode(',', colorStringToArray($colorbacklinepairchecked));
351}
352$colorbackbody = implode(',', colorStringToArray($colorbackbody));
353$colortexttitlenotab = implode(',', colorStringToArray($colortexttitlenotab));
354$colortexttitle = implode(',', colorStringToArray($colortexttitle));
355$colortext = implode(',', colorStringToArray($colortext));
356$colortextlink = implode(',', colorStringToArray($colortextlink));
357
358// @phan-suppress-next-line PhanRedefinedClassReference
359$nbtopmenuentries = $menumanager->showmenu('topnb');
360$nbtopmenuentriesreal = $nbtopmenuentries;
361if ($conf->browser->layout == 'phone') {
362 $nbtopmenuentries = max($nbtopmenuentries, 10);
363}
364
365$minwidthtmenu = 66; /* minimum width for one top menu entry */
366$heightmenu = 50; /* height of top menu, part with image */
367$heightmenu2 = 49; /* height of top menu, part with login */
368$disableimages = 0;
369$maxwidthloginblock = 180;
370if (getDolGlobalInt('THEME_TOPMENU_DISABLE_IMAGE') == 1 || !empty($user->conf->MAIN_OPTIMIZEFORTEXTBROWSER)) {
371 $disableimages = 1;
372 $maxwidthloginblock += 50;
373 $minwidthtmenu = 0;
374}
375
376if (getDolGlobalString('MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN')) {
377 $maxwidthloginblock += 55;
378}
379if (getDolGlobalString('MAIN_USE_TOP_MENU_SEARCH_DROPDOWN')) {
380 $maxwidthloginblock += 55;
381}
382if (isModEnabled('bookmark')) {
383 $maxwidthloginblock += 55;
384}
385
386
387print '/*'."\n";
388print 'colorbackbody='.$colorbackbody."\n";
389print 'colorbackvmenu1='.$colorbackvmenu1."\n";
390print 'colorbackhmenu1='.$colorbackhmenu1."\n";
391print 'colorbacktitle1='.$colorbacktitle1."\n";
392print 'colorbacklineimpair1='.$colorbacklineimpair1."\n";
393print 'colorbacklineimpair2='.$colorbacklineimpair2."\n";
394print 'colorbacklinepair1='.$colorbacklinepair1."\n";
395print 'colorbacklinepair2='.$colorbacklinepair2."\n";
396print 'colorbacklinepairhover='.$colorbacklinepairhover."\n";
397print 'colorbacklinepairchecked='.$colorbacklinepairchecked."\n";
398print '$colortexttitlenotab='.$colortexttitlenotab."\n";
399print '$colortexttitle='.$colortexttitle."\n";
400print '$colortext='.$colortext."\n";
401print '$colortextlink='.$colortextlink."\n";
402print '$colortextbackhmenu='.$colortextbackhmenu."\n";
403print '$colortextbackvmenu='.$colortextbackvmenu."\n";
404print 'dol_hide_topmenu='.$dol_hide_topmenu."\n";
405print 'dol_hide_leftmenu='.$dol_hide_leftmenu."\n";
406print 'dol_optimize_smallscreen='.$dol_optimize_smallscreen."\n";
407print 'dol_no_mouse_hover='.$dol_no_mouse_hover."\n";
408print 'dol_screenwidth='.(empty($_SESSION['dol_screenwidth']) ? '' : $_SESSION['dol_screenwidth'])."\n";
409print 'dol_screenheight='.(empty($_SESSION['dol_screenheight']) ? '' : $_SESSION['dol_screenheight'])."\n";
410print 'fontsize='.$fontsize."\n";
411print 'nbtopmenuentries='.$nbtopmenuentries."\n";
412print 'fontsizesmaller='.$fontsizesmaller."\n";
413print 'topMenuFontSize='.$topMenuFontSize."\n";
414print 'toolTipBgColor='.$toolTipBgColor."\n";
415print 'toolTipFontColor='.$toolTipFontColor."\n";
416print 'getDolGlobalString("THEME_SATURATE_RATIO")='.getDolGlobalString('THEME_SATURATE_RATIO')." (must be between 0 and 1)\n";
417print '*/'."\n";
418
419
420// Include the global.inc.php that include the badges, btn, info-box, dropdown, progress...
421require __DIR__.'/global.inc.php';
422
423if (is_object($db)) {
424 $db->close();
425}
Class to manage menu Auguria.
if(!isModEnabled('ai')||!getDolGlobalString('AI_ASSISTANT_ENABLED')) global $conf
The main.inc.php has been included so the following variable are now defined:
if(!isModEnabled('ai')||!getDolGlobalString('AI_ASSISTANT_ENABLED')) global $db
API class for accounts.
colorStringToArray($stringcolor, $colorifnotfound=array(88, 88, 88))
Convert a string RGB value ('FFFFFF', '255,255,255') into an array RGB array(255,255,...
colorHexToHsl($hex, $alpha=false, $returnArray=false)
Color Hex to Hsl (used for style)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
conf($dolibarr_main_document_root)
Load conf file (file must exists)
Definition inc.php:426
if(!defined( 'NOREQUIREMENU')) if(!empty(GETPOST('seteventmessages', 'alpha'))) if(!function_exists("llxHeader")) top_httphead($contenttype='text/html', $forcenocache=0)
Show HTTP header.
$fontlist
Definition style.css.php:75