Visitar URL original
Merge #20081 - Fix buffer not closed and toon default indent · phpmyadmin/phpmyadmin@5f28170 · GitHub
Skip to content

Commit 5f28170

Browse files
committed
Merge #20081 - Fix buffer not closed and toon default indent
Pull-request: #20081 Signed-off-by: William Desportes <williamdes@wdes.fr>
2 parents b89ee4e + 89beb40 commit 5f28170

3 files changed

Lines changed: 14 additions & 32 deletions

File tree

‎phpstan-baseline.neon‎

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8902,17 +8902,8 @@ parameters:
89028902
path: src/Plugins/Export/ExportTexytext.php
89038903

89048904
-
8905-
message: '''
8906-
#^Call to deprecated method getInstance\(\) of class PhpMyAdmin\\Dbal\\DatabaseInterface\:
8907-
Use dependency injection instead\.$#
8908-
'''
8909-
identifier: staticMethod.deprecated
8910-
count: 2
8911-
path: src/Plugins/Export/ExportToon.php
8912-
8913-
-
8914-
message: '#^Cannot cast mixed to int\.$#'
8915-
identifier: cast.int
8905+
message: '#^Cannot cast mixed to string\.$#'
8906+
identifier: cast.string
89168907
count: 1
89178908
path: src/Plugins/Export/ExportToon.php
89188909

@@ -17123,4 +17114,3 @@ parameters:
1712317114
identifier: staticMethod.alreadyNarrowedType
1712417115
count: 1
1712517116
path: tests/unit/WebAuthn/WebauthnLibServerTest.php
17126-

‎psalm-baseline.xml‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5998,10 +5998,6 @@
59985998
</PossiblyUndefinedVariable>
59995999
</file>
60006000
<file src="src/Plugins/Export/ExportToon.php">
6001-
<DeprecatedMethod>
6002-
<code><![CDATA[DatabaseInterface::getInstance()]]></code>
6003-
<code><![CDATA[DatabaseInterface::getInstance()]]></code>
6004-
</DeprecatedMethod>
60056001
<RedundantCondition>
60066002
<code><![CDATA[$exportConfig->toon_indent]]></code>
60076003
<code><![CDATA[$exportConfig->toon_separator]]></code>

‎src/Plugins/Export/ExportToon.php‎

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
namespace PhpMyAdmin\Plugins\Export;
99

1010
use PhpMyAdmin\Config\Settings\Export;
11+
use PhpMyAdmin\Dbal\ConnectionType;
1112
use PhpMyAdmin\Dbal\DatabaseInterface;
1213
use PhpMyAdmin\Export\StructureOrData;
1314
use PhpMyAdmin\Http\ServerRequest;
@@ -20,7 +21,7 @@
2021

2122
use function __;
2223
use function array_key_last;
23-
use function is_int;
24+
use function ctype_digit;
2425
use function is_string;
2526
use function sprintf;
2627
use function str_repeat;
@@ -95,12 +96,11 @@ public function exportData(
9596
): void {
9697
$dbAlias = $this->getDbAlias($aliases, $db);
9798
$tableAlias = $this->getTableAlias($aliases, $db, $table);
98-
$dbi = DatabaseInterface::getInstance();
99-
$result = $dbi->query($sqlQuery);
99+
$result = $this->dbi->query($sqlQuery, ConnectionType::User, DatabaseInterface::QUERY_UNBUFFERED);
100100

101101
$columnsCnt = $result->numFields();
102102
$rowsCnt = $result->numRows();
103-
$fieldsMeta = $dbi->getFieldsMeta($result);
103+
$fieldsMeta = $this->dbi->getFieldsMeta($result);
104104

105105
$columns = [];
106106
foreach ($fieldsMeta as $i => $field) {
@@ -166,7 +166,7 @@ public function exportData(
166166
public function exportRawQuery(string $db, string $sqlQuery): void
167167
{
168168
if ($db !== '') {
169-
DatabaseInterface::getInstance()->selectDb($db);
169+
$this->dbi->selectDb($db);
170170
}
171171

172172
$this->exportData($db, '', $sqlQuery);
@@ -192,37 +192,33 @@ public function setExportOptions(ServerRequest $request, Export $exportConfig):
192192
);
193193

194194
$this->indent = $this->setIntValue(
195-
(int) $request->getParsedBodyParam('toon_indent'),
195+
$request->getParsedBodyParam('toon_indent'),
196196
$exportConfig->toon_indent ?? $this->indent,
197197
);
198198
// phpcs:enable Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
199199

200200
$this->setupExportConfiguration();
201201
}
202202

203-
private function setStringValue(mixed $fromRequest, mixed $fromConfig): string
203+
private function setStringValue(mixed $fromRequest, string $fromConfig): string
204204
{
205205
if (is_string($fromRequest) && $fromRequest !== '') {
206206
return $fromRequest;
207207
}
208208

209-
if (is_string($fromConfig) && $fromConfig !== '') {
209+
if ($fromConfig !== '') {
210210
return $fromConfig;
211211
}
212212

213213
return '';
214214
}
215215

216-
private function setIntValue(mixed $fromRequest, mixed $fromConfig): int
216+
private function setIntValue(mixed $fromRequest, int $fromConfig): int
217217
{
218-
if (is_int($fromRequest)) {
219-
return $fromRequest;
220-
}
221-
222-
if (is_int($fromConfig)) {
223-
return $fromConfig;
218+
if (ctype_digit((string) $fromRequest)) {
219+
return (int) $fromRequest;
224220
}
225221

226-
return 0;
222+
return $fromConfig;
227223
}
228224
}

0 commit comments

Comments
 (0)