Example #1
0
 /**
  * Process screen.
  *
  * @return CDiv (screen inside container)
  */
 public function get()
 {
     $this->dataId = 'graph_full';
     $containerId = 'graph_container';
     // time control
     $graphDims = getGraphDims($this->graphid);
     if ($graphDims['graphtype'] == GRAPH_TYPE_PIE || $graphDims['graphtype'] == GRAPH_TYPE_EXPLODED) {
         $loadSBox = 0;
         $src = 'chart6.php';
     } else {
         $loadSBox = 1;
         $src = 'chart2.php';
     }
     $src .= '?graphid=' . $this->graphid . '&period=' . $this->timeline['period'] . '&stime=' . $this->timeline['stimeNow'] . $this->getProfileUrlParams();
     $this->timeline['starttime'] = date(TIMESTAMP_FORMAT, get_min_itemclock_by_graphid($this->graphid));
     $timeControlData = array('id' => $this->getDataId(), 'containerid' => $containerId, 'src' => $src, 'objDims' => $graphDims, 'loadSBox' => $loadSBox, 'loadImage' => 1, 'dynamic' => 1, 'periodFixed' => CProfile::get($this->profileIdx . '.timelinefixed', 1), 'sliderMaximumTimePeriod' => ZBX_MAX_PERIOD);
     // output
     if ($this->mode == SCREEN_MODE_JS) {
         $timeControlData['dynamic'] = 0;
         $timeControlData['loadSBox'] = 0;
         return 'timeControl.addObject("' . $this->getDataId() . '", ' . zbx_jsvalue($this->timeline) . ', ' . zbx_jsvalue($timeControlData) . ')';
     } else {
         if ($this->mode == SCREEN_MODE_SLIDESHOW) {
             insert_js('timeControl.addObject("' . $this->getDataId() . '", ' . zbx_jsvalue($this->timeline) . ', ' . zbx_jsvalue($timeControlData) . ');');
         } else {
             zbx_add_post_js('timeControl.addObject("' . $this->getDataId() . '", ' . zbx_jsvalue($this->timeline) . ', ' . zbx_jsvalue($timeControlData) . ');');
         }
         return $this->getOutput(new CDiv(null, 'center', $containerId), true, array('graphid' => $this->graphid));
     }
 }
