function show_form_add_contact($contact = array(), $messages = array()) { //Определяем значение переменной $message_html = show_messages($messages); /*Подключаем шаблон*/ return template_get("contacts/add_contact", array('name' => $contact['name'], 'message' => $message_html)); }
function local_showMessage() { global $ZBX_MESSAGES; if (CSession::keyExists('messageOk') || CSession::keyExists('messageError')) { if (CSession::keyExists('messages')) { $ZBX_MESSAGES = CSession::getValue('messages'); CSession::unsetValue(['messages']); } if (CSession::keyExists('messageOk')) { show_messages(true, CSession::getValue('messageOk')); } else { show_messages(false, null, CSession::getValue('messageError')); } CSession::unsetValue(['messageOk', 'messageError']); } }
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), 'graphid' => array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, null), 'gid' => array(T_ZBX_INT, O_OPT, P_SYS, BETWEEN(0, 65535), null), 'graphtype' => array(T_ZBX_INT, O_OPT, null, IN('0,1,2,3'), 'isset({save})'), 'list_name' => array(T_ZBX_STR, O_OPT, P_SYS, NOT_EMPTY, 'isset({save})&&isset({gid})'), 'itemid' => array(T_ZBX_INT, O_OPT, null, DB_ID . '({}!=0)', 'isset({save})'), 'color' => array(T_ZBX_CLR, O_OPT, null, null, 'isset({save})'), 'drawtype' => array(T_ZBX_INT, O_OPT, null, IN(graph_item_drawtypes()), 'isset({save})&&(({graphtype} == 0) || ({graphtype} == 1))'), 'sortorder' => array(T_ZBX_INT, O_OPT, null, BETWEEN(0, 65535), 'isset({save})&&(({graphtype} == 0) || ({graphtype} == 1))'), 'yaxisside' => array(T_ZBX_INT, O_OPT, null, IN('0,1'), 'isset({save})&&(({graphtype} == 0) || ({graphtype} == 1))'), 'calc_fnc' => array(T_ZBX_INT, O_OPT, null, IN('1,2,4,7,9'), 'isset({save})'), 'type' => array(T_ZBX_INT, O_OPT, null, IN('0,1,2'), 'isset({save})'), 'periods_cnt' => array(T_ZBX_INT, O_OPT, null, BETWEEN(0, 360), 'isset({save})'), 'only_hostid' => array(T_ZBX_INT, O_OPT, null, DB_ID, null), 'monitored_hosts' => array(T_ZBX_INT, O_OPT, null, IN('0,1'), 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); insert_js_function('add_graph_item'); insert_js_function('update_graph_item'); $_REQUEST['drawtype'] = get_request('drawtype', 0); $_REQUEST['yaxisside'] = get_request('yaxisside', 0); $_REQUEST['sortorder'] = get_request('sortorder', 0); $graphid = get_request('graphid', false); if (isset($_REQUEST['type']) && $_REQUEST['type'] == GRAPH_ITEM_SUM && $graphid !== false) { $sql = 'SELECT COUNT(itemid) as items' . ' FROM graphs_items ' . ' WHERE type=' . GRAPH_ITEM_SUM . ' AND graphid=' . $graphid . ' AND itemid<>' . $_REQUEST['itemid']; $res = DBselect($sql); while ($rows = DBfetch($res)) { 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 {
$trigger = API::Trigger()->get(['triggerids' => $_REQUEST['triggerid'], 'output' => API_OUTPUT_EXTEND, 'expandDescription' => true]); if (!$trigger) { access_deny(); } $trigger = reset($trigger); /* * Actions */ if (hasRequest('update')) { DBstart(); $result = DBexecute('UPDATE triggers' . ' SET comments=' . zbx_dbstr(getRequest('comments')) . ' WHERE triggerid=' . zbx_dbstr(getRequest('triggerid'))); $trigger['comments'] = $_REQUEST['comments']; if ($result) { add_audit(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_TRIGGER, _('Trigger') . ' [' . $_REQUEST['triggerid'] . '] [' . $trigger['description'] . '] ' . _('Comments') . ' [' . $_REQUEST['comments'] . ']'); } $result = DBend($result); show_messages($result, _('Description updated'), _('Cannot update description')); } elseif (isset($_REQUEST['cancel'])) { jsRedirect('tr_status.php'); exit; } /* * Display */ $triggerEditable = API::Trigger()->get(['triggerids' => $_REQUEST['triggerid'], 'output' => ['triggerid'], 'editable' => true]); $data = ['triggerid' => getRequest('triggerid'), 'trigger' => $trigger, 'isTriggerEditable' => !empty($triggerEditable), 'isCommentExist' => !empty($trigger['comments'])]; // render view $triggerCommentView = new CView('monitoring.triggerComment', $data); $triggerCommentView->render(); $triggerCommentView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
/* ADD */ /* $action = AUDIT_ACTION_ADD;*/ $result = add_mediatype($_REQUEST["type"], $_REQUEST["description"], get_request("smtp_server"), get_request("smtp_helo"), get_request("smtp_email"), get_request("exec_path"), get_request("gsm_modem"), get_request('username'), get_request('password')); show_messages($result, S_ADDED_NEW_MEDIA_TYPE, S_NEW_MEDIA_TYPE_WAS_NOT_ADDED); } if ($result) { /* add_audit($action,AUDIT_RESOURCE_MEDIA_TYPE, "Media type [".$_REQUEST["description"]."]"); */ unset($_REQUEST["form"]); } } elseif (isset($_REQUEST["delete"]) && isset($_REQUEST["mediatypeid"])) { /* DELETE */ /* $mediatype=get_mediatype_by_mediatypeid($_REQUEST["mediatypeid"]);*/ $result = delete_mediatype($_REQUEST["mediatypeid"]); show_messages($result, S_MEDIA_TYPE_DELETED, S_MEDIA_TYPE_WAS_NOT_DELETED); if ($result) { /* add_audit(AUDIT_ACTION_DELETE,AUDIT_RESOURCE_MEDIA_TYPE, "Media type [".$mediatype["description"]."]"); */ unset($_REQUEST["form"]); } } $form = new CForm(); $form->SetMethod('get'); $form->AddItem(new CButton("form", S_CREATE_MEDIA_TYPE)); $row_count = 0; $numrows = new CSpan(null, 'info'); $numrows->addOption('name', 'numrows'); $header = get_table_header(array(S_CONFIGURATION_OF_MEDIA_TYPES_BIG, new CSpan(SPACE . SPACE . '|' . SPACE . SPACE, 'divider'), S_FOUND . ': ', $numrows)); show_table_header($header, $form);
function make_status_of_zbx() { $table = new CTableInfo(); $table->setHeader(array(S_PARAMETER, S_VALUE, S_DETAILS)); show_messages(); //because in function get_status(); function clear_messages() is called when fsockopen() fails. $status = get_status(); $table->addRow(array(S_ZABBIX_SERVER_IS_RUNNING, new CSpan($status['zabbix_server'], $status['zabbix_server'] == S_YES ? 'off' : 'on'), ' - ')); // $table->addRow(array(S_VALUES_STORED,$status['history_count']));$table->addRow(array(S_TRENDS_STORED,$status['trends_count'])); $title = new CSpan(S_NUMBER_OF_HOSTS); $title->setAttribute('title', 'asdad'); $table->addRow(array(S_NUMBER_OF_HOSTS, $status['hosts_count'], array(new CSpan($status['hosts_count_monitored'], 'off'), ' / ', new CSpan($status['hosts_count_not_monitored'], 'on'), ' / ', new CSpan($status['hosts_count_template'], 'unknown')))); $title = new CSpan(S_NUMBER_OF_ITEMS); $title->setAttribute('title', S_NUMBER_OF_ITEMS_TOOLTIP); $table->addRow(array($title, $status['items_count'], array(new CSpan($status['items_count_monitored'], 'off'), ' / ', new CSpan($status['items_count_disabled'], 'on'), ' / ', new CSpan($status['items_count_not_supported'], 'unknown')))); $title = new CSpan(S_NUMBER_OF_TRIGGERS); $title->setAttribute('title', S_NUMBER_OF_TRIGGERS_TOOLTIP); $table->addRow(array($title, $status['triggers_count'], array($status['triggers_count_enabled'], ' / ', $status['triggers_count_disabled'] . SPACE . SPACE . '[', new CSpan($status['triggers_count_on'], 'on'), ' / ', new CSpan($status['triggers_count_unknown'], 'unknown'), ' / ', new CSpan($status['triggers_count_off'], 'off'), ']'))); /* $table->addRow(array(S_NUMBER_OF_EVENTS,$status['events_count'],' - ')); $table->addRow(array(S_NUMBER_OF_ALERTS,$status['alerts_count'],' - '));*/ //Log Out 10min $sql = 'SELECT DISTINCT u.userid, MAX(s.lastaccess) as lastaccess, MAX(u.autologout) as autologout, s.status ' . ' FROM users u ' . ' LEFT JOIN sessions s ON s.userid=u.userid AND s.status=' . ZBX_SESSION_ACTIVE . ' WHERE ' . DBin_node('u.userid') . ' GROUP BY u.userid,s.status'; $db_users = DBSelect($sql); $usr_cnt = 0; $online_cnt = 0; while ($user = DBFetch($db_users)) { $online_time = $user['autologout'] == 0 || ZBX_USER_ONLINE_TIME < $user['autologout'] ? ZBX_USER_ONLINE_TIME : $user['autologout']; if (!is_null($user['lastaccess']) && $user['lastaccess'] + $online_time >= time() && ZBX_SESSION_ACTIVE == $user['status']) { $online_cnt++; } $usr_cnt++; } $table->addRow(array(S_NUMBER_OF_USERS, $usr_cnt, new CSpan($online_cnt, 'green'))); $table->addRow(array(S_REQUIRED_SERVER_PERFORMANCE_NVPS, $status['qps_total'], ' - ')); $table->setFooter(new CCol(S_UPDATED . ': ' . date("H:i:s", time()))); return $table; }
$regExps[$regExpId] = getRegexp($regExpId); } DBstart(); $result = DBexecute('DELETE FROM regexps WHERE ' . dbConditionInt('regexpid', $regExpIds)); $regExpCount = count($regExpIds); if ($result) { foreach ($regExps as $regExpId => $regExp) { add_audit(AUDIT_ACTION_DELETE, AUDIT_RESOURCE_REGEXP, 'Id [' . $regExpId . '] ' . _('Name') . ' [' . $regExp['name'] . ']'); } unset($_REQUEST['form'], $_REQUEST['regexpid']); } $result = DBend($result); if ($result) { uncheckTableRows(); } show_messages($result, _n('Regular expression deleted', 'Regular expressions deleted', $regExpCount), _n('Cannot delete regular expression', 'Cannot delete regular expressions', $regExpCount)); } /* * Display */ if (isset($_REQUEST['form'])) { $data = ['form_refresh' => getRequest('form_refresh'), 'regexpid' => getRequest('regexpid')]; if (isset($_REQUEST['regexpid']) && !isset($_REQUEST['form_refresh'])) { $regExp = DBfetch(DBSelect('SELECT re.name,re.test_string' . ' FROM regexps re' . ' WHERE re.regexpid=' . zbx_dbstr($_REQUEST['regexpid']))); $data['name'] = $regExp['name']; $data['test_string'] = $regExp['test_string']; $data['expressions'] = DBfetchArray(DBselect('SELECT e.expressionid,e.expression,e.expression_type,e.exp_delimiter,e.case_sensitive' . ' FROM expressions e' . ' WHERE e.regexpid=' . zbx_dbstr($_REQUEST['regexpid']) . ' ORDER BY e.expression_type')); } else { $data['name'] = getRequest('name', ''); $data['test_string'] = getRequest('test_string', ''); $data['expressions'] = getRequest('expressions', [['expression' => '', 'expression_type' => EXPRESSION_TYPE_INCLUDED, 'exp_delimiter' => ',', 'case_sensitive' => 0]]);
} else { if ($_REQUEST['go'] == 'delete') { $result = true; $maps = get_request('maps', array()); DBstart(); foreach ($maps as $mapid) { $result &= delete_sysmap($mapid); if (!$result) { break; } } $result = DBend($result); if ($result) { unset($_REQUEST["form"]); } show_messages($result, S_MAP_DELETED, S_CANNOT_DELETE_MAP); } } } $form = new CForm(); $form->SetMethod('get'); $form->AddItem(new CButton("form", S_CREATE_MAP)); show_table_header(S_CONFIGURATION_OF_NETWORK_MAPS, $form); echo SBR; if (isset($_REQUEST["form"])) { insert_map_form(); } else { $form = new CForm(); $form->setName('frm_maps'); $numrows = new CSpan(null, 'info'); $numrows->setAttribute('name', 'numrows');
function show_error_message($msg) { show_messages(false, '', $msg); }
$actionSuccessful = true; $updatedItemCount = 0; DBstart(); foreach ($applications as $application) { foreach ($application['items'] as $item) { $actionSuccessful &= $enableApplicationItems ? activate_item($item['itemid']) : disable_item($item['itemid']); $updatedItemCount++; } } $actionSuccessful = DBend($actionSuccessful); if ($actionSuccessful) { uncheckTableRows($pageFilter->hostid); } $messageSuccess = $enableApplicationItems ? _n('Item enabled', 'Items enabled', $updatedItemCount) : _n('Item disabled', 'Items disabled', $updatedItemCount); $messageFailed = $enableApplicationItems ? _n('Cannot enable item', 'Cannot enable items', $updatedItemCount) : _n('Cannot disable item', 'Cannot disable items', $updatedItemCount); show_messages($actionSuccessful, $messageSuccess, $messageFailed); } /* * Display */ if (isset($_REQUEST['form'])) { $data = array('applicationid' => getRequest('applicationid'), 'form' => getRequest('form'), 'form_refresh' => getRequest('form_refresh', 0)); if (isset($data['applicationid']) && !isset($_REQUEST['form_refresh'])) { $dbApplication = reset($dbApplication); $data['appname'] = $dbApplication['name']; $data['hostid'] = $dbApplication['hostid']; } else { $data['appname'] = getRequest('appname', ''); $data['hostid'] = getRequest('hostid'); } // render view
show_messages($result, $msgOk, $msgFail); } catch (Exception $e) { DBend(false); error($e->getMessage()); show_error_message($msgFail); } } elseif (isset($_REQUEST['delete']) && isset($_REQUEST['imageid'])) { DBstart(); $image = get_image_by_imageid($_REQUEST['imageid']); $result = API::Image()->delete([getRequest('imageid')]); if ($result) { add_audit(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_IMAGE, 'Image [' . $image['name'] . '] deleted'); unset($_REQUEST['form'], $image, $_REQUEST['imageid']); } $result = DBend($result); show_messages($result, _('Image deleted'), _('Cannot delete image')); } /* * Display */ $data = ['form' => getRequest('form')]; if (!empty($data['form'])) { if (isset($_REQUEST['imageid'])) { $data['imageid'] = $_REQUEST['imageid']; $data['imagename'] = $dbImage['name']; $data['imagetype'] = $dbImage['imagetype']; } else { $data['imageid'] = null; $data['imagename'] = getRequest('name', ''); $data['imagetype'] = getRequest('imagetype', IMAGE_TYPE_ICON); }
add_audit(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_ITEM, _('Item') . ' [' . $item['key_'] . '] [' . $id . '] ' . _('Host') . ' [' . $host['host'] . '] ' . _('History cleared')); } $go_result = DBend($go_result); show_messages($go_result, _('History cleared'), $go_result); } elseif ($_REQUEST['go'] == 'delete' && isset($_REQUEST['group_itemid'])) { DBstart(); $group_itemid = $_REQUEST['group_itemid']; $itemsToDelete = API::Item()->get(array('output' => array('key_', 'itemid'), 'selectHosts' => array('name'), 'itemids' => $group_itemid, 'preservekeys' => true)); $go_result = API::Item()->delete($group_itemid); if ($go_result) { foreach ($itemsToDelete as $item) { $host = reset($item['hosts']); add_audit(AUDIT_ACTION_DELETE, AUDIT_RESOURCE_ITEM, _('Item') . ' [' . $item['key_'] . '] [' . $item['itemid'] . '] ' . _('Host') . ' [' . $host['name'] . ']'); } } show_messages(DBend($go_result), _('Items deleted'), _('Cannot delete items')); } if ($_REQUEST['go'] != 'none' && !empty($go_result)) { $url = new CUrl(); $path = $url->getPath(); insert_js('cookie.eraseArray("' . $path . '")'); } /* * Display */ if (isset($_REQUEST['form']) && str_in_array($_REQUEST['form'], array(_('Create item'), 'update', 'clone'))) { $data = getItemFormData(); $data['page_header'] = _('CONFIGURATION OF ITEMS'); // render view $itemView = new CView('configuration.item.edit', $data); $itemView->render();
if ($actHosts) { DBstart(); $result = updateHostStatus($actHosts, $status); $result = DBend($result); $updated = count($actHosts); $messageSuccess = $enable ? _n('Host enabled', 'Hosts enabled', $updated) : _n('Host disabled', 'Hosts disabled', $updated); $messageFailed = $enable ? _n('Cannot enable host', 'Cannot enable hosts', $updated) : _n('Cannot disable host', 'Cannot disable hosts', $updated); ################################################################ # update racktables object require_once 'racktablesapi.php'; $response = updateObjectStatus($hostNames, $status); if (isset($response['error'])) { show_messages(false, '', "Updating racktables object is failed. Error message:" . $response['error']); } ################################################################ show_messages($result, $messageSuccess, $messageFailed); clearCookies($result); } } /* * Display */ $hostsWidget = new CWidget(); $pageFilter = new CPageFilter(array('groups' => array('real_hosts' => true, 'editable' => true), 'groupid' => get_request('groupid', null))); $_REQUEST['groupid'] = $pageFilter->groupid; $_REQUEST['hostid'] = get_request('hostid', 0); if ($_REQUEST['go'] == 'massupdate' && isset($_REQUEST['hosts'])) { $hostsWidget->addPageHeader(_('CONFIGURATION OF HOSTS')); $data = array('hosts' => get_request('hosts', array()), 'visible' => get_request('visible', array()), 'mass_replace_tpls' => get_request('mass_replace_tpls'), 'mass_clear_tpls' => get_request('mass_clear_tpls'), 'groups' => get_request('groups', array()), 'newgroup' => get_request('newgroup', ''), 'status' => get_request('status', HOST_STATUS_MONITORED), 'proxy_hostid' => get_request('proxy_hostid', ''), 'ipmi_authtype' => get_request('ipmi_authtype', -1), 'ipmi_privilege' => get_request('ipmi_privilege', 2), 'ipmi_username' => get_request('ipmi_username', ''), 'ipmi_password' => get_request('ipmi_password', ''), 'inventory_mode' => get_request('inventory_mode', HOST_INVENTORY_DISABLED), 'host_inventory' => get_request('host_inventory', array()), 'templates' => get_request('templates', array())); // sort templates natsort($data['templates']);
if (array_key_exists('deleteMissing', $rule)) { $requestRules[$ruleName]['deleteMissing'] = false; } } if (!isset($requestRules[$ruleName]['updateExisting']) && isset($rule['updateExisting'])) { $requestRules[$ruleName]['updateExisting'] = false; } if (!isset($requestRules[$ruleName]['createMissing']) && isset($rule['createMissing'])) { $requestRules[$ruleName]['createMissing'] = false; } if (!isset($requestRules[$ruleName]['deleteMissing']) && isset($rule['deleteMissing'])) { $requestRules[$ruleName]['deleteMissing'] = false; } } $data['rules'] = $requestRules; } if (isset($_FILES['import_file'])) { $result = false; // CUploadFile throws exceptions, so we need to catch them try { $file = new CUploadFile($_FILES['import_file']); $result = API::Configuration()->import(['format' => CImportReaderFactory::fileExt2ImportFormat($file->getExtension()), 'source' => $file->getContent(), 'rules' => $data['rules']]); } catch (Exception $e) { error($e->getMessage()); } show_messages($result, _('Imported successfully'), _('Import failed')); } $view = new CView('conf.import', $data); $view->render(); $view->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
} else { $screenItem['x'] = get_request('x'); $screenItem['y'] = get_request('y'); $result = API::ScreenItem()->create($screenItem); show_messages($result, _('Item added'), _('Cannot add item')); } DBend($result); if ($result) { add_audit_details(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_SCREEN, $screen['screenid'], $screen['name'], 'Cell changed ' . (isset($_REQUEST['screenitemid']) ? 'screen itemid "' . $_REQUEST['screenitemid'] . '"' : '') . (isset($_REQUEST['x']) && isset($_REQUEST['y']) ? ' coordinates "' . $_REQUEST['x'] . ',' . $_REQUEST['y'] . '"' : '') . (isset($_REQUEST['resourcetype']) ? ' resource type "' . $_REQUEST['resourcetype'] . '"' : '')); unset($_REQUEST['form']); } } elseif (isset($_REQUEST['delete'])) { DBstart(); $screenitemid = API::ScreenItem()->delete($_REQUEST['screenitemid']); $result = DBend($screenitemid); show_messages($result, _('Item deleted'), _('Cannot delete item')); if ($result && !empty($screenitemid)) { $screenitemid = reset($screenitemid); $screenitemid = reset($screenitemid); add_audit_details(AUDIT_ACTION_DELETE, AUDIT_RESOURCE_SCREEN, $screen['screenid'], $screen['name'], 'Screen itemid "' . $screenitemid . '"'); } unset($_REQUEST['x']); } elseif (isset($_REQUEST['add_row'])) { DBexecute('UPDATE screens SET vsize=(vsize+1) WHERE screenid=' . zbx_dbstr($screen['screenid'])); $add_row = get_request('add_row', 0); if ($screen['vsize'] > $add_row) { DBexecute('UPDATE screens_items SET y=(y+1) WHERE screenid=' . zbx_dbstr($screen['screenid']) . ' AND y>=' . zbx_dbstr($add_row)); } add_audit_details(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_SCREEN, $screen['screenid'], $screen['name'], 'Row added'); } elseif (isset($_REQUEST['add_col'])) { DBexecute('UPDATE screens SET hsize=(hsize+1) WHERE screenid=' . zbx_dbstr($screen['screenid']));
} else { DBstart(); $nodeid = add_node(get_request('new_nodeid'), get_request('name'), get_request('ip'), get_request('port'), get_request('nodetype'), get_request('masterid')); $result = DBend($nodeid); show_messages($result, _('Node added'), _('Cannot add node')); $audit_action = AUDIT_ACTION_ADD; } if ($result) { add_audit($audit_action, AUDIT_RESOURCE_NODE, 'Node [' . $_REQUEST['name'] . '] id [' . $nodeid . ']'); unset($_REQUEST['form']); } } elseif (isset($_REQUEST['delete'])) { DBstart(); $result = delete_node($_REQUEST['nodeid']); $result = DBend($result); show_messages($result, _('Node deleted'), _('Cannot delete node')); if ($result) { add_audit(AUDIT_ACTION_DELETE, AUDIT_RESOURCE_NODE, 'Node [' . $node['name'] . '] id [' . $node['nodeid'] . ']'); unset($_REQUEST['form'], $node); } } /* * Display */ if (isset($_REQUEST['form'])) { $data = array('nodeid' => get_request('nodeid'), 'masterNode' => DBfetch(DBselect('SELECT n.name FROM nodes n WHERE n.masterid IS NULL AND n.nodetype=' . ZBX_NODE_MASTER))); if (get_request('nodeid') && !isset($_REQUEST['form_refresh'])) { $data['new_nodeid'] = $node['nodeid']; $data['name'] = $node['name']; $data['ip'] = $node['ip']; $data['port'] = $node['port'];
$result = API::User()->updateProfile($user); if ($result && CwebUser::$data['type'] > USER_TYPE_ZABBIX_USER) { $result = API::User()->updateMedia(array('users' => $user, 'medias' => $user['user_medias'])); } $result = DBend($result); if (!$result) { error(API::User()->resetErrors()); } if ($result) { DBstart(); add_audit(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_USER, 'User alias [' . CWebUser::$data['alias'] . '] Name [' . CWebUser::$data['name'] . ']' . ' Surname [' . CWebUser::$data['surname'] . '] profile id [' . CWebUser::$data['userid'] . ']'); DBend(true); ob_end_clean(); redirect(CWebUser::$data['last_page']['url']); } else { show_messages($result, _('User updated'), _('Cannot update user')); } } } ob_end_flush(); /* * Display */ $data = getUserFormData(CWebUser::$data['userid'], true); $data['userid'] = CWebUser::$data['userid']; $data['form'] = getRequest('form'); $data['form_refresh'] = getRequest('form_refresh', 0); $data['autologout'] = getRequest('autologout'); // render view $usersView = new CView('administration.users.edit', $data); $usersView->render();
$page["title"] = "S_TRIGGER_COMMENTS"; $page["file"] = "tr_comments.php"; include_once "include/page_header.php"; // VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION $fields = array("triggerid" => array(T_ZBX_INT, O_MAND, P_SYS, DB_ID, null), "comments" => array(T_ZBX_STR, O_OPT, null, null, 'isset({save})'), "save" => array(T_ZBX_STR, O_OPT, P_SYS | P_ACT, null, null), "cancel" => array(T_ZBX_STR, O_OPT, P_SYS | P_ACT, null, null)); check_fields($fields); $sql = 'SELECT * ' . ' FROM items i, functions f ' . ' WHERE i.itemid=f.itemid ' . ' AND f.triggerid=' . $_REQUEST['triggerid'] . ' AND ' . DBin_node('f.triggerid'); if (!($db_data = DBfetch(DBselect($sql)))) { fatal_error(S_NO_TRIGGER_DEFINED); } $available_triggers = get_accessible_triggers(PERM_READ_ONLY, array($db_data['hostid'])); if (!isset($available_triggers[$_REQUEST['triggerid']])) { access_deny(); } $trigger_hostid = $db_data['hostid']; if (isset($_REQUEST["save"])) { $result = update_trigger_comments($_REQUEST["triggerid"], $_REQUEST["comments"]); show_messages($result, S_COMMENT_UPDATED, S_CANNOT_UPDATE_COMMENT); if ($result) { add_audit(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_TRIGGER, S_TRIGGER . " [" . $_REQUEST["triggerid"] . "] [" . expand_trigger_description($_REQUEST["triggerid"]) . "] " . S_COMMENTS . " [" . $_REQUEST["comments"] . "]"); } } else { if (isset($_REQUEST["cancel"])) { redirect('tr_status.php?hostid=' . $trigger_hostid); exit; } } show_table_header(S_TRIGGER_COMMENTS_BIG); echo SBR; insert_trigger_comment_form($_REQUEST["triggerid"]); include_once "include/page_footer.php";
$result = DBend($result); $updated = count($groupItemId); $messageSuccess = $enable ? _n('Item prototype enabled', 'Item prototypes enabled', $updated) : _n('Item prototype disabled', 'Item prototypes disabled', $updated); $messageFailed = $enable ? _n('Cannot enable item prototype', 'Cannot enable item prototypes', $updated) : _n('Cannot disable item prototype', 'Cannot disable item prototypes', $updated); if ($result) { uncheckTableRows(getRequest('parent_discoveryid')); } show_messages($result, $messageSuccess, $messageFailed); } elseif (hasRequest('action') && getRequest('action') == 'itemprototype.massdelete' && hasRequest('group_itemid')) { DBstart(); $result = API::Itemprototype()->delete(getRequest('group_itemid')); $result = DBend($result); if ($result) { uncheckTableRows(getRequest('parent_discoveryid')); } show_messages($result, _('Item prototypes deleted'), _('Cannot delete item prototypes')); } /* * Display */ if (isset($_REQUEST['form'])) { $itemPrototype = []; if (hasRequest('itemid')) { $itemPrototype = API::ItemPrototype()->get(['itemids' => getRequest('itemid'), 'output' => ['itemid', 'type', 'snmp_community', 'snmp_oid', 'hostid', 'name', 'key_', 'delay', 'history', 'trends', 'status', 'value_type', 'trapper_hosts', 'units', 'multiplier', 'delta', 'snmpv3_securityname', 'snmpv3_securitylevel', 'snmpv3_authpassphrase', 'snmpv3_privpassphrase', 'formula', 'logtimefmt', 'templateid', 'valuemapid', 'delay_flex', 'params', 'ipmi_sensor', 'data_type', 'authtype', 'username', 'password', 'publickey', 'privatekey', 'interfaceid', 'port', 'description', 'snmpv3_authprotocol', 'snmpv3_privprotocol', 'snmpv3_contextname']]); $itemPrototype = reset($itemPrototype); } $data = getItemFormData($itemPrototype); $data['config'] = select_config(); // render view $itemView = new CView('configuration.item.prototype.edit', $data); $itemView->render();
function show_form_edit_contact($contact = array(), $messages = array(), $photomessage = '') { //Подключаем глобальные переменные global $MonthsShort; //Определяем значение переменной $message_html = show_messages($messages); //Определяем переменную $show_contact_html = "<a href='/manager.php?action=show_contact&contact={$contact['user_id']}' style='font-size:8pt;'>Просмотреть</a>"; /*Получаем статус*/ $statusRES = db_query("SELECT * FROM `phpbb_profile_fields_data` WHERE `user_id`={$contact['user_id']}"); db_count($statusRES) > 0 ? $status = db_fetch($statusRES)['pf_status'] : ($status = ''); //Переключатель "Есть подчиненные" if ($contact['chief'] == 1) { $chief = "checked"; } else { $chief = ""; } //Переключатель "Я могу редактировать графики работ" if ($contact['timetable_editor'] == 1) { $timetable_editor = "checked"; } else { $timetable_editor = ""; } //Переключатель "Не показывать в контактах" if ($contact['user_type'] == 9) { $nocontact = "checked"; } else { $nocontact = ""; } //Переключатель "Есть подчиненные" if ($contact['notimetable'] == 1) { $notimetable = "checked"; } else { $notimetable = ""; } //Переключатель "Инженер" if ($contact['engineer'] == 1) { $engineer = "checked"; } else { $engineer = ""; } //Переключатель "Руководитель инженеров" if ($contact['engineer_chief'] == 1) { $engineer_chief = "checked"; } else { $engineer_chief = ""; } //Переключатель "Специальный сотрудник производства" if ($contact['spec_prod_staff'] == 1) { $spec_prod_staff = "checked"; } else { $spec_prod_staff = ""; } /*Получаем список складов/офисов*/ $points_html = get_points_options($contact); /*Получаем список руководителей*/ $mychiefs_html = get_chiefs_options($contact); /*Получаем список редакторов для графика работ*/ $timetable_editors_html = get_timetable_editors_options($contact); /*Переключатели "Следующий" и "Предыдущий"*/ $switch = switch_next_previous($contact['user_id']); //НАЧАЛО: Установка алиаса для HR-manager-а if ($contact['timetable_editor'] == 1) { $hrmanager_alias_html = template_get("contacts/hrmanager_alias", array('hrmanager_alias' => $contact['hrmanager_alias'])); } else { $hrmanager_alias_html = ""; } //КОНЕЦ: Установка алиаса для HR-manager-а //Запрос к БД $contact_hire_date = db_short_easy("SELECT `hire` FROM `phpbb_users` WHERE `user_id`=" . $contact['user_id']); //Получаем список месяцев $hire_months_options = get_hire_months_options($contact); //НАЧАЛО: Получаем список годов strtotime($contact_hire_date) ? $contact_hire_year = (int) date("Y", strtotime($contact_hire_date)) : ($contact_hire_year = (int) date("Y")); $hire_years_options = ""; for ($yearFOR = (int) date("Y"); $yearFOR >= 1995; $yearFOR--) { if ($contact_hire_year == $yearFOR) { $selectedFOR = "selected"; } else { $selectedFOR = ""; } $hire_years_options .= "<option value='" . $yearFOR . "' " . $selectedFOR . ">" . $yearFOR . "</option>"; } //КОНЕЦ: Получаем список годов /*Подключаем шаблон*/ return template_get("contacts/edit_contact", array('action' => "/manager.php?action=edit_contact&contact=" . $contact['user_id'], 'name' => $contact['username'], 'occupation' => $contact['user_occ'], 'email' => $contact['user_email'], 'skype' => $contact['user_skype'], 'officephone' => $contact['user_officephone'], 'extphone' => $contact['user_extphone'], 'workmobilephone' => $contact['user_workmobilephone'], 'privatemobilephone' => $contact['user_privatemobilephone'], 'location' => $contact['user_from'], 'status' => $status, 'message' => $message_html, 'points' => $points_html, 'showcontact' => $show_contact_html, 'previous' => "/manager.php?action=edit_contact&contact={$switch['previous_id']}", 'next' => "/manager.php?action=edit_contact&contact={$switch['next_id']}", 'current' => $switch['current'] + 1 . " из " . $switch['contacts_num'], 'chief' => $chief, 'mychiefs' => $mychiefs_html, 'nocontact' => $nocontact, 'notimetable' => $notimetable, 'engineer' => $engineer, 'engineer_chief' => $engineer_chief, 'spec_prod_staff' => $spec_prod_staff, 'timetable_editor' => $timetable_editor, 'timetable_editors' => $timetable_editors_html, 'photo' => get_user_avatar($contact['user_avatar'], $contact['user_avatar_type'], $contact['user_avatar_width'], $contact['user_avatar_height']), 'photomessage' => $photomessage, 'hrmanager_alias' => $hrmanager_alias_html, 'hire_months_options' => $hire_months_options, 'hire_years_options' => $hire_years_options)); }
** ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ require_once dirname(__FILE__) . '/include/config.inc.php'; $page['title'] = _('Configuration of trigger displaying options'); $page['file'] = 'adm.triggerdisplayoptions.php'; $page['hist_arg'] = array(); require_once dirname(__FILE__) . '/include/page_header.php'; $fields = array('problem_unack_color' => array(T_ZBX_STR, O_OPT, null, null, 'isset({save})'), 'problem_ack_color' => array(T_ZBX_STR, O_OPT, null, null, 'isset({save})'), 'ok_unack_color' => array(T_ZBX_STR, O_OPT, null, null, 'isset({save})'), 'ok_ack_color' => array(T_ZBX_STR, O_OPT, null, null, 'isset({save})'), 'problem_unack_style' => array(T_ZBX_INT, O_OPT, null, IN('1'), null), 'problem_ack_style' => array(T_ZBX_INT, O_OPT, null, IN('1'), null), 'ok_unack_style' => array(T_ZBX_INT, O_OPT, null, IN('1'), null), 'ok_ack_style' => array(T_ZBX_INT, O_OPT, null, IN('1'), null), 'ok_period' => array(T_ZBX_INT, O_OPT, null, null, 'isset({save})'), 'blink_period' => array(T_ZBX_INT, 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_INT, O_OPT, null, null, null)); check_fields($fields); if (isset($_REQUEST['save'])) { $configs = array('ok_period' => get_request('ok_period'), 'blink_period' => get_request('blink_period'), 'problem_unack_color' => get_request('problem_unack_color'), 'problem_ack_color' => get_request('problem_ack_color'), 'ok_unack_color' => get_request('ok_unack_color'), 'ok_ack_color' => get_request('ok_ack_color'), 'problem_unack_style' => get_request('problem_unack_style', 0), 'problem_ack_style' => get_request('problem_ack_style', 0), 'ok_unack_style' => get_request('ok_unack_style', 0), 'ok_ack_style' => get_request('ok_ack_style', 0)); $result = update_config($configs); show_messages($result, _('Configuration updated'), _('Cannot update configuration')); } $form = new CForm(); $form->cleanItems(); $cmbConf = new CComboBox('configDropDown', 'adm.triggerdisplayoptions.php', 'redirect(this.options[this.selectedIndex].value);'); $cmbConf->addItems(array('adm.gui.php' => _('GUI'), 'adm.housekeeper.php' => _('Housekeeping'), 'adm.images.php' => _('Images'), 'adm.iconmapping.php' => _('Icon mapping'), 'adm.regexps.php' => _('Regular expressions'), 'adm.macros.php' => _('Macros'), 'adm.valuemapping.php' => _('Value mapping'), 'adm.workingtime.php' => _('Working time'), 'adm.triggerseverities.php' => _('Trigger severities'), 'adm.triggerdisplayoptions.php' => _('Trigger displaying options'), 'adm.other.php' => _('Other'))); $form->addItem($cmbConf); $cnf_wdgt = new CWidget(); $cnf_wdgt->addPageHeader(_('CONFIGURATION OF ZABBIX'), $form); $data = array(); $data['form_refresh'] = get_request('form_refresh', 0); // form has been submitted if ($data['form_refresh']) { $data['ok_period'] = get_request('ok_period'); $data['blink_period'] = get_request('blink_period'); $data['problem_unack_color'] = get_request('problem_unack_color');
show_messages($result, _('Script deleted'), _('Cannot delete script')); } elseif (hasRequest('action') && getRequest('action') == 'script.massdelete' && hasRequest('scripts')) { $scriptIds = getRequest('scripts'); DBstart(); $result = API::Script()->delete($scriptIds); if ($result) { foreach ($scriptIds as $scriptId) { add_audit(AUDIT_ACTION_DELETE, AUDIT_RESOURCE_SCRIPT, _('Script') . ' [' . $scriptId . ']'); } unset($_REQUEST['form'], $_REQUEST['scriptid']); } $result = DBend($result); if ($result) { uncheckTableRows(); } show_messages($result, _('Script deleted'), _('Cannot delete script')); } /* * Display */ if (isset($_REQUEST['form'])) { $data = array('form' => getRequest('form', 1), 'form_refresh' => getRequest('form_refresh', 0), 'scriptid' => getRequest('scriptid')); if (!$data['scriptid'] || isset($_REQUEST['form_refresh'])) { $data['name'] = getRequest('name', ''); $data['type'] = getRequest('type', ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT); $data['execute_on'] = getRequest('execute_on', ZBX_SCRIPT_EXECUTE_ON_SERVER); $data['command'] = getRequest('command', ''); $data['commandipmi'] = getRequest('commandipmi', ''); $data['description'] = getRequest('description', ''); $data['usrgrpid'] = getRequest('usrgrpid', 0); $data['groupid'] = getRequest('groupid', 0);
} if (isset($row['serviceupid'])) { $services[$row['serviceupid']]['childs'][] = array('id' => $row['serviceid'], 'soft' => 0, 'linkid' => 0); } if (isset($row['servicedownid'])) { $services[$row['serviceid']]['childs'][] = array('id' => $row['servicedownid'], 'soft' => 1, 'linkid' => $row['linkid']); } } $treeServ = array(); createServiceTree($services, $treeServ); //return into $treeServ parametr //permission issue $treeServ = del_empty_nodes($treeServ); //---- if (isset($_REQUEST['msg']) && !empty($_REQUEST['msg'])) { show_messages(true, $_REQUEST['msg']); } //show_table_header(S_IT_SERVICES_BIG); $tree = new CTree('service_conf_tree', $treeServ, array('caption' => bold(S_SERVICE), 'algorithm' => bold(S_STATUS_CALCULATION), 'description' => bold(S_TRIGGER))); if ($tree) { $serv_wdgt = new CWidget(); $serv_wdgt->addHeader(S_IT_SERVICES_BIG, SPACE); $serv_wdgt->addItem($tree->getHTML()); $serv_wdgt->show(); } else { error(S_CANT_FORMAT_TREE); } $tr_ov_menu[] = array('test1', null, null, array('outer' => array('pum_oheader'), 'inner' => array('pum_iheader'))); $tr_ov_menu[] = array('test2', null, null, array('outer' => array('pum_oheader'), 'inner' => array('pum_iheader'))); $jsmenu = new CPUMenu($tr_ov_menu, 170); $jsmenu->InsertJavaScript();
add_audit_details(AUDIT_ACTION_DELETE, AUDIT_RESOURCE_SCREEN, $screen['screenid'], $screen['name']); } } } else { $goResult = API::TemplateScreen()->delete($screenids); if ($goResult) { $templatedScreens = API::TemplateScreen()->get(array('screenids' => $screenids, 'output' => API_OUTPUT_EXTEND, 'editable' => true)); foreach ($templatedScreens as $screen) { add_audit_details(AUDIT_ACTION_DELETE, AUDIT_RESOURCE_SCREEN, $screen['screenid'], $screen['name']); } } } if ($goResult) { unset($_REQUEST['screenid'], $_REQUEST['form']); } show_messages($goResult, _('Screen deleted'), _('Cannot delete screen')); clearCookies($goResult); } /* * Display */ if (isset($_REQUEST['form'])) { $data = array('form' => get_request('form', null), 'screenid' => get_request('screenid', null), 'templateid' => get_request('templateid', null)); // screen if (!empty($data['screenid'])) { $options = array('screenids' => $data['screenid'], 'editable' => true, 'output' => API_OUTPUT_EXTEND); if (!empty($data['templateid'])) { $screens = API::TemplateScreen()->get($options); } else { $screens = API::Screen()->get($options); }
clearCookies($result, $_REQUEST['hostid']); } } elseif (str_in_array(getRequest('go'), array('activate', 'disable')) && hasRequest('g_hostdruleid')) { $groupHostDiscoveryRuleId = getRequest('g_hostdruleid'); $enable = getRequest('go') == 'activate'; DBstart(); $result = $enable ? activate_item($groupHostDiscoveryRuleId) : disable_item($groupHostDiscoveryRuleId); $result = DBend($result); $updated = count($groupHostDiscoveryRuleId); $messageSuccess = $enable ? _n('Discovery rule enabled', 'Discovery rules enabled', $updated) : _n('Discovery rule disabled', 'Discovery rules disabled', $updated); $messageFailed = $enable ? _n('Cannot enable discovery rules', 'Cannot enable discovery rules', $updated) : _n('Cannot disable discovery rules', 'Cannot disable discovery rules', $updated); show_messages($result, $messageSuccess, $messageFailed); clearCookies($result, getRequest('hostid')); } elseif ($_REQUEST['go'] == 'delete' && isset($_REQUEST['g_hostdruleid'])) { $goResult = API::DiscoveryRule()->delete($_REQUEST['g_hostdruleid']); show_messages($goResult, _('Discovery rules deleted'), _('Cannot delete discovery rules')); clearCookies($goResult, $_REQUEST['hostid']); } /* * Display */ if (isset($_REQUEST['form'])) { $data = getItemFormData(array('is_discovery_rule' => true)); $data['page_header'] = _('CONFIGURATION OF DISCOVERY RULES'); // render view $itemView = new CView('configuration.item.edit', $data); $itemView->render(); $itemView->show(); } else { $data = array('hostid' => get_request('hostid', 0), 'host' => $host, 'showErrorColumn' => $host['status'] != HOST_STATUS_TEMPLATE); $sortfield = getPageSortField('name');
$group = get_group_by_usrgrpid($_REQUEST['usrgrpid']); $result = change_group_gui_access($_REQUEST['usrgrpid'], $_REQUEST['set_gui_access']); show_messages($result, S_GROUP . ' "' . $group['name'] . '" ' . S_GUI_ACCESS_UPDATED, S_CANNOT_UPDATE_GUI_ACCESS); if ($result) { $audit_action = $_REQUEST['set_gui_access'] == GROUP_GUI_ACCESS_DISABLED ? AUDIT_ACTION_DISABLE : AUDIT_ACTION_UPDATE; add_audit($audit_action, AUDIT_RESOURCE_USER_GROUP, 'GUI access for group name [' . $group['name'] . ']'); unset($_REQUEST['usrgrpid']); } unset($_REQUEST['form']); } else { if (isset($_REQUEST['set_users_status']) && isset($_REQUEST['usrgrpid'])) { $group = get_group_by_usrgrpid($_REQUEST['usrgrpid']); $result = change_group_status($_REQUEST['usrgrpid'], $_REQUEST['set_users_status']); $status_msg1 = $_REQUEST['set_users_status'] == GROUP_STATUS_ENABLED ? S_ENABLED : S_DISABLED; $status_msg2 = $_REQUEST['set_users_status'] == GROUP_STATUS_ENABLED ? S_ENABLE : S_DISABLE; show_messages($result, S_GROUP . SPACE . '"' . $group['name'] . '"' . SPACE . $status_msg1, S_CANNOT . SPACE . $status_msg2 . SPACE . S_GROUP); if ($result) { $audit_action = $_REQUEST['set_users_status'] == GROUP_STATUS_ENABLED ? AUDIT_ACTION_ENABLE : AUDIT_ACTION_DISABLE; add_audit($audit_action, AUDIT_RESOURCE_USER_GROUP, 'Group name [' . $group['name'] . ']'); unset($_REQUEST['usrgrpid']); } unset($_REQUEST['form']); } } } } } } } } }
function make_status_of_zbx() { global $ZBX_SERVER, $ZBX_SERVER_PORT; $table = new CTableInfo(); $table->setHeader(array(_('Parameter'), _('Value'), _('Details'))); show_messages(); // because in function get_status(); function clear_messages() is called when fsockopen() fails. $status = get_status(); $table->addRow(array(_('Zabbix server is running'), new CSpan($status['zabbix_server'], $status['zabbix_server'] == _('Yes') ? 'off' : 'on'), isset($ZBX_SERVER, $ZBX_SERVER_PORT) ? $ZBX_SERVER . ':' . $ZBX_SERVER_PORT : _('Zabbix server IP or port is not set!'))); $title = new CSpan(_('Number of hosts (monitored/not monitored/templates)')); $title->setAttribute('title', 'asdad'); $table->addRow(array(_('Number of hosts (monitored/not monitored/templates)'), $status['hosts_count'], array(new CSpan($status['hosts_count_monitored'], 'off'), ' / ', new CSpan($status['hosts_count_not_monitored'], 'on'), ' / ', new CSpan($status['hosts_count_template'], 'unknown')))); $title = new CSpan(_('Number of items (monitored/disabled/not supported)')); $title->setAttribute('title', _('Only items assigned to enabled hosts are counted')); $table->addRow(array($title, $status['items_count'], array(new CSpan($status['items_count_monitored'], 'off'), ' / ', new CSpan($status['items_count_disabled'], 'on'), ' / ', new CSpan($status['items_count_not_supported'], 'unknown')))); $title = new CSpan(_('Number of triggers (enabled/disabled) [problem/ok]')); $title->setAttribute('title', _('Only triggers assigned to enabled hosts and depending on enabled items are counted')); $table->addRow(array($title, $status['triggers_count'], array($status['triggers_count_enabled'], ' / ', $status['triggers_count_disabled'], ' [', new CSpan($status['triggers_count_on'], 'on'), ' / ', new CSpan($status['triggers_count_off'], 'off'), ']'))); $table->addRow(array(_('Number of users (online)'), $status['users_count'], new CSpan($status['users_online'], 'green'))); $table->addRow(array(_('Required server performance, new values per second'), $status['qps_total'], ' - ')); // check requirements if (CWebUser::$data['type'] == USER_TYPE_SUPER_ADMIN) { $frontendSetup = new FrontendSetup(); $reqs = $frontendSetup->checkRequirements(); foreach ($reqs as $req) { if ($req['result'] != FrontendSetup::CHECK_OK) { $class = $req['result'] == FrontendSetup::CHECK_WARNING ? 'notice' : 'fail'; $table->addRow(array(new CSpan($req['name'], $class), new CSpan($req['current'], $class), new CSpan($req['error'], $class))); } } } $script = new CJSScript(get_js("jQuery('#hat_stszbx_footer').html('" . _s('Updated: %s', zbx_date2str(_('H:i:s'))) . "')")); return new CDiv(array($table, $script)); }
/** * Generate data for the trigger configuration form. * * @param string $exprAction expression constructor action, see remakeExpression() for a list of supported values * * @return array */ function getTriggerFormData($exprAction) { $data = array('form' => getRequest('form'), 'form_refresh' => getRequest('form_refresh'), 'parent_discoveryid' => getRequest('parent_discoveryid'), 'dependencies' => getRequest('dependencies', array()), 'db_dependencies' => array(), 'triggerid' => getRequest('triggerid'), 'expression' => getRequest('expression', ''), 'expr_temp' => getRequest('expr_temp', ''), 'description' => getRequest('description', ''), 'type' => getRequest('type', 0), 'priority' => getRequest('priority', 0), 'status' => getRequest('status', 0), 'comments' => getRequest('comments', ''), 'url' => getRequest('url', ''), 'input_method' => getRequest('input_method', IM_ESTABLISHED), 'limited' => false, 'templates' => array(), 'hostid' => getRequest('hostid', 0)); if (!empty($data['triggerid'])) { // get trigger $options = array('output' => API_OUTPUT_EXTEND, 'selectHosts' => array('hostid'), 'triggerids' => $data['triggerid']); $trigger = $data['parent_discoveryid'] ? API::TriggerPrototype()->get($options) : API::Trigger()->get($options); $data['trigger'] = reset($trigger); // get templates $tmp_triggerid = $data['triggerid']; do { $db_triggers = DBfetch(DBselect('SELECT t.triggerid,t.templateid,id.parent_itemid,h.name,h.hostid' . ' FROM triggers t' . ' LEFT JOIN functions f ON t.triggerid=f.triggerid' . ' LEFT JOIN items i ON f.itemid=i.itemid' . ' LEFT JOIN hosts h ON i.hostid=h.hostid' . ' LEFT JOIN item_discovery id ON i.itemid=id.itemid' . ' WHERE t.triggerid=' . zbx_dbstr($tmp_triggerid))); if (bccomp($data['triggerid'], $tmp_triggerid) != 0) { // parent trigger prototype link if ($data['parent_discoveryid']) { $link = 'trigger_prototypes.php?form=update&triggerid=' . $db_triggers['triggerid'] . '&parent_discoveryid=' . $db_triggers['parent_itemid'] . '&hostid=' . $db_triggers['hostid']; } else { $link = 'triggers.php?form=update&triggerid=' . $db_triggers['triggerid'] . '&hostid=' . $db_triggers['hostid']; } $data['templates'][] = new CLink(CHtml::encode($db_triggers['name']), $link, 'highlight underline weight_normal'); $data['templates'][] = SPACE . '⇒' . SPACE; } $tmp_triggerid = $db_triggers['templateid']; } while ($tmp_triggerid != 0); $data['templates'] = array_reverse($data['templates']); array_shift($data['templates']); $data['limited'] = $data['trigger']['templateid'] != 0; // select first host from triggers if gived not match $hosts = $data['trigger']['hosts']; if (count($hosts) > 0 && !in_array(array('hostid' => $data['hostid']), $hosts)) { $host = reset($hosts); $data['hostid'] = $host['hostid']; } } if (!empty($data['triggerid']) && !isset($_REQUEST['form_refresh']) || $data['limited']) { $data['expression'] = explode_exp($data['trigger']['expression']); if (!$data['limited'] || !isset($_REQUEST['form_refresh'])) { $data['description'] = $data['trigger']['description']; $data['type'] = $data['trigger']['type']; $data['priority'] = $data['trigger']['priority']; $data['status'] = $data['trigger']['status']; $data['comments'] = $data['trigger']['comments']; $data['url'] = $data['trigger']['url']; $db_triggers = DBselect('SELECT t.triggerid,t.description' . ' FROM triggers t,trigger_depends d' . ' WHERE t.triggerid=d.triggerid_up' . ' AND d.triggerid_down=' . zbx_dbstr($data['triggerid'])); while ($trigger = DBfetch($db_triggers)) { if (uint_in_array($trigger['triggerid'], $data['dependencies'])) { continue; } array_push($data['dependencies'], $trigger['triggerid']); } } } if ($data['input_method'] == IM_TREE) { $analyze = analyzeExpression($data['expression']); if ($analyze !== false) { list($data['outline'], $data['eHTMLTree']) = $analyze; if ($exprAction !== null && $data['eHTMLTree'] != null) { $new_expr = remakeExpression($data['expression'], $_REQUEST['expr_target_single'], $exprAction, $data['expr_temp']); if ($new_expr !== false) { $data['expression'] = $new_expr; $analyze = analyzeExpression($data['expression']); if ($analyze !== false) { list($data['outline'], $data['eHTMLTree']) = $analyze; } else { show_messages(false, '', _('Expression Syntax Error.')); } $data['expr_temp'] = ''; } else { show_messages(false, '', _('Expression Syntax Error.')); } } $data['expression_field_name'] = 'expr_temp'; $data['expression_field_value'] = $data['expr_temp']; $data['expression_field_readonly'] = true; } else { show_messages(false, '', _('Expression Syntax Error.')); $data['input_method'] = IM_ESTABLISHED; } } if ($data['input_method'] != IM_TREE) { $data['expression_field_name'] = 'expression'; $data['expression_field_value'] = $data['expression']; $data['expression_field_readonly'] = $data['limited']; } if (empty($data['parent_discoveryid'])) { $data['db_dependencies'] = API::Trigger()->get(array('triggerids' => $data['dependencies'], 'output' => array('triggerid', 'flags', 'description'), 'preservekeys' => true, 'selectHosts' => array('hostid', 'name'))); foreach ($data['db_dependencies'] as &$dependency) { if (count($dependency['hosts']) > 1) { order_result($dependency['hosts'], 'name', ZBX_SORT_UP); } $dependency['hosts'] = array_values($dependency['hosts']); $dependency['hostid'] = $dependency['hosts'][0]['hostid']; } unset($dependency); order_result($data['db_dependencies'], 'description'); } return $data; }
$table->setCellSpacing(0); $table->setCellPadding(0); $history = get_user_history(); $tr = new CRow(new CCol('History:', 'caption')); $tr->addItem($history); $table->addRow($tr); $table->Show(); } else { if ($page['type'] == PAGE_TYPE_HTML && !defined('ZBX_PAGE_NO_MENU')) { echo SBR; } } //------------------------------------ </HISTORY> --------------------------------------- unset($ZBX_MENU); unset($table, $top_page_row, $menu_table, $node_form); unset($main_menu_row); unset($db_nodes, $node_data); unset($sub_menu_table, $sub_menu_rows); if ($denyed_page_requested) { access_deny(); } if (version_compare(phpversion(), '5.1.0RC1', '>=') && $page['type'] == PAGE_TYPE_HTML) { $tmezone = ini_get('date.timezone'); if (empty($tmezone)) { info('Timezone for PHP is not set. Please set "date.timezone" option in php.ini.'); date_default_timezone_set('UTC'); } unset($tmezone); } show_messages();
$result = true; $status = $_REQUEST['go'] == 'activate' ? HOST_STATUS_MONITORED : HOST_STATUS_NOT_MONITORED; $groups = get_request('groups', array()); $db_hosts = DBselect('select h.hostid, hg.groupid ' . ' from hosts_groups hg, hosts h' . ' where h.hostid=hg.hostid ' . ' and h.status in (' . HOST_STATUS_MONITORED . ',' . HOST_STATUS_NOT_MONITORED . ')' . ' and ' . DBin_node('h.hostid')); DBstart(); while ($db_host = DBfetch($db_hosts)) { if (!uint_in_array($db_host['groupid'], $groups)) { continue; } $host = get_host_by_hostid($db_host['hostid']); $result &= update_host_status($db_host['hostid'], $status); /* add_audit(AUDIT_ACTION_UPDATE,AUDIT_RESOURCE_HOST, 'Old status ['.$host['status'].'] '.'New status ['.$status.']');*/ } $result = DBend($result); show_messages($result, S_HOST_STATUS_UPDATED, S_CANNOT_UPDATE_HOST); unset($_REQUEST['activate']); } } } } } /*** --->>> ACTIONS <<<--- ***/ $frmForm = new CForm(); $frmForm->setMethod('get'); if (!isset($_REQUEST['form'])) { $frmForm->addItem(new CButton('form', S_CREATE_GROUP)); } show_table_header(S_CONFIGURATION_OF_GROUPS, $frmForm); if (isset($_REQUEST['form'])) { echo SBR;