Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Tekiela <tekiela246@gmail.com>2022-08-07 23:50:05 +0300
committerKamil Tekiela <tekiela246@gmail.com>2022-08-08 16:33:50 +0300
commit1e70bba8836d6df2e85acd83ab8650f47c5fbfba (patch)
tree3c587666aaa6957cec21c9c2823f928999844b01 /libraries
parentd85cb55ddf13d6bb1e044c436b1ae93a926edff2 (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.php9
-rw-r--r--libraries/classes/InsertEdit.php9
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 (