Merge pull request #17679 from kamil-tekiela/Fix-bug-that-doesn't-allow-insertion-of-set-values
Fix bug not allowing insertion of set values
This commit is contained in:
commit
d237752642
@ -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,
|
||||
|
||||
@ -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 (
|
||||
|
||||
@ -3658,16 +3658,13 @@
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>$insertErrors</code>
|
||||
</InvalidArgument>
|
||||
<MixedArgument occurrences="31">
|
||||
<MixedArgument occurrences="28">
|
||||
<code>$_POST['db']</code>
|
||||
<code>$_POST['rel_fields_list']</code>
|
||||
<code>$_POST['table']</code>
|
||||
<code>$_POST['transform_fields_list']</code>
|
||||
<code>$column_name</code>
|
||||
<code>$column_name</code>
|
||||
<code>$current_value</code>
|
||||
<code>$current_value</code>
|
||||
<code>$current_value</code>
|
||||
<code>$errorMessages</code>
|
||||
<code>$extra_data</code>
|
||||
<code>$lastMessages</code>
|
||||
@ -3692,11 +3689,11 @@
|
||||
<code>$where_clause</code>
|
||||
</MixedArgument>
|
||||
<MixedArgumentTypeCoercion occurrences="5">
|
||||
<code>$current_value</code>
|
||||
<code>$key</code>
|
||||
<code>$key</code>
|
||||
<code>$queryValues</code>
|
||||
<code>$queryValues</code>
|
||||
<code>$rownumber</code>
|
||||
</MixedArgumentTypeCoercion>
|
||||
<MixedArrayAccess occurrences="4">
|
||||
<code>$_POST['fields_name']['multi_edit']</code>
|
||||
@ -3713,7 +3710,7 @@
|
||||
<MixedArrayOffset occurrences="1">
|
||||
<code>$mimeMap[$column_name]</code>
|
||||
</MixedArrayOffset>
|
||||
<MixedAssignment occurrences="32">
|
||||
<MixedAssignment occurrences="31">
|
||||
<code>$GLOBALS['active_page']</code>
|
||||
<code>$GLOBALS['cfg']['InsertRows']</code>
|
||||
<code>$GLOBALS['disp_message']</code>
|
||||
@ -3729,7 +3726,6 @@
|
||||
<code>$column_name</code>
|
||||
<code>$column_name</code>
|
||||
<code>$curr_rel_field</code>
|
||||
<code>$current_value</code>
|
||||
<code>$extra_data['row_count']</code>
|
||||
<code>$insertRows</code>
|
||||
<code>$multi_edit_auto_increment</code>
|
||||
@ -3755,12 +3751,9 @@
|
||||
<code>$where_clause</code>
|
||||
<code>$where_clause</code>
|
||||
</MixedOperand>
|
||||
<PossiblyNullArgument occurrences="11">
|
||||
<PossiblyNullArgument occurrences="8">
|
||||
<code>$GLOBALS['urlParams']</code>
|
||||
<code>$GLOBALS['urlParams']</code>
|
||||
<code>$current_value</code>
|
||||
<code>$current_value</code>
|
||||
<code>$current_value</code>
|
||||
<code>$multi_edit_columns_null</code>
|
||||
<code>$multi_edit_columns_null</code>
|
||||
<code>$multi_edit_columns_null_prev</code>
|
||||
@ -7910,9 +7903,8 @@
|
||||
</file>
|
||||
<file src="libraries/classes/InsertEdit.php">
|
||||
<LessSpecificReturnStatement occurrences="1"/>
|
||||
<MixedArgument occurrences="78">
|
||||
<MixedArgument occurrences="77">
|
||||
<code>$_POST['fields']['multi_edit']</code>
|
||||
<code>$_POST['fields']['multi_edit'][$rownumber][$key]</code>
|
||||
<code>$backupField</code>
|
||||
<code>$columnMime['input_transformation_options']</code>
|
||||
<code>$column['Default']</code>
|
||||
|
||||
@ -2187,7 +2187,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
[],
|
||||
'',
|
||||
[],
|
||||
0,
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
@ -2206,7 +2205,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
['test'],
|
||||
'',
|
||||
[1],
|
||||
0,
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
@ -2225,7 +2223,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
['test'],
|
||||
'',
|
||||
[],
|
||||
0,
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
@ -2245,7 +2242,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
['set'],
|
||||
'',
|
||||
[],
|
||||
0,
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
@ -2264,7 +2260,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
['protected'],
|
||||
'',
|
||||
[],
|
||||
0,
|
||||
['name'],
|
||||
[],
|
||||
[],
|
||||
@ -2283,7 +2278,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
['protected'],
|
||||
'',
|
||||
[],
|
||||
0,
|
||||
['a'],
|
||||
[],
|
||||
[],
|
||||
@ -2302,7 +2296,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
['bit'],
|
||||
'20\'12',
|
||||
[],
|
||||
0,
|
||||
['a'],
|
||||
[],
|
||||
[],
|
||||
@ -2321,7 +2314,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
['date'],
|
||||
'20\'12',
|
||||
[],
|
||||
0,
|
||||
['a'],
|
||||
[],
|
||||
[],
|
||||
@ -2341,7 +2333,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
['set'],
|
||||
'',
|
||||
[],
|
||||
0,
|
||||
[],
|
||||
[1],
|
||||
[],
|
||||
@ -2360,7 +2351,6 @@ class InsertEditTest extends AbstractTestCase
|
||||
['protected'],
|
||||
'',
|
||||
[],
|
||||
0,
|
||||
['a'],
|
||||
[],
|
||||
[1],
|
||||
|
||||
Loading…
Reference in New Issue
Block a user