From 3c20fe4202ee52d32d67c3de27c36c96a1cedd4d Mon Sep 17 00:00:00 2001 From: Michael Kaufmann Date: Mon, 7 Mar 2022 10:37:00 +0100 Subject: [PATCH] fix settings-search Signed-off-by: Michael Kaufmann --- admin_settings.php | 9 ++++++--- lib/Froxlor/Ajax/Ajax.php | 10 ++++++---- templates/Froxlor/form/formfields.html.twig | 20 ++++++++++++++++--- .../Froxlor/settings/detailpart.html.twig | 3 ++- templates/Froxlor/src/js/components/search.js | 6 +++--- 5 files changed, 34 insertions(+), 14 deletions(-) diff --git a/admin_settings.php b/admin_settings.php index cf6dffc8..6c9fed4d 100644 --- a/admin_settings.php +++ b/admin_settings.php @@ -16,10 +16,12 @@ * @package Panel * */ + use Froxlor\Database\Database; use Froxlor\Settings; use Froxlor\Api\Commands\Froxlor; use Froxlor\UI\Panel\UI; +use Froxlor\UI\Request; const AREA = 'admin'; require __DIR__ . '/lib/init.php'; @@ -91,7 +93,8 @@ if ($page == 'overview' && $userinfo['change_serversettings'] == '1') { if ($_part == '' || $_part == 'all') { UI::twigBuffer('settings/index.html.twig', ['fields' => $fields]); } else { - UI::twigBuffer('settings/detailpart.html.twig', ['fields' => $fields]); + $em = Request::get('em', ''); + UI::twigBuffer('settings/detailpart.html.twig', ['fields' => $fields, 'em' => $em]); } UI::twigOutputBuffer(); @@ -274,7 +277,7 @@ if ($page == 'overview' && $userinfo['change_serversettings'] == '1') { eval("echo \"" . \Froxlor\UI\Template::getTemplate("settings/integritycheck") . "\";"); } elseif ($page == 'importexport' && $userinfo['change_serversettings'] == '1') { // check for json-stuff - if (! extension_loaded('json')) { + if (!extension_loaded('json')) { \Froxlor\UI\Response::standard_error('jsonextensionnotfound'); } @@ -359,7 +362,7 @@ if ($page == 'overview' && $userinfo['change_serversettings'] == '1') { $_mailerror = true; } - if (! $_mailerror) { + if (!$_mailerror) { // success $mail->ClearAddresses(); \Froxlor\UI\Response::standard_success('testmailsent', '', array( diff --git a/lib/Froxlor/Ajax/Ajax.php b/lib/Froxlor/Ajax/Ajax.php index 2915e492..4de5c213 100644 --- a/lib/Froxlor/Ajax/Ajax.php +++ b/lib/Froxlor/Ajax/Ajax.php @@ -254,10 +254,12 @@ class Ajax if (!array_key_exists($settingkey, $processed_setting)) { $processed_setting[$settingkey] = true; $sresult = $settings_data[$pk[0]][$pk[1]][$pk[2]][$pk[3]]; - $result[] = [ - 'title' => (is_array($sresult['label']) ? $sresult['label']['title'] : $sresult['label']), - 'href' => 'admin_settings.php?page=overview&part=' . $pk[1] . '&em=' . $pk[3] . '&s=' . $this->session, - ]; + if ($sresult['type'] != 'hidden') { + $result[] = [ + 'title' => (is_array($sresult['label']) ? $sresult['label']['title'] : $sresult['label']), + 'href' => 'admin_settings.php?page=overview&part=' . $pk[1] . '&em=' . $pk[3] . '&s=' . $this->session, + ]; + } } } } diff --git a/templates/Froxlor/form/formfields.html.twig b/templates/Froxlor/form/formfields.html.twig index 598f4187..977d0782 100644 --- a/templates/Froxlor/form/formfields.html.twig +++ b/templates/Froxlor/form/formfields.html.twig @@ -1,14 +1,28 @@ -{% macro fieldrow(id, field, norow = false, nohide = false) %} +{% macro fieldrow(id, field, norow = false, nohide = false, em = false) %} {% if field.visible is not defined or (field.visible is defined and field.visible) or nohide == true %} {% if norow == false and field.type != 'hidden' %}
{% if field.label is iterable %} -