SetHelp("manual.php"); $frmMsg->AddVar("alarmid",get_request("alarmid",0)); $frmMsg->AddRow(S_MESSAGE, new CTextArea("message","",80,6)); $frmMsg->AddItemToBottomRow(new CButton("save",$btn_txt)); $frmMsg->Show(); SetFocus($frmMsg->GetName(),"message"); } # Insert form for User function insert_user_form($userid,$profile=0) { $frm_title = S_USER; if(isset($userid)) { $user=get_user_by_userid($userid); $frm_title = S_USER." \"".$user["alias"]."\""; } // TMP!!! // isset($_REQUEST["register"]) mus be deleted // needed rewrite permisions to delete id // TMP!!! if(isset($userid) && (!isset($_REQUEST["form_refresh"]) || isset($_REQUEST["register"]))) { $alias = $user["alias"]; $name = $user["name"]; $surname = $user["surname"]; $password = ""; $url = $user["url"]; $autologout = $user["autologout"]; $lang = $user["lang"]; $refresh = $user["refresh"]; } else { $alias = get_request("alias",""); $name = get_request("name",""); $surname = get_request("surname",""); $password = ""; $url = get_request("url",""); $autologout = get_request("autologout","900"); $lang = get_request("lang","en_gb"); $refresh = get_request("refresh","30"); } $frmUser = new CFormTable($frm_title); $frmUser->SetHelp("web.users.users.php"); $frmUser->AddVar("config",get_request("config",0)); if($profile==0) $frmUser->SetAction("users.php"); else $frmUser->SetAction("profile.php"); if(isset($userid)) $frmUser->AddVar("userid",$userid); if($profile==0) { $frmUser->AddRow(S_ALIAS, new CTextBox("alias",$alias,20)); $frmUser->AddRow(S_NAME, new CTextBox("name",$name,20)); $frmUser->AddRow(S_SURNAME, new CTextBox("surname",$surname,20)); } $frmUser->AddRow(S_PASSWORD, new CPassBox("password1",$password,20)); $frmUser->AddRow(S_PASSWORD_ONCE_AGAIN, new CPassBox("password2",$password,20)); $cmbLang = new CcomboBox('lang',$lang); $cmbLang->AddItem("en_gb",S_ENGLISH_GB); $cmbLang->AddItem("cn_zh",S_CHINESE_CN); $cmbLang->AddItem("fr_fr",S_FRENCH_FR); $cmbLang->AddItem("de_de",S_GERMAN_DE); $cmbLang->AddItem("it_it",S_ITALIAN_IT); $cmbLang->AddItem("lv_lv",S_LATVIAN_LV); $cmbLang->AddItem("ru_ru",S_RUSSIAN_RU); $cmbLang->AddItem("sp_sp",S_SPANISH_SP); $cmbLang->AddItem("ja_jp",S_JAPANESE_JP); $frmUser->AddRow(S_LANGUAGE, $cmbLang); $frmUser->AddRow(S_AUTO_LOGOUT_IN_SEC, new CTextBox("autologout",$autologout,5)); $frmUser->AddRow(S_URL_AFTER_LOGIN, new CTextBox("url",$url,50)); $frmUser->AddRow(S_SCREEN_REFRESH, new CTextBox("refresh",$refresh,5)); $frmUser->AddItemToBottomRow(new CButton('save',S_SAVE)); if(isset($userid)) { $frmUser->AddItemToBottomRow(SPACE); $frmUser->AddItemToBottomRow(new CButtonDelete("Delete selected user?", url_param("form").url_param("config").url_param("userid"))); } $frmUser->AddItemToBottomRow(SPACE); $frmUser->AddItemToBottomRow(new CButtonCancel(url_param("config"))); $frmUser->Show(); } # Insert form for User permissions function insert_permissions_form() { global $_REQUEST; $frmPerm = new CFormTable("New permission","users.php"); $frmPerm->SetHelp("web.users.users.php"); $frmPerm->AddVar("userid",$_REQUEST["userid"]); $frmPerm->AddVar("config",get_request("config",0)); $cmbRes = new CComboBox("right"); $cmbRes->AddItem("Configuration of Zabbix","Configuration of Zabbix"); $cmbRes->AddItem("Default permission","Default permission"); $cmbRes->AddItem("Graph","Graph"); $cmbRes->AddItem("Host","Host"); $cmbRes->AddItem("Screen","Screen"); $cmbRes->AddItem("Service","IT Service"); $cmbRes->AddItem("Item","Item"); $cmbRes->AddItem("Network map","Network map"); $cmbRes->AddItem("Trigger comment","Trigger comment"); $cmbRes->AddItem("User","User"); $frmPerm->AddRow(S_RESOURCE,$cmbRes); $cmbPerm = new CComboBox("permission"); $cmbPerm->AddItem("R","Read-only"); $cmbPerm->AddItem("U","Read-write"); $cmbPerm->AddItem("H","Hide"); $cmbPerm->AddItem("A","Add"); $frmPerm->AddRow(S_PERMISSION,$cmbPerm); $frmPerm->AddRow("Resource ID (0 for all)",new CTextBox("id",0)); $frmPerm->AddItemToBottomRow(new CButton("register","add permission")); $frmPerm->Show(); } # Insert form for User Groups function insert_usergroups_form($usrgrpid) { global $_REQUEST; $frm_title = S_USER_GROUP; if(isset($usrgrpid)) { $usrgrp=get_usergroup_by_groupid($usrgrpid); $frm_title = S_USER_GROUP." \"".$usrgrp["name"]."\""; } $users = get_request("users",array()); if(isset($usrgrpid) && !isset($_REQUEST["form_refresh"])) { $name = $usrgrp["name"]; $db_users=DBselect("select distinct u.userid from users u,users_groups ug ". "where u.userid=ug.userid and ug.usrgrpid=".$usrgrpid. " order by alias"); while($db_user=DBfetch($db_users)) { if(in_array($db_user["userid"], $users)) continue; array_push($users,$db_user["userid"]); } } else { $name = get_request("gname",""); } $frmUserG = new CFormTable($frm_title,"users.php"); $frmUserG->SetHelp("web.users.groups.php"); $frmUserG->AddVar("config",get_request("config",2)); if(isset($usrgrpid)) { $frmUserG->AddVar("usrgrpid",$usrgrpid); } $frmUserG->AddRow(S_GROUP_NAME,new CTextBox("gname",$name,30)); $form_row = array(); $db_users=DBselect("select distinct userid,alias from users order by alias"); while($db_user=DBfetch($db_users)) { array_push($form_row, new CCheckBox("users[]", in_array($db_user["userid"],$users) ? 'yes' : 'no', $db_user["alias"], /* caption */ NULL, /* action */ $db_user["userid"]), /* value */ BR); } $frmUserG->AddRow(S_USERS,$form_row); $frmUserG->AddItemToBottomRow(new CButton("save",S_SAVE)); if(isset($_REQUEST["usrgrpid"])) { $frmUserG->AddItemToBottomRow(SPACE); $frmUserG->AddItemToBottomRow(new CButtonDelete("Delete selected group?", url_param("form").url_param("config").url_param("usrgrpid"))); } $frmUserG->AddItemToBottomRow(SPACE); $frmUserG->AddItemToBottomRow(new CButtonCancel(url_param("config"))); $frmUserG->Show(); } # Insert form for Item information function insert_item_form() { global $_REQUEST; $frmItem = new CFormTable(S_ITEM,"items.php"); $frmItem->SetHelp("web.items.item.php"); if(isset($_REQUEST["groupid"])) $frmItem->AddVar("groupid",$_REQUEST["groupid"]); $frmItem->AddVar("hostid",$_REQUEST["hostid"]); $description = get_request("description" ,"new"); $key = get_request("key" ,""); $host = get_request("host", NULL); $delay = get_request("delay" ,30); $history = get_request("history" ,90); $status = get_request("status" ,0); $type = get_request("type" ,0); $snmp_community = get_request("snmp_community" ,"public"); $snmp_oid = get_request("snmp_oid" ,"interfaces.ifTable.ifEntry.ifInOctets.1"); $snmp_port = get_request("snmp_port" ,161); $value_type = get_request("value_type" ,ITEM_VALUE_TYPE_UINT64); $trapper_hosts = get_request("trapper_hosts" ,""); $units = get_request("units" ,''); $valuemapid = get_request("valuemapid" ,0); $multiplier = get_request("multiplier" ,0); $delta = get_request("delta" ,0); $trends = get_request("trends" ,365); $snmpv3_securityname = get_request("snmpv3_securityname" ,""); $snmpv3_securitylevel = get_request("snmpv3_securitylevel" ,0); $snmpv3_authpassphrase = get_request("snmpv3_authpassphrase" ,""); $snmpv3_privpassphrase = get_request("snmpv3_privpassphrase" ,""); $formula = get_request("formula" ,"1"); $logtimefmt = get_request("logtimefmt" ,""); $add_groupid = get_request("add_groupid" ,get_request("groupid",0)); if(is_null($host)){ $host_info = get_host_by_hostid($_REQUEST["hostid"]); $host = $host_info["host"]; } if(isset($_REQUEST["itemid"])) { $frmItem->AddVar("itemid",$_REQUEST["itemid"]); $result=DBselect("select i.*, h.host, h.hostid". " from items i,hosts h where i.itemid=".$_REQUEST["itemid"]. " and h.hostid=i.hostid"); $row=DBfetch($result); } if(isset($_REQUEST["itemid"]) && !isset($_REQUEST["form_refresh"])) { $description = $row["description"]; $key = $row["key_"]; $host = $row["host"]; $delay = $row["delay"]; $history = $row["history"]; $status = $row["status"]; $type = $row["type"]; $snmp_community = $row["snmp_community"]; $snmp_oid = $row["snmp_oid"]; $snmp_port = $row["snmp_port"]; $value_type = $row["value_type"]; $trapper_hosts = $row["trapper_hosts"]; $units = $row["units"]; $valuemapid = $row["valuemapid"]; $multiplier = $row["multiplier"]; $hostid = $row["hostid"]; $delta = $row["delta"]; $trends = $row["trends"]; $snmpv3_securityname = $row["snmpv3_securityname"]; $snmpv3_securitylevel = $row["snmpv3_securitylevel"]; $snmpv3_authpassphrase = $row["snmpv3_authpassphrase"]; $snmpv3_privpassphrase = $row["snmpv3_privpassphrase"]; $formula = $row["formula"]; $logtimefmt = $row["logtimefmt"]; } if(isset($_REQUEST["itemid"])) { $frmItem->SetTitle(S_ITEM." '$host:".$row["description"]."'"); } else { $frmItem->SetTitle(S_ITEM." '$host:$description'"); } $frmItem->AddRow(S_DESCRIPTION, new CTextBox("description",$description,40)); $cmbType = new CComboBox("type",$type,"submit()"); $cmbType->AddItem(ITEM_TYPE_ZABBIX,'Zabbix agent'); $cmbType->AddItem(ITEM_TYPE_ZABBIX_ACTIVE,'Zabbix agent (active)'); $cmbType->AddItem(ITEM_TYPE_SIMPLE,'Simple check'); $cmbType->AddItem(ITEM_TYPE_SNMPV1,'SNMPv1 agent'); $cmbType->AddItem(ITEM_TYPE_SNMPV2C,'SNMPv2 agent'); $cmbType->AddItem(ITEM_TYPE_SNMPV3,'SNMPv3 agent'); $cmbType->AddItem(ITEM_TYPE_TRAPPER,'Zabbix trapper'); $cmbType->AddItem(ITEM_TYPE_INTERNAL,'Zabbix internal'); $frmItem->AddRow(S_TYPE, $cmbType); if(($type==ITEM_TYPE_SNMPV1)||($type==ITEM_TYPE_SNMPV2C)) { $frmItem->AddVar("snmpv3_securityname",$snmpv3_securityname); $frmItem->AddVar("snmpv3_securitylevel",$snmpv3_securitylevel); $frmItem->AddVar("snmpv3_authpassphrase",$snmpv3_authpassphrase); $frmItem->AddVar("snmpv3_privpassphrase",$snmpv3_privpassphrase); $frmItem->AddRow(S_SNMP_COMMUNITY, new CTextBox("snmp_community",$snmp_community,16)); $frmItem->AddRow(S_SNMP_OID, new CTextBox("snmp_oid",$snmp_oid,40)); $frmItem->AddRow(S_SNMP_PORT, new CTextBox("snmp_port",$snmp_port,5)); } else if($type==ITEM_TYPE_SNMPV3) { $frmItem->AddVar("snmp_community",$snmp_community); $frmItem->AddRow(S_SNMP_OID, new CTextBox("snmp_oid",$snmp_oid,40)); $frmItem->AddRow(S_SNMPV3_SECURITY_NAME, new CTextBox("snmpv3_securityname",$snmpv3_securityname,64)); $cmbSecLevel = new CComboBox("snmpv3_securitylevel",$snmpv3_securitylevel); $cmbSecLevel->AddItem(ITEM_SNMPV3_SECURITYLEVEL_NOAUTHNOPRIV,"NoAuthPriv"); $cmbSecLevel->AddItem(ITEM_SNMPV3_SECURITYLEVEL_AUTHNOPRIV,"AuthNoPriv"); $cmbSecLevel->AddItem(ITEM_SNMPV3_SECURITYLEVEL_AUTHPRIV,"AuthPriv"); $frmItem->AddRow(S_SNMPV3_SECURITY_LEVEL, $cmbSecLevel); $frmItem->AddRow(S_SNMPV3_AUTH_PASSPHRASE, new CTextBox("snmpv3_authpassphrase",$snmpv3_authpassphrase,64)); $frmItem->AddRow(S_SNMPV3_PRIV_PASSPHRASE, new CTextBox("snmpv3_privpassphrase",$snmpv3_privpassphrase,64)); $frmItem->AddRow(S_SNMP_PORT, new CTextBox("snmp_port",$snmp_port,5)); } else { $frmItem->AddVar("snmp_community",$snmp_community); $frmItem->AddVar("snmp_oid",$snmp_oid); $frmItem->AddVar("snmp_port",$snmp_port); $frmItem->AddVar("snmpv3_securityname",$snmpv3_securityname); $frmItem->AddVar("snmpv3_securitylevel",$snmpv3_securitylevel); $frmItem->AddVar("snmpv3_authpassphrase",$snmpv3_authpassphrase); $frmItem->AddVar("snmpv3_privpassphrase",$snmpv3_privpassphrase); } $frmItem->AddRow(S_KEY, new CTextBox("key",$key,40)); $cmbValType = new CComboBox("value_type",$value_type,"submit()"); $cmbValType->AddItem(ITEM_VALUE_TYPE_UINT64, S_NUMERIC_UINT64); $cmbValType->AddItem(ITEM_VALUE_TYPE_FLOAT, S_NUMERIC_FLOAT); $cmbValType->AddItem(ITEM_VALUE_TYPE_STR, S_CHARACTER); $cmbValType->AddItem(ITEM_VALUE_TYPE_LOG, S_LOG); $frmItem->AddRow(S_TYPE_OF_INFORMATION,$cmbValType); if( ($value_type==ITEM_VALUE_TYPE_FLOAT) || ($value_type==ITEM_VALUE_TYPE_UINT64)) { $frmItem->AddRow(S_UNITS, new CTextBox("units",$units,40)); $cmbMultipler = new CComboBox("multiplier",$multiplier,"submit()"); $cmbMultipler->AddItem(0,S_DO_NOT_USE); $cmbMultipler->AddItem(1,S_CUSTOM_MULTIPLIER); $frmItem->AddRow(S_USE_MULTIPLIER, $cmbMultipler); } else { $frmItem->AddVar("units",$units); $frmItem->AddVar("multiplier",$multiplier); } if($multiplier == 1) { $frmItem->AddRow(S_CUSTOM_MULTIPLIER, new CTextBox("formula",$formula,40)); } else { $frmItem->AddVar("formula",$formula); } if($type != ITEM_TYPE_TRAPPER) { $frmItem->AddRow(S_UPDATE_INTERVAL_IN_SEC, new CTextBox("delay",$delay,5)); } else { $frmItem->AddVar("delay",$delay); } $frmItem->AddRow(S_KEEP_HISTORY_IN_DAYS, array( new CTextBox("history",$history,8), (!isset($_REQUEST["itemid"])) ? NULL : new CButton("del_history", "Clean history", "return Confirm('History cleaning can take a long time. Continue?');") )); $frmItem->AddRow(S_KEEP_TRENDS_IN_DAYS, new CTextBox("trends",$trends,8)); $cmbStatus = new CComboBox("status",$status); $cmbStatus->AddItem(0,S_MONITORED); $cmbStatus->AddItem(1,S_DISABLED); # $cmbStatus->AddItem(2,"Trapper"); $cmbStatus->AddItem(3,S_NOT_SUPPORTED); $frmItem->AddRow(S_STATUS,$cmbStatus); if($value_type==ITEM_VALUE_TYPE_LOG) { $frmItem->AddRow(S_LOG_TIME_FORMAT, new CTextBox("logtimefmt",$logtimefmt,16)); } else { $frmItem->AddVar("logtimefmt",$logtimefmt); } if( ($value_type==ITEM_VALUE_TYPE_FLOAT) || ($value_type==ITEM_VALUE_TYPE_UINT64)) { $cmbDelta= new CComboBox("delta",$delta); $cmbDelta->AddItem(0,S_AS_IS); $cmbDelta->AddItem(1,S_DELTA_SPEED_PER_SECOND); $cmbDelta->AddItem(2,S_DELTA_SIMPLE_CHANGE); $frmItem->AddRow(S_STORE_VALUE,$cmbDelta); } else { $frmItem->AddVar("delta",0); } if(($value_type==ITEM_VALUE_TYPE_UINT64) || ($value_type == ITEM_VALUE_TYPE_STR)) { $cmbMap = new CComboBox("valuemapid",$valuemapid); $cmbMap->AddItem(0,S_AS_IS); $db_valuemaps = DBselect("select * from valuemaps"); while($db_valuemap = DBfetch($db_valuemaps)) $cmbMap->AddItem($db_valuemap["valuemapid"],$db_valuemap["name"]); $frmItem->AddRow(S_SHOW_VALUE,$cmbMap); } else { $frmItem->AddVar("valuemapid",0); } if($type==2) { $frmItem->AddRow(S_ALLOWED_HOSTS, new CTextBox("trapper_hosts",$trapper_hosts,40)); } else { $frmItem->AddVar("trapper_hosts",$trapper_hosts); } $frmRow = array(new CButton("save",S_SAVE)); if(isset($_REQUEST["itemid"])) { array_push($frmRow, SPACE, new CButtonDelete("Delete selected item?", url_param("form").url_param("groupid").url_param("hostid"). url_param("itemid")) ); } array_push($frmRow, SPACE, new CButtonCancel(url_param("groupid").url_param("hostid"))); $frmItem->AddSpanRow($frmRow,"form_row_last"); $cmbGroups = new CComboBox("add_groupid",$add_groupid); $groups=DBselect("select groupid,name from groups order by name"); while($group=DBfetch($groups)) { // Check if at least one host with read permission exists for this group $hosts=DBselect("select h.hostid,h.host from hosts h,hosts_groups hg". " where hg.groupid=".$group["groupid"]." and hg.hostid=h.hostid". " and h.status<>".HOST_STATUS_DELETED." group by h.hostid,h.host". " order by h.host"); while($host=DBfetch($hosts)) { if(!check_right("Host","U",$host["hostid"])) continue; $cmbGroups->AddItem($group["groupid"],$group["name"]); break; } } $frmItem->AddRow(S_GROUP,$cmbGroups); $cmbAction = new CComboBox("action"); $cmbAction->AddItem("add to group",S_ADD_TO_GROUP); if(isset($_REQUEST["itemid"])) { $cmbAction->AddItem("update in group",S_UPDATE_IN_GROUP); $cmbAction->AddItem("delete from group",S_DELETE_FROM_GROUP); } $frmItem->AddItemToBottomRow($cmbAction); $frmItem->AddItemToBottomRow(SPACE); $frmItem->AddItemToBottomRow(new CButton("register","do")); $frmItem->Show(); } function insert_login_form() { $frmLogin = new CFormTable('Login','index.php',"post","multipart/form-data"); $frmLogin->SetHelp('web.index.login'); $frmLogin->AddRow('Login name', new CTextBox('name')); $frmLogin->AddRow('Password', new CPassBox('password')); $frmLogin->AddItemToBottomRow(new CButton('enter','Enter')); $frmLogin->Show(); SetFocus($frmLogin->GetName(),"name"); } /* # Insert form for Problem function insert_problem_form($problemid) { show_form_begin(); echo "Problem definition"; show_table2_v_delimiter(); echo "