From f052b1e4fcec837f819fe05dbd38a0ed87e39333 Mon Sep 17 00:00:00 2001 From: PiBa-NL Date: Sun, 14 Sep 2014 16:47:39 +0200 Subject: haproxy-devel improvements -server certificate check options -client-certificate support -logging options -unix sockets for faster backend>frontend communication --- config/haproxy-devel/haproxy_htmllist.inc | 168 +++++++++++++++++++++++++----- 1 file changed, 141 insertions(+), 27 deletions(-) (limited to 'config/haproxy-devel/haproxy_htmllist.inc') diff --git a/config/haproxy-devel/haproxy_htmllist.inc b/config/haproxy-devel/haproxy_htmllist.inc index ae46ffd4..effc6ae8 100644 --- a/config/haproxy-devel/haproxy_htmllist.inc +++ b/config/haproxy-devel/haproxy_htmllist.inc @@ -50,7 +50,30 @@ function haproxy_htmllist_get_values($html_list){ return $values; } -function haproxy_htmllist($tablename,$values,$items,$editstate=false){ +function haproxy_htmllist_drawcell($item, $itemvalue, $editable, $itemnamenr = "") { + $itemtype = $item['type']; + if ($editable) { + $itemtype = $item['type']; + if ($itemtype == "select"){ + echo_html_select($itemnamenr, $item['items'], $itemvalue,"","updatevisibility();", "width:{$item['size']}"); + } else + if ($itemtype == "checkbox"){ + $checked = $itemvalue=='yes' ? " checked" : ""; + echo ""; + } else + echo ""; + } else { + if ($itemtype == "select"){ + echo $item['items'][$itemvalue]['name']; + } else + if ($itemtype == "checkbox"){ + echo $itemvalue=='yes' ? gettext('yes') : gettext('no'); + } else + echo $itemvalue; + } +} + +function haproxy_htmllist($tablename,$rowvalues,$items,$editstate=false,$itemdetails=null){ global $g, $counter; echo ""; @@ -59,24 +82,20 @@ function haproxy_htmllist($tablename,$values,$items,$editstate=false){ } echo ""; - if (is_array($values)){ - foreach($values as $value){ + if (is_array($rowvalues)){ + foreach($rowvalues as $value){ if (!$editstate) { echo ""; $leftitem = true; - foreach($items as $item){ + foreach($items as $item) { $tdclass = $leftitem ? "vtable listlr" : "vtable listr"; echo ""; $leftitem = false; } @@ -94,24 +113,18 @@ function haproxy_htmllist($tablename,$values,$items,$editstate=false){
"; $itemname = $item['name']; - $itemtype = $item['type']; $itemvalue = $value[$itemname]; - if ($itemtype == "select"){ - echo $item['items'][$itemvalue]['name']; + if (isset($item['customdrawcell'])) { + $item['customdrawcell']($item, $itemvalue, false); } else - if ($itemtype == "checkbox"){ - echo $itemvalue=='yes' ? gettext('yes') : gettext('no'); - } else - echo $itemvalue; + haproxy_htmllist_drawcell($item, $itemvalue, false); echo "
"; echo ""; - } + } $displaystyle = $editstate ? "" : "display: none;"; echo ""; foreach($items as $item){ $itemname = $item['name']; - $itemtype = $item['type']; $itemvalue = $value[$itemname]; - $itemnamenr = $itemname.$counter; + $itemnamenr = $itemname . $counter; echo ""; - if ($itemtype == "select"){ - echo_html_select($itemnamenr, $item['items'], $itemvalue,"","updatevisibility();", "width:{$item['size']}"); + if (isset($item['customdrawcell'])) { + $item['customdrawcell']($item, $itemvalue, true, $itemnamenr); } else - if ($itemtype == "checkbox"){ - $checked = $itemvalue=='yes' ? " checked" : ""; - echo ""; - - } else - echo ""; + haproxy_htmllist_drawcell($item, $itemvalue, true, $itemnamenr); echo ""; } echo " @@ -125,6 +138,78 @@ function haproxy_htmllist($tablename,$values,$items,$editstate=false){ "; echo ""; + if (isset($itemdetails)) { + $colspan = count($items)-1; + echo ""; + ?> + +
+ ')"> + _details_off" alt="Expand advanced server settings" + src="tree/plus.gif" style="clip:rect(19px 13px 30px 2px); top:-19px;position:absolute;"/> + +
+ + "; + $itemnr = 0; + echo "
"; + $itemcount = count($itemdetails); + foreach($itemdetails as $item) { + echo "
"; + $tdclass = "";//$leftitem ? "vtable listlr" : "vtable listr"; + echo $item['columnheader'] . ": "; + $itemname = $item['name']; + $itemvalue = $value[$itemname]; + if (isset($item['customdrawcell'])) { + $item['customdrawcell']($item, $itemvalue, false); + } else + haproxy_htmllist_drawcell($item, $itemvalue, false); + $leftitem = false; + $itemnr++; + if ($itemcount != $itemnr) + echo ", "; + echo "
"; + } + echo "
"; + echo ""; + echo ""; + echo ""; + } + if (isset($itemdetails)) { + $colspan = count($items)-1; + echo ""; + echo " "; + echo ""; + echo ""; + echo ""; + } + + + $counter++; } } @@ -136,10 +221,10 @@ function haproxy_htmllist($tablename,$values,$items,$editstate=false){ function haproxy_htmllist_js(){ ?>