Example #2
0
function jsRedirect($url, $timeout = null)
{
    zbx_flush_post_cookies();
    $script = '';
    if (is_numeric($timeout)) {
        $script .= 'setTimeout(\'window.location="' . $url . '"\',' . $timeout * 1000 . ')';
    } else {
        $script .= 'window.location.replace("' . $url . '");';
    }
    insert_js($script);
}
Example #3
0
    /**
     * @param string $options['id']
     * @param string $options['name']
     * @param int    $options['value']
     */
    public function __construct(array $options = array())
    {
        parent::__construct('div', 'yes');
        $this->attr('id', isset($options['id']) ? $options['id'] : zbx_formatDomId($options['name']));
        $this->addClass('jqueryinputset control-severity');
        if (!isset($options['value'])) {
            $options['value'] = TRIGGER_SEVERITY_NOT_CLASSIFIED;
        }
        $items = array();
        $jsIds = '';
        $jsLabels = '';
        foreach (getSeverityCaption() as $severity => $caption) {
            $items[] = new CRadioButton($options['name'], $severity, null, $options['name'] . '_' . $severity, $options['value'] == $severity);
            $css = getSeverityStyle($severity);
            $label = new CLabel($caption, $options['name'] . '_' . $severity, $options['name'] . '_label_' . $severity);
            $label->attr('data-severity', $severity);
            $label->attr('data-severity-style', $css);
            if ($options['value'] == $severity) {
                $label->attr('aria-pressed', 'true');
                $label->addClass($css);
            } else {
                $label->attr('aria-pressed', 'false');
            }
            $items[] = $label;
            $jsIds .= ', #' . $options['name'] . '_' . $severity;
            $jsLabels .= ', #' . $options['name'] . '_label_' . $severity;
        }
        if ($jsIds) {
            $jsIds = substr($jsIds, 2);
            $jsLabels = substr($jsLabels, 2);
        }
        $this->addItem($items);
        insert_js('
			jQuery("' . $jsLabels . '").mouseenter(function() {
				jQuery("' . $jsLabels . '").each(function() {
					var obj = jQuery(this);

					if (obj.attr("aria-pressed") == "false") {
						obj.removeClass("ui-state-hover " + obj.data("severityStyle"));
					}
				});

				var obj = jQuery(this);

				obj.addClass(obj.data("severityStyle"));
			})
			.mouseleave(function() {
				jQuery("#' . $this->getAttribute('id') . ' [aria-pressed=\\"true\\"]").trigger("mouseenter");
			});

			jQuery("' . $jsIds . '").change(function() {
				jQuery("#' . $this->getAttribute('id') . ' [aria-pressed=\\"true\\"]").trigger("mouseenter");
			});', true);
    }
 /**
  * Process screen.
  *
  * @return CDiv (screen inside container)
  */
 public function get()
 {
     $this->dataId = 'graph_' . $this->screenitem['screenitemid'] . '_' . $this->screenitem['screenid'];
     $resourceid = !empty($this->screenitem['real_resourceid']) ? $this->screenitem['real_resourceid'] : $this->screenitem['resourceid'];
     $containerid = 'graph_container_' . $this->screenitem['screenitemid'] . '_' . $this->screenitem['screenid'];
     $graphDims = getGraphDims();
     $graphDims['graphHeight'] = $this->screenitem['height'];
     $graphDims['width'] = $this->screenitem['width'];
     // get time control
     $timeControlData = array('id' => $this->getDataId(), 'containerid' => $containerid, 'objDims' => $graphDims, 'loadImage' => 1, 'periodFixed' => CProfile::get('web.screens.timelinefixed', 1), 'sliderMaximumTimePeriod' => ZBX_MAX_PERIOD);
     // host feature
     if ($this->screenitem['dynamic'] == SCREEN_DYNAMIC_ITEM && !empty($this->hostid)) {
         $newitemid = get_same_item_for_host($resourceid, $this->hostid);
         $resourceid = !empty($newitemid) ? $newitemid : '';
     }
     if ($this->mode == SCREEN_MODE_PREVIEW && !empty($resourceid)) {
         $this->action = 'history.php?action=' . HISTORY_GRAPH . '&itemids[]=' . $resourceid . '&period=' . $this->timeline['period'] . '&stime=' . $this->timeline['stimeNow'] . $this->getProfileUrlParams();
     }
     if ($resourceid && $this->mode != SCREEN_MODE_EDIT) {
         if ($this->mode == SCREEN_MODE_PREVIEW) {
             $timeControlData['loadSBox'] = 1;
         }
     }
     $timeControlData['src'] = $resourceid ? 'chart.php?itemids[]=' . $resourceid . '&' . $this->screenitem['url'] . '&width=' . $this->screenitem['width'] . '&height=' . $this->screenitem['height'] : 'chart3.php?';
     $timeControlData['src'] .= $this->mode == SCREEN_MODE_EDIT ? '&period=3600&stime=' . date(TIMESTAMP_FORMAT, time()) : '&period=' . $this->timeline['period'] . '&stime=' . $this->timeline['stimeNow'];
     $timeControlData['src'] .= $this->getProfileUrlParams();
     // output
     if ($this->mode == SCREEN_MODE_JS) {
         return 'timeControl.addObject("' . $this->getDataId() . '", ' . CJs::encodeJson($this->timeline) . ', ' . CJs::encodeJson($timeControlData) . ')';
     } else {
         if ($this->mode == SCREEN_MODE_SLIDESHOW) {
             insert_js('timeControl.addObject("' . $this->getDataId() . '", ' . CJs::encodeJson($this->timeline) . ', ' . CJs::encodeJson($timeControlData) . ');');
         } else {
             zbx_add_post_js('timeControl.addObject("' . $this->getDataId() . '", ' . CJs::encodeJson($this->timeline) . ', ' . CJs::encodeJson($timeControlData) . ');');
         }
         if ($this->mode == SCREEN_MODE_EDIT || $this->mode == SCREEN_MODE_SLIDESHOW) {
             $item = new CDiv();
         } elseif ($this->mode == SCREEN_MODE_PREVIEW) {
             $item = new CLink(null, 'history.php?action=' . HISTORY_GRAPH . '&itemids[]=' . $resourceid . '&period=' . $this->timeline['period'] . '&stime=' . $this->timeline['stimeNow']);
         }
         $item->setAttribute('id', $containerid);
         return $this->getOutput($item);
     }
 }
/**
 * show_head
 * 
 * 
 * 
 * 
 * 
 * 
 */
function show_head($head_content = '', $config = '')
{
    // get default config from database if needed
    if (empty($config)) {
        $config = get_settings();
        /*
        	 	$config['site']['meta'] = $config['meta'];
        	 	unset($config['meta']);
        $config_site = $config['site'];
        unset($config);
        */
    }
    // doctype
    echo !empty($head_content['doctype']) ? $head_content['doctype'] : declare_doctype($config['site']['doctype']);
    // html lang
    echo !empty($head_content['html_lang']) ? $head_content['html_lang'] : declare_html_lang($config['site']['html_lang'], $config['site']['xml_namespaces']);
    // start head section
    $title = !empty($config['site']['meta_title']) ? $config['site']['meta_title'] : $config['site']['title'];
    echo "\n" . '<head>
	<title>' . $title . '</title>';
    // base href
    echo '
	<base href="' . constant('WW_WEB_ROOT') . '" />' . "\n";
    // meta tags
    echo !empty($head_content['meta']) ? $head_content['meta'] : declare_meta($config['meta']);
    // head links
    $links_array = isset($config['site']['link']) ? $config['site']['link'] : array();
    echo !empty($head_content['links']) ? $head_content['links'] : insert_links($links_array);
    // favicon
    echo !empty($head_content['favicon']) ? $head_content['favicon'] : insert_favicon($config['site']['theme']);
    // css
    echo !empty($head_content['css']) ? $head_content['css'] : insert_css($config['site']['theme']);
    // js
    echo !empty($head_content['js']) ? $head_content['js'] : insert_js($config['site']['theme']);
    // analytics
    if (!empty($config['connections']['google_analytics'])) {
        echo insert_google_analytics($config['connections']['google_analytics']);
    }
    // close head section
    echo "\n" . '</head>';
    return;
}
Example #6
0
function insert_show_color_picker_javascript()
{
    global $SHOW_COLOR_PICKER_SCRIPT_ISERTTED;
    if ($SHOW_COLOR_PICKER_SCRIPT_ISERTTED) {
        return;
    }
    $SHOW_COLOR_PICKER_SCRIPT_ISERTTED = true;
    $table = '';
    $table .= '<table cellspacing="0" cellpadding="1">';
    $table .= '<tr>';
    /* gray colors */
    foreach (array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'b', 'C', 'D', 'E', 'F') as $c) {
        $color = $c . $c . $c . $c . $c . $c;
        $table .= '<td>' . unpack_object(new CColorCell(null, $color, 'set_color(\\\'' . $color . '\\\')')) . '</td>';
    }
    $table .= '</tr>';
    /* other colors */
    $colors = array(array('r' => 0, 'g' => 0, 'b' => 1), array('r' => 0, 'g' => 1, 'b' => 0), array('r' => 1, 'g' => 0, 'b' => 0), array('r' => 0, 'g' => 1, 'b' => 1), array('r' => 1, 'g' => 0, 'b' => 1), array('r' => 1, 'g' => 1, 'b' => 0));
    $brigs = array(array(0 => '0', 1 => '3'), array(0 => '0', 1 => '4'), array(0 => '0', 1 => '5'), array(0 => '0', 1 => '6'), array(0 => '0', 1 => '7'), array(0 => '0', 1 => '8'), array(0 => '0', 1 => '9'), array(0 => '0', 1 => 'A'), array(0 => '0', 1 => 'B'), array(0 => '0', 1 => 'C'), array(0 => '0', 1 => 'D'), array(0 => '0', 1 => 'E'), array(0 => '3', 1 => 'F'), array(0 => '6', 1 => 'F'), array(0 => '9', 1 => 'F'), array(0 => 'C', 1 => 'F'));
    foreach ($colors as $c) {
        $table .= '<tr>';
        foreach ($brigs as $br) {
            $r = $br[$c['r']];
            $g = $br[$c['g']];
            $b = $br[$c['b']];
            $color = $r . $r . $g . $g . $b . $b;
            $table .= '<td>' . unpack_object(new CColorCell(null, $color, 'set_color(\\\'' . $color . '\\\')')) . '</td>';
        }
        $table .= '</tr>';
    }
    $table .= '</table>';
    $cancel = '<span onclick="javascript:hide_color_picker();" class="link">' . S_CANCEL . '</span>';
    $script = 'var color_picker = null;
				var curr_lbl = null;
				var curr_txt = null;' . "\n";
    $script .= "var color_table = '" . $table . $cancel . "'\n";
    insert_js($script);
    print '<script type="text/javascript" src="js/color_picker.js"></script>';
    zbx_add_post_js('create_color_picker();');
}
Example #7
0
define('ZBX_PAGE_NO_MENU', 1);
include_once 'include/page_header.php';
//		VAR			TYPE	OPTIONAL FLAGS	VALIDATION	EXCEPTION
$fields = array('dstfrm' => array(T_ZBX_STR, O_MAND, P_SYS, NOT_EMPTY, null), 'config' => array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1,2,3'), NULL), 'period_id' => array(T_ZBX_INT, O_OPT, null, null, null), 'caption' => array(T_ZBX_STR, O_OPT, null, null, null), 'report_timesince' => array(T_ZBX_INT, O_OPT, null, null, 'isset({save})'), 'report_timetill' => array(T_ZBX_INT, O_OPT, null, null, 'isset({save})'), 'color' => array(T_ZBX_CLR, O_OPT, null, null, 'isset({save})'), 'save' => array(T_ZBX_STR, O_OPT, P_SYS | P_ACT, null, null), 'form' => array(T_ZBX_STR, O_OPT, P_SYS, null, null), 'form_refresh' => array(T_ZBX_STR, O_OPT, null, null, null));
check_fields($fields);
insert_js_function('add_period');
insert_js_function('update_period');
$_REQUEST['caption'] = get_request('caption', '');
if (zbx_empty($_REQUEST['caption']) && isset($_REQUEST['report_timesince']) && isset($_REQUEST['report_timetill'])) {
    $_REQUEST['caption'] = date(S_DATE_FORMAT_YMDHMS, $_REQUEST['report_timesince']) . ' - ' . date(S_DATE_FORMAT_YMDHMS, $_REQUEST['report_timetill']);
}
if (isset($_REQUEST['save'])) {
    if (isset($_REQUEST['period_id'])) {
        insert_js("update_period('" . $_REQUEST['period_id'] . "','" . $_REQUEST['dstfrm'] . "','" . $_REQUEST['caption'] . "','" . $_REQUEST['report_timesince'] . "','" . $_REQUEST['report_timetill'] . "','" . $_REQUEST['color'] . "');\n");
    } else {
        insert_js("add_period('" . $_REQUEST['dstfrm'] . "','" . $_REQUEST['caption'] . "','" . $_REQUEST['report_timesince'] . "','" . $_REQUEST['report_timetill'] . "','" . $_REQUEST['color'] . "');\n");
    }
} else {
    echo SBR;
    $frmPd = new CFormTable(S_PERIOD);
    $frmPd->setName('period');
    $frmPd->addVar('dstfrm', $_REQUEST['dstfrm']);
    $config = get_request('config', 1);
    $caption = get_request('caption', '');
    $color = get_request('color', '009900');
    $report_timesince = get_request('report_timesince', time() - 86400);
    $report_timetill = get_request('report_timetill', time());
    $frmPd->addVar('config', $config);
    $frmPd->addVar('report_timesince', $report_timesince);
    $frmPd->addVar('report_timetill', $report_timetill);
    if (isset($_REQUEST['period_id'])) {
Example #8
0
        if (hasRequest('widgetRefresh')) {
            $screenBuilder = new CScreenBuilder(['screen' => $dbScreen, 'mode' => SCREEN_MODE_PREVIEW, 'profileIdx' => 'web.slides', 'profileIdx2' => $elementId, 'hostid' => getRequest('hostid'), 'period' => getRequest('period'), 'stime' => getRequest('stime')]);
            CScreenBuilder::insertScreenCleanJs();
            echo (new CDiv($screenBuilder->show()))->addClass(ZBX_STYLE_TABLE_FORMS_CONTAINER)->toString();
            CScreenBuilder::insertScreenStandardJs(['timeline' => $screenBuilder->timeline, 'profileIdx' => $screenBuilder->profileIdx]);
            insertPagePostJs();
        }
        // refresh rate
        if (hasRequest('widgetRefreshRate')) {
            $widgetRefreshRate = substr(getRequest('widgetRefreshRate'), 1);
            CProfile::update('web.slides.rf_rate.' . WIDGET_SLIDESHOW, $widgetRefreshRate, PROFILE_TYPE_STR, $elementId);
        } else {
            $widgetRefreshRate = CProfile::get('web.slides.rf_rate.' . WIDGET_SLIDESHOW, 1, getRequest('elementid', CProfile::get('web.slides.elementid')));
        }
        $delay = $screen['delay'] > 0 ? $screen['delay'] : $data['screen']['delay'];
        insert_js('PMasters["slideshows"].dolls["' . WIDGET_SLIDESHOW . '"].frequency(' . CJs::encodeJson($delay * $widgetRefreshRate) . ');' . "\n" . 'PMasters["slideshows"].dolls["' . WIDGET_SLIDESHOW . '"].restartDoll();');
    }
}
// filter state
if (hasRequest('favobj') && hasRequest('favid')) {
    $favouriteObject = getRequest('favobj');
    $favouriteId = getRequest('favid');
    // saving fixed/dynamic setting to profile
    if ($favouriteObject === 'timelinefixedperiod') {
        CProfile::update('web.slides.timelinefixed', $favouriteId, PROFILE_TYPE_INT);
    }
}
if ($page['type'] == PAGE_TYPE_JS || $page['type'] == PAGE_TYPE_HTML_BLOCK) {
    require_once dirname(__FILE__) . '/include/page_footer.php';
    exit;
}
$dashboardWidget = new CWidget('dashboard_wdgt');
$dashboardWidget->setClass('header');
$dashboardWidget->addHeader(_('PERSONAL DASHBOARD'), array(new CIcon(_s('Configure (Filter %s)', $dashconf['filterEnable'] ? _('Enabled') : _('Disabled')), $dashconf['filterEnable'] ? 'iconconfig_hl' : 'iconconfig', "document.location = 'dashconf.php';"), SPACE, get_icon('fullscreen', array('fullscreen' => $_REQUEST['fullscreen']))));
// js menu arrays
$menu = array();
$submenu = array();
make_graph_menu($menu, $submenu);
make_sysmap_menu($menu, $submenu);
make_screen_menu($menu, $submenu);
make_refresh_menu('mainpage', 'hat_syssum', CProfile::get('web.dashboard.rf_rate.hat_syssum', 60), null, $menu, $submenu);
make_refresh_menu('mainpage', 'hat_hoststat', CProfile::get('web.dashboard.rf_rate.hat_hoststat', 60), null, $menu, $submenu);
make_refresh_menu('mainpage', 'hat_stszbx', CProfile::get('web.dashboard.rf_rate.hat_stszbx', 60), null, $menu, $submenu);
make_refresh_menu('mainpage', 'hat_lastiss', CProfile::get('web.dashboard.rf_rate.hat_lastiss', 60), null, $menu, $submenu);
make_refresh_menu('mainpage', 'hat_webovr', CProfile::get('web.dashboard.rf_rate.hat_webovr', 60), null, $menu, $submenu);
make_refresh_menu('mainpage', 'hat_dscvry', CProfile::get('web.dashboard.rf_rate.hat_dscvry', 60), null, $menu, $submenu);
insert_js('var page_menu=' . zbx_jsvalue($menu) . ";\n" . 'var page_submenu=' . zbx_jsvalue($submenu) . ";\n");
/*
 * Left column
 */
$leftColumn = array();
// favorite graphs
$graph_menu = get_icon('menu', array('menu' => 'graphs'));
$fav_grph = new CUIWidget('hat_favgrph', make_favorite_graphs(), CProfile::get('web.dashboard.hats.hat_favgrph.state', 1));
$fav_grph->setHeader(_('Favourite graphs'), array($graph_menu));
$fav_grph->setFooter(new CLink(_('Graphs') . ' &raquo;', 'charts.php', 'highlight'), true);
$leftColumn[] = $fav_grph;
// favorite screens
$screen_menu = get_icon('menu', array('menu' => 'screens'));
$fav_scr = new CUIWidget('hat_favscr', make_favorite_screens(), CProfile::get('web.dashboard.hats.hat_favscr.state', 1));
$fav_scr->setHeader(_('Favourite screens'), array($screen_menu));
$fav_scr->setFooter(new CLink(_('Screens') . ' &raquo;', 'screens.php', 'highlight'), true);
Example #10
0
        if (isset($rows['items']) && $rows['items'] > 0) {
            show_messages(false, null, S_ANOTHER_ITEM_SUM);
            if (isset($_REQUEST['save'])) {
                unset($_REQUEST['save']);
            }
            $_REQUEST['type'] = GRAPH_ITEM_SIMPLE;
        }
    }
}
if (isset($_REQUEST['save']) && !isset($_REQUEST['gid'])) {
    $script = "add_graph_item('" . $_REQUEST['dstfrm'] . "','" . $_REQUEST['itemid'] . "','" . $_REQUEST['color'] . "'," . $_REQUEST['drawtype'] . "," . $_REQUEST['sortorder'] . "," . $_REQUEST['yaxisside'] . "," . $_REQUEST['calc_fnc'] . "," . $_REQUEST['type'] . "," . $_REQUEST['periods_cnt'] . ");\n";
    insert_js($script);
}
if (isset($_REQUEST['save']) && isset($_REQUEST['gid'])) {
    $script = "update_graph_item('" . $_REQUEST['dstfrm'] . "','" . $_REQUEST['list_name'] . "','" . $_REQUEST['gid'] . "','" . $_REQUEST['itemid'] . "','" . $_REQUEST['color'] . "'," . $_REQUEST['drawtype'] . "," . $_REQUEST['sortorder'] . "," . $_REQUEST['yaxisside'] . "," . $_REQUEST['calc_fnc'] . "," . $_REQUEST['type'] . "," . $_REQUEST['periods_cnt'] . ");\n";
    insert_js($script);
} else {
    echo SBR;
    $graphid = get_request("graphid", null);
    $graphtype = get_request("graphtype", GRAPH_TYPE_NORMAL);
    $gid = get_request("gid", null);
    $list_name = get_request("list_name", null);
    $itemid = get_request("itemid", 0);
    $color = get_request("color", '009900');
    $drawtype = get_request("drawtype", 0);
    $sortorder = get_request("sortorder", 0);
    $yaxisside = get_request("yaxisside", 1);
    $calc_fnc = get_request("calc_fnc", 2);
    $type = get_request("type", 0);
    $periods_cnt = get_request("periods_cnt", 5);
    $only_hostid = get_request("only_hostid", null);
Example #11
0
<?php

require_once 'include/config.inc.php';
require_once 'include/js.inc.php';
require_once 'include/hosts.inc.php';
require_once 'include/items.inc.php';
require_once 'yandexapi.conf.php';
$page["title"] = $ZabbixYaMap['city'];
$page['file'] = basename(__FILE__);
$page['scripts'] = array('yamaps_functions_shared.js');
$page['type'] = detect_page_type(PAGE_TYPE_HTML);
// Detect YandexMaps Language
$page['yaLang'] = YaMapLanguage(CWebUser::$data['lang']);
include_once 'include/page_header.php';
include 'include/views/js/configuration.yamaps.js.php';
insert_js("\n\tdocument.write('<select id=\"selectgroup\"></select>');\n\tvar h = jQuery(window).height() - 180;\n\tdocument.write('<div id=\"map\" style=\"width:100%; height:' + h + 'px\"></div>');\n");
?>
<!-- Load YandexMaps JS Classes -->
<script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=<?php 
echo $page['yaLang'];
?>
" type="text/javascript"></script>
<?php 
insert_js("\n    ymaps.ready(function() {\n\t\t//console.log('YandexMaps is starting');\n\t\tYaMap = new ZabbixYaMapRW(" . $ZabbixYaMap['latitude'] . ",\n\t\t\t                " . $ZabbixYaMap['longitude'] . ",\n\t\t\t                " . $ZabbixYaMap['zoom'] . ",\n\t\t\t                '" . $ZabbixYaMap['maptype'] . "',\n\t\t\t                '" . $ZabbixYaMap['prioproblem'] . "');\n\t\t//console.log(YaMap);\n\t\tYaMap.init();\n    });\n");
require_once 'include/page_footer.php';
?>



Example #12
0
            $values = array($dstfld1 => $script[$srcfld1], $dstfld2 => $script[$srcfld2]);
            $js_action = 'javascript: addValues(' . zbx_jsvalue($dstfrm) . ', ' . zbx_jsvalue($values) . '); close_window(); return false;';
        }
        $description->setAttribute('onclick', $js_action . ' jQuery(this).removeAttr("onclick");');
        if ($multiselect) {
            $description = new CCol(array(new CCheckBox('scripts[' . zbx_jsValue($script[$srcfld1]) . ']', null, null, $script['scriptid']), $description));
        }
        if ($script['type'] == ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT) {
            switch ($script['execute_on']) {
                case ZBX_SCRIPT_EXECUTE_ON_AGENT:
                    $scriptExecuteOn = _('Agent');
                    break;
                case ZBX_SCRIPT_EXECUTE_ON_SERVER:
                    $scriptExecuteOn = _('Server');
                    break;
            }
        } else {
            $scriptExecuteOn = '';
        }
        $table->addRow(array($description, $scriptExecuteOn, zbx_nl2br(htmlspecialchars($script['command'], ENT_COMPAT, 'UTF-8'))));
    }
    if ($multiselect) {
        $button = new CButton('select', _('Select'), "javascript: addSelectedValues('scripts', " . zbx_jsvalue($reference) . ');');
        $table->setFooter(new CCol($button, 'right'));
        insert_js('var popupReference = ' . zbx_jsvalue($scripts, true) . ';');
    }
    zbx_add_post_js('chkbxRange.pageGoName = "scripts";');
    $form->addItem($table);
    $form->show();
}
require_once dirname(__FILE__) . '/include/page_footer.php';
Example #13
0
    public function preload()
    {
        $id = $this->getAttribute('id');
        if (empty($id)) {
            $id = 'img' . uniqid();
            $this->setAttribute('id', $id);
        }
        insert_js('jQuery(' . CJs::encodeJson($this->toString()) . ').load(function() {
				var parent = jQuery("#' . $id . 'preloader").parent();
				jQuery("#' . $id . 'preloader").remove();
				jQuery(parent).append(jQuery(this));
			});', true);
        $this->addClass('preloader');
        $this->setAttribute('id', $id . 'preloader');
        $this->setAttribute('src', 'styles/themes/' . getUserTheme(CWebUser::$data) . '/images/preloader.gif');
    }
