Assert in ReplaceController

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
This commit is contained in:
Kamil Tekiela 2024-11-10 19:13:26 +00:00 committed by Maurício Meneghini Fauth
parent 6add4fccf0
commit 60299e46ba
3 changed files with 9 additions and 21 deletions

View File

@ -3908,7 +3908,7 @@ parameters:
-
message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#"
count: 2
count: 1
path: src/Controllers/Table/ReplaceController.php
-
@ -4016,11 +4016,6 @@ parameters:
count: 1
path: src/Controllers/Table/ReplaceController.php
-
message: "#^Parameter \\#1 \\$oneWhereClause of method PhpMyAdmin\\\\InsertEdit\\:\\:setSessionForEditNext\\(\\) expects string, mixed given\\.$#"
count: 1
path: src/Controllers/Table/ReplaceController.php
-
message: "#^Parameter \\#1 \\$query of method PhpMyAdmin\\\\InsertEdit\\:\\:executeSqlQuery\\(\\) expects array, mixed given\\.$#"
count: 1

View File

@ -3440,7 +3440,6 @@
<code><![CDATA[$multiEditColumnsType[$key] ?? '']]></code>
<code><![CDATA[$multiEditFuncs[$key] ?? '']]></code>
<code><![CDATA[$multiEditSalt[$key] ?? null]]></code>
<code><![CDATA[$oneWhereClause]]></code>
<code><![CDATA[$relationField]]></code>
<code><![CDATA[$relationFieldValue]]></code>
</MixedArgument>
@ -3485,20 +3484,14 @@
<code><![CDATA[$multiEditFuncs]]></code>
<code><![CDATA[$multiEditSalt]]></code>
<code><![CDATA[$multiEditVirtual]]></code>
<code><![CDATA[$oneWhereClause]]></code>
<code><![CDATA[$relationField]]></code>
<code><![CDATA[$relationFieldValue]]></code>
<code><![CDATA[$submitType]]></code>
<code><![CDATA[$whereClause]]></code>
<code><![CDATA[$whereClause]]></code>
<code><![CDATA[UrlParams::$params['where_clause'][]]]></code>
</MixedAssignment>
<MixedOperand>
<code><![CDATA[$relationFieldValue]]></code>
</MixedOperand>
<MixedStringOffsetAssignment>
<code><![CDATA[UrlParams::$params['where_clause'][]]]></code>
</MixedStringOffsetAssignment>
<PossiblyInvalidArrayAssignment>
<code><![CDATA[UrlParams::$params['where_clause'][]]]></code>
</PossiblyInvalidArrayAssignment>

View File

@ -27,6 +27,7 @@ use PhpMyAdmin\Table\Table;
use PhpMyAdmin\Transformations;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
use Webmozart\Assert\Assert;
use function __;
use function array_keys;
@ -75,14 +76,13 @@ final class ReplaceController implements InvocableController
$afterInsert = $request->getParsedBodyParamAsStringOrNull('after_insert');
if (in_array($afterInsert, ['new_insert', 'same_insert', 'edit_next'], true)) {
UrlParams::$params['after_insert'] = $afterInsert;
$whereClause = $request->getParsedBodyParam('where_clause');
if ($whereClause !== null) {
foreach ($whereClause as $oneWhereClause) {
if ($afterInsert === 'same_insert') {
UrlParams::$params['where_clause'][] = $oneWhereClause;
} elseif ($afterInsert === 'edit_next') {
$this->insertEdit->setSessionForEditNext($oneWhereClause);
}
$whereClause = $request->getParsedBodyParam('where_clause', []);
Assert::allString($whereClause);
foreach ($whereClause as $oneWhereClause) {
if ($afterInsert === 'same_insert') {
UrlParams::$params['where_clause'][] = $oneWhereClause;
} elseif ($afterInsert === 'edit_next') {
$this->insertEdit->setSessionForEditNext($oneWhereClause);
}
}
}