/** * 响应生成refund */ public function refund() { $r = $this->input->get('r'); //响应列表页 if ($r == 'index') { CView::show('admin/pay/refund'); return; } //生成退款订单 if ($r == 'gen') { $return = $this->_modelPay->newRefund(); $repArr = array(0, 'successful'); if ($return <= 0) { $repArr = array(1000, 'fail'); } CAjax::show($repArr[0], $repArr[1]); } //退款列表 if ($r == 'list') { $criteria = $this->input->get(); $page = (int) $this->input->get('page'); $rows = (int) $this->input->get('rows'); $list = $this->_modelPay->refunds($page, $rows, $criteria); echo json_encode($list); } //执行退款 if ($r == 'do') { $id = $this->input->post('id'); $return = $this->_modelPay->doRefund($id); CAjax::show(0, 'successful'); } }
public function index() { if (REQUEST_METHOD == 'POST') { $return = $this->login(); //用户登录 $repArr = array(-1, 'fail'); if ($return === true) { $repArr = array(0, 'successful'); } CAjax::show($repArr[0], $repArr[1]); } else { CView::show('admin/login'); } }
/** * 注册院校专业 */ protected function regMajor() { if (REQUEST_METHOD == 'POST') { $academy = $this->input->post('academy', true); $major = $this->input->post('major', true); $this->setSession('academy', $academy); $this->setSession('major', $major); //保存注册 $return = $this->regSave(); CAjax::result($return); } else { CView::show('register/reg_gender'); } }
/** * 新增故事 */ public function append() { if (REQUEST_METHOD == 'POST') { $content = $this->input->post('content'); if (strlen($content) <= 0) { return false; } $return = $this->_modelStory->append($this->_user->id, $content); $show['view'] = 'message/error'; $show['message'] = array('code' => -1, 'content' => '故事提交失败'); if ($return === true) { $show['view'] = 'message/info'; $show['message'] = array('code' => 0, 'content' => '故事提交成功'); } CView::show($show['view'], $show['message']); } else { CView::show('story/form'); } }
/** * 编辑订单 */ public function edit() { if (REQUEST_METHOD == 'POST') { $data = $this->input->post(); // 表单输入验证 /*$validator = $this->validateForm(); if ($validator->run() == false) CAjax::show('1000', '表单输入值不合法,请检查');*/ $reVal = $this->_modelOrder->editOrder($data); $repArr = array('0', 'successful'); if ($reVal !== true) { $repArr = array('1001', 'fail'); } CAjax::show($repArr[0], $repArr[1]); } else { $id = $this->input->get('id'); $data['order'] = $this->_modelOrder->getOrder($id); CView::show('admin/order/edit', $data); } }
$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(); $usersView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
$haystack = mb_strtolower($data['hosts'][$num]['inventory'][$data['filterField']]); if ($haystack !== $needle) { unset($data['hosts'][$num]); } } } $sort_fields = ['pr_name' => 'name', 'pr_type' => 'type', 'pr_os' => 'os', 'pr_serialno_a' => 'serialno_a', 'pr_tag' => 'tag', 'pr_macaddress_a' => 'macaddress_a']; if (array_key_exists($sortField, $sort_fields)) { // copying an inventory field into the upper array level for sorting foreach ($data['hosts'] as &$host) { $host[$sortField] = $host['inventory'][$sort_fields[$sortField]]; } unset($host); } $limit = $data['config']['search_limit'] + 1; order_result($data['hosts'], $sortField, $sortOrder); if ($sortOrder == ZBX_SORT_UP) { $data['hosts'] = array_slice($data['hosts'], 0, $limit); } else { $data['hosts'] = array_slice($data['hosts'], -$limit, $limit); } order_result($data['hosts'], $sortField, $sortOrder); } } $url = (new CUrl('hostinventories.php'))->setArgument('groupid', $data['pageFilter']->groupid); $data['paging'] = getPagingLine($data['hosts'], $sortOrder, $url); $hostinventoriesView = new CView('inventory.host.list', $data); $hostinventoriesView->render(); $hostinventoriesView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
$db_slides = DBselect('SELECT s.* FROM slides s WHERE s.slideshowid=' . zbx_dbstr($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']); } } // get slides without delay $data['slides_without_delay'] = $data['slides']; for ($i = 0, $size = count($data['slides_without_delay']); $i < $size; $i++) { unset($data['slides_without_delay'][$i]['delay']); } // render view $slideshowView = new CView('configuration.slideconf.edit', $data); $slideshowView->render(); $slideshowView->show(); } else { $data['slides'] = DBfetchArray(DBselect('SELECT s.slideshowid,s.name,s.delay,COUNT(sl.slideshowid) AS cnt' . ' FROM slideshows s' . ' LEFT JOIN slides sl ON sl.slideshowid=s.slideshowid' . whereDbNode('s.slideshowid') . ' GROUP BY s.slideshowid,s.name,s.delay')); order_result($data['slides'], getPageSortField('name'), getPageSortOrder()); $data['paging'] = getPagingLine($data['slides'], array('slideshowid')); // nodes if ($data['displayNodes'] = is_array(get_current_nodeid())) { foreach ($data['slides'] as &$slide) { $slide['nodename'] = get_node_name_by_elid($slide['slideshowid'], true); } unset($slide); } // render view $slideshowView = new CView('configuration.slideconf.list', $data); $slideshowView->render(); $slideshowView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
} else { $data['pageFilter'] = $pageFilter; $data['showDisabled'] = $showDisabled; $data['showAllApps'] = $showAllApps; $data['db_apps'] = array(); $db_app_result = DBselect('SELECT DISTINCT h.name AS hostname,a.*' . ' FROM applications a,hosts h' . ' WHERE a.hostid=h.hostid' . ($data['hostid'] > 0 ? ' AND h.hostid=' . $data['hostid'] : '') . ' AND ' . dbConditionInt('h.hostid', $pageFilter->hostsSelected ? array_keys($pageFilter->hosts) : array())); while ($db_app = DBfetch($db_app_result)) { $db_app['scenarios_cnt'] = 0; $data['db_apps'][$db_app['applicationid']] = $db_app; } // get http tests $data['db_httptests'] = array(); $dbHttpTests_result = DBselect('SELECT wt.*,a.name AS application,h.name AS hostname,h.hostid' . ' FROM httptest wt,applications a,hosts h' . ' WHERE wt.applicationid=a.applicationid' . ' AND a.hostid=h.hostid' . ' AND ' . dbConditionInt('a.applicationid', array_keys($data['db_apps'])) . ($showDisabled == 0 ? ' AND wt.status=' . HTTPTEST_STATUS_ACTIVE : '')); while ($httptest_data = DBfetch($dbHttpTests_result)) { $data['db_apps'][$httptest_data['applicationid']]['scenarios_cnt']++; $httptest_data['step_count'] = null; $data['db_httptests'][$httptest_data['httptestid']] = $httptest_data; } // get http steps $httpstep_res = DBselect('SELECT hs.httptestid,COUNT(hs.httpstepid) AS cnt' . ' FROM httpstep hs' . ' WHERE ' . dbConditionInt('hs.httptestid', array_keys($data['db_httptests'])) . ' GROUP BY hs.httptestid'); while ($step_count = DBfetch($httpstep_res)) { $data['db_httptests'][$step_count['httptestid']]['step_count'] = $step_count['cnt']; } order_result($data['db_httptests'], getPageSortField('host'), getPageSortOrder()); $data['paging'] = getPagingLine($data['db_httptests']); // render view $httpView = new CView('configuration.httpconf.list', $data); $httpView->render(); $httpView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
$isValid = $triggerFunctionValidator->validate(['function' => $expressionData['function'], 'functionName' => $expressionData['functionName'], 'functionParamList' => $expressionData['functionParamList'], 'valueType' => $data['itemValueType']]); if (!$isValid) { unset($data['insert']); throw new Exception($triggerFunctionValidator->getError()); } } else { unset($data['insert']); throw new Exception($triggerExpression->error); } // quote function param if (isset($data['insert'])) { foreach ($data['params'] as $pnum => $param) { $data['params'][$pnum] = quoteFunctionParam($param); } } } else { unset($data['insert']); throw new Exception(_('Item not selected')); } } catch (Exception $e) { error($e->getMessage()); show_error_message(_('Cannot insert trigger expression')); } } elseif (hasErrorMesssages()) { show_messages(); } // render view $expressionView = new CView('configuration.triggers.expression', $data); $expressionView->render(); $expressionView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
require_once dirname(__FILE__) . '/include/page_footer.php'; exit; } /* * Display */ $data = array('hostid' => getRequest('hostid', 0), 'fullscreen' => $_REQUEST['fullscreen'], 'screenid' => getRequest('screenid', CProfile::get('web.hostscreen.screenid', null)), 'period' => getRequest('period'), 'stime' => getRequest('stime')); CProfile::update('web.hostscreen.screenid', $data['screenid'], PROFILE_TYPE_ID); // get screen list $data['screens'] = API::TemplateScreen()->get(array('hostids' => $data['hostid'], 'output' => API_OUTPUT_EXTEND)); $data['screens'] = zbx_toHash($data['screens'], 'screenid'); order_result($data['screens'], 'name'); // get screen $screenid = null; if (!empty($data['screens'])) { $screen = !isset($data['screens'][$data['screenid']]) ? reset($data['screens']) : $data['screens'][$data['screenid']]; if (!empty($screen['screenid'])) { $screenid = $screen['screenid']; } } $data['screen'] = API::TemplateScreen()->get(array('screenids' => $screenid, 'hostids' => $data['hostid'], 'output' => API_OUTPUT_EXTEND, 'selectScreenItems' => API_OUTPUT_EXTEND)); $data['screen'] = reset($data['screen']); // get host if (!empty($data['screen']['hostid'])) { $data['host'] = get_host_by_hostid($data['screen']['hostid']); } // render view $screenView = new CView('monitoring.hostscreen', $data); $screenView->render(); $screenView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
$data['applications'] = API::Application()->get(array('applicationids' => $applicationIds, 'output' => API_OUTPUT_EXTEND, 'selectItems' => array('itemid'), 'selectHost' => array('hostid', 'name'))); order_result($data['applications'], $sortField, $sortOrder); // fetch template application source parents $applicationSourceParentIds = getApplicationSourceParentIds($applicationIds); $parentAppIds = array(); foreach ($applicationSourceParentIds as $applicationParentIds) { foreach ($applicationParentIds as $parentId) { $parentAppIds[$parentId] = $parentId; } } if ($parentAppIds) { $parentTemplates = DBfetchArrayAssoc(DBselect('SELECT a.applicationid,h.hostid,h.name' . ' FROM applications a,hosts h' . ' WHERE a.hostid=h.hostid' . ' AND ' . dbConditionInt('a.applicationid', $parentAppIds)), 'applicationid'); foreach ($data['applications'] as &$application) { if ($application['templateids'] && isset($applicationSourceParentIds[$application['applicationid']])) { foreach ($applicationSourceParentIds[$application['applicationid']] as $parentAppId) { $application['sourceTemplates'][] = $parentTemplates[$parentAppId]; } } } } } else { $data['applications'] = array(); } // get paging $data['paging'] = getPagingLine($data['applications'], $sortOrder); // render view $applicationView = new CView('configuration.application.list', $data); $applicationView->render(); $applicationView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
** 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'; require_once dirname(__FILE__) . '/include/page_header.php'; $fields = ['problem_unack_color' => [T_ZBX_CLR, O_OPT, null, null, 'isset({update})', _('Unacknowledged PROBLEM events')], 'problem_ack_color' => [T_ZBX_CLR, O_OPT, null, null, 'isset({update})', _('Acknowledged PROBLEM events')], 'ok_unack_color' => [T_ZBX_CLR, O_OPT, null, null, 'isset({update})', _('Unacknowledged OK events')], 'ok_ack_color' => [T_ZBX_CLR, O_OPT, null, null, 'isset({update})', _('Acknowledged OK events')], 'problem_unack_style' => [T_ZBX_INT, O_OPT, null, IN('1'), null, _('Blinking')], 'problem_ack_style' => [T_ZBX_INT, O_OPT, null, IN('1'), null, _('Blinking')], 'ok_unack_style' => [T_ZBX_INT, O_OPT, null, IN('1'), null, _('Blinking')], 'ok_ack_style' => [T_ZBX_INT, O_OPT, null, IN('1'), null, _('Blinking')], 'ok_period' => [T_ZBX_INT, O_OPT, null, BETWEEN(0, 999999), 'isset({update})', _('Display OK triggers for')], 'blink_period' => [T_ZBX_INT, O_OPT, null, BETWEEN(0, 999999), 'isset({update})', _('On status change triggers blink for')], 'update' => [T_ZBX_STR, O_OPT, P_SYS | P_ACT, null, null], 'form_refresh' => [T_ZBX_INT, O_OPT, null, null, null]]; check_fields($fields); /* * Actions */ if (hasRequest('update')) { DBstart(); $result = update_config(['problem_unack_color' => getRequest('problem_unack_color'), 'problem_ack_color' => getRequest('problem_ack_color'), 'ok_unack_color' => getRequest('ok_unack_color'), 'ok_ack_color' => getRequest('ok_ack_color'), 'problem_unack_style' => getRequest('problem_unack_style', 0), 'problem_ack_style' => getRequest('problem_ack_style', 0), 'ok_unack_style' => getRequest('ok_unack_style', 0), 'ok_ack_style' => getRequest('ok_ack_style', 0), 'ok_period' => getRequest('ok_period'), 'blink_period' => getRequest('blink_period')]); $result = DBend($result); show_messages($result, _('Configuration updated'), _('Cannot update configuration')); } /* * Display */ $config = select_config(); // form has been submitted if (hasRequest('form_refresh')) { $data = ['problem_unack_color' => getRequest('problem_unack_color', $config['problem_unack_color']), 'problem_ack_color' => getRequest('problem_ack_color', $config['problem_ack_color']), 'ok_unack_color' => getRequest('ok_unack_color', $config['ok_unack_color']), 'ok_ack_color' => getRequest('ok_ack_color', $config['ok_ack_color']), 'problem_unack_style' => getRequest('problem_unack_style', 0), 'problem_ack_style' => getRequest('problem_ack_style', 0), 'ok_unack_style' => getRequest('ok_unack_style', 0), 'ok_ack_style' => getRequest('ok_ack_style', 0), 'ok_period' => getRequest('ok_period', $config['ok_period']), 'blink_period' => getRequest('blink_period', $config['blink_period'])]; } else { $data = ['problem_unack_color' => $config['problem_unack_color'], 'problem_ack_color' => $config['problem_ack_color'], 'ok_unack_color' => $config['ok_unack_color'], 'ok_ack_color' => $config['ok_ack_color'], 'problem_unack_style' => $config['problem_unack_style'], 'problem_ack_style' => $config['problem_ack_style'], 'ok_unack_style' => $config['ok_unack_style'], 'ok_ack_style' => $config['ok_ack_style'], 'ok_period' => $config['ok_period'], 'blink_period' => $config['blink_period']]; } $view = new CView('administration.general.trigger.options.edit', $data); $view->render(); $view->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
/* ** Zabbix ** Copyright (C) 2001-2014 Zabbix SIA ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** 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'] = _('Step of scenario'); $page['file'] = 'popup_httpstep.php'; define('ZBX_PAGE_NO_MENU', 1); require_once dirname(__FILE__) . '/include/page_header.php'; // VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION $fields = array('dstfrm' => array(T_ZBX_STR, O_MAND, P_SYS, NOT_EMPTY, null), 'stepid' => 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({add}) || isset({update})) && isset({stepid})'), 'name' => array(T_ZBX_STR, O_OPT, null, NOT_EMPTY . KEY_PARAM(), 'isset({add}) || isset({update})', _('Name')), 'url' => array(T_ZBX_STR, O_OPT, null, NOT_EMPTY, 'isset({add}) || isset({update})', _('URL')), 'posts' => array(T_ZBX_STR, O_OPT, null, null, null), 'variables' => array(T_ZBX_STR, O_OPT, null, null, 'isset({add}) || isset({update})'), 'headers' => array(T_ZBX_STR, O_OPT, null, null, 'isset({add}) || isset({update})'), 'retrieve_mode' => array(T_ZBX_STR, O_OPT, null, null, null), 'follow_redirects' => array(T_ZBX_STR, O_OPT, null, null, null), 'timeout' => array(T_ZBX_INT, O_OPT, null, BETWEEN(0, 65535), 'isset({add}) || isset({update})', _('Timeout')), 'required' => array(T_ZBX_STR, O_OPT, null, null, null), 'status_codes' => array(T_ZBX_STR, O_OPT, null, null, 'isset({add}) || isset({update})'), 'templated' => array(T_ZBX_STR, O_OPT, null, null, null), 'old_name' => array(T_ZBX_STR, O_OPT, null, null, null), 'steps_names' => array(T_ZBX_STR, O_OPT, null, null, null), 'add' => array(T_ZBX_STR, O_OPT, P_SYS | P_ACT, null, null), 'update' => 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); // render view $httpPopupView = new CView('configuration.httpconf.popup'); $httpPopupView->render(); $httpPopupView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
$data['screen'] = get_slideshow_by_slideshowid($data['elementId'], PERM_READ); if (!$data['screen']) { // Redirect to slide show list. ob_end_clean(); redirect('slideconf.php'); } } $data['fullscreen'] = getRequest('fullscreen'); if ($data['screen']) { // get groups and hosts if (check_dynamic_items($data['elementId'], 1)) { $data['isDynamicItems'] = true; $data['pageFilter'] = new CPageFilter(['groups' => ['monitored_hosts' => true, 'with_items' => true], 'hosts' => ['monitored_hosts' => true, 'with_items' => true, 'DDFirstLabel' => _('not selected')], 'hostid' => getRequest('hostid'), 'groupid' => getRequest('groupid')]); $data['groupid'] = $data['pageFilter']->groupid; $data['hostid'] = $data['pageFilter']->hostid; } // get element $data['element'] = get_slideshow_by_slideshowid($data['elementId'], PERM_READ); $data['screen']['editable'] = (bool) get_slideshow_by_slideshowid($data['elementId'], PERM_READ_WRITE); if ($data['screen']['delay'] > 0) { $data['element']['delay'] = $data['screen']['delay']; } show_messages(); } // refresh $data['refreshMultiplier'] = CProfile::get('web.slides.rf_rate.' . WIDGET_SLIDESHOW, 1, $data['elementId']); // render view $slidesView = new CView('monitoring.slides', $data); $slidesView->render(); $slidesView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
$triggersView->render(); $triggersView->show(); } elseif (isset($_REQUEST['form'])) { $triggersView = new CView('configuration.triggers.edit', getTriggerFormData($exprAction)); $triggersView->render(); $triggersView->show(); } else { $sortField = getRequest('sort', CProfile::get('web.' . $page['file'] . '.sort', 'description')); $sortOrder = getRequest('sortorder', CProfile::get('web.' . $page['file'] . '.sortorder', ZBX_SORT_UP)); CProfile::update('web.' . $page['file'] . '.sort', $sortField, PROFILE_TYPE_STR); CProfile::update('web.' . $page['file'] . '.sortorder', $sortOrder, PROFILE_TYPE_STR); $data = array('parent_discoveryid' => getRequest('parent_discoveryid'), 'showInfoColumn' => false, 'discovery_rule' => $discovery_rule, 'hostid' => getRequest('hostid'), 'showdisabled' => getRequest('showdisabled', 1), 'triggers' => array(), 'sort' => $sortField, 'sortorder' => $sortOrder); CProfile::update('web.triggers.showdisabled', $data['showdisabled'], PROFILE_TYPE_INT); // get triggers $options = array('editable' => true, 'output' => array('triggerid'), 'discoveryids' => $data['parent_discoveryid'], 'sortfield' => $sortField, 'limit' => $config['search_limit'] + 1); if (empty($data['showdisabled'])) { $options['filter']['status'] = TRIGGER_STATUS_ENABLED; } $data['triggers'] = API::TriggerPrototype()->get($options); // paging $data['paging'] = getPagingLine($data['triggers']); $data['triggers'] = API::TriggerPrototype()->get(array('triggerids' => zbx_objectValues($data['triggers'], 'triggerid'), 'output' => API_OUTPUT_EXTEND, 'selectHosts' => API_OUTPUT_EXTEND, 'selectItems' => array('itemid', 'hostid', 'key_', 'type', 'flags', 'status'), 'selectFunctions' => API_OUTPUT_EXTEND)); order_result($data['triggers'], $sortField, $sortOrder); // get real hosts $data['realHosts'] = getParentHostsByTriggers($data['triggers']); // render view $triggersView = new CView('configuration.triggers.list', $data); $triggersView->render(); $triggersView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
$data['trigger'] = ''; } // render view $servicesView = new CView('configuration.services.edit', $data); $servicesView->render(); $servicesView->show(); } else { // services $services = API::Service()->get(array('output' => array('name', 'serviceid', 'algorithm'), 'selectParent' => array('serviceid'), 'selectDependencies' => array('servicedownid', 'soft', 'linkid'), 'selectTrigger' => array('description', 'triggerid', 'expression'), 'preservekeys' => true, 'sortfield' => 'sortorder', 'sortorder' => ZBX_SORT_UP)); // triggers $triggers = zbx_objectValues($services, 'trigger'); $triggers = CMacrosResolverHelper::resolveTriggerNames($triggers); foreach ($services as &$service) { if ($service['trigger']) { $service['trigger'] = $triggers[$service['trigger']['triggerid']]; } } unset($service); $treeData = array(); createServiceConfigurationTree($services, $treeData); $tree = new CServiceTree('service_conf_tree', $treeData, array('caption' => _('Service'), 'algorithm' => _('Status calculation'), 'description' => _('Trigger'))); if (empty($tree)) { error(_('Cannot format tree.')); } $data = array('tree' => $tree); // render view $servicesView = new CView('configuration.services.list', $data); $servicesView->render(); $servicesView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
$data['mediatypes'] = API::Mediatype()->get(array('output' => API_OUTPUT_EXTEND, 'preservekeys' => true, 'editable' => true, 'limit' => $config['search_limit'] + 1)); if ($data['mediatypes']) { // get media types used in actions $actions = API::Action()->get(array('mediatypeids' => zbx_objectValues($data['mediatypes'], 'mediatypeid'), 'output' => array('actionid', 'name'), 'selectOperations' => array('operationtype', 'opmessage'), 'preservekeys' => true)); foreach ($data['mediatypes'] as $key => $mediaType) { $data['mediatypes'][$key]['typeid'] = $data['mediatypes'][$key]['type']; $data['mediatypes'][$key]['type'] = media_type2str($data['mediatypes'][$key]['type']); $data['mediatypes'][$key]['listOfActions'] = array(); if ($actions) { foreach ($actions as $actionId => $action) { foreach ($action['operations'] as $operation) { if ($operation['operationtype'] == OPERATION_TYPE_MESSAGE && $operation['opmessage']['mediatypeid'] == $mediaType['mediatypeid']) { $data['mediatypes'][$key]['listOfActions'][$actionId] = array('actionid' => $actionId, 'name' => $action['name']); } } } order_result($data['mediatypes'][$key]['listOfActions'], 'name'); } } order_result($data['mediatypes'], $sortField, $sortOrder); $data['paging'] = getPagingLine($data['mediatypes'], $sortOrder); } else { $arr = array(); $data['paging'] = getPagingLine($arr, $sortOrder); } // render view $mediaTypeView = new CView('administration.mediatypes.list', $data); $mediaTypeView->render(); $mediaTypeView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
// render view $itemView = new CView('configuration.item.prototype.edit', $data); $itemView->render(); $itemView->show(); } else { $sortField = getRequest('sort', CProfile::get('web.' . $page['file'] . '.sort', 'name')); $sortOrder = getRequest('sortorder', CProfile::get('web.' . $page['file'] . '.sortorder', ZBX_SORT_UP)); CProfile::update('web.' . $page['file'] . '.sort', $sortField, PROFILE_TYPE_STR); CProfile::update('web.' . $page['file'] . '.sortorder', $sortOrder, PROFILE_TYPE_STR); $config = select_config(); $data = ['form' => getRequest('form'), 'parent_discoveryid' => getRequest('parent_discoveryid'), 'hostid' => $discoveryRule['hostid'], 'sort' => $sortField, 'sortorder' => $sortOrder]; $data['items'] = API::ItemPrototype()->get(['discoveryids' => $data['parent_discoveryid'], 'output' => API_OUTPUT_EXTEND, 'editable' => true, 'selectApplications' => API_OUTPUT_EXTEND, 'sortfield' => $sortField, 'limit' => $config['search_limit'] + 1]); foreach ($data['items'] as &$item) { if ($item['value_type'] == ITEM_VALUE_TYPE_STR || $item['value_type'] == ITEM_VALUE_TYPE_LOG || $item['value_type'] == ITEM_VALUE_TYPE_TEXT) { $item['trends'] = ''; } if ($item['type'] == ITEM_TYPE_TRAPPER || $item['type'] == ITEM_TYPE_SNMPTRAP) { $item['delay'] = ''; } } unset($item); $data['items'] = CMacrosResolverHelper::resolveItemNames($data['items']); order_result($data['items'], $sortField, $sortOrder); $url = (new CUrl('disc_prototypes.php'))->setArgument('parent_discoveryid', $data['parent_discoveryid']); $data['paging'] = getPagingLine($data['items'], $sortOrder, $url); // render view $itemView = new CView('configuration.item.prototype.list', $data); $itemView->render(); $itemView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
} // new operation if (!empty($data['new_operation'])) { if (!is_array($data['new_operation'])) { $data['new_operation'] = array('action' => 'create', 'operationtype' => 0, 'esc_period' => 0, 'esc_step_from' => 1, 'esc_step_to' => 1, 'evaltype' => 0); } } // render view $actionView = new CView('configuration.action.edit', $data); $actionView->render(); $actionView->show(); } else { $data = array('eventsource' => getRequest('eventsource', CProfile::get('web.actionconf.eventsource', EVENT_SOURCE_TRIGGERS)), 'displayNodes' => is_array(get_current_nodeid())); $sortfield = getPageSortField('name'); $data['actions'] = API::Action()->get(array('output' => API_OUTPUT_EXTEND, 'filter' => array('eventsource' => array($data['eventsource'])), 'selectConditions' => API_OUTPUT_EXTEND, 'selectOperations' => API_OUTPUT_EXTEND, 'editable' => true, 'sortfield' => $sortfield, 'limit' => $config['search_limit'] + 1)); // sorting && paging order_result($data['actions'], $sortfield, getPageSortOrder()); $data['paging'] = getPagingLine($data['actions'], array('actionid')); // nodes if ($data['displayNodes']) { foreach ($data['actions'] as &$action) { $action['nodename'] = get_node_name_by_elid($action['actionid'], true); } unset($action); } // render view $actionView = new CView('configuration.action.list', $data); $actionView->render(); $actionView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
$messageFailed = _('Cannot change authentication method to HTTP'); DBstart(); $result = update_config($config); if ($result) { // reset all sessions if ($isAuthenticationTypeChanged) { $result &= DBexecute('UPDATE sessions SET status=' . ZBX_SESSION_PASSIVE . ' WHERE sessionid<>' . zbx_dbstr(CWebUser::$data['sessionid'])); } $isAuthenticationTypeChanged = false; add_audit(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_ZABBIX_CONFIG, $messageSuccess); } $result = DBend($result); show_messages($result, $messageSuccess, $messageFailed); } } show_messages(); /* * Display */ $data = array('form_refresh' => getRequest('form_refresh'), 'config' => $config, 'is_authentication_type_changed' => $isAuthenticationTypeChanged, 'user' => getRequest('user', CWebUser::$data['alias']), 'user_password' => getRequest('user_password', ''), 'user_list' => null, 'change_bind_password' => getRequest('change_bind_password')); // get tab title $data['title'] = authentication2str($config['authentication_type']); // get user list if (getUserGuiAccess(CWebUser::$data['userid']) == GROUP_GUI_ACCESS_INTERNAL) { $data['user_list'] = DBfetchArray(DBselect('SELECT u.alias,u.userid FROM users u ORDER BY u.alias')); } // render view $authenticationView = new CView('administration.authentication.edit', $data); $authenticationView->render(); $authenticationView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
case AUDIT_ACTION_ENABLE: $action = _('Enabled'); break; case AUDIT_ACTION_DISABLE: $action = _('Disabled'); break; default: $action = _('Unknown action'); } $audit['action'] = $action; $audit['resourcetype'] = audit_resource2str($audit['resourcetype']); if (empty($audit['details'])) { $audit['details'] = DBfetchArray(DBselect('SELECT ad.table_name,ad.field_name,ad.oldvalue,ad.newvalue' . ' FROM auditlog_details ad' . ' WHERE ad.auditid=' . zbx_dbstr($audit['auditid']))); } $data['actions'][$audit['auditid']] = $audit; } if (!empty($data['actions'])) { order_result($data['actions'], 'clock', ZBX_SORT_DOWN); } // get paging $data['paging'] = getPagingLine($data['actions'], ZBX_SORT_DOWN, new CUrl('auditlogs.php')); // get timeline unset($sqlWhere['from'], $sqlWhere['till']); $sql = 'SELECT MIN(a.clock) AS clock' . ' FROM auditlog a,users u' . ' WHERE a.userid=u.userid' . implode('', $sqlWhere); $firstAudit = DBfetch(DBselect($sql, $config['search_limit'] + 1)); $data['timeline'] = ['period' => $effectivePeriod, 'starttime' => date(TIMESTAMP_FORMAT, $firstAudit ? $firstAudit['clock'] : null), 'usertime' => isset($_REQUEST['stime']) ? date(TIMESTAMP_FORMAT, zbxDateToTime($data['stime']) + $effectivePeriod) : null]; // render view $auditView = new CView('administration.auditlogs.list', $data); $auditView->render(); $auditView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
require_once dirname(__FILE__) . '/include/forms.inc.php'; $page['title'] = _('Scripts'); $page['file'] = 'scripts_exec.php'; define('ZBX_PAGE_NO_MENU', 1); require_once dirname(__FILE__) . '/include/page_header.php'; // VAR TYPE OPTIONAL FLAGS VALIDATION EXCEPTION $fields = array('hostid' => array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, 'isset({execute})'), 'scriptid' => array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, 'isset({execute})'), 'execute' => array(T_ZBX_INT, O_OPT, P_ACT, IN('0,1'), null)); check_fields($fields); if (isset($_REQUEST['execute'])) { $scriptid = get_request('scriptid'); $hostid = get_request('hostid'); $data = array('message' => '', 'info' => DBfetch(DBselect('SELECT s.name FROM scripts s WHERE s.scriptid=' . zbx_dbstr($scriptid)))); $result = API::Script()->execute(array('hostid' => $hostid, 'scriptid' => $scriptid)); $isErrorExist = false; if (empty($result)) { $isErrorExist = true; } elseif ($result['response'] == 'failed') { error($result['value']); $isErrorExist = true; } else { $data['message'] = $result['value']; } if ($isErrorExist) { show_error_message(_('Cannot connect to the trapper port of zabbix server daemon, but it should be available to run the script.')); } // render view $scriptView = new CView('general.script.execute', $data); $scriptView->render(); $scriptView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
$dbTrigger = reset($dbTrigger); $host = reset($dbTrigger['hosts']); $link['linktriggers'][$lnum]['desc_exp'] = $host['name'] . NAME_DELIMITER . $dbTrigger['description']; } order_result($link['linktriggers'], 'desc_exp'); } unset($link); // get iconmapping if ($data['sysmap']['iconmapid']) { $iconMap = API::IconMap()->get(array('iconmapids' => $data['sysmap']['iconmapid'], 'output' => array('default_iconid'), 'preservekeys' => true)); $iconMap = reset($iconMap); $data['defaultAutoIconId'] = $iconMap['default_iconid']; } // get icon list $icons = DBselect('SELECT i.imageid,i.name FROM images i WHERE i.imagetype=' . IMAGE_TYPE_ICON); while ($icon = DBfetch($icons)) { $data['iconList'][] = array('imageid' => $icon['imageid'], 'name' => $icon['name']); if ($icon['name'] == MAP_DEFAULT_ICON || !isset($data['defaultIconId'])) { $data['defaultIconId'] = $icon['imageid']; $data['defaultIconName'] = $icon['name']; } } if ($data['iconList']) { CArrayHelper::sort($data['iconList'], array('name')); $data['iconList'] = array_values($data['iconList']); } // render view $sysmapView = new CView('configuration.sysmap.constructor', $data); $sysmapView->render(); $sysmapView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
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'); // discoveries $data['discoveries'] = API::DiscoveryRule()->get(array('hostids' => $data['hostid'], 'output' => API_OUTPUT_EXTEND, 'editable' => true, 'selectItems' => API_OUTPUT_COUNT, 'selectGraphs' => API_OUTPUT_COUNT, 'selectTriggers' => API_OUTPUT_COUNT, 'selectHostPrototypes' => API_OUTPUT_COUNT, 'sortfield' => $sortfield, 'limit' => $config['search_limit'] + 1)); $data['discoveries'] = CMacrosResolverHelper::resolveItemNames($data['discoveries']); if ($sortfield === 'status') { orderItemsByStatus($data['discoveries'], getPageSortOrder()); } else { order_result($data['discoveries'], $sortfield, getPageSortOrder()); } // paging $data['paging'] = getPagingLine($data['discoveries'], array('itemid'), array('hostid' => get_request('hostid'))); // render view $discoveryView = new CView('configuration.host.discovery.list', $data); $discoveryView->render(); $discoveryView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
* 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']; $data['masterid'] = $node['masterid']; $data['nodetype'] = $node['nodetype']; } else { $data['new_nodeid'] = get_request('new_nodeid'); $data['name'] = get_request('name', ''); $data['ip'] = get_request('ip', '127.0.0.1'); $data['port'] = get_request('port', 10051); $data['nodetype'] = get_request('nodetype', ZBX_NODE_CHILD); $data['masterid'] = get_request('masterid', get_current_nodeid(false)); } $nodeView = new CView('administration.node.edit', $data); } else { validate_sort_and_sortorder(); $data = array(); if (ZBX_DISTRIBUTED) { $data['nodes'] = DBselect('SELECT n.* FROM nodes n ' . order_by('n.nodeid,n.name,n.ip', 'n.masterid')); } $nodeView = new CView('administration.node.list', $data); } $nodeView->render(); $nodeView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
$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';
$sqlWhere = whereDbNode('u.userid'); } $data['users'] = DBfetchArray(DBselect('SELECT DISTINCT u.userid,u.alias,u.name,u.surname' . ' FROM users u' . $sqlFrom . $sqlWhere)); order_result($data['users'], 'alias'); // get user groups $data['usergroups'] = DBfetchArray(DBselect('SELECT ug.usrgrpid,ug.name' . ' FROM usrgrp ug' . whereDbNode('usrgrpid'))); order_result($data['usergroups'], 'name'); // render view $userGroupsView = new CView('administration.usergroups.edit', $data); $userGroupsView->render(); $userGroupsView->show(); } else { $data = array('displayNodes' => is_array(get_current_nodeid())); $sortfield = getPageSortField('name'); $data['usergroups'] = API::UserGroup()->get(array('output' => API_OUTPUT_EXTEND, 'selectUsers' => API_OUTPUT_EXTEND, 'sortfield' => $sortfield, 'limit' => $config['search_limit'] + 1)); // sorting & paging order_result($data['usergroups'], $sortfield, getPageSortOrder()); $data['paging'] = getPagingLine($data['usergroups'], array('usrgrpid')); // nodes if ($data['displayNodes']) { foreach ($data['usergroups'] as &$userGroup) { $userGroup['nodename'] = get_node_name_by_elid($userGroup['usrgrpid'], true); } unset($userGroup); } // render view $userGroupsView = new CView('administration.usergroups.list', $data); $userGroupsView->render(); $userGroupsView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
$result = DBend($result); if ($page['type'] == PAGE_TYPE_JS && $result) { echo 'switchElementClass("addrm_fav", "iconminus", "iconplus");'; } } } if (!empty($_REQUEST['period']) || !empty($_REQUEST['stime'])) { CScreenBase::calculateTime(array('profileIdx' => 'web.screens', 'profileIdx2' => $pageFilter->graphid, 'updateProfile' => true, 'period' => getRequest('period'), 'stime' => getRequest('stime'))); $curl = new CUrl(); $curl->removeArgument('period'); $curl->removeArgument('stime'); ob_end_clean(); DBstart(); CProfile::flush(); DBend(); redirect($curl->getUrl()); } ob_end_flush(); if ($page['type'] == PAGE_TYPE_JS || $page['type'] == PAGE_TYPE_HTML_BLOCK) { require_once dirname(__FILE__) . '/include/page_footer.php'; exit; } /* * Display */ $data = array('pageFilter' => $pageFilter, 'graphid' => $pageFilter->graphid, 'fullscreen' => $_REQUEST['fullscreen']); // render view $chartsView = new CView('monitoring.charts', $data); $chartsView->render(); $chartsView->show(); require_once dirname(__FILE__) . '/include/page_footer.php';
$options['groupids'] = $config['dropdown_first_entry'] ? null : array(); } $data['maintenances'] = API::Maintenance()->get($options); order_result($data['maintenances'], $sortfield, $sortorder); $data['paging'] = getPagingLine($data['maintenances'], array('maintenanceid')); // get list of maintenances $data['maintenances'] = API::Maintenance()->get(array('maintenanceids' => zbx_objectValues($data['maintenances'], 'maintenanceid'), 'output' => API_OUTPUT_EXTEND)); foreach ($data['maintenances'] as $number => $maintenance) { if ($maintenance['active_till'] < time()) { $data['maintenances'][$number]['status'] = MAINTENANCE_STATUS_EXPIRED; } elseif ($maintenance['active_since'] > time()) { $data['maintenances'][$number]['status'] = MAINTENANCE_STATUS_APPROACH; } else { $data['maintenances'][$number]['status'] = MAINTENANCE_STATUS_ACTIVE; } } order_result($data['maintenances'], $sortfield, $sortorder); $data['pageFilter'] = $pageFilter; // nodes if ($data['displayNodes']) { foreach ($data['maintenances'] as &$maintenance) { $maintenance['nodename'] = get_node_name_by_elid($maintenance['maintenanceid'], true); } unset($maintenance); } // render view $maintenanceView = new CView('configuration.maintenance.list', $data); $maintenanceView->render(); $maintenanceView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';