summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/usr/local/www/bootstrap/css/pfSense-dark.css5
-rw-r--r--src/usr/local/www/bootstrap/css/pfSense.css5
-rwxr-xr-xsrc/usr/local/www/head.inc26
-rw-r--r--src/usr/local/www/index.php15
-rwxr-xr-xsrc/usr/local/www/status_logs.php10
-rw-r--r--src/usr/local/www/status_logs_common.inc66
-rw-r--r--src/usr/local/www/status_logs_filter.php10
-rwxr-xr-xsrc/usr/local/www/status_logs_filter_dynamic.php10
-rw-r--r--src/usr/local/www/status_logs_vpn.php28
-rw-r--r--src/usr/local/www/system.php40
10 files changed, 191 insertions, 24 deletions
diff --git a/src/usr/local/www/bootstrap/css/pfSense-dark.css b/src/usr/local/www/bootstrap/css/pfSense-dark.css
index 57ce484..ce942ca 100644
--- a/src/usr/local/www/bootstrap/css/pfSense-dark.css
+++ b/src/usr/local/www/bootstrap/css/pfSense-dark.css
@@ -157,6 +157,11 @@ ul.context-links li a {
border-color: #212121;
}
+.btn-breadcrumbbar {
+ color: #808080;
+ background-color: #404040;
+}
+
.btn-default.active, .btn-default.focus, .btn-default:active, .btn-default:focus, .btn-default:hover, .open>.dropdown-toggle.btn-default {
color: #ffffff;
background-color: #424242;
diff --git a/src/usr/local/www/bootstrap/css/pfSense.css b/src/usr/local/www/bootstrap/css/pfSense.css
index fde1e66..55de8d7 100644
--- a/src/usr/local/www/bootstrap/css/pfSense.css
+++ b/src/usr/local/www/bootstrap/css/pfSense.css
@@ -509,6 +509,11 @@ footer a {
background-color: #1976D2;
}
+.btn-breadcrumbbar {
+ color: #808080;
+ background-color: #D0D0D0;
+}
+
.text-warning {
color: #F57F17;
}
diff --git a/src/usr/local/www/head.inc b/src/usr/local/www/head.inc
index e94cf22..13091fc 100755
--- a/src/usr/local/www/head.inc
+++ b/src/usr/local/www/head.inc
@@ -461,8 +461,32 @@ if (($pagename === "index.php") && ($numColumns > 2)) {
}
?>
<ul class="context-links">
-<?php
+ <?php if ($dashboard_available_widgets_hidden): ?>
+ <li>
+ <a onclick="$('#widget-available').toggle(360);" title="<?=gettext("Show/Hide available widgets panel")?>">
+ <i class="btn-sm btn-breadcrumbbar">Widgets</i>
+ </a>
+ </li>
+ <?php endif?>
+
+ <?php if ($system_logs_filter_form_hidden): ?>
+ <li>
+ <a onclick="$('#filter-form').toggle(360)" title="<?=gettext("Show/Hide log filter panel")?>">
+ <i class="btn-sm btn-breadcrumbbar">Filter</i>
+ </a>
+ </li>
+ <?php endif ?>
+
+ <?php if ($system_logs_manage_log_form_hidden): ?>
+ <li>
+ <a onclick="$('#manage-log-form').toggle(360)" title="<?=gettext("Show/Hide manage log panel")?>">
+ <i class="btn-sm btn-breadcrumbbar">Manage Log</i>
+ </a>
+ </li>
+ <?php endif ?>
+
+<?php
if (!$hide_service_status && !empty($shortcuts[$shortcut_section]['service'])) {
$ssvc = array();
switch ($shortcut_section) {
diff --git a/src/usr/local/www/index.php b/src/usr/local/www/index.php
index c9b60a8..e2e792b 100644
--- a/src/usr/local/www/index.php
+++ b/src/usr/local/www/index.php
@@ -300,6 +300,17 @@ if ($config['widgets'] && $config['widgets']['sequence'] != "") {
}
}
+## Get the configured options for Show/Hide available widgets panel.
+$dashboard_available_widgets_hidden = isset($config['system']['webgui']['dashboardavailablewidgetspanel']) ? false : true;
+
+if ($dashboard_available_widgets_hidden) {
+ $panel_state = 'out';
+ $panel_body_state = 'in';
+} else {
+ $panel_state = 'in';
+ $panel_body_state = 'out';
+}
+
## Set Page Title and Include Header
$pgtitle = array(gettext("Status"), gettext("Dashboard"));
include("head.inc");
@@ -312,7 +323,7 @@ pfSense_handle_custom_code("/usr/local/pkg/dashboard/pre_dashboard");
?>
-<div class="panel panel-default" id="widget-available">
+<div class="panel panel-default collapse <?=$panel_state?>" id="widget-available">
<div class="panel-heading">
<h2 class="panel-title"><?=gettext("Available Widgets"); ?>
<span class="widget-heading-icon">
@@ -322,7 +333,7 @@ pfSense_handle_custom_code("/usr/local/pkg/dashboard/pre_dashboard");
</span>
</h2>
</div>
- <div id="widget-available_panel-body" class="panel-body collapse out">
+ <div id="widget-available_panel-body" class="panel-body collapse <?=$panel_body_state?>">
<div class="content">
<div class="row">
<?php
diff --git a/src/usr/local/www/status_logs.php b/src/usr/local/www/status_logs.php
index 9ae722d..35e969e 100755
--- a/src/usr/local/www/status_logs.php
+++ b/src/usr/local/www/status_logs.php
@@ -137,6 +137,12 @@ if (!$input_errors && $savemsg) {
tab_array_logs_common();
+// Manage Log - Section/Form
+if ($system_logs_manage_log_form_hidden) {
+ manage_log_section();
+}
+
+
// Filter Section/Form - System
filter_form_system();
@@ -248,7 +254,9 @@ if (!$rawfilter) {
<?php
# Manage Log - Section/Form
-manage_log_section();
+if (!$system_logs_manage_log_form_hidden) {
+ manage_log_section();
+}
?>
<?php include("foot.inc"); ?>
diff --git a/src/usr/local/www/status_logs_common.inc b/src/usr/local/www/status_logs_common.inc
index f82176c..71fd3dd 100644
--- a/src/usr/local/www/status_logs_common.inc
+++ b/src/usr/local/www/status_logs_common.inc
@@ -63,6 +63,7 @@ require_once("filter_log.inc");
// Status Logs Common - Code
function status_logs_common_code() {
global $g, $config, $specific_log, $nentries, $filterlogentries_qty, $logfile_path, $shortcut_section, $allowed_logs, $logfile;
+ global $system_logs_filter_form_hidden, $system_logs_manage_log_form_hidden, $view;
$logfile_path = "{$g['varlog_path']}/" . basename($logfile) . ".log";
@@ -86,6 +87,15 @@ function status_logs_common_code() {
if (!empty($allowed_logs[$logfile]["shortcut"])) {
$shortcut_section = $allowed_logs[$logfile]["shortcut"];
}
+
+ // Get the configured options for Show/Hide Log Filter and Manage Log panels.
+ $system_logs_filter_form_hidden = isset($config['system']['webgui']['systemlogsfilterpanel']) ? false : true;
+ $system_logs_manage_log_form_hidden = isset($config['system']['webgui']['systemlogsmanagelogpanel']) ? false : true;
+
+ if ($logfile == 'filter' && $view == 'summary') {
+ $system_logs_filter_form_hidden = false;
+ $system_logs_manage_log_form_hidden = false;
+ }
}
// Tab Array
@@ -174,17 +184,26 @@ function log_filter_form_system_submit() {
function filter_form_system() {
global $filter_active, $rawfilter, $filterfieldsarray, $filtertext, $filterlogentries_qty, $nentries, $Include_Act, $interfacefilter;
+ global $system_logs_filter_form_hidden;
if ($filter_active) {
- $filter_state = SEC_OPEN;
+ $panel_state = 'in';
+ $panel_body_state = SEC_OPEN;
} else {
- $filter_state = SEC_CLOSED;
+ if ($system_logs_filter_form_hidden) {
+ $panel_state = 'out';
+ $panel_body_state = SEC_OPEN;
+ } else {
+ $panel_state = 'in';
+ $panel_body_state = SEC_CLOSED;
+ }
}
if (!$rawfilter) { // Advanced log filter form
$form = new Form(false);
+ $form->setAttribute('id', 'filter-form')->addClass('collapse ' . $panel_state);
- $section = new Form_Section('Advanced Log Filter', 'adv-filter-panel', COLLAPSIBLE|$filter_state);
+ $section = new Form_Section('Advanced Log Filter', 'filter-panel', COLLAPSIBLE|$panel_body_state);
$group = new Form_Group('');
@@ -236,8 +255,9 @@ function filter_form_system() {
);
} else { // Simple log filter form
$form = new Form(false);
+ $form->setAttribute('id', 'filter-form')->addClass('collapse ' . $panel_state);
- $section = new Form_Section('Log Filter', 'basic-filter-panel', COLLAPSIBLE|$filter_state);
+ $section = new Form_Section('Log Filter', 'filter-panel', COLLAPSIBLE|$panel_body_state);
$group = new Form_Group('');
@@ -320,6 +340,7 @@ function log_filter_form_firewall_submit() {
function filter_form_firewall() {
global $filter_active, $rawfilter, $filterfieldsarray, $filtertext, $filterlogentries_qty, $nentries, $interfacefilter;
+ global $system_logs_filter_form_hidden;
$Include_Act = explode(",", str_replace(" ", ",", $filterfieldsarray['act']));
if ($filterfieldsarray['interface'] == "All") {
@@ -327,15 +348,23 @@ function filter_form_firewall() {
}
if ($filter_active) {
- $filter_state = SEC_OPEN;
+ $panel_state = 'in';
+ $panel_body_state = SEC_OPEN;
} else {
- $filter_state = SEC_CLOSED;
+ if ($system_logs_filter_form_hidden) {
+ $panel_state = 'out';
+ $panel_body_state = SEC_OPEN;
+ } else {
+ $panel_state = 'in';
+ $panel_body_state = SEC_CLOSED;
+ }
}
if (!$rawfilter) { // Advanced log filter form
$form = new Form(false);
+ $form->setAttribute('id', 'filter-form')->addClass('collapse ' . $panel_state);
- $section = new Form_Section('Advanced Log Filter', 'adv-filter-panel', COLLAPSIBLE|$filter_state);
+ $section = new Form_Section('Advanced Log Filter', 'filter-panel', COLLAPSIBLE|$panel_body_state);
$group = new Form_Group('');
@@ -434,8 +463,9 @@ function filter_form_firewall() {
);
} else { // Simple log filter form
$form = new Form(false);
+ $form->setAttribute('id', 'filter-form')->addClass('collapse ' . $panel_state);
- $section = new Form_Section('Log Filter', 'basic-filter-panel', COLLAPSIBLE|$filter_state);
+ $section = new Form_Section('Log Filter', 'filter-panel', COLLAPSIBLE|$panel_body_state);
$group = new Form_Group('');
@@ -698,20 +728,30 @@ function manage_log_code() {
function manage_log_section() {
global $input_errors, $allowed_logs, $logfile, $config, $pconfig;
+ global $system_logs_manage_log_form_hidden;
if ($input_errors) {
print_input_errors($input_errors);
$manage_log_active = true;
}
- if ($manage_log_active)
- $manage_log_state = SEC_OPEN;
- else
- $manage_log_state = SEC_CLOSED;
+ if ($filter_active) {
+ $panel_state = 'in';
+ $panel_body_state = SEC_OPEN;
+ } else {
+ if ($system_logs_manage_log_form_hidden) {
+ $panel_state = 'out';
+ $panel_body_state = SEC_OPEN;
+ } else {
+ $panel_state = 'in';
+ $panel_body_state = SEC_CLOSED;
+ }
+ }
$form = new Form(false);
+ $form->setAttribute('id', 'manage-log-form')->addClass('collapse ' . $panel_state);
- $section = new Form_Section(gettext('Manage') . ' ' . gettext($allowed_logs[$logfile]["name"]) . ' ' . gettext('Log'), 'log-manager-panel', COLLAPSIBLE|$manage_log_state);
+ $section = new Form_Section(gettext('Manage') . ' ' . gettext($allowed_logs[$logfile]["name"]) . ' ' . gettext('Log'), 'manage-log-panel', COLLAPSIBLE|$panel_body_state);
$section->addInput(new Form_StaticText(
'',
diff --git a/src/usr/local/www/status_logs_filter.php b/src/usr/local/www/status_logs_filter.php
index 48f808c..e964442 100644
--- a/src/usr/local/www/status_logs_filter.php
+++ b/src/usr/local/www/status_logs_filter.php
@@ -145,6 +145,12 @@ if (!$input_errors && $savemsg) {
tab_array_logs_common();
+// Manage Log - Section/Form
+if ($system_logs_manage_log_form_hidden) {
+ manage_log_section();
+}
+
+
// Filter Section/Form - Firewall
filter_form_firewall();
@@ -359,7 +365,9 @@ print_info_box('<a href="https://doc.pfsense.org/index.php/What_are_TCP_Flags%3F
<?php
# Manage Log - Section/Form
-manage_log_section();
+if (!$system_logs_manage_log_form_hidden) {
+ manage_log_section();
+}
?>
<!-- AJAXY STUFF -->
diff --git a/src/usr/local/www/status_logs_filter_dynamic.php b/src/usr/local/www/status_logs_filter_dynamic.php
index a8845f6..b4be38a 100755
--- a/src/usr/local/www/status_logs_filter_dynamic.php
+++ b/src/usr/local/www/status_logs_filter_dynamic.php
@@ -125,6 +125,12 @@ if (!$input_errors && $savemsg) {
tab_array_logs_common();
+// Manage Log - Section/Form
+if ($system_logs_manage_log_form_hidden) {
+ manage_log_section();
+}
+
+
// Log Filter Submit - Firewall
filter_form_firewall();
@@ -489,7 +495,9 @@ if ($tcpcnt > 0) {
<?php
# Manage Log - Section/Form
-manage_log_section();
+if (!$system_logs_manage_log_form_hidden) {
+ manage_log_section();
+}
?>
<script type="text/javascript">
diff --git a/src/usr/local/www/status_logs_vpn.php b/src/usr/local/www/status_logs_vpn.php
index 2bd8a09..cce15dd 100644
--- a/src/usr/local/www/status_logs_vpn.php
+++ b/src/usr/local/www/status_logs_vpn.php
@@ -127,6 +127,12 @@ if (!$input_errors && $savemsg) {
tab_array_logs_common();
+// Manage Log - Section/Form
+if ($system_logs_manage_log_form_hidden) {
+ manage_log_section();
+}
+
+
// Filter Section/Form - VPN
filter_form_vpn();
@@ -272,7 +278,9 @@ if (!$rawfilter) {
<?php
# Manage Log - Section/Form
-manage_log_section();
+if (!$system_logs_manage_log_form_hidden) {
+ manage_log_section();
+}
?>
<?php
@@ -354,17 +362,26 @@ function filter_form_vpn() {
global $filter_active, $rawfilter, $filterfieldsarray, $filtertext, $filterlogentries_qty, $nentries, $Include_Act, $interfacefilter;
global $logfile;
+ global $system_logs_filter_form_hidden;
if ($filter_active) {
- $filter_state = SEC_OPEN;
+ $panel_state = 'in';
+ $panel_body_state = SEC_OPEN;
} else {
- $filter_state = SEC_CLOSED;
+ if ($system_logs_filter_form_hidden) {
+ $panel_state = 'out';
+ $panel_body_state = SEC_OPEN;
+ } else {
+ $panel_state = 'in';
+ $panel_body_state = SEC_CLOSED;
+ }
}
if (!$rawfilter) { // Advanced log filter form
$form = new Form(false);
+ $form->setAttribute('id', 'filter-form')->addClass('collapse ' . $panel_state);
- $section = new Form_Section('Advanced Log Filter', 'adv-filter-panel', COLLAPSIBLE|$filter_state);
+ $section = new Form_Section('Advanced Log Filter', 'filter-panel', COLLAPSIBLE|$panel_body_state);
if ($logfile == "vpn") {
$group = new Form_Group('');
@@ -460,8 +477,9 @@ function filter_form_vpn() {
);
} else { // Simple log filter form
$form = new Form(false);
+ $form->setAttribute('id', 'filter-form')->addClass('collapse ' . $panel_state);
- $section = new Form_Section('Log Filter', 'basic-filter-panel', COLLAPSIBLE|$filter_state);
+ $section = new Form_Section('Log Filter', 'filter-panel', COLLAPSIBLE|$panel_body_state);
$group = new Form_Group('');
diff --git a/src/usr/local/www/system.php b/src/usr/local/www/system.php
index 7c56b93..b6f4dd9 100644
--- a/src/usr/local/www/system.php
+++ b/src/usr/local/www/system.php
@@ -93,6 +93,9 @@ $pconfig['webguicss'] = $config['system']['webgui']['webguicss'];
$pconfig['webguifixedmenu'] = $config['system']['webgui']['webguifixedmenu'];
$pconfig['dashboardcolumns'] = $config['system']['webgui']['dashboardcolumns'];
$pconfig['webguileftcolumnhyper'] = isset($config['system']['webgui']['webguileftcolumnhyper']);
+$pconfig['dashboardavailablewidgetspanel'] = isset($config['system']['webgui']['dashboardavailablewidgetspanel']);
+$pconfig['systemlogsfilterpanel'] = isset($config['system']['webgui']['systemlogsfilterpanel']);
+$pconfig['systemlogsmanagelogpanel'] = isset($config['system']['webgui']['systemlogsmanagelogpanel']);
$pconfig['dnslocalhost'] = isset($config['system']['dnslocalhost']);
if (!$pconfig['timezone']) {
@@ -235,6 +238,15 @@ if ($_POST) {
unset($config['system']['webgui']['webguileftcolumnhyper']);
$config['system']['webgui']['webguileftcolumnhyper'] = $_POST['webguileftcolumnhyper'] ? true : false;
+ unset($config['system']['webgui']['dashboardavailablewidgetspanel']);
+ $config['system']['webgui']['dashboardavailablewidgetspanel'] = $_POST['dashboardavailablewidgetspanel'] ? true : false;
+
+ unset($config['system']['webgui']['systemlogsfilterpanel']);
+ $config['system']['webgui']['systemlogsfilterpanel'] = $_POST['systemlogsfilterpanel'] ? true : false;
+
+ unset($config['system']['webgui']['systemlogsmanagelogpanel']);
+ $config['system']['webgui']['systemlogsmanagelogpanel'] = $_POST['systemlogsmanagelogpanel'] ? true : false;
+
/* XXX - billm: these still need updating after figuring out how to check if they actually changed */
$olddnsservers = $config['system']['dnsserver'];
unset($config['system']['dnsserver']);
@@ -506,6 +518,34 @@ $section->addInput(new Form_Input(
[min => 1, max => 4]
))->setHelp('<span class="badge" title="This feature is in BETA">BETA</span>');
+$group = new Form_Group('Special Panels Show/Hide');
+
+$group->add(new Form_Checkbox(
+ 'dashboardavailablewidgetspanel',
+ null,
+ 'Available Widgets',
+ $pconfig['dashboardavailablewidgetspanel']
+ ))->setHelp('Show the Available Widgets panel on the Dashboard.');
+
+$group->add(new Form_Checkbox(
+ 'systemlogsfilterpanel',
+ null,
+ 'Log Filter',
+ $pconfig['systemlogsfilterpanel']
+))->setHelp('Show the Log Filter panel in System Logs.');
+
+$group->add(new Form_Checkbox(
+ 'systemlogsmanagelogpanel',
+ null,
+ 'Manage Logs',
+ $pconfig['systemlogsmanagelogpanel']
+))->setHelp('Show the Manage Log panel in System Logs.');
+
+$group->setHelp('These options set which special panels to show or hide. When a panel is hidden a button to show/hide the panel is displayed in the title bar.
+<br /><span class="badge" title="This feature is in BETA">BETA</span>');
+
+$section->add($group);
+
$section->addInput(new Form_Checkbox(
'webguileftcolumnhyper',
'Left Column Labels',
OpenPOWER on IntegriCloud