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

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ui/include/page_header.php')
-rw-r--r--ui/include/page_header.php83
1 files changed, 54 insertions, 29 deletions
diff --git a/ui/include/page_header.php b/ui/include/page_header.php
index 693c40e50f3..79c3fecef32 100644
--- a/ui/include/page_header.php
+++ b/ui/include/page_header.php
@@ -114,28 +114,27 @@ if ($page['type'] == PAGE_TYPE_HTML) {
global $ZBX_SERVER_NAME;
// page title
- $pageTitle = '';
+ $page_title = '';
if (isset($ZBX_SERVER_NAME) && $ZBX_SERVER_NAME !== '') {
- $pageTitle = $ZBX_SERVER_NAME.NAME_DELIMITER;
+ $page_title = $ZBX_SERVER_NAME.NAME_DELIMITER;
}
- $pageTitle .= isset($page['title']) ? $page['title'] : _('Zabbix');
+ $page_title .= isset($page['title']) ? $page['title'] : _('Zabbix');
if (defined('ZBX_PAGE_DO_JS_REFRESH') && CWebUser::getRefresh() != 0) {
- $pageTitle .= ' ['._s('refreshed every %1$s sec.', CWebUser::getRefresh()).']';
+ $page_title .= ' ['._s('refreshed every %1$s sec.', CWebUser::getRefresh()).']';
}
- $pageHeader = new CPageHeader($pageTitle, CWebUser::getLang());
+ $page_header = new CHtmlPageHeader($page_title, CWebUser::getLang());
$is_standard_page = (!defined('ZBX_PAGE_NO_MENU') || $page['web_layout_mode'] == ZBX_LAYOUT_KIOSKMODE);
- $theme = ZBX_DEFAULT_THEME;
if (!ZBX_PAGE_NO_THEME) {
global $DB;
if (!empty($DB['DB'])) {
- $theme = getUserTheme(CWebUser::$data);
-
- $pageHeader->addStyle(getTriggerSeverityCss());
- $pageHeader->addStyle(getTriggerStatusCss());
+ $page_header
+ ->setTheme(getUserTheme(CWebUser::$data))
+ ->addStyle(getTriggerSeverityCss())
+ ->addStyle(getTriggerStatusCss());
// perform Zabbix server check only for standard pages
if ($is_standard_page && CSettingsHelper::get(CSettingsHelper::SERVER_CHECK_INTERVAL)) {
@@ -143,39 +142,65 @@ if ($page['type'] == PAGE_TYPE_HTML) {
}
}
}
- $pageHeader->addCssFile('assets/styles/'.CHtml::encode($theme).'.css');
+
+ $page_header->addCssFile('assets/styles/'.$page_header->getTheme().'.css');
+
+ foreach (APP::ModuleManager()->getAssets() 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());
+ }
+ }
if ($page['file'] == 'sysmap.php') {
- $pageHeader->addCssFile('imgstore.php?css=1&output=css');
+ $page_header->addCssFile('imgstore.php?css=1&output=css');
}
- $pageHeader
- ->addJsFile((new CUrl('js/browsers.js'))->getUrl())
- ->addJsBeforeScripts(
- 'var PHP_TZ_OFFSET = '.date('Z').','.
- 'PHP_ZBX_FULL_DATE_TIME = "'.ZBX_FULL_DATE_TIME.'";'
- );
+ $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());
// Show GUI messages in pages with menus and in fullscreen mode.
if (!defined('ZBX_PAGE_NO_JSLOADER')) {
- $pageHeader->addJsFile((new CUrl('jsLoader.php'))
- ->setArgument('ver', ZABBIX_VERSION)
- ->setArgument('lang', CWebUser::$data['lang'])
- ->setArgument('showGuiMessaging', ($is_standard_page && !CWebUser::isGuest()) ? 1 : null)
- ->getUrl()
- );
-
- if (array_key_exists('scripts', $page) && $page['scripts']) {
- $pageHeader->addJsFile((new CUrl('jsLoader.php'))
+ $page_header->addJsFile(
+ (new CUrl('jsLoader.php'))
->setArgument('ver', ZABBIX_VERSION)
->setArgument('lang', CWebUser::$data['lang'])
- ->setArgument('files', $page['scripts'])
+ ->setArgument('showGuiMessaging', ($is_standard_page && !CWebUser::isGuest()) ? 1 : null)
->getUrl()
+ );
+
+ if (array_key_exists('scripts', $page) && $page['scripts']) {
+ $page_header->addJsFile(
+ (new CUrl('jsLoader.php'))
+ ->setArgument('ver', ZABBIX_VERSION)
+ ->setArgument('lang', CWebUser::$data['lang'])
+ ->setArgument('files', $page['scripts'])
+ ->getUrl()
);
}
+
+ foreach (APP::ModuleManager()->getAssets() 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]);
+ }
+ }
+ }
}
- $pageHeader->display();
+ $page_header->show();
echo '<body>';
}