diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-01-25 15:08:07 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-01-25 15:08:07 +0000 |
| commit | 3d3f9639bc0524d6085d11041d70d23fbbda1c88 (patch) | |
| tree | 6750314aafcbb445cfc34e25f812e1daf1ae0140 /frontends/php/include | |
| parent | 6a0a2faf91cefb2d62cca7dc6faf685b5e90df03 (diff) | |
| download | zabbix-3d3f9639bc0524d6085d11041d70d23fbbda1c88.tar.gz zabbix-3d3f9639bc0524d6085d11041d70d23fbbda1c88.tar.xz zabbix-3d3f9639bc0524d6085d11041d70d23fbbda1c88.zip | |
- Frontend improvements (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@2564 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include')
| -rw-r--r-- | frontends/php/include/classes/cformtable.inc.php | 10 | ||||
| -rw-r--r-- | frontends/php/include/classes/cimg.inc.php | 2 | ||||
| -rw-r--r-- | frontends/php/include/classes/ctable.inc.php | 8 | ||||
| -rw-r--r-- | frontends/php/include/config.inc.php | 31 | ||||
| -rw-r--r-- | frontends/php/include/forms.inc.php | 150 |
5 files changed, 185 insertions, 16 deletions
diff --git a/frontends/php/include/classes/cformtable.inc.php b/frontends/php/include/classes/cformtable.inc.php index 3af7acae..1adb45d0 100644 --- a/frontends/php/include/classes/cformtable.inc.php +++ b/frontends/php/include/classes/cformtable.inc.php @@ -39,11 +39,21 @@ $this->SetAlign('center'); $this->SetHelp(); + $this->AddItemToTopRow("<a name=\"form\"></a>"); + $this->AddVar("form","1"); $this->bottom_items = new CCol(NULL,'form_row_last'); $this->bottom_items->SetColSpan(2); } + function SetAction($value) + { + if(!is_string($value)) + { + return $this->error("Incorrect value for SetAlign [$value]"); + } + parent::SetAction($value."#form"); + } function SetAlign($value) { if(!is_string($value)) diff --git a/frontends/php/include/classes/cimg.inc.php b/frontends/php/include/classes/cimg.inc.php index 48a102c0..11503faf 100644 --- a/frontends/php/include/classes/cimg.inc.php +++ b/frontends/php/include/classes/cimg.inc.php @@ -37,7 +37,7 @@ { return $this->error("Incorrect value for SetSrc [$value]"); } - return $this->AddOption("src",$value); + return $this->AddOption("src",htmlspecialchars($value)); } function SetAltText($value=NULL) { diff --git a/frontends/php/include/classes/ctable.inc.php b/frontends/php/include/classes/ctable.inc.php index bcb1998d..300d53b8 100644 --- a/frontends/php/include/classes/ctable.inc.php +++ b/frontends/php/include/classes/ctable.inc.php @@ -38,7 +38,7 @@ } function SetRowSpan($value) { - if(!is_int($value)) + if(!is_int($value) && !is_numeric($value)) { return $this->error("Incorrect value for SetRowSpan [$value]"); return 1; @@ -47,7 +47,7 @@ } function SetColSpan($value) { - if(!is_int($value)) + if(!is_int($value) && !is_numeric($value)) { return $this->error("Incorrect value for SetColSpan[$value]"); } @@ -174,7 +174,7 @@ } function SetCellPadding($value) { - if(!is_int($value)) + if(!is_int($value) && !is_numeric($value)) { return $this->error("Incorrect value for SetCellpadding [$value]"); } @@ -182,7 +182,7 @@ } function SetCellSpacing($value) { - if(!is_int($value)) + if(!is_int($value) && !is_numeric($value)) { return $this->error("Incorrect value for SetCellSpacing [$value]"); } diff --git a/frontends/php/include/config.inc.php b/frontends/php/include/config.inc.php index 486fcd44..a86df47f 100644 --- a/frontends/php/include/config.inc.php +++ b/frontends/php/include/config.inc.php @@ -1218,30 +1218,39 @@ function SDI($msg) { echo "DEBUG INFO: $msg ".BR; } # DEBUG INFO!!! } # Show screen cell containing plain text values - function show_screen_plaintext($itemid,$elements) + function& get_screen_plaintext($itemid,$elements) { $item=get_item_by_itemid($itemid); if($item["value_type"]==0) { - $sql="select clock,value from history where itemid=$itemid order by clock desc limit $elements"; + $sql="select clock,value from history where itemid=$itemid". + " order by clock desc limit $elements"; } else { - $sql="select clock,value from history_str where itemid=$itemid order by clock desc limit $elements"; + $sql="select clock,value from history_str where itemid=$itemid". + " order by clock desc limit $elements"; } $result=DBselect($sql); - table_begin(); - table_header(array(S_TIMESTAMP,$item["description"])); - $col=0; + $table = new CTableInfo(); + $table->SetHeader(array(S_TIMESTAMP,$item["description"])); +// table_begin(); +// table_header(array(S_TIMESTAMP,$item["description"])); +// $col=0; while($row=DBfetch($result)) { - table_row(array( + $table->AddRow(array( date(S_DATE_FORMAT_YMDHMS,$row["clock"]), - $row["value"], - ),$col++); - } - table_end(); + $row["value"]) + ); +// table_row(array( +// date(S_DATE_FORMAT_YMDHMS,$row["clock"]), +// $row["value"], +// ),$col++); + } +// table_end(); + return $table; } # Show values in plain text diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php index ec05abc8..d598f447 100644 --- a/frontends/php/include/forms.inc.php +++ b/frontends/php/include/forms.inc.php @@ -1387,6 +1387,156 @@ $frmScr->Show(); } + function& get_screen_item_form() + { + global $_REQUEST; + + $form = new CFormTable(S_SCREEN_CELL_CONFIGURATION,"screenedit.php"); + $form->SetHelp("web.screenedit.cell.php"); + + if(isset($_REQUEST["screenitemid"])) + { + $iresult=DBSelect("select * from screens_items". + " where screenid=".$_REQUEST["screenid"]. + " and screenitemid=".$_REQUEST["screenitemid"]); + + $form->AddVar("screenitemid",$_REQUEST["screenitemid"]); + } else { + $form->AddVar("x",$_REQUEST["x"]); + $form->AddVar("y",$_REQUEST["y"]); + } + + if(isset($_REQUEST["screenitemid"]) && $_REQUEST["form"]!=1) + { + $irow = DBfetch($iresult); + $resource = $irow["resource"]; + $resourceid = $irow["resourceid"]; + $width = $irow["width"]; + $height = $irow["height"]; + $colspan = $irow["colspan"]; + $rowspan = $irow["rowspan"]; + $elements = $irow["elements"]; + + } + else + { + $resource = get_request("resource", 0); + $resourceid = get_request("resourceid", 0); + $width = get_request("width", 500); + $height = get_request("height", 100); + $colspan = get_request("colspan", 0); + $rowspan = get_request("rowspan", 0); + $elements = get_request("elements", 25); + } + + + $form->AddVar("screenid",$_REQUEST["screenid"]); + + $cmbRes = new CCombobox("resource",$resource,"submit()"); + $cmbRes->AddItem(0,S_GRAPH); + $cmbRes->AddItem(1,S_SIMPLE_GRAPH); + $cmbRes->AddItem(2,S_MAP); + $cmbRes->AddItem(3,S_PLAIN_TEXT); + $form->AddRow(S_RESOURCE,$cmbRes); + + if($resource == 0) + { + // User-defined graph + $result=DBselect("select graphid,name from graphs order by name"); + + $cmbGraphs = new CComboBox("resourceid",$resourceid); + $cmbGraphs->AddItem(0,"(none)"); + while($row=DBfetch($result)) + { + $cmbGraphs->AddItem($row["graphid"],$row["name"]); + } + + $form->AddRow(S_GRAPH_NAME,$cmbGraphs); + } + elseif($resource == 1) + { + // Simple graph + $result=DBselect("select h.host,i.description,i.itemid,i.key_". + " from hosts h,items i where h.hostid=i.hostid". + " and h.status=".HOST_STATUS_MONITORED." and i.status=0". + " order by h.host,i.description"); + + + $cmbItems = new CCombobox("resourceid",$resourceid); + $cmbItems->AddItem(0,"(none)"); + while($row=DBfetch($result)) + { + $description_=item_description($row["description"],$row["key_"]); + $cmbItems->AddItem($row["itemid"],$row["host"].": ".$description_); + + } + $form->AddRow(S_PARAMETER,$cmbItems); + } + else if($resource == 2) + { + // Map + $result=DBselect("select sysmapid,name from sysmaps order by name"); + + $cmbMaps = new CComboBox("resourceid",$resourceid); + $cmbMaps->AddItem(0,"(none)"); + while($row=DBfetch($result)) + { + $cmbMaps->AddItem($row["sysmapid"],$row["name"]); + } + + $form->AddRow(S_MAP,$cmbMaps); + } + else if($resource == 3) + { + // Plain text + $result=DBselect("select h.host,i.description,i.itemid,i.key_". + " from hosts h,items i where h.hostid=i.hostid". + " and h.status=".HOST_STATUS_MONITORED." and i.status=0". + " order by h.host,i.description"); + + $cmbHosts = new CComboBox("resourceid",$resourceid); + $cmbHosts->AddItem(0,"(none)"); + while($row=DBfetch($result)) + { + $description_=item_description($row["description"],$row["key_"]); + $cmbHosts->AddItem($row["itemid"],$row["host"].": ".$description_); + + } + + $form->AddRow(S_PARAMETER,$cmbHosts); + $form->AddRow(S_SHOW_LINES, new CTextBox("elements",$elements,2)); + } + else + { + $form->AddVar("resouceid",$resourceid); + } + + if($resource!=2) + { + $form->AddRow(S_WIDTH, new CTextBox("width",$width,5)); + $form->AddRow(S_HEIGHT, new CTextBox("height",$height,5)); + } + else + { + $form->AddVar("width", $width); + $form->AddVar("height", $height); + } + + $form->AddRow(S_COLUMN_SPAN, new CTextBox("colspan",$colspan,2)); + $form->AddRow(S_ROW_SPAN, new CTextBox("rowspan",$rowspan,2)); + + $form->AddItemToBottomRow(new CButton("save",S_SAVE)); + if(isset($_REQUEST["screenitemid"])) + { + $form->AddItemToBottomRow(SPACE); + $form->AddItemToBottomRow(new CButtonDelete(NULL, + url_param("screenid").url_param("screenitemid"))); + } + $form->AddItemToBottomRow(SPACE); + $form->AddItemToBottomRow(new CButtonCancel(url_param("screenid"))); + return $form; + } + function insert_media_form() { global $_REQUEST; |
