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/screenedit.php | |
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/screenedit.php')
-rw-r--r-- | frontends/php/screenedit.php | 341 |
1 files changed, 97 insertions, 244 deletions
diff --git a/frontends/php/screenedit.php b/frontends/php/screenedit.php index f3d11e57..5445e8ef 100644 --- a/frontends/php/screenedit.php +++ b/frontends/php/screenedit.php @@ -20,9 +20,11 @@ ?> <?php include "include/config.inc.php"; + include "include/forms.inc.php"; $page["title"] = "S_CONFIGURATION_OF_SCREENS"; $page["file"] = "screenedit.php"; show_header($page["title"],0,0); + insert_confirm_javascript(); ?> <?php @@ -31,9 +33,6 @@ if(isset($_REQUEST["screenid"])) { echo BR; -?> - -<?php if(!check_right("Screen","U",$_REQUEST["screenid"])) { show_table_header("<font color=\"AA0000\">".S_NO_PERMISSIONS."</font>"); @@ -41,44 +40,36 @@ exit; } - if(isset($_REQUEST["register"])) + if(isset($_REQUEST["save"])) { - if($_REQUEST["register"]=="add") + if(!isset($_REQUEST["elements"])) $_REQUEST["elements"]=0; + + if(isset($_REQUEST["screenitemid"])) { - // if(isset($_REQUEST["screenitemid"])) - // { - // delete_screen_item($_REQUEST["screenitemid"]); - // unset($_REQUEST["screenitemid"]); - // } - if(!isset($_REQUEST["elements"])) $_REQUEST["elements"]=0; + $result=update_screen_item($_REQUEST["screenitemid"], + $_REQUEST["resource"],$_REQUEST["resourceid"],$_REQUEST["width"], + $_REQUEST["height"],$_REQUEST["colspan"],$_REQUEST["rowspan"], + $_REQUEST["elements"]); + show_messages($result, S_ITEM_UPDATED, S_CANNOT_UPDATE_ITEM); + } + else + { $result=add_screen_item( $_REQUEST["resource"],$_REQUEST["screenid"], $_REQUEST["x"],$_REQUEST["y"],$_REQUEST["resourceid"], $_REQUEST["width"],$_REQUEST["height"],$_REQUEST["colspan"], $_REQUEST["rowspan"],$_REQUEST["elements"]); - unset($_REQUEST["x"]); show_messages($result, S_ITEM_ADDED, S_CANNOT_ADD_ITEM); } - if($_REQUEST["register"]=="delete") - { - $result=delete_screen_item($_REQUEST["screenitemid"]); - show_messages($result, S_ITEM_DELETED, S_CANNOT_DELETE_ITEM); - unset($_REQUEST["x"]); + if($result){ + unset($_REQUEST["form"]); } - if($_REQUEST["register"]=="update") - { - if(!isset($_REQUEST["elements"])) $_REQUEST["elements"]=0; - - $result=update_screen_item($_REQUEST["screenitemid"],$_REQUEST["resource"], - $_REQUEST["resourceid"],$_REQUEST["width"],$_REQUEST["height"], - $_REQUEST["colspan"],$_REQUEST["rowspan"],$_REQUEST["elements"]); - - show_messages($result, S_ITEM_UPDATED, S_CANNOT_UPDATE_ITEM); - unset($_REQUEST["x"]); - } - unset($_REQUEST["register"]); + } elseif(isset($_REQUEST["delete"])) { + $result=delete_screen_item($_REQUEST["screenitemid"]); + show_messages($result, S_ITEM_DELETED, S_CANNOT_DELETE_ITEM); + unset($_REQUEST["x"]); } ?> @@ -87,31 +78,30 @@ $result=DBselect("select name,cols,rows from screens where screenid=$screenid"); $row=DBfetch($result); show_table_header(new CLink($row["name"],"screenedit.php?screenid=$screenid")); + for($r=0;$r<$row["rows"];$r++) { for($c=0;$c<$row["cols"];$c++) { - $spancheck[$r][$c]=1; - } - } - for($r=0;$r<$row["rows"];$r++) - { - for($c=0;$c<$row["cols"];$c++) - { + if(isset($skip_field[$r][$c])) continue; + $sql="select * from screens_items where screenid=$screenid and x=$c and y=$r"; $iresult=DBSelect($sql); - $colspan=0; - $rowspan=0; if(DBnum_rows($iresult)>0) { $irow=DBfetch($iresult); $colspan=$irow["colspan"]; $rowspan=$irow["rowspan"]; + } else { + $colspan=0; + $rowspan=0; + } + for($i=0; $i < $rowspan || $i==0; $i++){ + for($j=0; $j < $colspan || $j==0; $j++){ + if($i!=0 || $j!=0) + $skip_field[$r+$i][$c+$j]=1; + } } - for($i=0;$i<$rowspan;$i++) - for($j=0;$j<$colspan;$j++) - if(($i!=0)||($j!=0)) $spancheck[$r+$i][$c+$j]=0; - } } @@ -119,244 +109,107 @@ new CLink("No rows in screen ".$row["name"],"screenconf.php?form=0&screenid=".$screenid), "screen"); - echo "<TABLE BORDER=1 COLS=".$row["cols"]." align=center WIDTH=100% BGCOLOR=\"#FFFFFF\">"; for($r=0;$r<$row["rows"];$r++) { - echo "<TR>"; $new_cols = array(); for($c=0;$c<$row["cols"];$c++) { - - $item = "ITEM"; - - - if($spancheck[$r][$c]==0) continue; + if(isset($skip_field[$r][$c])) continue; - $iresult=DBSelect("select * from screens_items where screenid=$screenid and x=$c and y=$r"); + $iresult=DBSelect("select * from screens_items". + " where screenid=$screenid and x=$c and y=$r"); + if(DBnum_rows($iresult)>0) { - $irow=DBfetch($iresult); - $screenitemid=$irow["screenitemid"]; - $resource=$irow["resource"]; - $resourceid=$irow["resourceid"]; - $width=$irow["width"]; - $height=$irow["height"]; - $colspan=$irow["colspan"]; - $rowspan=$irow["rowspan"]; - $elements=$irow["elements"]; + $irow = DBfetch($iresult); + $screenitemid = $irow["screenitemid"]; + $resource = $irow["resource"]; + $resourceid = $irow["resourceid"]; + $width = $irow["width"]; + $height = $irow["height"]; + $colspan = $irow["colspan"]; + $rowspan = $irow["rowspan"]; + $elements = $irow["elements"]; } else { - $screenitemid=0; - $resource=0; - $resourceid=0; - $width=500; - $height=100; - $colspan=0; - $rowspan=0; - $elements=25; + $screenitemid = 0; + $screenitemid = 0; + $resource = 0; + $resourceid = 0; + $width = 0; + $height = 0; + $colspan = 0; + $rowspan = 0; + $elements = 0; } - $tmp=""; - if($colspan!=0) - { - $tmp=$tmp." colspan=\"$colspan\" "; - $c=$c+$colspan-1; - } - if($rowspan!=0) + if(isset($_REQUEST["form"]) && + isset($_REQUEST["x"]) && $_REQUEST["x"]==$c && + isset($_REQUEST["y"]) && $_REQUEST["y"]==$r) { - $tmp=$tmp." rowspan=\"$rowspan\" "; - # $r=$r+$rowspan-1; + $item = get_screen_item_form(); } - - echo "<TD align=\"center\" valign=\"top\" $tmp>\n"; - echo "<a name=\"form\"></a>"; - echo "<form method=\"get\" action=\"screenedit.php\">"; - - if(isset($_REQUEST["x"])&&($_REQUEST["x"]==$c)&&($_REQUEST["y"]==$r)) + elseif(isset($_REQUEST["form"]) && + isset($_REQUEST["screenitemid"]) && $_REQUEST["screenitemid"]==$screenitemid) { - $resource=@iif(isset($_REQUEST["resource"]),$_REQUEST["resource"],$resource); - $resourceid=@iif(isset($_REQUEST["resourceid"]),$_REQUEST["resourceid"],$resourceid); - $screenitemid=@iif(isset($_REQUEST["screenitemid"]),$_REQUEST["screenitemid"],$screenitemid); - $width=@iif(isset($_REQUEST["width"]),$_REQUEST["width"],$width); - $height=@iif(isset($_REQUEST["height"]),$_REQUEST["height"],$height); - $colspan=@iif(isset($_REQUEST["colspan"]),$_REQUEST["colspan"],$colspan); - $rowspan=@iif(isset($_REQUEST["rowspan"]),$_REQUEST["rowspan"],$rowspan); - $elements=@iif(isset($_REQUEST["elements"]),$_REQUEST["elements"],$elements); - - show_form_begin("screenedit.cell"); - echo S_SCREEN_CELL_CONFIGURATION; - - echo "<input name=\"screenid\" type=\"hidden\" value=$screenid>"; - echo "<input name=\"screenitemid\" type=\"hidden\" value=$screenitemid>"; - echo "<input name=\"x\" type=\"hidden\" value=$c>"; - echo "<input name=\"y\" type=\"hidden\" value=$r>"; - // echo "<input name=\"resourceid\" type=\"hidden\" value=$resourceid>"; - // echo "<input name=\"resource\" type=\"hidden\" value='$resource'>"; - - show_table2_v_delimiter(); - echo S_RESOURCE; - show_table2_h_delimiter(); - echo "<select name=\"resource\" size=1 onChange=\"submit()\">"; - echo "<OPTION VALUE='0' ".iif($resource==0,"selected","").">".S_GRAPH; - echo "<OPTION VALUE='1' ".iif($resource==1,"selected","").">".S_SIMPLE_GRAPH; - echo "<OPTION VALUE='2' ".iif($resource==2,"selected","").">".S_MAP; - echo "<OPTION VALUE='3' ".iif($resource==3,"selected","").">".S_PLAIN_TEXT; - echo "</SELECT>"; - - // Simple graph - if($resource == 1) - { - show_table2_v_delimiter(); - echo nbsp(S_PARAMETER); - show_table2_h_delimiter(); - $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"); - echo "<select name=\"resourceid\" size=1>"; - echo "<OPTION VALUE='0'>(none)"; - while($row=DBfetch($result)) - { - $host_=$row["host"]; - $description_=item_description($row["description"],$row["key_"]); - $itemid_=$row["itemid"]; - echo "<OPTION VALUE='$itemid_' ".iif($resourceid==$itemid_,"selected","").">$host_: $description_"; - } - echo "</SELECT>"; - } - // Plain text - else if($resource == 3) - { - show_table2_v_delimiter(); - echo nbsp(S_PARAMETER); - show_table2_h_delimiter(); - $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"); - echo "<select name=\"resourceid\" size=1>"; - echo "<OPTION VALUE='0'>(none)"; - while($row=DBfetch($result)) - { - $host_=$row["host"]; - $description_=item_description($row["description"],$row["key_"]); - $itemid_=$row["itemid"]; - echo "<OPTION VALUE='$itemid_' ".iif($resourceid==$itemid_,"selected","").">$host_: $description_"; - } - echo "</SELECT>"; - - show_table2_v_delimiter(); - echo nbsp(S_SHOW_LINES); - show_table2_h_delimiter(); - echo "<input class=\"biginput\" name=\"elements\" size=2 value=\"$elements\">"; - } - // User-defined graph - else if($resource == 0) - { - show_table2_v_delimiter(); - echo nbsp(S_GRAPH_NAME); - show_table2_h_delimiter(); - $result=DBselect("select graphid,name from graphs order by name"); - echo "<select name=\"resourceid\" size=1>"; - echo "<OPTION VALUE='0'>(none)"; - while($row=DBfetch($result)) - { - $name_=$row["name"]; - $graphid_=$row["graphid"]; - echo "<OPTION VALUE='$graphid_' ".iif($resourceid==$graphid_,"selected","").">$name_"; - } - echo "</SELECT>"; - } - // Map - else if($resource == 2) - { - show_table2_v_delimiter(); - echo S_MAP; - show_table2_h_delimiter(); - $result=DBselect("select sysmapid,name from sysmaps order by name"); - echo "<select name=\"resourceid\" size=1>"; - echo "<OPTION VALUE='0'>(none)"; - while($row=DBfetch($result)) - { - $name_=$row["name"]; - $sysmapid_=$row["sysmapid"]; - echo "<OPTION VALUE='$sysmapid_' ".iif($resourceid==$sysmapid_,"selected","").">$name_"; - } - echo "</SELECT>"; - } - else - { - echo "<input class=\"biginput\" name=\"resourceid\" type=\"hidden\" size=1 value=\"$resourceid\">"; - } - - if($resource!=2) - { - show_table2_v_delimiter(); - echo S_WIDTH; - show_table2_h_delimiter(); - echo "<input class=\"biginput\" name=\"width\" size=5 value=\"$width\">"; - show_table2_v_delimiter(); - echo S_HEIGHT; - show_table2_h_delimiter(); - echo "<input class=\"biginput\" name=\"height\" size=5 value=\"$height\">"; - } - else - { - echo "<input class=\"biginput\" name=\"width\" type=\"hidden\" size=5 value=\"$width\">"; - echo "<input class=\"biginput\" name=\"height\" type=\"hidden\" size=5 value=\"$height\">"; - } - - show_table2_v_delimiter(); - echo S_COLUMN_SPAN; - show_table2_h_delimiter(); - echo "<input class=\"biginput\" name=\"colspan\" size=2 value=\"$colspan\">"; - - show_table2_v_delimiter(); - echo S_ROW_SPAN; - show_table2_h_delimiter(); - echo "<input class=\"biginput\" name=\"rowspan\" size=2 value=\"$rowspan\">"; - - show_table2_v_delimiter2(); - echo "<input class=\"button\" type=\"submit\" name=\"register\" value=\"add\">"; - if($resourceid!=0) - { - echo "<input class=\"button\" type=\"submit\" name=\"register\" value=\"update\">"; - } - echo "<input class=\"button\" type=\"submit\" name=\"register\" value=\"delete\">"; - - show_table2_header_end(); + $item = get_screen_item_form(); } else if( ($screenitemid!=0) && ($resource==0) ) { - echo "<a href=screenedit.php?register=edit&screenid=$screenid&x=$c&y=$r><img src='chart2.php?graphid=$resourceid&width=$width&height=$height&period=3600' border=0></a>"; + + $item = new CLink( + new CImg("chart2.php?graphid=$resourceid&width=$width&height=$height". + "&period=3600' border=0"), + "screenedit.php?form=0".url_param("screenid"). + "&screenitemid=$screenitemid#form" + ); } else if( ($screenitemid!=0) && ($resource==1) ) { - echo "<a href=screenedit.php?register=edit&screenid=$screenid&x=$c&y=$r><img src='chart.php?itemid=$resourceid&width=$width&height=$height&period=3600' border=0></a>"; + + $item = new CLink( + new CImg("chart.php?itemid=$resourceid&width=$width&height=$height". + "&period=3600"), + "screenedit.php?form=0".url_param("screenid"). + "&screenitemid=$screenitemid#form" + ); } else if( ($screenitemid!=0) && ($resource==2) ) { - echo "<a href=screenedit.php?register=edit&screenid=$screenid&x=$c&y=$r><img src='map.php?noedit=1&sysmapid=$resourceid&width=$width&height=$height&period=3600' border=0></a>"; + + $item = new CLink( + new CImg("map.php?noedit=1&sysmapid=$resourceid". + "&width=$width&height=$height&period=3600"), + "screenedit.php?form=0".url_param("screenid"). + "&screenitemid=$screenitemid#form" + ); } else if( ($screenitemid!=0) && ($resource==3) ) { - show_screen_plaintext($resourceid,$elements); - echo "<p align=center>"; - echo "<a href=screenedit.php?register=edit&screenid=$screenid&x=$c&y=$r>".S_CHANGE."</a>"; + $item = array(get_screen_plaintext($resourceid,$elements)); + array_push($item, new CLink(S_CHANGE, + "screenedit.php?form=0".url_param("screenid"). + "&screenitemid=$screenitemid#form" + )); } else { - echo "<a href=screenedit.php?register=edit&screenid=$screenid&x=$c&y=$r>".S_EMPTY."</a>"; + $item = new CLink( + S_EMPTY, + "screenedit.php?form=0".url_param("screenid")."&x=$c&y=$r#form" + ); } - echo "</form>\n"; - - echo "</TD>"; - $form = new CForm("screenedit.php"); - $form->AddItem($item); - array_push($new_cols, new CCol($form,"screen")); + $new_col = new CCol($item,"screen"); + + if($colspan) $new_col->SetColSpan($colspan); + if($rowspan) $new_col->SetRowSpan($rowspan); + + array_push($new_cols, $new_col); } - echo "</TR>\n"; $table->AddRow(new CRow($new_cols)); } - echo "</TABLE>"; - - echo BR; $table->Show(); } |