1<?php 2/* 3** Zabbix 4** Copyright (C) 2001-2021 Zabbix SIA 5** 6** This program is free software; you can redistribute it and/or modify 7** it under the terms of the GNU General Public License as published by 8** the Free Software Foundation; either version 2 of the License, or 9** (at your option) any later version. 10** 11** This program is distributed in the hope that it will be useful, 12** but WITHOUT ANY WARRANTY; without even the implied warranty of 13** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14** GNU General Public License for more details. 15** 16** You should have received a copy of the GNU General Public License 17** along with this program; if not, write to the Free Software 18** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19**/ 20 21 22require_once dirname(__FILE__).'/include/config.inc.php'; 23require_once dirname(__FILE__).'/include/maps.inc.php'; 24 25$page['title'] = _('Map'); 26$page['file'] = 'map.php'; 27$page['type'] = PAGE_TYPE_JSON; 28 29require_once dirname(__FILE__).'/include/page_header.php'; 30 31$severity_min = getRequest('severity_min'); 32if (!zbx_ctype_digit($severity_min)) { 33 $severity_min = null; 34} 35$map_data = CMapHelper::get(getRequest('sysmapid'), ['severity_min' => $severity_min]); 36 37if (hasRequest('uniqueid')) { 38 // Rewrite actions to force Submaps be opened in same widget, instead of separate window. 39 foreach ($map_data['elements'] as &$element) { 40 $actions = CJs::decodeJson($element['actions']); 41 $actions['data']['widget_uniqueid'] = getRequest('uniqueid'); 42 $element['actions'] = CJs::encodeJson($actions); 43 } 44 unset($element); 45} 46 47// No need to get all data. 48$options = [ 49 'mapid' => $map_data['id'], 50 'canvas' => $map_data['canvas'], 51 'background' => $map_data['background'], 52 'elements' => $map_data['elements'], 53 'links' => $map_data['links'], 54 'shapes' => $map_data['shapes'], 55 'aria_label' => $map_data['aria_label'], 56 'label_location' => $map_data['label_location'], 57 'timestamp' => $map_data['timestamp'] 58]; 59 60if ($map_data['id'] == -1) { 61 $options['timestamp'] = null; 62} 63 64echo CJs::encodeJson($options); 65 66require_once dirname(__FILE__).'/include/page_footer.php'; 67