diff options
author | Phil Davis <phil.davis@inf.org> | 2017-02-26 19:54:54 +0545 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2017-05-03 09:26:10 -0300 |
commit | 35c395e0781c3665af19d7251c23e73ec4b5864f (patch) | |
tree | 5e3287e40cefb03fcf2b7e8df7ff42550367cd91 /src/usr | |
parent | 732b23581b3e6fd8b321891bfc0486c5d10805c2 (diff) | |
download | pfsense-35c395e0781c3665af19d7251c23e73ec4b5864f.zip pfsense-35c395e0781c3665af19d7251c23e73ec4b5864f.tar.gz |
Handle widgets having no items selected for display
(cherry picked from commit 405dfaad144de90a6e401354b80b82baf5ae3d59)
Diffstat (limited to 'src/usr')
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; |