summaryrefslogtreecommitdiffstats
path: root/src/usr/local/www
diff options
context:
space:
mode:
authorPhil Davis <phil.davis@inf.org>2017-02-26 19:54:54 +0545
committerRenato Botelho <renato@netgate.com>2017-05-03 09:26:10 -0300
commit35c395e0781c3665af19d7251c23e73ec4b5864f (patch)
tree5e3287e40cefb03fcf2b7e8df7ff42550367cd91 /src/usr/local/www
parent732b23581b3e6fd8b321891bfc0486c5d10805c2 (diff)
downloadpfsense-35c395e0781c3665af19d7251c23e73ec4b5864f.zip
pfsense-35c395e0781c3665af19d7251c23e73ec4b5864f.tar.gz
Handle widgets having no items selected for display
(cherry picked from commit 405dfaad144de90a6e401354b80b82baf5ae3d59)
Diffstat (limited to 'src/usr/local/www')
-rw-r--r--src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php9
-rw-r--r--src/usr/local/www/widgets/widgets/gateways.widget.php16
-rw-r--r--src/usr/local/www/widgets/widgets/interface_statistics.widget.php8
-rw-r--r--src/usr/local/www/widgets/widgets/interfaces.widget.php14
-rw-r--r--src/usr/local/www/widgets/widgets/openvpn.widget.php15
-rw-r--r--src/usr/local/www/widgets/widgets/services_status.widget.php11
-rw-r--r--src/usr/local/www/widgets/widgets/smart_status.widget.php14
-rw-r--r--src/usr/local/www/widgets/widgets/system_information.widget.php29
-rw-r--r--src/usr/local/www/widgets/widgets/wake_on_lan.widget.php16
9 files changed, 112 insertions, 20 deletions
diff --git a/src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php b/src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php
index 0c3aa7a..0ca13de 100644
--- a/src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php
+++ b/src/usr/local/www/widgets/widgets/dyn_dns_status.widget.php
@@ -157,7 +157,7 @@ if ($_REQUEST['getdyndnsstatus']) {
if (is_array($_POST['show'])) {
$user_settings['widgets']['dyn_dns_status']['filter'] = implode(',', array_diff($validNames, $_POST['show']));
} else {
- $user_settings['widgets']['dyn_dns_status']['filter'] = "";
+ $user_settings['widgets']['dyn_dns_status']['filter'] = implode(',', $validNames);
}
save_widget_settings($_SESSION['Username'], $user_settings["widgets"], gettext("Saved Dynamic DNS Filter via Dashboard."));
@@ -236,6 +236,13 @@ function get_dyndns_service_text($dyndns_type) {
</td>
</tr>
<?php endforeach;?>
+ <?php if ($rowid == -1):?>
+ <tr>
+ <td colspan="4" class="text-center">
+ <?=gettext('All Dyn DNS entries are hidden.');?>
+ </td>
+ </tr>
+ <?php endif;?>
</tbody>
</table>
</div>
diff --git a/src/usr/local/www/widgets/widgets/gateways.widget.php b/src/usr/local/www/widgets/widgets/gateways.widget.php
index 5c9c836..41b7094 100644
--- a/src/usr/local/www/widgets/widgets/gateways.widget.php
+++ b/src/usr/local/www/widgets/widgets/gateways.widget.php
@@ -80,17 +80,17 @@ if ($_POST) {
$user_settings["widgets"]["gateways_widget"]["display_type"] = $_POST["display_type"];
}
- if (is_array($_POST['show'])) {
- $validNames = array();
- $a_gateways = return_gateways_array();
+ $validNames = array();
+ $a_gateways = return_gateways_array();
- foreach ($a_gateways as $gname => $gateway) {
- array_push($validNames, $gname);
- }
+ foreach ($a_gateways as $gname => $gateway) {
+ array_push($validNames, $gname);
+ }
+ if (is_array($_POST['show'])) {
$user_settings["widgets"]["gateways_widget"]["gatewaysfilter"] = implode(',', array_diff($validNames, $_POST['show']));
} else {
- $user_settings["widgets"]["gateways_widget"]["gatewaysfilter"] = "";
+ $user_settings["widgets"]["gateways_widget"]["gatewaysfilter"] = implode(',', $validNames);
}
save_widget_settings($_SESSION['Username'], $user_settings["widgets"], gettext("Updated gateways widget settings via dashboard."));
@@ -351,7 +351,7 @@ function compose_table_body_contents() {
if (!$gw_displayed) {
$rtnstr .= '<tr>';
- $rtnstr .= '<td colspan="5">';
+ $rtnstr .= '<td colspan="5" class="text-center">';
if (count($a_gateways)) {
$rtnstr .= gettext('All gateways are hidden.');
} else {
diff --git a/src/usr/local/www/widgets/widgets/interface_statistics.widget.php b/src/usr/local/www/widgets/widgets/interface_statistics.widget.php
index 61ff07b..8cd03fc 100644
--- a/src/usr/local/www/widgets/widgets/interface_statistics.widget.php
+++ b/src/usr/local/www/widgets/widgets/interface_statistics.widget.php
@@ -81,6 +81,7 @@ if ($_REQUEST && $_REQUEST['ajax']) {
);
$skipinterfaces = explode(",", $user_settings['widgets']['interface_statistics']['iffilter']);
+ $interface_is_displayed = false;
print("<thead>");
print( "<tr>");
@@ -89,9 +90,14 @@ if ($_REQUEST && $_REQUEST['ajax']) {
foreach ($ifdescrs as $ifdescr => $ifname) {
if (!in_array($ifdescr, $skipinterfaces)) {
print( "<th>" . $ifname . "</th>");
+ $interface_is_displayed = true;
}
}
+ if (!$interface_is_displayed) {
+ print("<th>" . gettext('All interfaces are hidden.') . "</th>");
+ }
+
print( "</tr>");
print( "</thead>");
print( "<tbody>");
@@ -132,7 +138,7 @@ if ($_REQUEST && $_REQUEST['ajax']) {
if (is_array($_POST['show'])) {
$user_settings['widgets']['interface_statistics']['iffilter'] = implode(',', array_diff($validNames, $_POST['show']));
} else {
- $user_settings['widgets']['interface_statistics']['iffilter'] = "";
+ $user_settings['widgets']['interface_statistics']['iffilter'] = implode(',', $validNames);
}
save_widget_settings($_SESSION['Username'], $user_settings["widgets"], gettext("Saved Interface Statistics Filter via Dashboard."));
diff --git a/src/usr/local/www/widgets/widgets/interfaces.widget.php b/src/usr/local/www/widgets/widgets/interfaces.widget.php
index 27cd803..e8954a4 100644
--- a/src/usr/local/www/widgets/widgets/interfaces.widget.php
+++ b/src/usr/local/www/widgets/widgets/interfaces.widget.php
@@ -72,7 +72,7 @@ if ($_POST) {
if (is_array($_POST['show'])) {
$user_settings['widgets']['interfaces']['iffilter'] = implode(',', array_diff($validNames, $_POST['show']));
} else {
- $user_settings['widgets']['interfaces']['iffilter'] = "";
+ $user_settings['widgets']['interfaces']['iffilter'] = implode(',', $validNames);
}
save_widget_settings($_SESSION['Username'], $user_settings["widgets"], gettext("Saved Interfaces Filter via Dashboard."));
@@ -86,12 +86,14 @@ if ($_POST) {
<tbody>
<?php
$skipinterfaces = explode(",", $user_settings['widgets']['interfaces']['iffilter']);
+$interface_is_displayed = false;
foreach ($ifdescrs as $ifdescr => $ifname):
if (in_array($ifdescr, $skipinterfaces)) {
continue;
}
+ $interface_is_displayed = true;
$ifinfo = get_interface_info($ifdescr);
if ($ifinfo['pppoelink'] || $ifinfo['pptplink'] || $ifinfo['l2tplink']) {
/* PPP link (non-cell) - looks like a modem */
@@ -159,6 +161,16 @@ foreach ($ifdescrs as $ifdescr => $ifname):
</tr>
<?php
endforeach;
+if (!$interface_is_displayed):
+?>
+ <tr>
+ <td class="text-center">
+ <?=gettext('All interfaces are hidden.');?>
+ </td>
+ </tr>
+
+<?php
+endif;
?>
</tbody>
</table>
diff --git a/src/usr/local/www/widgets/widgets/openvpn.widget.php b/src/usr/local/www/widgets/widgets/openvpn.widget.php
index 5704822..bc7ddd2 100644
--- a/src/usr/local/www/widgets/widgets/openvpn.widget.php
+++ b/src/usr/local/www/widgets/widgets/openvpn.widget.php
@@ -97,7 +97,7 @@ if ($_REQUEST && $_REQUEST['ajax']) {
if (is_array($_POST['show'])) {
$user_settings['widgets']['openvpn']['filter'] = implode(',', array_diff($validNames, $_POST['show']));
} else {
- $user_settings['widgets']['openvpn']['filter'] = "";
+ $user_settings['widgets']['openvpn']['filter'] = implode(',', $validNames);
}
save_widget_settings($_SESSION['Username'], $user_settings["widgets"], gettext("Saved OpenVPN Filter via Dashboard."));
@@ -115,12 +115,15 @@ function printPanel() {
$skipovpns = explode(",", $user_settings['widgets']['openvpn']['filter']);
$opstring = "";
+ $got_ovpn_server = false;
foreach ($servers as $server):
if (in_array($server['vpnid'], $skipovpns)) {
continue;
}
+ $got_ovpn_server = true;
+
$opstring .= "<div class=\"widget panel panel-default\">";
$opstring .= "<div class=\"panel-heading\"><h2 class=\"panel-title\">" . htmlspecialchars($server['name']) . "</h2></div>";
$opstring .= "<div class=\"table-responsive\">";
@@ -322,7 +325,15 @@ function printPanel() {
endif;
if ((empty($clients)) && (empty($servers)) && (empty($sk_servers))) {
- print(gettext("No OpenVPN instances defined"));
+ $none_to_display_text = gettext("No OpenVPN instances defined");
+ } else if (!$got_ovpn_server && !$got_sk_server && !$got_ovpn_client) {
+ $none_to_display_text = gettext("All OpenVPN instances are hidden");
+ } else {
+ $none_to_display_text = "";
+ }
+
+ if (strlen($none_to_display_text) > 0) {
+ print('<table class="table"><tbody><td class="text-center">' . $none_to_display_text . '</td></tbody></table>');
}
}
diff --git a/src/usr/local/www/widgets/widgets/services_status.widget.php b/src/usr/local/www/widgets/widgets/services_status.widget.php
index 4672b2e..2d04a93 100644
--- a/src/usr/local/www/widgets/widgets/services_status.widget.php
+++ b/src/usr/local/www/widgets/widgets/services_status.widget.php
@@ -59,7 +59,7 @@ if ($_POST) {
if (is_array($_POST['show'])) {
$user_settings['widgets']['servicestatusfilter'] = implode(',', array_diff($validNames, $_POST['show']));
} else {
- $user_settings['widgets']['servicestatusfilter'] = "";
+ $user_settings['widgets']['servicestatusfilter'] = implode(',', $validNames);
}
save_widget_settings($_SESSION['Username'], $user_settings["widgets"], gettext("Saved Service Status Filter via Dashboard."));
@@ -83,12 +83,15 @@ $skipservices = explode(",", $user_settings['widgets']['servicestatusfilter']);
if (count($services) > 0) {
uasort($services, "service_dispname_compare");
+ $service_is_displayed = false;
foreach ($services as $service) {
if ((!$service['dispname']) || (in_array($service['dispname'], $skipservices)) || (!is_service_enabled($service['dispname']))) {
continue;
}
+ $service_is_displayed = true;
+
if (empty($service['description'])) {
$service['description'] = get_pkg_descr($service['name']);
}
@@ -103,8 +106,12 @@ if (count($services) > 0) {
</tr>
<?php
}
+
+ if (!$service_is_displayed) {
+ echo "<tr><td colspan=\"4\" class=\"text-center\">" . gettext("All services are hidden") . ". </td></tr>\n";
+ }
} else {
- echo "<tr><td colspan=\"3\" class=\"text-center\">" . gettext("No services found") . ". </td></tr>\n";
+ echo "<tr><td colspan=\"4\" class=\"text-center\">" . gettext("No services found") . ". </td></tr>\n";
}
?>
</tbody>
diff --git a/src/usr/local/www/widgets/widgets/smart_status.widget.php b/src/usr/local/www/widgets/widgets/smart_status.widget.php
index 49f1f42..fa309a9 100644
--- a/src/usr/local/www/widgets/widgets/smart_status.widget.php
+++ b/src/usr/local/www/widgets/widgets/smart_status.widget.php
@@ -79,7 +79,7 @@ if ($_POST) {
if (is_array($_POST['show'])) {
$user_settings['widgets']['smart_status']['filter'] = implode(',', array_diff($validNames, $_POST['show']));
} else {
- $user_settings['widgets']['smart_status']['filter'] = "";
+ $user_settings['widgets']['smart_status']['filter'] = implode(',', $validNames);
}
save_widget_settings($_SESSION['Username'], $user_settings["widgets"], gettext("Saved SMART Status Filter via Dashboard."));
@@ -101,6 +101,7 @@ if ($_POST) {
<tbody>
<?php
$skipsmart = explode(",", $user_settings['widgets']['smart_status']['filter']);
+$smartdrive_is_displayed = false;
if (count($devs) > 0) {
foreach ($devs as $dev) { ## for each found drive do
@@ -108,6 +109,7 @@ if (count($devs) > 0) {
continue;
}
+ $smartdrive_is_displayed = true;
$dev_ident = exec("diskinfo -v /dev/$dev | grep ident | awk '{print $1}'"); ## get identifier from drive
$dev_state = trim(exec("smartctl -H /dev/$dev | awk -F: '/^SMART overall-health self-assessment test result/ {print $2;exit}
/^SMART Health Status/ {print $2;exit}'")); ## get SMART state from drive
@@ -136,6 +138,16 @@ if (count($devs) > 0) {
</tr>
<?php
}
+
+ if (!$smartdrive_is_displayed) {
+?>
+ <tr>
+ <td colspan="4" class="text-center">
+ <?=gettext('All SMART drives are hidden.');?>
+ </td>
+ </tr>
+<?php
+ }
}
?>
</tbody>
diff --git a/src/usr/local/www/widgets/widgets/system_information.widget.php b/src/usr/local/www/widgets/widgets/system_information.widget.php
index d871b01..b6275c1 100644
--- a/src/usr/local/www/widgets/widgets/system_information.widget.php
+++ b/src/usr/local/www/widgets/widgets/system_information.widget.php
@@ -141,7 +141,7 @@ if ($_REQUEST['getupdatestatus']) {
if (is_array($_POST['show'])) {
$user_settings['widgets']['system_information']['filter'] = implode(',', array_diff($validNames, $_POST['show']));
} else {
- $user_settings['widgets']['system_information']['filter'] = "";
+ $user_settings['widgets']['system_information']['filter'] = implode(',', $validNames);
}
save_widget_settings($_SESSION['Username'], $user_settings["widgets"], gettext("Saved System Information Widget Filter via Dashboard."));
@@ -157,6 +157,7 @@ $widgetperiod += 1000;
$filesystems = get_mounted_filesystems();
$skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']['filter']);
+$rows_displayed = false;
?>
<div class="table-responsive">
@@ -164,6 +165,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<tbody>
<?php
if (!in_array('name', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("Name");?></th>
@@ -172,6 +174,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('system', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("System");?></th>
@@ -226,6 +229,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
endif;
endif;
if (!in_array('version', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("Version");?></th>
@@ -281,6 +285,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('cpu_type', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("CPU Type");?></th>
@@ -298,6 +303,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('hwcrypto', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<?php if ($hwcrypto): ?>
<tr>
@@ -308,6 +314,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('uptime', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("Uptime");?></th>
@@ -316,6 +323,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('current_datetime', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("Current date/time");?></th>
@@ -324,6 +332,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('dns_servers', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("DNS server(s)");?></th>
@@ -341,6 +350,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('last_config_change', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<?php if ($config['revision']): ?>
<tr>
@@ -351,6 +361,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('state_table_size', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("State table size");?></th>
@@ -369,6 +380,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('mbuf_usage', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("MBUF Usage");?></th>
@@ -387,6 +399,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('temperature', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<?php if (get_temp() != ""): ?>
<tr>
@@ -404,6 +417,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('load_average', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("Load average");?></th>
@@ -414,6 +428,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('cpu_usage', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("CPU usage");?></th>
@@ -429,6 +444,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('memory_usage', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<tr>
<th><?=gettext("Memory usage");?></th>
@@ -445,6 +461,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('swap_usage', $skipsysinfoitems)):
+ $rows_displayed = true;
?>
<?php if ($showswap == true): ?>
<tr>
@@ -463,6 +480,7 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
<?php
endif;
if (!in_array('disk_usage', $skipsysinfoitems)):
+ $rows_displayed = true;
$diskidx = 0;
foreach ($filesystems as $fs):
?>
@@ -480,6 +498,15 @@ $skipsysinfoitems = explode(",", $user_settings['widgets']['system_information']
$diskidx++;
endforeach;
endif;
+ if (!$rows_displayed):
+?>
+ <tr>
+ <td class="text-center">
+ <?=gettext('All System Information items are hidden.');?>
+ </td>
+ </tr>
+<?php
+ endif;
?>
</tbody>
diff --git a/src/usr/local/www/widgets/widgets/wake_on_lan.widget.php b/src/usr/local/www/widgets/widgets/wake_on_lan.widget.php
index 2a5dca1..21e7efe 100644
--- a/src/usr/local/www/widgets/widgets/wake_on_lan.widget.php
+++ b/src/usr/local/www/widgets/widgets/wake_on_lan.widget.php
@@ -81,7 +81,7 @@ if ($_POST) {
if (is_array($_POST['show'])) {
$user_settings['widgets']['wol']['filter'] = implode(',', array_diff($validNames, $_POST['show']));
} else {
- $user_settings['widgets']['wol']['filter'] = "";
+ $user_settings['widgets']['wol']['filter'] = implode(',', $validNames);
}
save_widget_settings($_SESSION['Username'], $user_settings["widgets"], gettext("Saved Wake on LAN Filter via Dashboard."));
@@ -104,11 +104,14 @@ if ($_POST) {
$skipwols = explode(",", $user_settings['widgets']['wol']['filter']);
if (count($wolcomputers) > 0):
+ $wol_entry_is_displayed = false;
+
foreach ($wolcomputers as $wolent):
if (in_array(get_wolent_key($wolent), $skipwols)) {
continue;
}
+ $wol_entry_is_displayed = true;
$is_active = exec("/usr/sbin/arp -an |/usr/bin/grep {$wolent['mac']}| /usr/bin/wc -l|/usr/bin/awk '{print $1;}'");
$status = exec("/usr/sbin/arp -an | /usr/bin/awk '$4 == \"{$wolent['mac']}\" { print $7 }'");
?>
@@ -135,8 +138,15 @@ if (count($wolcomputers) > 0):
</a>
</td>
</tr>
-<?php endforeach;
-else: ?>
+<?php
+ endforeach;
+ if (!$wol_entry_is_displayed):
+?>
+ <tr><td colspan="4" class="text-center"><?=gettext("All WoL entries are hidden.")?></td></tr>
+<?php
+ endif;
+else:
+?>
<tr><td colspan="4" class="text-center"><?= gettext("No saved WoL addresses") ?></td></tr>
<?php
endif;
OpenPOWER on IntegriCloud