$tz_offsets = array_column((new DateTime())->getTimezone()->getTransitions(0, ZBX_MAX_DATE), 'offset', 'ts');
if (!isset($page['type'])) {
$page['type'] = PAGE_TYPE_HTML;
if (!isset($page['file'])) {
$page['file'] = basename($_SERVER['PHP_SELF']);
if (!array_key_exists('web_layout_mode', $page)) {
$page['web_layout_mode'] = ZBX_LAYOUT_NORMAL;
if (!defined('ZBX_PAGE_NO_MENU') && $page['web_layout_mode'] == ZBX_LAYOUT_KIOSKMODE) {
define('ZBX_PAGE_NO_MENU', true);
if (!defined('ZBX_PAGE_NO_THEME')) {
define('ZBX_PAGE_NO_THEME', false);
if (!defined('ZBX_PAGE_NO_MENU')) {
define('ZBX_PAGE_NO_MENU', true);
header('Content-Type: application/javascript; charset=UTF-8');
if (!defined('ZBX_PAGE_NO_MENU')) {
define('ZBX_PAGE_NO_MENU', true);
header('Content-Type: application/json');
if (!defined('ZBX_PAGE_NO_MENU')) {
define('ZBX_PAGE_NO_MENU', true);
header('Content-Type: application/json-rpc');
if(!defined('ZBX_PAGE_NO_MENU')) {
define('ZBX_PAGE_NO_MENU', true);
header('Content-Type: text/css; charset=UTF-8');
if (!defined('ZBX_PAGE_NO_MENU')) {
define('ZBX_PAGE_NO_MENU', true);
case PAGE_TYPE_TEXT_RETURN_JSON:
case PAGE_TYPE_HTML_BLOCK:
header('Content-Type: text/plain; charset=UTF-8');
if (!defined('ZBX_PAGE_NO_MENU')) {
define('ZBX_PAGE_NO_MENU', true);
header('Content-Type: text/html; charset=UTF-8');
header('X-Content-Type-Options: nosniff');
header('X-XSS-Protection: 1; mode=block');
if (strcasecmp(CSettingsHelper::getPublic(CSettingsHelper::X_FRAME_OPTIONS), 'null') != 0) {
$x_frame_options = CSettingsHelper::getPublic(CSettingsHelper::X_FRAME_OPTIONS);
if (strcasecmp($x_frame_options, 'SAMEORIGIN') == 0) {