diff --git a/html/pages/device.inc.php b/html/pages/device.inc.php
index 1455abd76..406c47fbf 100644
--- a/html/pages/device.inc.php
+++ b/html/pages/device.inc.php
@@ -153,20 +153,31 @@ if (device_permitted($vars['device']) || $check_device == $vars['device'])
');
}
- ### $routing_tabs is used in device/routing/ to build the tabs menu. we built it here to save some queries
+ ### $loadbalancer_tabs is used in device/loadbalancer/ to build the submenu. we do it here to save queries
if($device['os'] == "netscaler") /// Netscaler
{
- $device_routing_count['netscaler_vsvr'] = dbFetchCell("SELECT COUNT(*) FROM `netscaler_vservers` WHERE `device_id` = ?", array($device['device_id']));
- if ($device_routing_count['netscaler_vsvr']) { $routing_tabs[] = 'netscaler_vsvr'; }
+ $device_loadbalancer_count['netscaler_vsvr'] = dbFetchCell("SELECT COUNT(*) FROM `netscaler_vservers` WHERE `device_id` = ?", array($device['device_id']));
+ if ($device_loadbalancer_count['netscaler_vsvr']) { $loadbalancer_tabs[] = 'netscaler_vsvr'; }
}
if($device['os'] == "acsw") /// Cisco ACE
{
- $device_routing_count['loadbalancer_vservers'] = dbFetchCell("SELECT COUNT(*) FROM `loadbalancer_vservers` WHERE `device_id` = ?", array($device['device_id']));
- if ($device_routing_count['loadbalancer_vservers']) { $routing_tabs[] = 'loadbalancer_vservers'; }
+ $device_loadbalancer_count['loadbalancer_vservers'] = dbFetchCell("SELECT COUNT(*) FROM `loadbalancer_vservers` WHERE `device_id` = ?", array($device['device_id']));
+ if ($device_loadbalancer_count['loadbalancer_vservers']) { $loadbalancer_tabs[] = 'loadbalancer_vservers'; }
}
+ if (is_array($loadbalancer_tabs))
+ {
+ echo('
+
+
Load Balancer
+
+ ');
+ }
+
+ ### $routing_tabs is used in device/routing/ to build the tabs menu. we built it here to save some queries
+
$device_routing_count['loadbalancer_rservers'] = dbFetchCell("SELECT COUNT(*) FROM `loadbalancer_rservers` WHERE `device_id` = ?", array($device['device_id']));
if ($device_routing_count['loadbalancer_rservers']) { $routing_tabs[] = 'loadbalancer_rservers'; }
diff --git a/html/pages/device/loadbalancer.inc.php b/html/pages/device/loadbalancer.inc.php
new file mode 100644
index 000000000..49271e188
--- /dev/null
+++ b/html/pages/device/loadbalancer.inc.php
@@ -0,0 +1,67 @@
+ 'device',
+ 'device' => $device['device_id'],
+ 'tab' => 'loadbalancer');
+
+## Cisco ACE
+$type_text['loadbalancer_rservers'] = "Rservers";
+$type_text['loadbalancer_vservers'] = "Serverfarms";
+
+## Citrix Netscaler
+$type_text['netscaler_vsvr'] = "VServers";
+
+print_optionbar_start();
+
+$pagetitle[] = "Load Balancer";
+
+echo("Load Balancer » ");
+
+unset($sep);
+foreach ($loadbalancer_tabs as $type)
+{
+
+ if (!$vars['proto']) { $vars['proto'] = $type; }
+
+ echo($sep);
+
+ if ($vars['proto'] == $type)
+ {
+ echo('"); }
+ $sep = " | ";
+}
+
+print_optionbar_end();
+
+if (is_file("pages/device/loadbalancer/".mres($vars['proto']).".inc.php"))
+{
+ include("pages/device/loadbalancer/".mres($vars['proto']).".inc.php");
+} else {
+ foreach ($loadbalancer_tabs as $type)
+ {
+ if ($type != "overview")
+ {
+ if (is_file("pages/device/loadbalancer/overview/".mres($type).".inc.php")) {
+
+ $g_i++;
+ if (!is_integer($g_i/2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; }
+
+ echo('');
+ echo('
'.$type_text[$type].'');
+ include("pages/device/loadbalancer/overview/".mres($type).".inc.php");
+ echo('
');
+ echo('
');
+ } else {
+ $graph_title = $type_text[$type];
+ $graph_type = "device_".$type;
+ include("includes/print-device-graph.php");
+ }
+ }
+ }
+}
+
+?>
diff --git a/html/pages/device/routing/loadbalancer_rservers.inc.php b/html/pages/device/loadbalancer/loadbalancer_rservers.inc.php
similarity index 100%
rename from html/pages/device/routing/loadbalancer_rservers.inc.php
rename to html/pages/device/loadbalancer/loadbalancer_rservers.inc.php
diff --git a/html/pages/device/routing/loadbalancer_vservers.inc.php b/html/pages/device/loadbalancer/loadbalancer_vservers.inc.php
similarity index 100%
rename from html/pages/device/routing/loadbalancer_vservers.inc.php
rename to html/pages/device/loadbalancer/loadbalancer_vservers.inc.php
diff --git a/html/pages/device/routing/netscaler_vsvr.inc.php b/html/pages/device/loadbalancer/netscaler_vsvr.inc.php
similarity index 97%
rename from html/pages/device/routing/netscaler_vsvr.inc.php
rename to html/pages/device/loadbalancer/netscaler_vsvr.inc.php
index b29057605..431d8184c 100644
--- a/html/pages/device/routing/netscaler_vsvr.inc.php
+++ b/html/pages/device/loadbalancer/netscaler_vsvr.inc.php
@@ -2,7 +2,7 @@
print_optionbar_start();
-echo("Serverfarms » ");
+echo("VServers » ");
#$auth = TRUE;