require_once dirname(__FILE__).'/include/config.inc.php';
require_once dirname(__FILE__).'/include/graphs.inc.php';
require_once dirname(__FILE__).'/include/screens.inc.php';
require_once dirname(__FILE__).'/include/blocks.inc.php';
$page['title'] = _('Custom slides');
$page['file'] = 'slides.php';
$page['scripts'] = ['class.svg.canvas.js', 'class.svg.map.js', 'class.pmaster.js', 'class.calendar.js', 'gtlc.js',
'multiselect.js', 'flickerfreescreen.js', 'layout.mode.js'
$page['type'] = detect_page_type(PAGE_TYPE_HTML);
$page['web_layout_mode'] = CViewHelper::loadLayoutMode();
define('ZBX_PAGE_DO_JS_REFRESH', 1);
require_once dirname(__FILE__).'/include/page_header.php';
'hostid' => [T_ZBX_INT, O_OPT, P_SYS, DB_ID, null],
'elementid' => [T_ZBX_INT, O_OPT, P_SYS|P_NZERO, DB_ID, null],
'step' => [T_ZBX_INT, O_OPT, P_SYS, BETWEEN(0, 65535), null],
'from' => [T_ZBX_RANGE_TIME, O_OPT, P_SYS, null, null],
'to' => [T_ZBX_RANGE_TIME, O_OPT, P_SYS, null, null],
'reset' => [T_ZBX_STR, O_OPT, P_SYS, IN('"reset"'), null],
'widgetRefresh' => [T_ZBX_STR, O_OPT, null, null, null],
'widgetRefreshRate' => [T_ZBX_STR, O_OPT, P_ACT, null, null],
'upd_counter' => [T_ZBX_INT, O_OPT, P_ACT, null, null]
validateTimeSelectorPeriod(getRequest('from'), getRequest('to'));
if (getRequest('hostid') && !isReadableHosts([getRequest('hostid')])) {
$data['elementId'] = getRequest('elementid', CProfile::get('web.slides.elementid', 0));
$data['screen'] = ($data['elementId'] != 0) ? get_slideshow_by_slideshowid($data['elementId'], PERM_READ) : [];
if (hasRequest('elementid')) {
redirect((new CUrl('slideconf.php'))
->setArgument('page', CPagerHelper::loadPage('slideconf.php', null))
if (hasRequest('hostid')) {
CProfile::update('web.slides.hostid', getRequest('hostid'), PROFILE_TYPE_ID);
elseif (hasRequest('reset')) {
CProfile::delete('web.slides.hostid');
CProfile::update('web.slides.elementid', $data['elementId'], PROFILE_TYPE_ID);