Example #14
0
/**
 * Clear page cookies on action.
 *
 * @param bool   $clear
 * @param string $id	parent id, is used as cookie prefix
 */
function clearCookies($clear = false, $id = null)
{
    if ($clear) {
        insert_js('cookie.eraseArray("' . basename($_SERVER['SCRIPT_NAME'], '.php') . ($id ? '_' . $id : '') . '")');
    }
}
Example #15
0
function set_users_jsmenu_array()
{
    $menu_all = array();
    $menu_gui_access = array();
    $menu_users_status = array();
    $res = DBselect('SELECT DISTINCT g.usrgrpid, g.name, g.gui_access, g.users_status' . ' FROM usrgrp g' . ' WHERE ' . DBin_node('g.usrgrpid', get_current_nodeid(false)) . ' ORDER BY g.name');
    while ($group = DBfetch($res)) {
        $group['name'] = htmlspecialchars($group['name']);
        $gui_access = $group['gui_access'];
        $users_status = $group['users_status'];
        unset($group['gui_access']);
        unset($group['users_status']);
        $menu_all[] = $group;
        if ($gui_access != GROUP_GUI_ACCESS_SYSTEM) {
            $menu_gui_access[] = $group;
        }
        if ($users_status == GROUP_STATUS_DISABLED) {
            $menu_users_status[] = $group;
        }
    }
    insert_js('var menu_usrgrp_all=' . zbx_jsvalue($menu_all) . ";\n" . 'var menu_usrgrp_gui=' . zbx_jsvalue($menu_gui_access) . ";\n" . 'var menu_usrgrp_status=' . zbx_jsvalue($menu_users_status) . ";\n");
}
    foreach ($shows as $showid) {
        $go_result &= delete_slideshow($showid);
        if (!$go_result) {
            break;
        }
    }
    $go_result = DBend($go_result);
    if ($go_result) {
        unset($_REQUEST['form']);
    }
    show_messages($go_result, _('Slide show deleted'), _('Cannot delete slide show'));
}
if ($_REQUEST['go'] != 'none' && !empty($go_result)) {
    $url = new CUrl();
    $path = $url->getPath();
    insert_js('cookie.eraseArray(\'' . $path . '\')');
}
/*
 * Display
 */
