don't search setting when using specific search and not settings: specified

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2022-04-03 18:54:37 +02:00
parent 7779ec376a
commit a4b780e7f7
2 changed files with 36 additions and 30 deletions

View File

@@ -223,7 +223,10 @@ class Ajax
$result = [];
// settings
$result_settings = [];
if (isset($this->userinfo['adminsession']) && $this->userinfo['adminsession'] == 1 && $this->userinfo['change_serversettings'] == 1) {
$result_settings = GlobalSearch::searchSettings($searchtext, $this->userinfo);
}
// all searchable entities
$result_entities = GlobalSearch::searchGlobal($searchtext, $this->userinfo);

View File

@@ -32,10 +32,14 @@ class GlobalSearch
$stparts = explode(" ", $searchtext);
foreach ($stparts as $searchtext) {
$searchtext = trim($searchtext);
// settings (if allowed)
if (isset($userinfo['adminsession']) && $userinfo['adminsession'] == 1 && $userinfo['change_serversettings'] == 1) {
if (preg_match('/^([a-z]+):$/', $searchtext, $matches)) {
// only search settings if specific search is 'settings', else skip
if ($matches[1] == 'settings') {
continue;
} else {
break;
}
}
$settings_data = PhpHelper::loadConfigArrayDir(Froxlor::getInstallDir() . '/actions/admin/settings/');
$results = array();
if (!isset($processed['settings'])) {
@@ -61,7 +65,6 @@ class GlobalSearch
} // if not processed
} // correct settingkey
} // foreach
} // admin + change_serversetting
} // foreach
} // searchtext min 3 chars
return $result;