global $DB, $ZBX_SERVER_NAME;
$scripts = $data['javascript']['files'];
$page_title = $data['page']['title'];
if (isset($ZBX_SERVER_NAME) && $ZBX_SERVER_NAME !== '') {
$page_title = $page_title !== '' ? $ZBX_SERVER_NAME.NAME_DELIMITER.$page_title : $ZBX_SERVER_NAME;
$page_header = new CHtmlPageHeader($page_title, CWebUser::getLang());
->setTheme(getUserTheme($data['user']))
->addStyle(getTriggerSeverityCss())
->addStyle(getTriggerStatusCss());
if ($data['config']['server_check_interval']) {
$scripts[] = 'servercheck.js';
if (CSettingsHelper::isSoftwareUpdateCheckEnabled()) {
$scripts[] = 'class.software-version-check.js';
$check_data = CSettingsHelper::getSoftwareUpdateCheckData() + ['nextcheck' => 0];
$delay = $check_data['nextcheck'] > $now ? $check_data['nextcheck'] - $now : 0;
$page_header->addJavaScript('const ZBX_SOFTWARE_VERSION_CHECK_DELAY = '.$delay.';');
$show_gui_messaging = !defined('ZBX_PAGE_NO_MENU') || $data['web_layout_mode'] == ZBX_LAYOUT_KIOSKMODE
? (int)!CWebUser::isGuest()
$modules_assets = APP::ModuleManager()->getAssets();
$tz_offsets = array_column((new DateTime())->getTimezone()->getTransitions(0, ZBX_MAX_DATE), 'offset', 'ts');
$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());
const PHP_TZ_OFFSETS = '.json_encode($tz_offsets).';
const PHP_ZBX_FULL_DATE_TIME = "'.DATE_TIME_FORMAT_SECONDS.'";
->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)
foreach ($data['stylesheet']['files'] as $css_file) {
$page_header->addCssFile($css_file);