fix settings-search

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2022-03-07 10:37:00 +01:00
parent 958e783e77
commit 3c20fe4202
5 changed files with 34 additions and 14 deletions

View File

@@ -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(

View File

@@ -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,
];
}
}
}
}

View File

@@ -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' %}
<div class="row mb-3 pb-3 border-bottom">
{% if field.label is iterable %}
<label for="{{ id }}" class="col-sm-4 col-form-label">{{ field.label.title|raw }}
<label for="{{ id }}" class="col-sm-4 col-form-label">
{% if em %}
<mark>
{% endif %}
{{ field.label.title|raw }}
{% if em %}
</mark>
{% endif %}
{% if field.label.description is defined and field.label.description is not empty %}<br><small>{{ field.label.description|raw }}</small>
{% endif %}
</label>
{% else %}
<label for="{{ id }}" class="col-sm-4 col-form-label">{{ field.label|raw }}
<label for="{{ id }}" class="col-sm-4 col-form-label">
{% if em %}
<mark>
{% endif %}
{{ field.label|raw }}
{% if em %}
</mark>
{% endif %}
{% if field.desc is defined and field.desc is not empty %}<br><small>{{ field.desc|raw }}</small>
{% endif %}
</label>

View File

@@ -8,7 +8,8 @@
<div class="card-body">
{% for id,setting in fields %}
{% if id != '_group' %}
{{ formfields.fieldrow(id, setting, false, (get_setting('system.hide_incompatible_settings') == '0')) }}
{% set isEm = em is defined and em == id %}
{{ formfields.fieldrow(id, setting, false, (get_setting('system.hide_incompatible_settings') == '0'), isEm) }}
{% endif %}
{% endfor %}
</div>

View File

@@ -5,8 +5,8 @@ $(document).ready(function () {
input: '.js-typeahead-search_v1',
order: "desc",
dynamic: true,
display: ['data.title'],
href: "{{url}}",
display: ['title'],
href: "{{href}}",
emptyTemplate: "No results for {{query}}",
debug: true,
source: {
@@ -14,7 +14,7 @@ $(document).ready(function () {
ajax: {
method: "post",
url: "lib/ajax.php?action=searchsetting&theme=" + window.$theme + "&s=" + window.$session,
path: "title",
path: "settings",
data: {
searchtext: '{{query}}'
},