if (isset($_REQUEST['form'])) {
    $data = array('form' => get_request('form', null), 'form_refresh' => get_request('form_refresh', null), 'slideshowid' => get_request('slideshowid', null), 'name' => get_request('name', ''), 'delay' => get_request('delay', ZBX_ITEM_DELAY_DEFAULT), 'slides' => get_request('slides', array()));
    if (isset($data['slideshowid']) && !isset($_REQUEST['form_refresh'])) {
        $data['name'] = $dbSlideshow['name'];
        $data['delay'] = $dbSlideshow['delay'];
        // get slides
        $db_slides = DBselect('SELECT s.* FROM slides s WHERE s.slideshowid=' . $data['slideshowid'] . ' ORDER BY s.step');
        while ($slide = DBfetch($db_slides)) {
            $data['slides'][$slide['step']] = array('slideid' => $slide['slideid'], 'screenid' => $slide['screenid'], 'delay' => $slide['delay']);
        }
    }
Example #17
0
function insert_js_function($fnct_name)
{
    switch ($fnct_name) {
        case 'add_item_variable':
            insert_js('function add_item_variable(s_formname,x_value){
				if(add_variable(null, "itemid[]", x_value, s_formname, window.opener.document)){
					var o_form;
			
					if( !(o_form = window.opener.document.forms[s_formname]) )
						 throw "Missed form with name ["+s_formname+"].";
			
					var element = o_form.elements["itemid"];
					if(element) element.name = "itemid[]";
			
					o_form.submit();
				}
			
				close_window();
					return true;
			}');
            break;
        case 'add_media':
            insert_js('function add_media(formname,media,mediatypeid,sendto,period,active,severity){
				var form = window.opener.document.forms[formname];
				var media_name = (media > -1)?"user_medias["+media+"]":"new_media";
				
				if(!form){
					close_window();
				return false;
				}

				window.opener.create_var(form,media_name+"[mediatypeid]",mediatypeid);
				window.opener.create_var(form,media_name+"[sendto]",sendto);
				window.opener.create_var(form,media_name+"[period]",period);
				window.opener.create_var(form,media_name+"[active]",active);
				window.opener.create_var(form,media_name+"[severity]",severity);
			
				form.submit();
				close_window();
			return true;
			}');
            break;
        case 'add_graph_item':
            insert_js('function add_graph_item(formname,itemid,color,drawtype,sortorder,yaxisside,calc_fnc,type,periods_cnt){
					var form = window.opener.document.forms[formname];
				
					if(!form){
						close_window();
					return false;
					}
						
					window.opener.create_var(form,"new_graph_item[itemid]",itemid);
					window.opener.create_var(form,"new_graph_item[color]",color);
					window.opener.create_var(form,"new_graph_item[drawtype]",drawtype);
					window.opener.create_var(form,"new_graph_item[sortorder]",sortorder);
					window.opener.create_var(form,"new_graph_item[yaxisside]",yaxisside);
					window.opener.create_var(form,"new_graph_item[calc_fnc]",calc_fnc);
					window.opener.create_var(form,"new_graph_item[type]",type);
					window.opener.create_var(form,"new_graph_item[periods_cnt]",periods_cnt);
					
					form.submit();
					close_window();
					return true;
				}');
            break;
        case 'update_graph_item':
            insert_js('function update_graph_item(formname,list_name,gid,itemid,color,drawtype,sortorder,yaxisside,calc_fnc,type,periods_cnt){
				var form = window.opener.document.forms[formname];
			
				if(!form){
					close_window();
				return false;
				}
			
				window.opener.create_var(form,list_name + "[" + gid + "][itemid]",itemid);
				window.opener.create_var(form,list_name + "[" + gid + "][color]",color);
				window.opener.create_var(form,list_name + "[" + gid + "][drawtype]",drawtype);
				window.opener.create_var(form,list_name + "[" + gid + "][sortorder]",sortorder);
				window.opener.create_var(form,list_name + "[" + gid + "][yaxisside]",yaxisside);
				window.opener.create_var(form,list_name + "[" + gid + "][calc_fnc]",calc_fnc);
				window.opener.create_var(form,list_name + "[" + gid + "][type]",type);
				window.opener.create_var(form,list_name + "[" + gid + "][periods_cnt]",periods_cnt);
				
				form.submit();
				close_window();
				return true;
			}');
            break;
        case 'add_bitem':
            insert_js('function add_bitem(formname,caption,itemid,color,calc_fnc,axisside){
					var form = window.opener.document.forms[formname];
				
					if(!form){
						close_window();
					return false;
					}
					
					window.opener.create_var(form,"new_graph_item[caption]",caption);	
					window.opener.create_var(form,"new_graph_item[itemid]",itemid);
					window.opener.create_var(form,"new_graph_item[color]",color);
					window.opener.create_var(form,"new_graph_item[calc_fnc]",calc_fnc);
					window.opener.create_var(form,"new_graph_item[axisside]",axisside);
					form.submit();
					close_window();
					return true;
				}');
            break;
        case 'update_bitem':
            insert_js('function update_bitem(formname,list_name,gid,caption,itemid,color,calc_fnc,axisside){
				var form = window.opener.document.forms[formname];
			
				if(!form){
					close_window();
				return false;
				}

				window.opener.create_var(form,list_name + "[" + gid + "][caption]",caption);			
				window.opener.create_var(form,list_name + "[" + gid + "][itemid]",itemid);
				window.opener.create_var(form,list_name + "[" + gid + "][color]",color);
				window.opener.create_var(form,list_name + "[" + gid + "][calc_fnc]",calc_fnc);
				window.opener.create_var(form,list_name + "[" + gid + "][axisside]",axisside);
				
				form.submit();
				close_window();
				return true;
			}');
            break;
        case 'add_period':
            insert_js('function add_period(formname,caption,since,till,color){
					var form = window.opener.document.forms[formname];
				
					if(!form){
						close_window();
					return false;
					}
					
					window.opener.create_var(form,"new_period[caption]",caption);	
					window.opener.create_var(form,"new_period[report_timesince]",since);
					window.opener.create_var(form,"new_period[report_timetill]",till);
					window.opener.create_var(form,"new_period[color]",color);
					
					form.submit();
					close_window();
					return true;
				}');
            break;
        case 'update_period':
            insert_js('function update_period(pid, formname,caption,since,till,color){
				var form = window.opener.document.forms[formname];
			
				if(!form){
					close_window();
				return false;
				}

				window.opener.create_var(form,"periods["+pid+"][caption]",caption);	
				window.opener.create_var(form,"periods["+pid+"][report_timesince]",since);
				window.opener.create_var(form,"periods["+pid+"][report_timetill]",till);
				window.opener.create_var(form,"periods["+pid+"][color]",color);

				form.submit();
				close_window();
				return true;
			}');
            break;
        case 'add_selected_values':
            insert_js('
				function add_selected_values(objname, formname, dstfld, dstact, value) {
					value = typeof(value) != "undefined" ? value : null;
					dstact = ((typeof(dstact) != "undefined") && dstact) ? dstact : null;
					
					var parent_document = window.opener.document;
					
					if(!parent_document) return close_window();
					
					if(is_null(value)) {
						$(objname).getInputs("checkbox").each( 
							function(e){
								if(e.checked && e.name != "check"){
									add_variable("input", dstfld, e.value, formname, parent_document);
								}
							});	
					}
					else { 
						add_variable("input", dstfld, value, formname, parent_document);
					}

					if(dstact) 
						add_variable("input", dstact, 1, formname, parent_document);			
					
					parent_document.forms[formname].submit();
					close_window();	
				}');
            break;
        case 'add_value':
            insert_js('
				function add_value(dstfld1, dstfld2, value1, value2) {					
					var parent_document = window.opener.document;
				
					if(!parent_document) return close_window();
					
					parent_document.getElementById(dstfld1).value = value1;
					parent_document.getElementById(dstfld2).value = value2;

					close_window();	
				}');
            break;
        case 'check_all':
            insert_js('
				function check_all(objname, value) {
					$(objname).getInputs("checkbox").each(function(e){ e.checked = value });	
				}');
            break;
        default:
            break;
    }
}
$itemsTable->setHeader(array(new CCol(SPACE, null, null, 15), new CCol(SPACE, null, null, 15), new CCol(_('Name'), null, null, $this->data['graphtype'] == GRAPH_TYPE_NORMAL ? 280 : 360), $this->data['graphtype'] == GRAPH_TYPE_PIE || $this->data['graphtype'] == GRAPH_TYPE_EXPLODED ? new CCol(_('Type'), null, null, 80) : null, new CCol(_('Function'), null, null, 80), $this->data['graphtype'] == GRAPH_TYPE_NORMAL ? new CCol(_('Draw style'), 'nowrap', null, 80) : null, $this->data['graphtype'] == GRAPH_TYPE_NORMAL || $this->data['graphtype'] == GRAPH_TYPE_STACKED ? new CCol(_('Y axis side'), 'nowrap', null, 80) : null, new CCol(_('Colour'), null, null, 100), new CCol(_('Action'), null, null, 50)));
$addButton = new CButton('add_item', _('Add'), 'return PopUp("popup.php?writeonly=1&multiselect=1&dstfrm=' . $graphForm->getName() . ($this->data['normal_only'] ? '&normal_only=1' : '') . '&srctbl=items&srcfld1=itemid&srcfld2=name&numeric=1" + getOnlyHostParam(), 800, 600);', 'link_menu');
$addPrototypeButton = null;
if ($this->data['parent_discoveryid']) {
    $addPrototypeButton = new CButton('add_protoitem', _('Add prototype'), 'return PopUp("popup.php?writeonly=1&multiselect=1&dstfrm=' . $graphForm->getName() . url_param($this->data['graphtype'], false, 'graphtype') . url_param('parent_discoveryid') . ($this->data['normal_only'] ? '&normal_only=1' : '') . '&srctbl=item_prototypes&srcfld1=itemid&srcfld2=name&numeric=1", 800, 600);', 'link_menu');
}
$itemsTable->addRow(new CRow(new CCol(array($addButton, SPACE, SPACE, SPACE, $addPrototypeButton), null, 8), null, 'itemButtonsRow'));
foreach ($this->data['items'] as $n => $item) {
    $name = $item['host'] . NAME_DELIMITER . $item['name_expanded'];
    if (zbx_empty($item['drawtype'])) {
        $item['drawtype'] = 0;
    }
    if (zbx_empty($item['yaxisside'])) {
        $item['yaxisside'] = 0;
    }
    insert_js('loadItem(' . $n . ', ' . CJs::encodeJson($item['gitemid']) . ', ' . $this->data['graphid'] . ', ' . $item['itemid'] . ', ' . CJs::encodeJson($name) . ', ' . $item['type'] . ', ' . $item['calc_fnc'] . ', ' . $item['drawtype'] . ', ' . $item['yaxisside'] . ', \'' . $item['color'] . '\', ' . $item['flags'] . ');', true);
}
$graphFormList->addRow(_('Items'), new CDiv($itemsTable, 'objectgroup inlineblock border_dotted ui-corner-all'));
// append tabs to form
$graphTab = new CTabView();
if (!$this->data['form_refresh']) {
    $graphTab->setSelected(0);
}
$graphTab->addTab('graphTab', empty($this->data['parent_discoveryid']) ? _('Graph') : _('Graph prototype'), $graphFormList);
/*
 * Preview tab
 */
$chartImage = new CImg('chart3.php?period=3600');
$chartImage->preload();
$graphPreviewTable = new CTable(null, 'center maxwidth');
$graphPreviewTable->addRow(new CDiv($chartImage, null, 'previewChar'));
Example #19
0
$grouplist = array();
$options = array('nodeids' => $nodeids, 'output' => API_OUTPUT_EXTEND);
$groups = CHostGroup::get($options);
foreach ($groups as $gnum => $row) {
    $groups[$gnum]['nodename'] = get_node_name_by_elid($row['groupid'], true, ':') . $row['name'];
    if ($nodeid == 0) {
        $groups[$gnum]['name'] = $groups[$gnum]['nodename'];
    }
}
order_result($groups, 'name');
foreach ($groups as $gnum => $row) {
    $grouplist[$count] = array('groupid' => $row['groupid'], 'name' => $row['nodename'], 'permission' => $permission);
    $table->addRow(new CCol(array(new CCheckBox('groups[' . $count . ']', NULL, NULL, $count), $row['name'])));
    $count++;
}
insert_js('var grouplist = ' . zbx_jsvalue($grouplist) . ';');
$button = new CButton('select', S_SELECT, 'add_groups("' . $dstfrm . '")');
$button->setType('button');
$table->setFooter(new CCol($button, 'right'));
$form->addItem($table);
$form->show();
?>
<script language="JavaScript" type="text/javascript">
<!--
function add_groups(formname) {
	var parent_document = window.opener.document;

	if(!parent_document) return close_window();

	$('groups').getInputs("checkbox").each(
		function(box){
        }
    }
}
if (hasRequest('stepid')) {
    $followRedirects = getRequest('follow_redirects', HTTPTEST_STEP_FOLLOW_REDIRECTS_OFF);
    $retrieveMode = getRequest('retrieve_mode', HTTPTEST_STEP_RETRIEVE_MODE_CONTENT);
} else {
    $followRedirects = HTTPTEST_STEP_FOLLOW_REDIRECTS_ON;
    $retrieveMode = HTTPTEST_STEP_RETRIEVE_MODE_CONTENT;
}
if ((hasRequest('add') || hasRequest('update')) && $result) {
    $httpStepForJs = ['stepid' => getRequest('stepid'), 'name' => getRequest('name'), 'timeout' => getRequest('timeout'), 'url' => getRequest('url'), 'posts' => getRequest('posts'), 'variables' => getRequest('variables'), 'required' => getRequest('required'), 'status_codes' => getRequest('status_codes'), 'headers' => getRequest('headers'), 'follow_redirects' => getRequest('follow_redirects', HTTPTEST_STEP_FOLLOW_REDIRECTS_OFF), 'retrieve_mode' => getRequest('retrieve_mode', HTTPTEST_STEP_RETRIEVE_MODE_CONTENT)];
    if (!hasRequest('stepid')) {
        insert_js('add_httpstep(' . CJs::encodeJson(getRequest('dstfrm')) . ',' . CJs::encodeJson($httpStepForJs) . ');' . "\n");
    } else {
        insert_js('update_httpstep(' . CJs::encodeJson(getRequest('dstfrm')) . ',' . CJs::encodeJson(getRequest('list_name')) . ',' . CJs::encodeJson($httpStepForJs) . ');' . "\n");
    }
} else {
    $httpPopupForm = (new CForm())->addVar('dstfrm', getRequest('dstfrm'))->addVar('stepid', getRequest('stepid'))->addVar('list_name', getRequest('list_name'))->addVar('templated', getRequest('templated'))->addVar('old_name', getRequest('old_name'))->addVar('steps_names', getRequest('steps_names'));
    $httpPopupFormList = (new CFormList())->addRow(_('Name'), (new CTextBox('name', getRequest('name', ''), (bool) getRequest('templated'), 64))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH))->addRow(_('URL'), (new CTextBox('url', getRequest('url', ''), false, null))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH))->addRow(_('Post'), (new CTextArea('posts', getRequest('posts', '')))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH))->addRow(_('Variables'), (new CTextArea('variables', getRequest('variables', '')))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH))->addRow(_('Headers'), (new CTextArea('headers', getRequest('headers', '')))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH))->addRow(_('Follow redirects'), (new CCheckBox('follow_redirects'))->setChecked($followRedirects == 1))->addRow(_('Retrieve only headers'), (new CCheckBox('retrieve_mode'))->setChecked($retrieveMode == 1))->addRow(_('Timeout'), (new CNumericBox('timeout', getRequest('timeout', 15), 5))->setWidth(ZBX_TEXTAREA_NUMERIC_STANDARD_WIDTH))->addRow(_('Required string'), (new CTextBox('required', getRequest('required', '')))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH))->addRow(_('Required status codes'), (new CTextBox('status_codes', getRequest('status_codes', '')))->setWidth(ZBX_TEXTAREA_STANDARD_WIDTH));
    // append tabs to form
    $httpPopupTab = new CTabView();
    $httpPopupTab->addTab('scenarioStepTab', _('Step of web scenario'), $httpPopupFormList);
    // append buttons to form
    if (hasRequest('stepid')) {
        $httpPopupTab->setFooter(makeFormFooter(new CSubmit('update', _('Update')), [new CButtonCancel(null, 'close_window();')]));
    } else {
        $httpPopupTab->setFooter(makeFormFooter(new CSubmit('add', _('Add')), [new CButtonCancel(null, 'close_window();')]));
    }
    $httpPopupForm->addItem($httpPopupTab);
    $httpPopupWidget->addItem($httpPopupForm);
