diff --git a/src/opnsense/mvc/app/views/OPNsense/Diagnostics/fw_log.volt b/src/opnsense/mvc/app/views/OPNsense/Diagnostics/fw_log.volt index 4124bf53d..416e57d5f 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Diagnostics/fw_log.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Diagnostics/fw_log.volt @@ -393,6 +393,33 @@ }); }); + /** + * set new selection + * @param items list of lexical expressions + */ + function set_selection(items) + { + // remove old selection + $("#filters > span.badge").click(); + // collect valid condition types + let conditions = []; + $("#filter_condition > option").each(function(){ + conditions.push($(this).val()); + }); + items.forEach(function(value) { + let parts = value.split(new RegExp("("+conditions.join("|")+")(.+)$")); + if (parts.length >= 3 && $("#filter_tag").val(parts[0]).val() === parts[0] ) { + $("#filter_tag").val(parts[0]); + $("#filter_condition").val(parts[1]); + $("#filter_value").val(parts[2]); + $("#add_filter_condition").click(); + } + }); + } + + // get and apply url params. ie11 compat + set_selection(window.location.search.substring(1).split("&")); + // startup poller poller(); }); diff --git a/src/www/widgets/widgets/log.widget.php b/src/www/widgets/widgets/log.widget.php index 06c25850d..a02c4a3df 100644 --- a/src/www/widgets/widgets/log.widget.php +++ b/src/www/widgets/widgets/log.widget.php @@ -58,7 +58,7 @@ if (is_numeric($pconfig['filterlogentries'])) { } if (!empty($pconfig['filterlogentriesinterfaces'])) { - $config['widgets']['filterlogentriesinterfaces'] = $pconfig['filterlogentriesinterfaces']; + $config['widgets']['filterlogentriesinterfaces'] = implode(',', $pconfig['filterlogentriesinterfaces']); } elseif (isset($config['widgets']['filterlogentriesinterfaces'])) { unset($config['widgets']['filterlogentriesinterfaces']); } @@ -75,15 +75,21 @@ $nentriesinterfaces = isset($config['widgets']['filterlogentriesinterfaces']) ? ?> @@ -199,13 +212,7 @@ $nentriesinterfaces = isset($config['widgets']['filterlogentriesinterfaces']) ?

- >