phpmyadmin/libraries/entry_points/database/sql/autocomplete.php
Maurício Meneghini Fauth f0a1762f78 Use the router for the SQL autocomplete and format
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2019-08-07 18:16:07 -03:00

42 lines
966 B
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Table/Column autocomplete in SQL editors
*
* @package PhpMyAdmin
*/
declare(strict_types=1);
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Response;
if (! defined('PHPMYADMIN')) {
exit;
}
global $containerBuilder;
/** @var Response $response */
$response = $containerBuilder->get(Response::class);
/** @var DatabaseInterface $dbi */
$dbi = $containerBuilder->get(DatabaseInterface::class);
if ($GLOBALS['cfg']['EnableAutocompleteForTablesAndColumns']) {
$db = isset($_POST['db']) ? $_POST['db'] : $GLOBALS['db'];
$sql_autocomplete = [];
if ($db) {
$tableNames = $dbi->getTables($db);
foreach ($tableNames as $tableName) {
$sql_autocomplete[$tableName] = $dbi->getColumns(
$db,
$tableName
);
}
}
} else {
$sql_autocomplete = true;
}
$response->addJSON("tables", json_encode($sql_autocomplete));