Example #21
0
/**
 * Clears table rows selection's cookies.
 *
 * @param string $id	parent id, is used as cookie suffix
 */
function uncheckTableRows($cookieId = null)
{
    insert_js('cookie.eraseArray("cb_' . basename($_SERVER['SCRIPT_NAME'], '.php') . ($cookieId ? '_' . $cookieId : '') . '")');
}
Example #22
0
    /**
     * Rotate table header text vertical.
     * Cells must be marked with "vertical_rotation" class.
     */
    public function makeVerticalRotation()
    {
        if (!defined('IS_VERTICAL_ROTATION_JS_INSERTED')) {
            define('IS_VERTICAL_ROTATION_JS_INSERTED', true);
            insert_js('jQuery(function($) {
					$.fn.makeVerticalRotation = function () {
						var cellsToRotate = $(".vertical_rotation", this),
							betterCells = [];

						// insert spans
						cellsToRotate.each(function () {
							var cell = $(this);

							var text = $("<span>", {
								text: $.escapeHtml(cell.text())
							});

							if (IE) {
								text.css({"font-family": "monospace"});
							}

							cell.text("").append(text);
						});

						// rotate cells
						cellsToRotate.each(function () {
							var cell = $(this),
								span = cell.children(),
								height = cell.height(),
								width = span.width(),
								transform = (width / 2) + "px " + (width / 2) + "px";

							var css = {
								"transform-origin": transform,
								"-webkit-transform-origin": transform,
								"-moz-transform-origin": transform,
								"-o-transform-origin": transform
							};

							if (IE) {
								css["font-family"] = "monospace";
								css["-ms-transform-origin"] = "50% 50%";
							}

							if (IE9) {
								css["-ms-transform-origin"] = transform;
							}

							var divInner = $("<div>", {
								"class": "vertical_rotation_inner"
							})
							.css(css)
							.append(span.text());

							var div = $("<div>", {
								height: width,
								width: height
							})
							.append(divInner);

							betterCells.push(div);
						});

						cellsToRotate.each(function (i) {
							$(this).html(betterCells[i]);
						});

						// align text to cell center
						cellsToRotate.each(function () {
							var cell = $(this),
								width = cell.width();

							if (width > 30) {
								cell.children().css({
									position: "relative",
									left: width / 2 - 12
								});
							}
						});
					};
				});

				jQuery(document).ready(function() {
					jQuery(".' . $this->getAttribute('class') . '").makeVerticalRotation();

					if (IE8) {
						jQuery(".vertical_rotation_inner").css({
							filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"
						});
					}
					else if (IE9) {
						jQuery(".vertical_rotation_inner").css({
							"-ms-transform": "rotate(270deg)"
						});
					}

					if (!IE9) {
						jQuery(".vertical_rotation_inner").css({
							"writing-mode": "tb-rl"
						});
					}
				});', true);
        }
    }
