Skip to content

Commit 26d68e3

Browse files
committed
Merge #19996 - Move exportSql checks and refactor code
Pull-request: #19996 Fixes: #19855 Signed-off-by: William Desportes <williamdes@wdes.fr>
2 parents a964ecc + 6452754 commit 26d68e3

9 files changed

Lines changed: 158 additions & 136 deletions

File tree

phpstan-baseline.neon

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2181,12 +2181,6 @@ parameters:
21812181
count: 2
21822182
path: src/Controllers/Export/ExportController.php
21832183

2184-
-
2185-
message: '#^Only booleans are allowed in &&, string\|null given on the left side\.$#'
2186-
identifier: booleanAnd.leftNotBoolean
2187-
count: 1
2188-
path: src/Controllers/Export/ExportController.php
2189-
21902184
-
21912185
message: '#^Only booleans are allowed in &&, string\|null given on the right side\.$#'
21922186
identifier: booleanAnd.rightNotBoolean

psalm-baseline.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1304,7 +1304,6 @@
13041304
<code><![CDATA[$tableData]]></code>
13051305
</MixedPropertyTypeCoercion>
13061306
<RiskyTruthyFalsyComparison>
1307-
<code><![CDATA[$asSeparateFiles]]></code>
13081307
<code><![CDATA[$onServerParam]]></code>
13091308
<code><![CDATA[$quickExportOnServer]]></code>
13101309
<code><![CDATA[empty($this->config->settings['MemoryLimit'])]]></code>

src/Controllers/Export/ExportController.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use PhpMyAdmin\Exceptions\ExportException;
1515
use PhpMyAdmin\Export\Export;
1616
use PhpMyAdmin\Export\OutputHandler;
17+
use PhpMyAdmin\Export\SeparateFiles;
1718
use PhpMyAdmin\Http\Factory\ResponseFactory;
1819
use PhpMyAdmin\Http\Response;
1920
use PhpMyAdmin\Http\ServerRequest;
@@ -55,7 +56,7 @@ public function __invoke(ServerRequest $request): Response
5556
$quickOrCustom = $request->getParsedBodyParamAsStringOrNull('quick_or_custom');
5657
$outputFormat = $request->getParsedBodyParamAsStringOrNull('output_format');
5758
$compressionParam = $request->getParsedBodyParamAsString('compression', '');
58-
$asSeparateFiles = $request->getParsedBodyParamAsStringOrNull('as_separate_files');
59+
$asSeparateFiles = $request->getParsedBodyParamAsString('as_separate_files', '');
5960
$quickExportOnServer = $request->getParsedBodyParamAsStringOrNull('quick_export_onserver');
6061
$onServerParam = $request->getParsedBodyParamAsStringOrNull('onserver');
6162
/** @var array|null $aliasesParam */
@@ -81,7 +82,7 @@ public function __invoke(ServerRequest $request): Response
8182
}
8283

8384
if ($request->hasBodyParam('maxsize')) {
84-
Export::$maxSize = $request->getParsedBodyParamAsString('maxsize');
85+
Export::$tableMaxSizeInMb = $request->getParsedBodyParamAsString('maxsize');
8586
}
8687

8788
$tableSelectParam = [];
@@ -135,7 +136,7 @@ public function __invoke(ServerRequest $request): Response
135136
* init and variable checking
136137
*/
137138
$filename = '';
138-
$separateFiles = '';
139+
$separateFiles = SeparateFiles::None;
139140

140141
// Is it a quick or custom export?
141142
$isQuickExport = $quickOrCustom === 'quick';
@@ -146,8 +147,8 @@ public function __invoke(ServerRequest $request): Response
146147
OutputHandler::$asFile = false;
147148
} else {
148149
OutputHandler::$asFile = true;
149-
if ($asSeparateFiles && $compressionParam === 'zip') {
150-
$separateFiles = $asSeparateFiles;
150+
if ($asSeparateFiles !== '' && $compressionParam === 'zip') {
151+
$separateFiles = SeparateFiles::from($asSeparateFiles);
151152
}
152153

153154
if (in_array($compressionParam, $compressionMethods, true)) {
@@ -413,7 +414,7 @@ public function __invoke(ServerRequest $request): Response
413414
$this->export->outputHandler->convertBufferCharset();
414415

415416
// Compression needed?
416-
$this->export->outputHandler->compress($separateFiles !== '', $filename);
417+
$this->export->outputHandler->compress($separateFiles !== SeparateFiles::None, $filename);
417418

418419
if ($saveOnServer) {
419420
$message = $this->export->outputHandler->closeFile();

0 commit comments

Comments
 (0)