summaryrefslogtreecommitdiffstats
path: root/frontends/php/include
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-01-25 15:08:07 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-01-25 15:08:07 +0000
commit3d3f9639bc0524d6085d11041d70d23fbbda1c88 (patch)
tree6750314aafcbb445cfc34e25f812e1daf1ae0140 /frontends/php/include
parent6a0a2faf91cefb2d62cca7dc6faf685b5e90df03 (diff)
downloadzabbix-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.php10
-rw-r--r--frontends/php/include/classes/cimg.inc.php2
-rw-r--r--frontends/php/include/classes/ctable.inc.php8
-rw-r--r--frontends/php/include/config.inc.php31
-rw-r--r--frontends/php/include/forms.inc.php150
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;