Example #23
0
include_once 'include/page_header.php';
//		VAR			TYPE	OPTIONAL FLAGS	VALIDATION	EXCEPTION
$fields = array('dstfrm' => array(T_ZBX_STR, O_MAND, P_SYS, NOT_EMPTY, null), 'config' => array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1,2,3'), NULL), 'gid' => array(T_ZBX_INT, O_OPT, P_SYS, BETWEEN(0, 65535), null), 'list_name' => array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY, 'isset({save})&&isset({gid})'), 'caption' => array(T_ZBX_STR, O_OPT, null, null, null), 'itemid' => array(T_ZBX_INT, O_OPT, null, DB_ID . '({}!=0)', 'isset({save})'), 'color' => array(T_ZBX_CLR, O_OPT, null, null, 'isset({save})'), 'calc_fnc' => array(T_ZBX_INT, O_OPT, null, IN('0,1,2,4,7,9'), 'isset({save})'), 'axisside' => array(T_ZBX_INT, O_OPT, null, IN(GRAPH_YAXIS_SIDE_LEFT . ',' . GRAPH_YAXIS_SIDE_RIGHT), null), 'add' => array(T_ZBX_STR, O_OPT, P_SYS | P_ACT, null, null), 'save' => array(T_ZBX_STR, O_OPT, P_SYS | P_ACT, null, null), 'form' => array(T_ZBX_STR, O_OPT, P_SYS, null, null), 'form_refresh' => array(T_ZBX_STR, O_OPT, null, null, null));
check_fields($fields);
$_REQUEST['caption'] = get_request('caption', '');
$_REQUEST['axisside'] = get_request('axisside', GRAPH_YAXIS_SIDE_LEFT);
if (zbx_empty($_REQUEST['caption']) && isset($_REQUEST['itemid']) && $_REQUEST['itemid'] > 0) {
    $_REQUEST['caption'] = item_description(get_item_by_itemid($_REQUEST['itemid']));
}
insert_js_function('add_bitem');
insert_js_function('update_bitem');
if (isset($_REQUEST['save']) && !isset($_REQUEST['gid'])) {
    insert_js("add_bitem('" . $_REQUEST['dstfrm'] . "'," . zbx_jsvalue($_REQUEST['caption']) . ",'" . $_REQUEST['itemid'] . "','" . $_REQUEST['color'] . "'," . $_REQUEST['calc_fnc'] . "," . $_REQUEST['axisside'] . ");\n");
}
if (isset($_REQUEST['save']) && isset($_REQUEST['gid'])) {
    insert_js("update_bitem('" . $_REQUEST['dstfrm'] . "','" . $_REQUEST['list_name'] . "','" . $_REQUEST['gid'] . "'," . zbx_jsvalue($_REQUEST['caption']) . ",'" . $_REQUEST['itemid'] . "','" . $_REQUEST['color'] . "'," . $_REQUEST['calc_fnc'] . "," . $_REQUEST['axisside'] . ");\n");
} else {
    echo SBR;
    $frmGItem = new CFormTable(S_NEW_ITEM_FOR_THE_GRAPH);
    $frmGItem->setName('graph_item');
    $frmGItem->setHelp('web.graph.item.php');
    $frmGItem->addVar('dstfrm', $_REQUEST['dstfrm']);
    $config = get_request('config', 1);
    $gid = get_request('gid', null);
    $list_name = get_request('list_name', null);
    $caption = get_request('caption', '');
    $itemid = get_request('itemid', 0);
    $color = get_request('color', '009900');
    $calc_fnc = get_request('calc_fnc', 2);
    $axisside = get_request('axisside', GRAPH_YAXIS_SIDE_LEFT);
    $description = '';
function insert_js_function($fnct_name)
{
    switch ($fnct_name) {
        case 'add_item_variable':
            insert_js('
				function add_item_variable(s_formname, x_value) {
					if (add_variable(null, "itemid[" + x_value + "]", x_value, s_formname, window.opener.document)) {
						var o_form;
						if (!(o_form = window.opener.document.forms[s_formname])) {
							throw "Missing form with name [" + s_formname + "].";
						}
						var element = o_form.elements["itemid"];
						if (element) {
							element.name = "itemid[" + element.value + "]";
						}
						o_form.submit();
					}
					close_window();
					return true;
				}');
            break;
        case 'add_media':
            insert_js('
				function add_media(formname, media, mediatypeid, sendto, period, active, severity) {
					var form = window.opener.document.forms[formname];
					var media_name = (media > -1) ? "user_medias[" + media + "]" : "new_media";
					if (!form) {
						close_window();
						return false;
					}
					window.opener.create_var(form, media_name + "[mediatypeid]", mediatypeid);
					window.opener.create_var(form, media_name + "[sendto]", sendto);
					window.opener.create_var(form, media_name + "[period]", period);
					window.opener.create_var(form, media_name + "[active]", active);
					window.opener.create_var(form, media_name + "[severity]", severity);

					form.submit();
					close_window();
					return true;
				}');
            break;
        case 'add_bitem':
            insert_js('
				function add_bitem(formname, caption, itemid, color, calc_fnc, axisside) {
					var form = window.opener.document.forms[formname];
					if (!form) {
						close_window();
						return false;
					}
					window.opener.create_var(form, "new_graph_item[caption]", caption);
					window.opener.create_var(form, "new_graph_item[itemid]", itemid);
					window.opener.create_var(form, "new_graph_item[color]", color);
					window.opener.create_var(form, "new_graph_item[calc_fnc]", calc_fnc);
					window.opener.create_var(form, "new_graph_item[axisside]", axisside);

					form.submit();
					close_window();
					return true;
				}');
            break;
        case 'update_bitem':
            insert_js('
				function update_bitem(formname, list_name, gid, caption, itemid, color, calc_fnc, axisside) {
					var form = window.opener.document.forms[formname];
					if (!form) {
						close_window();
						return false;
					}
					window.opener.create_var(form, list_name + "[" + gid + "][caption]", caption);
					window.opener.create_var(form, list_name + "[" + gid + "][itemid]", itemid);
					window.opener.create_var(form, list_name + "[" + gid + "][color]", color);
					window.opener.create_var(form, list_name + "[" + gid + "][calc_fnc]", calc_fnc);
					window.opener.create_var(form, list_name + "[" + gid + "][axisside]", axisside);

					form.submit();
					close_window();
					return true;
				}');
            break;
        case 'add_period':
            insert_js('
				function add_period(formname, caption, since, till, color) {
					var form = window.opener.document.forms[formname];
					if (!form) {
						close_window();
						return false;
					}
					window.opener.create_var(form, "new_period[caption]", caption);
					window.opener.create_var(form, "new_period[report_timesince]", since);
					window.opener.create_var(form, "new_period[report_timetill]", till);
					window.opener.create_var(form, "new_period[color]", color);

					form.submit();
					close_window();
					return true;
				}');
            break;
        case 'update_period':
            insert_js('
				function update_period(pid, formname, caption, since, till, color) {
					var form = window.opener.document.forms[formname];
					if (!form) {
						close_window();
						return false;
					}
					window.opener.create_var(form, "periods[" + pid + "][caption]", caption);
					window.opener.create_var(form, "periods[" + pid + "][report_timesince]", since);
					window.opener.create_var(form, "periods[" + pid + "][report_timetill]", till);
					window.opener.create_var(form, "periods[" + pid + "][color]", color);

					form.submit();
					close_window();
					return true;
				}');
            break;
        case 'addSelectedValues':
            insert_js('
				function addSelectedValues(form, object) {
					form = $(form);
					if (is_null(form)) {
						return close_window()
					};
					var parent = window.opener;
					if (!parent) {
						return close_window();
					}
					var items = { object: object, values: [] };
					var chkBoxes = form.getInputs("checkbox");
					for (var i = 0; i < chkBoxes.length; i++) {
						if (chkBoxes[i].checked && (chkBoxes[i].name.indexOf("all_") < 0)) {
							var value = {};
							if (isset(chkBoxes[i].value, popupReference)) {
								value = popupReference[chkBoxes[i].value];
							}
							else {
								value[object] = chkBoxes[i].value;
							}
							items["values"].push(value);
						}
					}
					parent.addPopupValues(items);
					close_window();
				}');
            break;
        case 'addValue':
            insert_js('
				function addValue(object, singleValue) {
					var parent = window.opener;
					if (!parent) {
						return close_window();
					}
					var value = {};
					if (isset(singleValue, popupReference)) {
						value = popupReference[singleValue];
					}
					else {
						value[object] = singleValue;
					}
					var items = { object: object, values: [value] };
					parent.addPopupValues(items);
					close_window();
				}');
            break;
        case 'addValues':
            insert_js('
				function addValues(frame, values, submitParent) {
					var parentDocument = window.opener.document;
					if (!parentDocument) {
						return close_window();
					}
					var parentDocumentForms = $(parentDocument.body).select("form[name=" + frame + "]");
					var submitParent = submitParent || false;
					var frmStorage = null;

					for (var key in values) {
						if (is_null(values[key])) {
							continue;
						}

						if (parentDocumentForms.length > 0) {
							frmStorage = jQuery(parentDocumentForms[0]).find("#" + key).get(0);
						}
						if (typeof(frmStorage) == "undefined" || is_null(frmStorage)) {
							frmStorage = parentDocument.getElementById(key);
						}

						if (jQuery(frmStorage).is("span")) {
							jQuery(frmStorage).html(values[key]);
						}
						else {
							frmStorage.value = values[key];
						}
					}
					if (!is_null(frmStorage) && submitParent) {
						frmStorage.form.submit();
					}
					close_window();
				}');
            break;
        case 'check_all':
            insert_js('
				function check_all(objname, value) {
					$(objname).getInputs("checkbox").each(function(e) {
						e.checked = value;
					});
				}');
            break;
        case 'removeSelectedItems':
            insert_js('
				function removeSelectedItems(formobject, name) {
					formobject = $(formobject);
					if (is_null(formobject)) {
						return false;
					}
					for (var i = 0; i < formobject.options.length; i++) {
						if (!isset(i, formobject.options)) {
							continue;
						}
						if (formobject.options[i].selected) {
							var obj = $(name + "_" + formobject.options[i].value);
							if (!is_null(obj)) {
								obj.remove();
							}
						}
					}
				}
			');
            break;
        default:
            insert_js('throw("JS function not found [' . $fnct_name . ']");');
            break;
    }
}
if (isset($_REQUEST['save'])) {
    $result = true;
    if ((!isset($_REQUEST['stepid']) || isset($_REQUEST['stepid']) && $_REQUEST['name'] !== $_REQUEST['old_name']) && isset($_REQUEST['steps_names'])) {
        foreach ($_REQUEST['steps_names'] as $name) {
            if ($name === $_REQUEST['name']) {
                show_error_message(_s('Step with name "%1$s" already exists.', $name));
                $result = false;
            }
        }
    }
}
if (isset($_REQUEST['save']) && $result) {
    if (!isset($_REQUEST['stepid'])) {
        insert_js('add_httpstep(' . zbx_jsvalue($_REQUEST['dstfrm']) . ',' . zbx_jsvalue($_REQUEST['name']) . ',' . zbx_jsvalue($_REQUEST['timeout']) . ',' . zbx_jsvalue($_REQUEST['url']) . ',' . zbx_jsvalue($_REQUEST['posts']) . ',' . zbx_jsvalue($_REQUEST['variables']) . ',' . zbx_jsvalue($_REQUEST['required']) . ',' . zbx_jsvalue($_REQUEST['status_codes']) . ");\n");
    } else {
        insert_js('update_httpstep(' . zbx_jsvalue($_REQUEST['dstfrm']) . ',' . zbx_jsvalue($_REQUEST['list_name']) . ',' . zbx_jsvalue($_REQUEST['stepid']) . ',' . zbx_jsvalue($_REQUEST['name']) . ',' . zbx_jsvalue($_REQUEST['timeout']) . ',' . zbx_jsvalue($_REQUEST['url']) . ',' . zbx_jsvalue($_REQUEST['posts']) . ',' . zbx_jsvalue($_REQUEST['variables']) . ',' . zbx_jsvalue($_REQUEST['required']) . ',' . zbx_jsvalue($_REQUEST['status_codes']) . ");\n");
    }
} else {
    $httpPopupForm = new CForm();
    $httpPopupForm->addVar('dstfrm', get_request('dstfrm', null));
    $httpPopupForm->addVar('stepid', get_request('stepid', null));
    $httpPopupForm->addVar('list_name', get_request('list_name', null));
    $httpPopupForm->addVar('templated', get_request('templated', null));
    $httpPopupForm->addVar('old_name', get_request('old_name', null));
    $httpPopupForm->addVar('steps_names', get_request('steps_names', null));
    $httpPopupFormList = new CFormList('httpPopupFormList');
    $httpPopupFormList->addRow(_('Name'), new CTextBox('name', get_request('name', ''), ZBX_TEXTBOX_STANDARD_SIZE, get_request('templated', null), 64));
    $httpPopupFormList->addRow(_('URL'), new CTextBox('url', get_request('url', ''), ZBX_TEXTBOX_STANDARD_SIZE));
    $httpPopupFormList->addRow(_('Post'), new CTextArea('posts', get_request('posts', '')));
    $httpPopupFormList->addRow(_('Variables'), new CTextArea('variables', get_request('variables', '')));
    $httpPopupFormList->addRow(_('Timeout'), new CNumericBox('timeout', get_request('timeout', 15), 5));
Example #26
0
 /**
  * Process screen.
  *
  * @return CDiv (screen inside container)
  */
 public function get()
 {
     $this->dataId = 'graph_' . $this->screenitem['screenitemid'] . '_' . $this->screenitem['screenid'];
     $resourceId = isset($this->screenitem['real_resourceid']) ? $this->screenitem['real_resourceid'] : $this->screenitem['resourceid'];
     $containerId = 'graph_container_' . $this->screenitem['screenitemid'] . '_' . $this->screenitem['screenid'];
     $graphDims = getGraphDims($resourceId);
     $graphDims['graphHeight'] = $this->screenitem['height'];
     $graphDims['width'] = $this->screenitem['width'];
     $graph = getGraphByGraphId($resourceId);
     $graphId = $graph['graphid'];
     $legend = $graph['show_legend'];
     $graph3d = $graph['show_3d'];
     if ($this->screenitem['dynamic'] == SCREEN_DYNAMIC_ITEM && $this->hostid) {
         // get host
         $hosts = API::Host()->get(['hostids' => $this->hostid, 'output' => ['hostid', 'name']]);
         $host = reset($hosts);
         // get graph
         $graph = API::Graph()->get(['graphids' => $resourceId, 'output' => API_OUTPUT_EXTEND, 'selectHosts' => ['hostid'], 'selectGraphItems' => API_OUTPUT_EXTEND]);
         $graph = reset($graph);
         // if items from one host we change them, or set calculated if not exist on that host
         if (count($graph['hosts']) == 1) {
             if ($graph['ymax_type'] == GRAPH_YAXIS_TYPE_ITEM_VALUE && $graph['ymax_itemid']) {
                 $newDynamic = getSameGraphItemsForHost([['itemid' => $graph['ymax_itemid']]], $this->hostid, false);
                 $newDynamic = reset($newDynamic);
                 if (isset($newDynamic['itemid']) && $newDynamic['itemid'] > 0) {
                     $graph['ymax_itemid'] = $newDynamic['itemid'];
                 } else {
                     $graph['ymax_type'] = GRAPH_YAXIS_TYPE_CALCULATED;
                 }
             }
             if ($graph['ymin_type'] == GRAPH_YAXIS_TYPE_ITEM_VALUE && $graph['ymin_itemid']) {
                 $newDynamic = getSameGraphItemsForHost([['itemid' => $graph['ymin_itemid']]], $this->hostid, false);
                 $newDynamic = reset($newDynamic);
                 if (isset($newDynamic['itemid']) && $newDynamic['itemid'] > 0) {
                     $graph['ymin_itemid'] = $newDynamic['itemid'];
                 } else {
                     $graph['ymin_type'] = GRAPH_YAXIS_TYPE_CALCULATED;
                 }
             }
         }
         // get url
         $this->screenitem['url'] = $graph['graphtype'] == GRAPH_TYPE_PIE || $graph['graphtype'] == GRAPH_TYPE_EXPLODED ? 'chart7.php' : 'chart3.php';
         $this->screenitem['url'] = new CUrl($this->screenitem['url']);
         foreach ($graph as $name => $value) {
             if ($name == 'width' || $name == 'height') {
                 continue;
             }
             $this->screenitem['url']->setArgument($name, $value);
         }
         $newGraphItems = getSameGraphItemsForHost($graph['gitems'], $this->hostid, false);
         foreach ($newGraphItems as $newGraphItem) {
             unset($newGraphItem['gitemid'], $newGraphItem['graphid']);
             foreach ($newGraphItem as $name => $value) {
                 $this->screenitem['url']->setArgument('items[' . $newGraphItem['itemid'] . '][' . $name . ']', $value);
             }
         }
         $this->screenitem['url']->setArgument('name', $host['name'] . NAME_DELIMITER . $graph['name']);
         $this->screenitem['url'] = $this->screenitem['url']->getUrl();
     }
     // get time control
     $timeControlData = ['id' => $this->getDataId(), 'containerid' => $containerId, 'objDims' => $graphDims, 'loadSBox' => 0, 'loadImage' => 1, 'periodFixed' => CProfile::get('web.screens.timelinefixed', 1), 'sliderMaximumTimePeriod' => ZBX_MAX_PERIOD];
     $isDefault = false;
     if ($graphDims['graphtype'] == GRAPH_TYPE_PIE || $graphDims['graphtype'] == GRAPH_TYPE_EXPLODED) {
         if ($this->screenitem['dynamic'] == SCREEN_SIMPLE_ITEM || $this->screenitem['url'] === '') {
             $this->screenitem['url'] = 'chart6.php?graphid=' . $resourceId . '&screenid=' . $this->screenitem['screenid'];
             $isDefault = true;
         }
         $this->timeline['starttime'] = date(TIMESTAMP_FORMAT, get_min_itemclock_by_graphid($resourceId));
         $timeControlData['src'] = $this->screenitem['url'] . '&width=' . $this->screenitem['width'] . '&height=' . $this->screenitem['height'] . '&legend=' . $legend . '&graph3d=' . $graph3d . $this->getProfileUrlParams();
         $timeControlData['src'] .= $this->mode == SCREEN_MODE_EDIT ? '&period=3600&stime=' . date(TIMESTAMP_FORMAT, time()) : '&period=' . $this->timeline['period'] . '&stime=' . $this->timeline['stimeNow'];
     } else {
         if ($this->screenitem['dynamic'] == SCREEN_SIMPLE_ITEM || $this->screenitem['url'] === '') {
             $this->screenitem['url'] = 'chart2.php?graphid=' . $resourceId . '&screenid=' . $this->screenitem['screenid'];
             $isDefault = true;
         }
         if ($this->mode != SCREEN_MODE_EDIT && $graphId) {
             if ($this->mode == SCREEN_MODE_PREVIEW) {
                 $timeControlData['loadSBox'] = 1;
             }
         }
         $timeControlData['src'] = $this->screenitem['url'] . '&width=' . $this->screenitem['width'] . '&height=' . $this->screenitem['height'] . '&legend=' . $legend . $this->getProfileUrlParams();
         $timeControlData['src'] .= $this->mode == SCREEN_MODE_EDIT ? '&period=3600&stime=' . date(TIMESTAMP_FORMAT, time()) : '&period=' . $this->timeline['period'] . '&stime=' . $this->timeline['stimeNow'];
     }
     // output
     if ($this->mode == SCREEN_MODE_JS) {
         return 'timeControl.addObject("' . $this->getDataId() . '", ' . CJs::encodeJson($this->timeline) . ', ' . CJs::encodeJson($timeControlData) . ')';
     } else {
         if ($this->mode == SCREEN_MODE_SLIDESHOW) {
             insert_js('timeControl.addObject("' . $this->getDataId() . '", ' . CJs::encodeJson($this->timeline) . ', ' . CJs::encodeJson($timeControlData) . ');');
         } else {
             zbx_add_post_js('timeControl.addObject("' . $this->getDataId() . '", ' . CJs::encodeJson($this->timeline) . ', ' . CJs::encodeJson($timeControlData) . ');');
         }
         if ($this->mode == SCREEN_MODE_EDIT || $this->mode == SCREEN_MODE_SLIDESHOW || !$isDefault) {
             $item = new CDiv();
         } elseif ($this->mode == SCREEN_MODE_PREVIEW) {
             $item = new CLink(null, 'charts.php?graphid=' . $resourceId . '&period=' . $this->timeline['period'] . '&stime=' . $this->timeline['stimeNow']);
         }
         $item->setId($containerId);
         return $this->getOutput($item);
     }
 }
Example #27
0
    $_REQUEST['show_events'] = get_request('show_events', CProfile::get('web.tr_status.filter.show_events', EVENTS_OPTION_NOEVENT));
    $_REQUEST['ack_status'] = get_request('ack_status', CProfile::get('web.tr_status.filter.ack_status', ZBX_ACK_STS_ANY));
    $_REQUEST['show_severity'] = get_request('show_severity', CProfile::get('web.tr_status.filter.show_severity', -1));
    $_REQUEST['status_change_days'] = get_request('status_change_days', CProfile::get('web.tr_status.filter.status_change_days', 14));
    $_REQUEST['txt_select'] = get_request('txt_select', CProfile::get('web.tr_status.filter.txt_select', ''));
    if (EVENT_ACK_DISABLED == $config['event_ack_enable']) {
        if (!str_in_array($_REQUEST['show_events'], array(EVENTS_OPTION_NOEVENT, EVENTS_OPTION_ALL))) {
            $_REQUEST['show_events'] = EVENTS_OPTION_NOEVENT;
        }
        $_REQUEST['ack_status'] = ZBX_ACK_STS_ANY;
    }
}
if (get_request('show_events') != CProfile::get('web.tr_status.filter.show_events')) {
    $url = new CUrl();
    $path = $url->getPath();
    insert_js('cookie.eraseArray("' . $path . '")');
}
//--
if (isset($_REQUEST['filter_set']) || isset($_REQUEST['filter_rst'])) {
    CProfile::update('web.tr_status.filter.show_details', $_REQUEST['show_details'], PROFILE_TYPE_INT);
    CProfile::update('web.tr_status.filter.show_events', $_REQUEST['show_events'], PROFILE_TYPE_INT);
    CProfile::update('web.tr_status.filter.ack_status', $_REQUEST['ack_status'], PROFILE_TYPE_INT);
    CProfile::update('web.tr_status.filter.show_severity', $_REQUEST['show_severity'], PROFILE_TYPE_INT);
    CProfile::update('web.tr_status.filter.txt_select', $_REQUEST['txt_select'], PROFILE_TYPE_STR);
    CProfile::update('web.tr_status.filter.status_change', $_REQUEST['status_change'], PROFILE_TYPE_INT);
    CProfile::update('web.tr_status.filter.status_change_days', $_REQUEST['status_change_days'], PROFILE_TYPE_INT);
}
$show_triggers = $_REQUEST['show_triggers'];
$show_events = $_REQUEST['show_events'];
$show_severity = $_REQUEST['show_severity'];
$ack_status = $_REQUEST['ack_status'];
//		VAR			TYPE	OPTIONAL FLAGS	VALIDATION	EXCEPTION
$fields = array('dstfrm' => array(T_ZBX_STR, O_MAND, P_SYS, NOT_EMPTY, null), 'config' => array(T_ZBX_INT, O_OPT, P_SYS, IN('0,1,2,3'), NULL), 'period_id' => array(T_ZBX_INT, O_OPT, null, null, null), 'caption' => array(T_ZBX_STR, O_OPT, null, null, null), 'report_timesince' => array(T_ZBX_STR, O_OPT, null, null, 'isset({save})'), 'report_timetill' => array(T_ZBX_STR, O_OPT, null, null, 'isset({save})'), 'color' => array(T_ZBX_CLR, O_OPT, null, null, 'isset({save})'), 'save' => array(T_ZBX_STR, O_OPT, P_SYS | P_ACT, null, null), 'form' => array(T_ZBX_STR, O_OPT, P_SYS, null, null), 'form_refresh' => array(T_ZBX_STR, O_OPT, null, null, null));
check_fields($fields);
insert_js_function('add_period');
insert_js_function('update_period');
$_REQUEST['report_timesince'] = zbxDateToTime(get_request('report_timesince', date('YmdHis', time() - SEC_PER_DAY)));
$_REQUEST['report_timetill'] = zbxDateToTime(get_request('report_timetill', date('YmdHis')));
$_REQUEST['caption'] = get_request('caption', '');
if (zbx_empty($_REQUEST['caption']) && isset($_REQUEST['report_timesince']) && isset($_REQUEST['report_timetill'])) {
    $_REQUEST['caption'] = zbx_date2str(POPUP_PERIOD_CAPTION_DATE_FORMAT, $_REQUEST['report_timesince']) . ' - ' . zbx_date2str(POPUP_PERIOD_CAPTION_DATE_FORMAT, $_REQUEST['report_timetill']);
}
if (isset($_REQUEST['save'])) {
    if (isset($_REQUEST['period_id'])) {
        insert_js("update_period('" . $_REQUEST['period_id'] . "'," . zbx_jsvalue($_REQUEST['dstfrm']) . "," . zbx_jsvalue($_REQUEST['caption']) . ",'" . $_REQUEST['report_timesince'] . "','" . $_REQUEST['report_timetill'] . "','" . $_REQUEST['color'] . "');\n");
    } else {
        insert_js("add_period(" . zbx_jsvalue($_REQUEST['dstfrm']) . "," . zbx_jsvalue($_REQUEST['caption']) . ",'" . $_REQUEST['report_timesince'] . "','" . $_REQUEST['report_timetill'] . "','" . $_REQUEST['color'] . "');\n");
    }
} else {
    echo SBR;
    $frmPd = new CFormTable(_('Period'));
    $frmPd->setName('period');
    $frmPd->addVar('dstfrm', $_REQUEST['dstfrm']);
    $config = get_request('config', 1);
    $caption = get_request('caption', '');
    $color = get_request('color', '009900');
    $report_timesince = get_request('report_timesince', time() - SEC_PER_DAY);
    $report_timetill = get_request('report_timetill', time());
    $frmPd->addVar('config', $config);
    $frmPd->addVar('report_timesince', date('YmdHis', $report_timesince));
    $frmPd->addVar('report_timetill', date('YmdHis', $report_timetill));
    if (isset($_REQUEST['period_id'])) {
Example #29
0
         }
         $sub_menu_item = new CLink($sub_page['menu_text'], $sub_page['menu_url'], $sub_page['class'] . ' nowrap');
         if ($sub_page['selected']) {
             $sub_menu_item = new CSpan($sub_menu_item, 'active nowrap');
         }
         $sub_menu_row[] = $sub_menu_item;
         $sub_menu_row[] = new CSpan(SPACE . ' | ' . SPACE, 'divider');
     }
     $sub_menu_div = new CDiv($sub_menu_row);
     $sub_menu_div->setAttribute('id', 'sub_' . $label);
     $sub_menu_div->addAction('onmouseover', 'javascript: MMenu.submenu_mouseOver();');
     $sub_menu_div->addAction('onmouseout', 'javascript: MMenu.mouseOut();');
     if (isset($page['menu']) && $page['menu'] == $label) {
         $menu_selected = true;
         $sub_menu_div->setAttribute('style', 'display: block;');
         insert_js('MMenu.def_label = ' . zbx_jsvalue($label));
     } else {
         $sub_menu_div->setAttribute('style', 'display: none;');
     }
     $menu_divs[] = $sub_menu_div;
 }
 $sub_menu_div = new CDiv(SPACE);
 $sub_menu_div->setAttribute('id', 'sub_empty');
 $sub_menu_div->setAttribute('style', 'display: ' . ($menu_selected ? 'none;' : 'block;'));
 $menu_divs[] = $sub_menu_div;
 $search_form = new CForm('search.php');
 $search_form->setMethod('get');
 $search_form->setAttribute('class', 'thin');
 $search_form->addItem(new CDiv(array(S_SEARCH_BIG . ': ', new CTextBox('search', '', 15))));
 $search_div = new CDiv($search_form);
 $search_div->setAttribute('id', 'zbx_search');
Example #30
0
    public function setMaxlength($maxlength)
    {
        $this->attr('maxlength', $maxlength);
        if (!defined('IS_TEXTAREA_MAXLENGTH_JS_INSERTED')) {
            define('IS_TEXTAREA_MAXLENGTH_JS_INSERTED', true);
            // firefox and google chrome has own implementation of maxlength validation on textarea
            insert_js('
				if (!CR && !GK) {
					jQuery("textarea[maxlength]").bind("paste contextmenu change keydown keypress keyup", function() {
						var elem = jQuery(this);
						if (elem.val().length > elem.attr("maxlength")) {
							elem.val(elem.val().substr(0, elem.attr("maxlength")));
						}
					});
				}', true);
        }
    }