function host_js_menu($hostid, $link_text = S_SELECT) { $hst_grp_all_in = array(); $db_groups = DBselect('SELECT DISTINCT g.groupid, g.name ' . ' FROM groups g, hosts_groups hg ' . ' WHERE g.groupid=hg.groupid ' . ' AND hg.hostid=' . $hostid . ' ORDER BY g.name'); while ($group = DBfetch($db_groups)) { $group['name'] = htmlspecialchars($group['name']); $hst_grp_all_in[] = $group; } $action = new CSpan($link_text); $script = new CScript('javascript: create_host_menu(event,' . $hostid . ',' . zbx_jsvalue($hst_grp_all_in) . ');'); $action->AddAction('onclick', $script); $action->AddOption('onmouseover', 'javascript: this.style.cursor = "pointer";'); return $action; }
function get_user_actionmenu($userid) { $usr_grp_all_in = array(); $usr_grp_gui_in = array(); $usr_grp_status_in = array(); $sql = 'SELECT DISTINCT g.name, g.usrgrpid, g.gui_access, g.users_status ' . ' FROM users_groups ug, usrgrp g ' . ' WHERE ug.userid=' . $userid . ' AND g.usrgrpid=ug.usrgrpid ' . ' AND ' . DBin_node('g.usrgrpid', get_current_nodeid(false)); $res = DBselect($sql); 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']); $usr_grp_all_in[] = $group; if ($gui_access != GROUP_GUI_ACCESS_SYSTEM) { $usr_grp_gui_in[] = $group; } if ($users_status == GROUP_STATUS_DISABLED) { $usr_grp_status_in[] = $group; } } $action = new CSpan(S_SELECT); $script = new CScript("javascript: create_user_menu(event," . $userid . "," . zbx_jsvalue($usr_grp_all_in) . "," . zbx_jsvalue($usr_grp_gui_in) . "," . zbx_jsvalue($usr_grp_status_in) . ");"); $action->AddAction('onclick', $script); $action->AddOption('onmouseover', 'javascript: this.style.cursor = "pointer";'); return $action; }
$refresh_rate = 30; //seconds $fields = array("warning_msg" => array(T_ZBX_STR, O_OPT, NULL, NULL, NULL), "message" => array(T_ZBX_STR, O_OPT, NULL, NULL, NULL), "retry" => 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, false); if (isset($_REQUEST['cancel'])) { zbx_unsetcookie('ZBX_CONFIG'); redirect('index.php'); exit; } // clear_messages(); $USER_DETAILS["refresh"] = $refresh_rate; include_once "include/page_header.php"; unset($USER_DETAILS); insert_showhint_javascript(); $table = new CTable(null, 'warning'); $table->SetAlign('center'); $table->AddOption('style', 'width: 480px; margin-top: 100px;'); $table->SetHeader(array(new CCol(S_ZABBIX_VER, 'left'), SPACE), 'header'); $table->AddRow(SPACE); $warning_msg = isset($_REQUEST['warning_msg']) ? $_REQUEST['warning_msg'] : S_ZABBIX_IS_UNAVAILABLE . '!'; $img = new CImg('./images/general/warning16r.gif', 'warning', 16, 16, 'img'); $img->addOption('style', 'border-width: 0px; vertical-align: bottom;'); $msg = new CSpan(bold(SPACE . $warning_msg)); $msg->AddOption('style', 'line-height: 20px; vertical-align: top;'); $table->AddRow(new CCol(array($img, $msg), 'center')); $table->AddRow(SPACE); $table->SetFooter(new CCol(new CButton('retry', S_RETRY, 'javascript: document.location.reload();'), 'left'), 'footer'); $table->Show(); zbx_add_post_js('setTimeout("document.location.reload();",' . $refresh_rate * 1000 . ');'); echo SBR; include_once "include/page_footer.php";