Extract ResponseRenderer from Sql
Uses DI instead. Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
This commit is contained in:
parent
7e6248c796
commit
ef2477bae2
@ -307,6 +307,7 @@ return [
|
||||
Template::class,
|
||||
BookmarkRepository::class,
|
||||
Config::class,
|
||||
ResponseRenderer::class,
|
||||
],
|
||||
],
|
||||
SqlQueryForm::class => [
|
||||
|
||||
24
src/Sql.php
24
src/Sql.php
@ -69,6 +69,7 @@ class Sql
|
||||
private readonly Template $template,
|
||||
private readonly BookmarkRepository $bookmarkRepository,
|
||||
private readonly Config $config,
|
||||
private readonly ResponseRenderer $responseRenderer,
|
||||
) {
|
||||
}
|
||||
|
||||
@ -486,16 +487,15 @@ class Sql
|
||||
*/
|
||||
private function handleQueryExecuteError(bool $isGotoFile, string $error, string $fullSqlQuery): never
|
||||
{
|
||||
$response = ResponseRenderer::getInstance();
|
||||
if ($isGotoFile) {
|
||||
$message = Message::rawError($error);
|
||||
$response->setRequestStatus(false);
|
||||
$response->addJSON('message', $message);
|
||||
$this->responseRenderer->setRequestStatus(false);
|
||||
$this->responseRenderer->addJSON('message', $message);
|
||||
} else {
|
||||
Generator::mysqlDie($error, $fullSqlQuery, false);
|
||||
}
|
||||
|
||||
$response->callExit();
|
||||
$this->responseRenderer->callExit();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -746,8 +746,7 @@ class Sql
|
||||
string $table,
|
||||
string $sqlQueryForBookmark,
|
||||
): array {
|
||||
$response = ResponseRenderer::getInstance();
|
||||
$response->getHeader()->getMenu()->setTable($table);
|
||||
$this->responseRenderer->getHeader()->getMenu()->setTable($table);
|
||||
|
||||
Profiling::enable($this->dbi);
|
||||
|
||||
@ -982,9 +981,8 @@ class Sql
|
||||
$extraData['indexes_list'] = $this->getIndexList($table, $db);
|
||||
}
|
||||
|
||||
$response = ResponseRenderer::getInstance();
|
||||
$response->addJSON($extraData);
|
||||
$header = $response->getHeader();
|
||||
$this->responseRenderer->addJSON($extraData);
|
||||
$header = $this->responseRenderer->getHeader();
|
||||
$scripts = $header->getScripts();
|
||||
$scripts->addFile('sql.js');
|
||||
|
||||
@ -1060,8 +1058,7 @@ class Sql
|
||||
$row[0] = bin2hex($row[0]);
|
||||
}
|
||||
|
||||
$response = ResponseRenderer::getInstance();
|
||||
$response->addJSON('value', $row[0]);
|
||||
$this->responseRenderer->addJSON('value', $row[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1289,14 +1286,13 @@ class Sql
|
||||
// value of a transformed field, show it here
|
||||
if ($request->hasBodyParam('grid_edit')) {
|
||||
$this->getResponseForGridEdit($result);
|
||||
ResponseRenderer::getInstance()->callExit();
|
||||
$this->responseRenderer->callExit();
|
||||
}
|
||||
|
||||
// Gets the list of fields properties
|
||||
$fieldsMeta = $this->dbi->getFieldsMeta($result);
|
||||
|
||||
$response = ResponseRenderer::getInstance();
|
||||
$header = $response->getHeader();
|
||||
$header = $this->responseRenderer->getHeader();
|
||||
$scripts = $header->getScripts();
|
||||
|
||||
$justOneTable = $this->resultSetHasJustOneTable($fieldsMeta);
|
||||
|
||||
@ -96,6 +96,7 @@ class ImportControllerTest extends AbstractTestCase
|
||||
$template,
|
||||
$bookmarkRepository,
|
||||
$config,
|
||||
$responseRenderer,
|
||||
);
|
||||
|
||||
$importController = new ImportController(
|
||||
|
||||
@ -72,6 +72,7 @@ class EnumValuesControllerTest extends AbstractTestCase
|
||||
$template,
|
||||
$bookmarkRepository,
|
||||
$config,
|
||||
$responseRenderer,
|
||||
);
|
||||
|
||||
$sqlController = new EnumValuesController($responseRenderer, $template, $sql);
|
||||
@ -134,6 +135,7 @@ class EnumValuesControllerTest extends AbstractTestCase
|
||||
$template,
|
||||
$bookmarkRepository,
|
||||
$config,
|
||||
$responseRenderer,
|
||||
);
|
||||
|
||||
$sqlController = new EnumValuesController($responseRenderer, $template, $sql);
|
||||
|
||||
@ -72,6 +72,7 @@ class SetValuesControllerTest extends AbstractTestCase
|
||||
$template,
|
||||
$bookmarkRepository,
|
||||
$config,
|
||||
$responseRenderer,
|
||||
);
|
||||
|
||||
$sqlController = new SetValuesController($responseRenderer, $template, $sql);
|
||||
@ -134,6 +135,7 @@ class SetValuesControllerTest extends AbstractTestCase
|
||||
$template,
|
||||
$bookmarkRepository,
|
||||
$config,
|
||||
$responseRenderer,
|
||||
);
|
||||
|
||||
$sqlController = new SetValuesController($responseRenderer, $template, $sql);
|
||||
|
||||
@ -62,6 +62,7 @@ class DeleteRowsControllerTest extends AbstractTestCase
|
||||
->withParsedBody(['original_sql_query' => 'SELECT * FROM `test_db`.`test_table`']);
|
||||
|
||||
$relation = new Relation($dbi, $config);
|
||||
$response = new ResponseRenderer();
|
||||
$sql = new Sql(
|
||||
$dbi,
|
||||
$relation,
|
||||
@ -70,9 +71,9 @@ class DeleteRowsControllerTest extends AbstractTestCase
|
||||
new Template($config),
|
||||
new BookmarkRepository($dbi, $relation),
|
||||
$config,
|
||||
$response,
|
||||
);
|
||||
|
||||
$response = new ResponseRenderer();
|
||||
(new DeleteRowsController($response, $dbi, $sql))($request);
|
||||
$actual = $response->getHTMLResult();
|
||||
self::assertStringContainsString(
|
||||
|
||||
@ -112,6 +112,7 @@ class ReplaceControllerTest extends AbstractTestCase
|
||||
$template,
|
||||
$bookmarkRepository,
|
||||
$config,
|
||||
$response,
|
||||
),
|
||||
$pageSettings,
|
||||
$bookmarkRepository,
|
||||
|
||||
@ -47,6 +47,7 @@ final class SearchControllerTest extends AbstractTestCase
|
||||
$config = new Config();
|
||||
$relation = new Relation($dbi, $config);
|
||||
$template = new Template($config);
|
||||
$responseRenderer = new ResponseRenderer();
|
||||
$sql = new Sql(
|
||||
$dbi,
|
||||
$relation,
|
||||
@ -55,9 +56,9 @@ final class SearchControllerTest extends AbstractTestCase
|
||||
$template,
|
||||
new BookmarkRepository($dbi, $relation),
|
||||
$config,
|
||||
$responseRenderer,
|
||||
);
|
||||
|
||||
$responseRenderer = new ResponseRenderer();
|
||||
$controller = new SearchController(
|
||||
$responseRenderer,
|
||||
$template,
|
||||
|
||||
@ -16,6 +16,7 @@ use PhpMyAdmin\ParseAnalyze;
|
||||
use PhpMyAdmin\Sql;
|
||||
use PhpMyAdmin\Template;
|
||||
use PhpMyAdmin\Tests\Stubs\DbiDummy;
|
||||
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
|
||||
use PhpMyAdmin\Transformations;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\DataProvider;
|
||||
@ -61,6 +62,7 @@ class SqlTest extends AbstractTestCase
|
||||
new Template($config),
|
||||
new BookmarkRepository($this->dbi, $relation),
|
||||
$config,
|
||||
new ResponseRenderer(),
|
||||
);
|
||||
}
|
||||
|
||||
@ -666,6 +668,7 @@ class SqlTest extends AbstractTestCase
|
||||
new Template($config),
|
||||
new BookmarkRepository($this->dbi, $relation),
|
||||
$config,
|
||||
new ResponseRenderer(),
|
||||
);
|
||||
|
||||
$dbiDummy->removeDefaultResults();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user