diff options
author | Kamil Tekiela <tekiela246@gmail.com> | 2022-08-07 23:50:05 +0300 |
---|---|---|
committer | Kamil Tekiela <tekiela246@gmail.com> | 2022-08-08 16:33:50 +0300 |
commit | 1e70bba8836d6df2e85acd83ab8650f47c5fbfba (patch) | |
tree | 3c587666aaa6957cec21c9c2823f928999844b01 /libraries | |
parent | d85cb55ddf13d6bb1e044c436b1ae93a926edff2 (diff) |
Fix bug not allowing insertion of set values
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
Diffstat (limited to 'libraries')
-rw-r--r-- | libraries/classes/Controllers/Table/ReplaceController.php | 9 | ||||
-rw-r--r-- | libraries/classes/InsertEdit.php | 9 |
2 files changed, 8 insertions, 10 deletions
diff --git a/libraries/classes/Controllers/Table/ReplaceController.php b/libraries/classes/Controllers/Table/ReplaceController.php index 8e4022bb5f..448e2f24dc 100644 --- a/libraries/classes/Controllers/Table/ReplaceController.php +++ b/libraries/classes/Controllers/Table/ReplaceController.php @@ -30,6 +30,7 @@ use function class_exists; use function count; use function implode; use function in_array; +use function is_array; use function is_file; use function is_numeric; use function method_exists; @@ -180,10 +181,15 @@ final class ReplaceController extends AbstractController // when inserting multiple entries $insert_fail = false; foreach ($multi_edit_columns_name as $key => $column_name) { - $current_value = $multi_edit_columns[$key]; // Note: $key is an md5 of the fieldname. The actual fieldname is // available in $multi_edit_columns_name[$key] + $current_value = $multi_edit_columns[$key]; + if (is_array($current_value)) { + // Some column types accept comma-separated values e.g. set + $current_value = implode(',', $current_value); + } + $file_to_insert = new File(); $file_to_insert->checkTblChangeForm((string) $key, (string) $rownumber); @@ -244,7 +250,6 @@ final class ReplaceController extends AbstractController $multi_edit_columns_type, $current_value, $multi_edit_auto_increment, - $rownumber, $multi_edit_columns_name, $multi_edit_columns_null, $multi_edit_columns_null_prev, diff --git a/libraries/classes/InsertEdit.php b/libraries/classes/InsertEdit.php index 5e14d53400..97b46419f2 100644 --- a/libraries/classes/InsertEdit.php +++ b/libraries/classes/InsertEdit.php @@ -1691,7 +1691,6 @@ class InsertEdit * @param array|null $multiEditColumnsType array of multi edit column types * @param string $currentValue current column value in the form * @param array|null $multiEditAutoIncrement multi edit auto increment - * @param int $rownumber index of where clause array * @param array $multiEditColumnsName multi edit column names array * @param array $multiEditColumnsNull multi edit columns null array * @param array $multiEditColumnsNullPrev multi edit columns previous null @@ -1708,7 +1707,6 @@ class InsertEdit ?array $multiEditColumnsType, string $currentValue, ?array $multiEditAutoIncrement, - $rownumber, $multiEditColumnsName, $multiEditColumnsNull, $multiEditColumnsNullPrev, @@ -1732,12 +1730,7 @@ class InsertEdit $currentValue = 'NULL'; } } elseif ($type === 'set') { - $currentValue = "''"; - if (! empty($_POST['fields']['multi_edit'][$rownumber][$key])) { - $currentValue = implode(',', $_POST['fields']['multi_edit'][$rownumber][$key]); - $currentValue = "'" - . $this->dbi->escapeString($currentValue) . "'"; - } + $currentValue = "'" . $this->dbi->escapeString($currentValue) . "'"; } elseif ($type === 'protected') { // Fetch the current values of a row to use in case we have a protected field if ( |