add advanced_mode flag to various settings; exclude from output and global-search when settings-mode is 'basic'
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
@@ -4,6 +4,7 @@ namespace Froxlor\Ajax;
|
||||
|
||||
use Froxlor\Froxlor;
|
||||
use Froxlor\PhpHelper;
|
||||
use Froxlor\Settings;
|
||||
use Froxlor\UI\Collection;
|
||||
|
||||
/**
|
||||
@@ -50,9 +51,15 @@ class GlobalSearch
|
||||
$pk = explode(".", $pathkey);
|
||||
if (count($pk) > 4) {
|
||||
$settingkey = $pk[0] . '.' . $pk[1] . '.' . $pk[2] . '.' . $pk[3];
|
||||
if (isset($settings_data[$pk[0]][$pk[1]]['advanced_mode']) && $settings_data[$pk[0]][$pk[1]]['advanced_mode'] && (int) Settings::Get('panel.settings_mode') == 0) {
|
||||
continue;
|
||||
}
|
||||
if (is_array($processed['settings']) && !array_key_exists($settingkey, $processed['settings'])) {
|
||||
$processed['settings'][$settingkey] = true;
|
||||
$sresult = $settings_data[$pk[0]][$pk[1]][$pk[2]][$pk[3]];
|
||||
if (isset($sresult['advanced_mode']) && $sresult['advanced_mode'] && (int) Settings::Get('panel.settings_mode') == 0) {
|
||||
continue;
|
||||
}
|
||||
if ($sresult['type'] != 'hidden') {
|
||||
if (!isset($result['settings'])) {
|
||||
$result['settings'] = [];
|
||||
|
||||
@@ -12,6 +12,10 @@ class Form
|
||||
|
||||
if (\Froxlor\Validate\Form::validateFormDefinition($form)) {
|
||||
foreach ($form['groups'] as $groupname => $groupdetails) {
|
||||
// check for advanced mode sections
|
||||
if (isset($groupdetails['advanced_mode']) && $groupdetails['advanced_mode'] && (int) Settings::Get('panel.settings_mode') == 0) {
|
||||
continue;
|
||||
}
|
||||
// show overview
|
||||
if ($part == '' || $part == 'all') {
|
||||
if (isset($groupdetails['title']) && $groupdetails['title'] != '') {
|
||||
@@ -48,6 +52,10 @@ class Form
|
||||
if (\Froxlor\Validate\Form::validateFieldDefinition($groupdetails)) {
|
||||
// Collect form field output
|
||||
foreach ($groupdetails['fields'] as $fieldname => $fielddetails) {
|
||||
// check for advanced mode sections
|
||||
if (isset($fielddetails['advanced_mode']) && $fielddetails['advanced_mode'] && (int) Settings::Get('panel.settings_mode') == 0) {
|
||||
continue;
|
||||
}
|
||||
$fields[$fieldname] = self::getFormFieldOutput($fieldname, $fielddetails);
|
||||
$fields[$fieldname] = array_merge($fields[$fieldname], self::prefetchFormFieldData($fieldname, $fielddetails));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user