fix saving of settings

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2018-12-22 15:52:20 +01:00
parent b43a63d665
commit c1cd0004bf
4 changed files with 52 additions and 9 deletions

View File

@@ -4,7 +4,7 @@ namespace Froxlor\UI;
class Data
{
public static function getFormFieldDataText($fieldname, $fielddata, &$input)
public static function getFormFieldDataText($fieldname, $fielddata, $input)
{
if (isset($input[$fieldname])) {
$newfieldvalue = str_replace("\r\n", "\n", $input[$fieldname]);
@@ -15,7 +15,7 @@ class Data
return $newfieldvalue;
}
public static function getFormFieldDataOption($fieldname, $fielddata, &$input)
public static function getFormFieldDataOption($fieldname, $fielddata, $input)
{
if (isset($input[$fieldname])) {
$newfieldvalue = $input[$fieldname];
@@ -30,7 +30,7 @@ class Data
return $newfieldvalue;
}
public static function getFormFieldDataInt($fieldname, $fielddata, &$input)
public static function getFormFieldDataInt($fieldname, $fielddata, $input)
{
if (isset($input[$fieldname])) {
$newfieldvalue = (int) $input[$fieldname];
@@ -41,7 +41,7 @@ class Data
return $newfieldvalue;
}
public static function getFormFieldDataBool($fieldname, $fielddata, &$input)
public static function getFormFieldDataBool($fieldname, $fielddata, $input)
{
if (isset($input[$fieldname]) && ($input[$fieldname] === '1' || $input[$fieldname] === 1 || $input[$fieldname] === true || strtolower($input[$fieldname]) === 'yes' || strtolower($input[$fieldname]) === 'ja')) {
$newfieldvalue = '1';

View File

@@ -19,7 +19,7 @@ class Form
if (\Froxlor\Validate\Form::validateFieldDefinition($groupdetails)) {
// Prefetch form fields
foreach ($groupdetails['fields'] as $fieldname => $fielddetails) {
$groupdetails['fields'][$fieldname] = self::array_merge_prefix($fielddetails, $fielddetails['type'], prefetchFormFieldData($fieldname, $fielddetails));
$groupdetails['fields'][$fieldname] = self::array_merge_prefix($fielddetails, $fielddetails['type'], self::prefetchFormFieldData($fieldname, $fielddetails));
$form['groups'][$groupname]['fields'][$fieldname] = $groupdetails['fields'][$fieldname];
}
@@ -281,7 +281,7 @@ class Form
foreach ($groupdetails['fields'] as $fieldname => $fielddetails) {
if (! $only_enabledisable || ($only_enabledisable && isset($fielddetails['overview_option']))) {
if (isset($changed_fields[$fieldname])) {
if (($saved_field = self::saveFormField($fieldname, $fielddetails, manipulateFormFieldData($fieldname, $fielddetails, $changed_fields[$fieldname]))) !== false) {
if (($saved_field = self::saveFormField($fieldname, $fielddetails, self::manipulateFormFieldData($fieldname, $fielddetails, $changed_fields[$fieldname]))) !== false) {
$saved_fields = array_merge($saved_fields, $saved_field);
} else {
\Froxlor\UI\Response::standard_error('errorwhensaving', $fieldname);
@@ -294,7 +294,7 @@ class Form
}
// Save form
return saveForm($form, $saved_fields);
return self::saveForm($form, $saved_fields);
}
}
@@ -468,8 +468,10 @@ class Form
public static function getFormFieldData($fieldname, $fielddata, &$input)
{
if (is_array($fielddata) && isset($fielddata['type']) && $fielddata['type'] != '' && method_exists('\\Froxlor\\UI\\Data', 'getFormFieldData' . ucfirst($fielddata['type']))) {
$gfdFunc = '\\Froxlor\\UI\\Data::getFormFieldData' . ucfirst($fielddata['type']);
$newfieldvalue = $gfdFunc($fieldname, $fielddata, $input);
$newfieldvalue = call_user_func(array(
'\\Froxlor\\UI\\Data',
'getFormFieldData' . ucfirst($fielddata['type'])
), $fieldname, $fielddata, $input);
} else {
if (isset($input[$fieldname])) {
$newfieldvalue = $input[$fieldname];