diff options
Diffstat (limited to 'config/haproxy-devel/www')
-rw-r--r-- | config/haproxy-devel/www/haproxy_listeners.php | 63 | ||||
-rw-r--r-- | config/haproxy-devel/www/haproxy_listeners_edit.php | 25 | ||||
-rw-r--r-- | config/haproxy-devel/www/haproxy_pools.php | 39 | ||||
-rw-r--r-- | config/haproxy-devel/www/widgets/widgets/haproxy.widget.php | 128 |
4 files changed, 152 insertions, 103 deletions
diff --git a/config/haproxy-devel/www/haproxy_listeners.php b/config/haproxy-devel/www/haproxy_listeners.php index c7288e7d..35d9ba54 100644 --- a/config/haproxy-devel/www/haproxy_listeners.php +++ b/config/haproxy-devel/www/haproxy_listeners.php @@ -35,6 +35,7 @@ require_once("haproxy.inc"); require_once("certs.inc"); require_once("haproxy_utils.inc"); require_once("pkg_haproxy_tabs.inc"); +require_once("haproxy_gui.inc"); $changedesc = "Services: HAProxy: Frontends"; @@ -85,7 +86,8 @@ if ($_GET['act'] == "del") { if (isset($a_frontend[$id])) { if (!$input_errors) { unset($a_frontend[$id]); - write_config(); + $changedesc .= " Frontend delete"; + write_config($changedesc); touch($d_haproxyconfdirty_path); } header("Location: haproxy_listeners.php"); @@ -132,23 +134,24 @@ echo "<br/></div>"; ?> <script type="text/javascript" language="javascript" src="/javascript/haproxy_geturl.js"></script> <script language="javascript"> -function toggle_on(button, image) { - var item = document.getElementById(button); - item.src = image; +function set_content(elementid, image) { + var item = document.getElementById(elementid); + item.innerHTML = image; } function js_callback(req) { showapplysettings.style.display = 'block'; + if(req.content != '') { var itemsplit = req.content.split("|"); buttonid = itemsplit[0]; enabled = itemsplit[1]; if (enabled == 1){ - img = 'pass'; + img = "<?=haproxyicon("enabled", gettext("click to toggle enable/disable this frontend"))?>"; } else { - img = 'reject'; + img = "<?=haproxyicon("disabled", gettext("click to toggle enable/disable this frontend"))?>"; } - toggle_on('btn_'+buttonid, './themes/<?=$g['theme'];?>/images/icons/icon_'+img+'.gif'); + set_content('btn_'+buttonid, img); } } </script> @@ -197,9 +200,6 @@ function js_callback(req) { } ksort($a_frontend_grouped); - $img_cert = "/themes/{$g['theme']}/images/icons/icon_frmfld_cert.png"; - $img_adv = "/themes/{$g['theme']}/images/icons/icon_advanced.gif"; - $img_acl = "/themes/{$g['theme']}/images/icons/icon_ts_rule.gif"; $textgray = ""; $first = true; $last_frontend_shared = false; @@ -218,13 +218,12 @@ function js_callback(req) { <td class="listlr" ondblclick="document.location='haproxy_listeners_edit.php?id=<?=$frontendname;?>';"> <? if ($frontend['status']=='disabled'){ - $iconfn = "reject"; + $iconfn = "disabled"; } else { - $iconfn = "pass"; + $iconfn = "enabled"; }?> - <a href='javascript:getURL("?id=<?=$frontendname;?>&action=toggle&", js_callback);'> - <img id="btn_<?=$frontendname;?>" src="./themes/<?= $g['theme']; ?>/images/icons/icon_<?=$iconfn;?>.gif" width="11" height="11" border="0" - title="<?=gettext("click to toggle enable/disable this frontend");?>" alt="icon" /> + <a id="btn_<?=$frontendname;?>" href='javascript:getURL("?id=<?=$frontendname;?>&action=toggle&", js_callback);'> + <?=haproxyicon($iconfn, gettext("click to toggle enable/disable this frontend"))?> </a> </td> <td class="listr" style="<?=$frontend['secondary']=='yes'?"visibility:hidden;":""?>" ondblclick="document.location='haproxy_listeners_edit.php?id=<?=$frontendname;?>';"> @@ -235,11 +234,12 @@ function js_callback(req) { $acls = get_frontend_acls($frontend); $isaclset = ""; foreach ($acls as $acl) { - $isaclset .= " " . htmlspecialchars($acl['descr']); + $isaclset .= "\n" . htmlspecialchars($acl['descr']); + } + if ($isaclset) { + echo haproxyicon("acl", gettext("acl's used") . ": {$isaclset}"); } - if ($isaclset) - echo "<img src=\"$img_acl\" title=\"" . gettext("acl's used") . ": {$isaclset}\" border=\"0\" />"; - + if (get_frontend_uses_ssl($frontend)) { $cert = lookup_cert($frontend['ssloffloadcert']); $descr = htmlspecialchars($cert['descr']); @@ -252,14 +252,15 @@ function js_callback(req) { } } } - echo '<img src="'.$img_cert.'" title="SSL offloading cert: '.$descr.'" alt="SSL offloading" border="0" height="16" width="16" />'; + echo haproxyicon("cert", "SSL offloading cert: {$descr}"); } $isadvset = ""; if ($frontend['advanced_bind']) $isadvset .= "Advanced bind: ".htmlspecialchars($frontend['advanced_bind'])."\r\n"; if ($frontend['advanced']) $isadvset .= "Advanced pass thru setting used\r\n"; - if ($isadvset) - echo "<img src=\"$img_adv\" title=\"" . gettext("Advanced settings set") . ": {$isadvset}\" border=\"0\" />"; + if ($isadvset) { + echo haproxyicon("advanced", gettext("Advanced settings set") . ": {$isadvset}"); + } ?> </td> <td class="listr" ondblclick="document.location='haproxy_listeners_edit.php?id=<?=$frontendname;?>';"> @@ -277,7 +278,7 @@ function js_callback(req) { print "<div style='white-space:nowrap;'>"; print "{$addr['addr']}:{$addr['port']}"; if ($addr['ssl'] == 'yes') { - echo '<img src="'.$img_cert.'" title="SSL offloading" alt="SSL" border="0" height="11" width="11" />'; + echo haproxyicon("cert", "SSL offloading"); } print "</div"; $first = false; @@ -327,9 +328,15 @@ function js_callback(req) { <td class="list" nowrap> <table border="0" cellspacing="0" cellpadding="1"> <tr> - <td valign="middle"><a href="haproxy_listeners_edit.php?id=<?=$frontendname;?>"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" title="<?=gettext("edit frontend");?>" width="17" height="17" border="0" /></a></td> - <td valign="middle"><a href="haproxy_listeners.php?act=del&id=<?=$frontendname;?>" onclick="return confirm('Do you really want to delete this entry?')"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" title="<?=gettext("delete frontend");?>" width="17" height="17" border="0" /></a></td> - <td valign="middle"><a href="haproxy_listeners_edit.php?dup=<?=$frontendname;?>"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" title="<?=gettext("clone frontend");?>" width="17" height="17" border="0" /></a></td> + <td valign="middle"><a href="haproxy_listeners_edit.php?id=<?=$frontendname;?>"> + <?=haproxyicon("edit", gettext("edit frontend"))?> + </a></td> + <td valign="middle"><a href="haproxy_listeners.php?act=del&id=<?=$frontendname;?>" onclick="return confirm('Do you really want to delete this entry?')"> + <?=haproxyicon("delete", gettext("delete frontend"))?> + </a></td> + <td valign="middle"><a href="haproxy_listeners_edit.php?dup=<?=$frontendname;?>"> + <?=haproxyicon("clone", gettext("clone frontend"))?> + </a></td> </tr> </table> </td> @@ -342,7 +349,9 @@ function js_callback(req) { <td class="list"> <table border="0" cellspacing="0" cellpadding="1"> <tr> - <td valign="middle"><a href="haproxy_listeners_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" title="<?=gettext("add new frontend");?>" width="17" height="17" border="0" /></a></td> + <td valign="middle"><a href="haproxy_listeners_edit.php"> + <?=haproxyicon("add", gettext("add new frontend"))?> + </a></td> </tr> </table> </td> diff --git a/config/haproxy-devel/www/haproxy_listeners_edit.php b/config/haproxy-devel/www/haproxy_listeners_edit.php index f26341b2..8c37332e 100644 --- a/config/haproxy-devel/www/haproxy_listeners_edit.php +++ b/config/haproxy-devel/www/haproxy_listeners_edit.php @@ -251,14 +251,33 @@ function customdrawcell_actions($object, $item, $itemvalue, $editable, $itemname $htmllist_extaddr = new HaproxyHtmlList("table_extaddr", $fields_externalAddress); $htmllist_extaddr->editmode = true; +function fields_details_showfieldfunction($items, $action, $itemname) { + if (is_array($items[$action]) && is_array($items[$action]['fields'])) { + foreach($items[$action]['fields'] as $item) { + if ($action . "" . $item['name'] == $itemname) { + return true; + } + } + } + return false; +} +function fields_acls_details_showfieldfunction($htmltable, $itemname, $values) { + $items = $htmltable->fields[1]['items']; + $action = $values['expression']; + return fields_details_showfieldfunction($items, $action, $itemname); +} $htmllist_acls = new HaproxyHtmlList("table_acls", $fields_aclSelectionList); $htmllist_acls->fields_details = $fields_acl_details; -//$htmllist_acls->editmode = true; +$htmllist_acls->fields_details_showfieldfunction = fields_acls_details_showfieldfunction; +function fields_actions_details_showfieldfunction($htmltable, $itemname, $values) { + $items = $htmltable->fields[0]['items']; + $action = $values['action']; + return fields_details_showfieldfunction($items, $action, $itemname); +} $htmllist_actions = new HaproxyHtmlList("table_actions", $fields_actions); $htmllist_actions->fields_details = $fields_actions_details; -//$htmllist_actions->keyfield = "name"; -//$htmllist_actions->editmode = true; +$htmllist_actions->fields_details_showfieldfunction = fields_actions_details_showfieldfunction; $htmllist_sslCertificates = new HaproxyHtmlList("tbl_sslCerts", $fields_sslCertificates); $htmllist_caCertificates = new HaproxyHtmlList("tbl_caCerts", $fields_caCertificates ); diff --git a/config/haproxy-devel/www/haproxy_pools.php b/config/haproxy-devel/www/haproxy_pools.php index d98c7f41..ef1768db 100644 --- a/config/haproxy-devel/www/haproxy_pools.php +++ b/config/haproxy-devel/www/haproxy_pools.php @@ -33,7 +33,7 @@ $shortcut_section = "haproxy"; require_once("guiconfig.inc"); require_once("haproxy.inc"); require_once("pkg_haproxy_tabs.inc"); - +require_once("haproxy_gui.inc"); if (!is_array($config['installedpackages']['haproxy']['ha_pools']['item'])) { $config['installedpackages']['haproxy']['ha_pools']['item'] = array(); @@ -58,7 +58,7 @@ if ($_POST) { if ($_GET['act'] == "del") { if (isset($a_pools[$_GET['id']])) { unset($a_pools[$_GET['id']]); - write_config(); + write_config("Services: HAProxy: Backend delete"); touch($d_haproxyconfdirty_path); } header("Location: haproxy_pools.php"); @@ -97,7 +97,6 @@ haproxy_css(); <td width="10%" class="list"></td> </tr> <?php - $img_adv = "/themes/{$g['theme']}/images/icons/icon_advanced.gif"; $i = 0; foreach ($a_pools as $pool){ $fe_list = ""; @@ -131,14 +130,19 @@ haproxy_css(); <tr class="<?=$textgray?>"> <td class="listlr" ondblclick="document.location='haproxy_pool_edit.php?id=<?=$i;?>';"> <? - if ($pool['stats_enabled']=='yes'){ - echo "<img src=\"./themes/{$g['theme']}/images/icons/icon_log_s.gif\"" . ' title="stats enabled" width="11" height="15" border="0" />'; + if ($pool['stats_enabled']=='yes') { + echo haproxyicon("stats", gettext("stats enabled")); } $isadvset = ""; - if ($pool['advanced']) $isadvset .= "Per server pass thru\r\n"; - if ($pool['advanced_backend']) $isadvset .= "Backend pass thru\r\n"; - if ($isadvset) - echo "<img src=\"$img_adv\" title=\"" . gettext("advanced settings set") . ": {$isadvset}\" border=\"0\" />"; + if ($pool['advanced']) { + $isadvset .= "Per server pass thru\r\n"; + } + if ($pool['advanced_backend']) { + $isadvset .= "Backend pass thru\r\n"; + } + if ($isadvset) { + echo haproxyicon("advanced", gettext("advanced settings set") . ": {$isadvset}"); + } ?> </td> <td class="listlr" ondblclick="document.location='haproxy_pool_edit.php?id=<?=$i;?>';"> @@ -156,9 +160,15 @@ haproxy_css(); <td class="list" nowrap> <table border="0" cellspacing="0" cellpadding="1"> <tr> - <td valign="middle"><a href="haproxy_pool_edit.php?id=<?=$i;?>"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" title="<?=gettext("edit backend");?>" width="17" height="17" border="0" /></a></td> - <td valign="middle"><a href="haproxy_pools.php?act=del&id=<?=$i;?>" onclick="return confirm('Do you really want to delete this entry?')"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" title="<?=gettext("delete backend");?>" width="17" height="17" border="0" /></a></td> - <td valign="middle"><a href="haproxy_pool_edit.php?dup=<?=$i;?>"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" title="<?=gettext("clone backend");?>" width="17" height="17" border="0" /></a></td> + <td valign="middle"><a href="haproxy_pool_edit.php?id=<?=$i;?>"> + <?=haproxyicon("edit", gettext("edit backend"))?> + </a></td> + <td valign="middle"><a href="haproxy_pools.php?act=del&id=<?=$i;?>" onclick="return confirm('Do you really want to delete this entry?')"> + <?=haproxyicon("delete", gettext("delete backend"))?> + </a></td> + <td valign="middle"><a href="haproxy_pool_edit.php?dup=<?=$i;?>"> + <?=haproxyicon("clone", gettext("clone backend"))?> + </a></td> </tr> </table> </td> @@ -173,7 +183,10 @@ haproxy_css(); <td class="list"> <table border="0" cellspacing="0" cellpadding="1"> <tr> - <td valign="middle"><a href="haproxy_pool_edit.php"><img src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" title="<?=gettext("add new backend");?>" width="17" height="17" border="0" /></a></td> + <td valign="middle"> + <a href="haproxy_pool_edit.php"> + <?=haproxyicon("add", gettext("add new backend"))?> + </a></td> </tr> </table> </td> diff --git a/config/haproxy-devel/www/widgets/widgets/haproxy.widget.php b/config/haproxy-devel/www/widgets/widgets/haproxy.widget.php index 5d664e81..92fd9025 100644 --- a/config/haproxy-devel/www/widgets/widgets/haproxy.widget.php +++ b/config/haproxy-devel/www/widgets/widgets/haproxy.widget.php @@ -30,10 +30,15 @@ Some mods made from pfBlocker widget to make this for HAProxy on Pfsense Copyleft 2012 by jvorhees */ + +$nocsrf = true; + require_once("guiconfig.inc"); require_once("pfsense-utils.inc"); require_once("functions.inc"); require_once("haproxy_socketinfo.inc"); +require_once("haproxy_gui.inc"); + $first_time = false; if (!is_array($config["widgets"]["haproxy"])) { $first_time = true; @@ -59,7 +64,7 @@ if ($_POST) { foreach($simplefields as $fieldname) $a_config[$fieldname] = $_POST[$fieldname]; - write_config("Updated traffic graph settings via dashboard."); + write_config("Services: HAProxy: Widget: Updated settings via dashboard."); header("Location: /"); exit(0); } @@ -77,13 +82,13 @@ $show_frontends = $a_config['haproxy_widget_showfrontends']=='yes'; $show_clients = $a_config['haproxy_widget_showclients']=='yes'; $show_clients_traffic = $a_config['haproxy_widget_showclienttraffic']=='yes'; -$out="<img src ='/themes/{$g['theme']}/images/icons/icon_interface_down.gif'>"; -$in="<img src ='/themes/{$g['theme']}/images/icons/icon_interface_up.gif'>"; -$running="<img src ='/themes/{$g['theme']}/images/icons/icon_pass.gif'>"; -$stopped="<img src ='/themes/{$g['theme']}/images/icons/icon_block.gif'>"; -$log="<img src ='/themes/{$g['theme']}/images/icons/icon_log.gif'>"; -$start="<img src ='/themes/{$g['theme']}/images/icons/icon_service_start.gif' title='Enable this backend/server'>"; -$stop="<img src ='/themes/{$g['theme']}/images/icons/icon_service_stop.gif' title='Disable this backend/server'>"; +$out = haproxyicon("down", ""); +$in = haproxyicon("up", ""); +$running = haproxyicon("enabled", ""); +$stopped = haproxyicon("disabled", ""); +$log = haproxyicon("resolvedns", ""); +$start = haproxyicon("start","Enable this backend/server"); +$stop = haproxyicon("stop","Disable this backend/server"); $clients=array(); $clientstraffic=array(); @@ -98,35 +103,11 @@ if ($show_clients == "YES") { } if (!$getupdatestatus) { ?> -<div id="haproxy-settings" name="haproxy-settings" class="widgetconfigdiv" style="display:none;"> -<form action="/widgets/widgets/haproxy.widget.php" method="post" name="iform" id="iform"> - <table> - <tr><td> - Refresh Interval:</td><td> - <input id="haproxy_widget_timer" name="haproxy_widget_timer" type="text" value="<?=$a_config['haproxy_widget_timer']?>"/></td> - </tr><tr> - <td>Show frontends:</td><td> - <input id="haproxy_widget_showfrontends" name="haproxy_widget_showfrontends" type="checkbox" value="yes" <?php if ($a_config['haproxy_widget_showfrontends']=='yes') echo "checked"; ?>/></td> - </tr><tr> - <td>Show clients:</td> - <td><input id="haproxy_widget_showclients" name="haproxy_widget_showclients" type="checkbox" value="yes" <?php if ($a_config['haproxy_widget_showclients']=='yes') echo "checked"; ?>/> - Note: showing clients increases CPU/memory usage. - </td> - </tr><tr> - <td>Show client traffic:</td> - <td><input id="haproxy_widget_showclienttraffic" name="haproxy_widget_showclienttraffic" type="checkbox" value="yes" <?php if ($a_config['haproxy_widget_showclienttraffic']=='yes') echo "checked"; ?>/> - Note: showing client traffic considerably increases CPU/memory usage. - </td> - </tr></table> - <br> - <input id="submit" name="submit" type="submit" onclick="return updatePref();" class="formbtn" value="Save Settings" /> -</form> -</div> -<div name="haproxy_content" id="haproxy_content"> +<div id="haproxy_content"> <? } -echo "<table style=\"padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\""; +echo "<table style=\"padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"; #Frontends if ($show_frontends == "YES") { print "<tr><td class=\"widgetsubheader\" colspan=\"4\"><strong>FrontEnd(s)</strong></td></tr>"; @@ -236,7 +217,17 @@ if (!$getupdatestatus) { echo "</div>"; ?> -<script language="javascript" type="text/javascript"> +<? +} + +if ($getupdatestatus) { + exit; +} +?> +</div> + +<script type="text/javascript" src="/javascript/haproxy_geturl.js"></script> +<script type="text/javascript"> d = document; selectIntLink = "haproxy-configure"; textlink = d.getElementById(selectIntLink); @@ -246,37 +237,54 @@ if (!$getupdatestatus) function getstatusgetupdate() { var url = "/widgets/widgets/haproxy.widget.php"; var pars = 'getupdatestatus=yes'; - var myAjax = new Ajax.Request( - url, - { - method: 'get', - parameters: pars, - onComplete: activitycallback_haproxy - }); + getURL(url+"?"+pars, activitycallback_haproxy); } function getstatus_haproxy() { + setTimeout(getstatus_haproxy, <?= $refresh_rate ?>); getstatusgetupdate(); - setTimeout('getstatus_haproxy()', <?= $refresh_rate ?>); + } function activitycallback_haproxy(transport) { - $('haproxy_content').innerHTML = transport.responseText; + if ($('haproxy_content').innerHTML) { + $('haproxy_content').innerHTML = transport.content; + } else { + $('#haproxy_content').html(transport.content); + } + } + setTimeout(getstatus_haproxy, <?= $refresh_rate ?>); + + function control_haproxy(act,be,srv) { + var url = "/widgets/widgets/haproxy.widget.php"; + var pars = 'act='+act+'&be='+be+'&srv='+srv; + getURL(url+"?"+pars, getstatusgetupdate); } - setTimeout('getstatus_haproxy()', <?= $refresh_rate ?>); -</script> -<script type="text/javascript"> - function control_haproxy(act,be,srv) { - var url = "/widgets/widgets/haproxy.widget.php"; - var pars = 'act='+act+'&be='+be+'&srv='+srv; - var myAjax = new Ajax.Request( - url, - { - method: 'get', - parameters: pars, - //onComplete: activitycallback_haproxy - onComplete: getstatusgetupdate - }); - } </script> <? +if (pf_version() < "2.3") { + echo '<div id="haproxy-settings" class="widgetconfigdiv" style="display:none;">'; +} else { + echo '<div id="widget-haproxy_panel-footer" class="panel-footer collapse">'; } -?>
\ No newline at end of file +?> +<form action="/widgets/widgets/haproxy.widget.php" method="post" name="iform" id="iform"> + <table> + <tr><td> + Refresh Interval:</td><td> + <input id="haproxy_widget_timer" name="haproxy_widget_timer" type="text" value="<?=$a_config['haproxy_widget_timer']?>"/></td> + </tr><tr> + <td>Show frontends:</td><td> + <input id="haproxy_widget_showfrontends" name="haproxy_widget_showfrontends" type="checkbox" value="yes" <?php if ($a_config['haproxy_widget_showfrontends']=='yes') echo "checked"; ?>/></td> + </tr><tr> + <td>Show clients:</td> + <td><input id="haproxy_widget_showclients" name="haproxy_widget_showclients" type="checkbox" value="yes" <?php if ($a_config['haproxy_widget_showclients']=='yes') echo "checked"; ?>/> + Note: showing clients increases CPU/memory usage. + </td> + </tr><tr> + <td>Show client traffic:</td> + <td><input id="haproxy_widget_showclienttraffic" name="haproxy_widget_showclienttraffic" type="checkbox" value="yes" <?php if ($a_config['haproxy_widget_showclienttraffic']=='yes') echo "checked"; ?>/> + Note: showing client traffic considerably increases CPU/memory usage. + </td> + </tr></table> + <br> + <input id="submit" name="submit" type="submit" onclick="return updatePref();" class="formbtn" value="Save Settings" /> +</form> |