From e47313ccd3ff34c15eb02b02baa02c82995ba06e Mon Sep 17 00:00:00 2001 From: osmiy Date: Thu, 12 Jan 2006 09:36:25 +0000 Subject: - Frontend improvements. (Eugene) git-svn-id: svn://svn.zabbix.com/trunk@2520 97f52cf1-0a1b-0410-bd0e-c28be96e8082 --- frontends/php/include/classes/cbutton.inc.php | 7 +- frontends/php/include/classes/ccheckbox.inc.php | 11 +- frontends/php/include/classes/cformtable.inc.php | 17 +- frontends/php/include/classes/ctextbox.inc.php | 3 +- frontends/php/include/forms.inc.php | 624 ++++++++--------------- 5 files changed, 235 insertions(+), 427 deletions(-) (limited to 'frontends/php/include') diff --git a/frontends/php/include/classes/cbutton.inc.php b/frontends/php/include/classes/cbutton.inc.php index eb6443c7..9a5801fb 100644 --- a/frontends/php/include/classes/cbutton.inc.php +++ b/frontends/php/include/classes/cbutton.inc.php @@ -22,7 +22,7 @@ class CButton extends CTag { /* public */ - function CButton($name="button", $caption="", $action=NULL) + function CButton($name="button", $caption="", $action=NULL, $accesskey=NULL) { parent::CTag("input","no"); $this->tag_body_start = ""; @@ -31,6 +31,7 @@ $this->SetName($name); $this->SetCaption($caption); $this->SetAction($action); + $this->SetAccessKey($accesskey); } function SetAction($value='submit()', $event='onClick') { @@ -52,7 +53,9 @@ } function SetAccessKey($value='B') { - if(!is_string($value)) + if(is_null($value)) + return 0; + elseif(!is_string($value)) { return $this->error("Incorrect value for SetAccessKey [$value]"); } diff --git a/frontends/php/include/classes/ccheckbox.inc.php b/frontends/php/include/classes/ccheckbox.inc.php index 0da3295e..5f492dd0 100644 --- a/frontends/php/include/classes/ccheckbox.inc.php +++ b/frontends/php/include/classes/ccheckbox.inc.php @@ -22,13 +22,14 @@ class CCheckBox extends CTag { /* public */ - function CCheckBox($name='checkbox',$value=NULL) + function CCheckBox($name='checkbox',$value=NULL,$checked="no") { parent::CTag("input","no"); $this->tag_body_start = ""; $this->AddOption('type','checkbox'); $this->SetName($name); $this->SetCaption($value); + $this->SetChecked($checked); } function SetName($value='checkbox') { @@ -46,5 +47,13 @@ return $this->AddItem(nbsp($value)); return $this->error("Incorrect value for SetCaption [$value]"); } + function SetChecked($value="yes") + { + if($value=="yes") + return $this->AddOption("checked","checked"); + elseif($value=="no") + return $this->DelOption("checked"); + return $this->error("Incorrect value for SetChacked [$value]"); + } } ?> diff --git a/frontends/php/include/classes/cformtable.inc.php b/frontends/php/include/classes/cformtable.inc.php index dbcfdb94..61139b2b 100644 --- a/frontends/php/include/classes/cformtable.inc.php +++ b/frontends/php/include/classes/cformtable.inc.php @@ -77,13 +77,13 @@ } function AddVar($name, $value) { - $this->AddTopRow(new CVar($name, $value)); + $this->AddItemToTopRow(new CVar($name, $value)); } - function AddTopRow($value) + function AddItemToTopRow($value) { array_push($this->top_items, $value); } - function AddRow($item1, $item2=NULL) + function AddRow($item1, $item2=NULL, $class=NULL) { if(is_string($item1)) $item1=nbsp($item1); @@ -91,11 +91,18 @@ $row = new CRow(array( new CCol($item1,'form_row_l'), new CCol($item2,'form_row_r') - ) + ), + $class ); array_push($this->center_items, $row); } - function AddBottomRow($value) + function AddSpanRow($value, $class="form_row_last") + { + $col = new CCol($value,$class); + $col->SetColSpan(2); + array_push($this->center_items,new CRow($col,$class)); + } + function AddItemToBottomRow($value) { $this->bottom_items->AddItem($value); } diff --git a/frontends/php/include/classes/ctextbox.inc.php b/frontends/php/include/classes/ctextbox.inc.php index 0a00de40..9777bc74 100644 --- a/frontends/php/include/classes/ctextbox.inc.php +++ b/frontends/php/include/classes/ctextbox.inc.php @@ -24,7 +24,7 @@ /* private */ var $caption; /* public */ - function CTextBox($name='textbox',$value="",$size=20,$caption=NULL) + function CTextBox($name='textbox',$value="",$size=20,$caption=NULL,$readonly="no") { parent::CTag("input","no"); $this->SetClass("biginput"); @@ -32,6 +32,7 @@ $this->SetSize($size); $this->SetCaption($caption); $this->SetValue($value); + $this->SetReadonly($readonly); } function Show() { diff --git a/frontends/php/include/forms.inc.php b/frontends/php/include/forms.inc.php index c3bebfa5..13087576 100644 --- a/frontends/php/include/forms.inc.php +++ b/frontends/php/include/forms.inc.php @@ -48,72 +48,51 @@ $triggers=7; $graphs=7; } - - $col=0; - - show_form_begin("hosts"); - echo S_TEMPLATE; - - show_table2_v_delimiter($col++); - echo "
"; - echo ""; - echo ""; - if(isset($hosttemplateid)) - { - echo ""; - } - if($hostid!=0) - { - echo ""; - } - echo S_TEMPLATE; - show_table2_h_delimiter(); - echo ""; - - - show_table2_v_delimiter($col++); - echo S_ITEMS; - show_table2_h_delimiter(); - echo "".S_ADD; - echo "".S_UPDATE; - echo "".S_DELETE; - - show_table2_v_delimiter($col++); - echo S_TRIGGERS; - show_table2_h_delimiter(); - echo "".S_ADD; - echo "".S_UPDATE; - echo "".S_DELETE; - - show_table2_v_delimiter($col++); - echo S_GRAPHS; - show_table2_h_delimiter(); - echo "".S_ADD; - echo "".S_UPDATE; - echo "".S_DELETE; - - show_table2_v_delimiter2($col++); - echo ""; +# create form + $frmTemplate = new CFormTable(S_TEMPLATE,'hosts.php'); + $frmTemplate->SetHelp('web.hosts.php'); +# init vars + $frmTemplate->AddVar('config',$_REQUEST["config"]); + if($hostid!=0) $frmTemplate->AddVar('hostid',$hostid); + if(isset($hosttemplateid)) $frmTemplate->AddVar('hosttemplateid',$_REQUEST["hosttemplateid"]); +# init rows + + $cmbTemplate = new CComboBox('templateid',$templateid); + + $hosts=DBselect("select hostid,host from hosts order by host"); + while($host=DBfetch($hosts)) + $cmbTemplate->AddItem($host["hostid"],$host["host"]); + + $frmTemplate->AddRow(S_TEMPLATE,$cmbTemplate); + + $frmTemplate->AddRow(S_ITEMS,array( + new CCheckBox('items_add', S_ADD, (1 & $items) ? "yes": "no"), + new CCheckBox('items_update', S_UPDATE, (2 & $items) ? "yes": "no"), + new CCheckBox('items_delete', S_DELETE, (4 & $items) ? "yes": "no") + )); + + $frmTemplate->AddRow(S_TRIGGERS,array( + new CCheckBox('triggers_add', S_ADD, (1 & $triggers) ? "yes": "no"), + new CCheckBox('triggers_update',S_UPDATE, (2 & $triggers) ? "yes": "no"), + new CCheckBox('triggers_delete',S_DELETE, (4 & $triggers) ? "yes": "no") + )); + + $frmTemplate->AddRow(S_GRAPHS,array( + new CCheckBox('graphs_add', S_ADD, (1 & $graphs) ? "yes": "no"), + new CCheckBox('graphs_update', S_UPDATE, (2 & $graphs) ? "yes": "no"), + new CCheckBox('graphs_delete', S_DELETE, (4 & $graphs) ? "yes": "no") + )); + + $frmTemplate->AddItemToBottomRow(new CButton('register','add linkage')); if(isset($hosttemplateid)) { - echo ""; - echo ""; + $frmTemplate->AddItemToBottomRow(SPACE); + $frmTemplate->AddItemToBottomRow(new CButton('register','update linkage')); + $frmTemplate->AddItemToBottomRow(SPACE); + $frmTemplate->AddItemToBottomRow(new CButton('register','delete linkage',"return Confirm('Delete selected linkage?');")); } - show_table2_header_end(); + $frmTemplate->Show(); } # Insert form for User @@ -145,100 +124,54 @@ $refresh="30"; } - $col=0; - - show_form_begin("users.users"); - echo S_USER; + $frmUser = new CFormTable(S_USER); + $frmUser->SetHelp("web.users.users.php"); - if($profile==0) echo ""; - else echo ""; + if($profile==0) + $frmUser->SetAction("users.php"); + else + $frmUser->SetAction("profile.php"); - echo ""; - if(isset($userid)) - { - echo ""; - } + $frmUser->AddVar("config",$_REQUEST["config"]); + if(isset($userid)) $frmUser->AddVar("userid",$userid); if($profile==0) { - show_table2_v_delimiter($col++); - echo S_ALIAS; - show_table2_h_delimiter(); - echo ""; - - show_table2_v_delimiter($col++); - echo S_NAME; - show_table2_h_delimiter(); - echo ""; - - show_table2_v_delimiter($col++); - echo S_SURNAME; - show_table2_h_delimiter(); - echo ""; + $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)); } - show_table2_v_delimiter($col++); - echo S_PASSWORD; - show_table2_h_delimiter(); - echo ""; - - show_table2_v_delimiter($col++); - echo nbsp(S_PASSWORD_ONCE_AGAIN); - show_table2_h_delimiter(); - echo ""; - - $languages=array( "en_gb"=>S_ENGLISH_GB, - "cn_zh"=>S_CHINESE_CN, - "fr_fr"=>S_FRENCH_FR, - "de_de"=>S_GERMAN_DE, - "it_it"=>S_ITALIAN_IT, - "lv_lv"=>S_LATVIAN_LV, - "ru_ru"=>S_RUSSIAN_RU, - "sp_sp"=>S_SPANISH_SP, - "ja_jp"=>S_JAPANESE_JP - ); - - show_table2_v_delimiter($col++); - echo S_LANGUAGE; - show_table2_h_delimiter(); - echo ""; + $frmUser->AddRow(S_PASSWORD, new CPassBox("password",$password,20)); + $frmUser->AddRow(S_PASSWORD_ONCE_AGAIN, new CPassBox("password2",$password,20)); - show_table2_v_delimiter($col++); - echo S_AUTO_LOGOUT_IN_SEC; - show_table2_h_delimiter(); - echo ""; + $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); - show_table2_v_delimiter($col++); - echo S_URL_AFTER_LOGIN; - show_table2_h_delimiter(); - echo ""; + $frmUser->AddRow(S_LANGUAGE, $cmbLang); - show_table2_v_delimiter($col++); - echo S_SCREEN_REFRESH; - show_table2_h_delimiter(); - echo ""; + $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)); - show_table2_v_delimiter2($col++); - if($profile==0) - { - echo ""; - if(isset($userid)) - { - echo ""; - } - } - else + $frmUser->AddItemToBottomRow(new CButton('save',S_SAVE)); + if(isset($userid)) { - echo ""; + $frmUser->AddItemToBottomRow(SPACE); + $frmUser->AddItemToBottomRow(new CButton('delete',S_DELETE, + "return Confirm('Delete selected user?');")); } - echo ""; - - show_table2_header_end(); + $frmUser->AddItemToBottomRow(SPACE); + $frmUser->AddItemToBottomRow(new CButton('cancel',S_CANCEL)); + $frmUser->Show(); } # Insert form for Item information @@ -272,6 +205,7 @@ ; $formula=@iif(isset($_REQUEST["formula"]),$_REQUEST["formula"],"1"); $logtimefmt=@iif(isset($_REQUEST["logtimefmt"]),$_REQUEST["logtimefmt"],""); + $groupid=@iif(isset($_REQUEST["groupid"]),$_REQUEST["groupid"],0); if(isset($_REQUEST["register"])&&($_REQUEST["register"] == "change")) { @@ -306,353 +240,208 @@ $logtimefmt=$row["logtimefmt"]; } - show_form_begin("items.item"); - echo S_ITEM; + $frmItem = new CFormTable(S_ITEM,"items.php#form"); + $frmItem->SetHelp("web.items.item.php"); - $col=0; - show_table2_v_delimiter($col++); - echo ""; + $frmItem->AddVar("hostid",$hostid); if(isset($_REQUEST["itemid"])) - { - echo ""; - } - echo S_DESCRIPTION; - show_table2_h_delimiter(); - echo ""; - - show_table2_v_delimiter($col++); - echo S_HOST; - show_table2_h_delimiter(); -/* echo "";*/ - - echo ""; - echo ""; -?> - -"; - echo "