Welcome to mirror list, hosted at ThFree Co, Russian Federation.

layout.htmlpage.header.php « partials « app « ui - github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: fd124e61b498655cae121d701269418f58185ace (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php
/*
** Zabbix
** Copyright (C) 2001-2022 Zabbix SIA
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
**/


/**
 * @var CPartial $this
 * @var array    $data
 */

global $DB, $ZBX_SERVER_NAME;

$scripts = $data['javascript']['files'];
$page_title = $data['page']['title'];

if (isset($ZBX_SERVER_NAME) && $ZBX_SERVER_NAME !== '') {
	$page_title = $ZBX_SERVER_NAME.NAME_DELIMITER.$page_title;
}

$page_header = new CHtmlPageHeader($page_title, CWebUser::getLang());

if (!empty($DB['DB'])) {
	$page_header
		->setTheme(getUserTheme($data['user']))
		->addStyle(getTriggerSeverityCss())
		->addStyle(getTriggerStatusCss());

	// Perform Zabbix server check only for standard pages.
	if ($data['config']['server_check_interval']) {
		$scripts[] = 'servercheck.js';
	}
}

// Show GUI messages in pages with menus and in kiosk mode.
$show_gui_messaging = !defined('ZBX_PAGE_NO_MENU') || $data['web_layout_mode'] == ZBX_LAYOUT_KIOSKMODE
	? (int)!CWebUser::isGuest()
	: null;

$modules_assets = APP::ModuleManager()->getAssets();

$page_header->addCssFile('assets/styles/'.$page_header->getTheme().'.css');

foreach ($modules_assets as $module_id => $assets) {
	$module = APP::ModuleManager()->getModule($module_id);
	$relative_path = $module->getRelativePath().'/assets/css';

	foreach ($assets['css'] as $css_file) {
		$page_header->addCssFile((new CUrl($relative_path.'/'.$css_file))->getUrl());
	}
}

$page_header
	->addJavaScript('
		const PHP_TZ_OFFSET = '.date('Z').';
		const PHP_ZBX_FULL_DATE_TIME = "'.ZBX_FULL_DATE_TIME.'";
	')
	->addJsFile((new CUrl('js/browsers.js'))->getUrl())
	->addJsFile((new CUrl('jsLoader.php'))
		->setArgument('lang', $data['user']['lang'])
		->setArgument('ver', ZABBIX_VERSION)
		->setArgument('showGuiMessaging', $show_gui_messaging)
		->getUrl()
	);

foreach ($data['stylesheet']['files'] as $css_file) {
	$page_header->addCssFile($css_file);
}

if ($scripts) {
	$page_header->addJsFile(
		(new CUrl('jsLoader.php'))
			->setArgument('ver', ZABBIX_VERSION)
			->setArgument('lang', $data['user']['lang'])
			->setArgument('files', $scripts)
			->getUrl()
	);

	$page_header->addJavaScript('if (locale === undefined) { var locale = {}; }');

	foreach ($modules_assets as $module_id => $assets) {
		$module = APP::ModuleManager()->getModule($module_id);
		$relative_path = $module->getRelativePath().'/assets/js';
		$translation_strings = $module->getTranslationStrings();

		foreach ($assets['js'] as $js_file) {
			$page_header->addJsFile((new CUrl($relative_path.'/'.$js_file))->getUrl());

			if (array_key_exists($js_file, $translation_strings)) {
				$page_header->addJsTranslationStrings($translation_strings[$js_file]);
			}
		}
	}
}

$page_header->show();

echo '<body>';