1
0
mirror of https://github.com/phpmyadmin/phpmyadmin.git synced 2026-10-23 18:29:15 +03:00
Files
phpmyadmin/src/Controllers/Sql/RelationalValuesController.php
Maurício Meneghini Fauth 137283f909 Remove unused constructor params from controllers
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-04-08 15:59:34 -03:00

47 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Controllers\Sql;
use PhpMyAdmin\Controllers\InvocableController;
use PhpMyAdmin\Current;
use PhpMyAdmin\Http\Response;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Sql;
final class RelationalValuesController implements InvocableController
{
public function __construct(private readonly ResponseRenderer $response, private readonly Sql $sql)
{
}
/**
* Get values for the relational columns
*
* During grid edit, if we have a relational field, show the dropdown for it.
*/
public function __invoke(ServerRequest $request): Response|null
{
$column = $request->getParsedBodyParam('column');
$relationKeyOrDisplayColumn = $request->getParsedBodyParam('relation_key_or_display_column');
if ($_SESSION['tmpval']['relational_display'] === 'D' && $relationKeyOrDisplayColumn !== null) {
$currValue = $relationKeyOrDisplayColumn;
} else {
$currValue = $request->getParsedBodyParam('curr_value');
}
$dropdown = $this->sql->getHtmlForRelationalColumnDropdown(
Current::$database,
Current::$table,
(string) $column,
(string) $currValue,
);
$this->response->addJSON('dropdown', $dropdown);
return null;
}
}