Add ExportPlugin::setExportOptions() abstract method

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
This commit is contained in:
Maurício Meneghini Fauth 2024-12-10 20:23:11 -03:00
parent 0765b057b6
commit bd806f7559
No known key found for this signature in database
GPG Key ID: 6A16FD38AFC89CC8
17 changed files with 80 additions and 4 deletions

View File

@ -19,7 +19,6 @@ use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Identifiers\DatabaseName;
use PhpMyAdmin\Message;
use PhpMyAdmin\Plugins;
use PhpMyAdmin\Plugins\Export\ExportSql;
use PhpMyAdmin\Plugins\Export\ExportXml;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Plugins\ExportType;
@ -108,9 +107,7 @@ final class ExportController implements InvocableController
return $this->response->response();
}
if ($request->hasBodyParam('sql_backquotes') && $exportPlugin instanceof ExportSql) {
$exportPlugin->useSqlBackquotes(true);
}
$exportPlugin->setExportOptions($request);
$config = Config::getInstance();
/**

View File

@ -8,6 +8,7 @@ declare(strict_types=1);
namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\Export\Helpers\TableProperty;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
@ -343,4 +344,8 @@ class ExportCodegen extends ExportPlugin
return implode("\n", $lines);
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -9,6 +9,7 @@ namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
@ -315,4 +316,8 @@ class ExportCsv extends ExportPlugin
return $this->exportData($db ?? '', '', $sqlQuery);
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -7,6 +7,7 @@ declare(strict_types=1);
namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
use PhpMyAdmin\Properties\Options\Items\BoolPropertyItem;
@ -81,4 +82,8 @@ class ExportExcel extends ExportCsv
return $exportPluginProperties;
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -10,6 +10,7 @@ namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\Column;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
@ -595,4 +596,8 @@ class ExportHtmlword extends ExportPlugin
return $definition;
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -10,6 +10,7 @@ namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\FieldMetadata;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
@ -319,4 +320,8 @@ class ExportJson extends ExportPlugin
return $this->doExportForQuery($dbi, $sqlQuery, $buffer, null, $db, null);
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -11,6 +11,7 @@ use DateTimeImmutable;
use PhpMyAdmin\Config;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Plugins\ExportType;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
@ -619,4 +620,8 @@ class ExportLatex extends ExportPlugin
{
return addcslashes($string, '$%{}&#_^');
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -9,6 +9,7 @@ namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
@ -355,4 +356,8 @@ class ExportMediawiki extends ExportPlugin
// The CRLF expected by the mediawiki format is "\n"
return "\n";
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -10,6 +10,7 @@ namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\FieldMetadata;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\OpenDocument;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
@ -314,4 +315,8 @@ class ExportOds extends ExportPlugin
return $this->exportData($db ?? '', '', $sqlQuery);
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -10,6 +10,7 @@ namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\Column;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\OpenDocument;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Plugins\ExportType;
@ -713,4 +714,8 @@ class ExportOdt extends ExportPlugin
return $definition;
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -5,6 +5,7 @@ declare(strict_types=1);
namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\Export\Helpers\Pdf;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
@ -291,4 +292,8 @@ class ExportPdf extends ExportPlugin
{
return class_exists(TCPDF::class);
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -9,6 +9,7 @@ namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
@ -240,4 +241,8 @@ class ExportPhparray extends ExportPlugin
return $this->exportData($db ?? '', '', $sqlQuery);
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -15,6 +15,7 @@ use PhpMyAdmin\Database\Events;
use PhpMyAdmin\Database\Routines;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Plugins\ExportType;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
@ -2706,4 +2707,9 @@ class ExportSql extends ExportPlugin
);
$generalOptions->addProperty($leaf);
}
public function setExportOptions(ServerRequest $request): void
{
$this->useSqlBackquotes = $request->hasBodyParam('sql_backquotes');
}
}

View File

@ -10,6 +10,7 @@ namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\Column;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
@ -549,4 +550,8 @@ class ExportTexytext extends ExportPlugin
return $definition;
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -11,6 +11,7 @@ use PhpMyAdmin\Database\Events;
use PhpMyAdmin\Database\Routines;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
@ -503,4 +504,8 @@ class ExportXml extends ExportPlugin
// Can't do server export.
return Current::$database !== '';
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -10,6 +10,7 @@ namespace PhpMyAdmin\Plugins\Export;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Dbal\ConnectionType;
use PhpMyAdmin\FieldMetadata;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Plugins\ExportPlugin;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
@ -204,4 +205,8 @@ class ExportYaml extends ExportPlugin
return $this->exportData($db ?? '', '', $sqlQuery);
}
public function setExportOptions(ServerRequest $request): void
{
}
}

View File

@ -9,6 +9,7 @@ namespace PhpMyAdmin\Plugins;
use PhpMyAdmin\ConfigStorage\Relation;
use PhpMyAdmin\Export\Export;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Properties\Plugins\ExportPluginProperties;
use PhpMyAdmin\Properties\Plugins\PluginPropertyItem;
use PhpMyAdmin\Transformations;
@ -335,4 +336,6 @@ abstract class ExportPlugin implements Plugin
{
return true;
}
abstract public function setExportOptions(ServerRequest $request): void;
}