diff options
Diffstat (limited to 'srcs/phpmyadmin/db_sql_autocomplete.php')
| -rw-r--r-- | srcs/phpmyadmin/db_sql_autocomplete.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/db_sql_autocomplete.php b/srcs/phpmyadmin/db_sql_autocomplete.php new file mode 100644 index 0000000..86e94e1 --- /dev/null +++ b/srcs/phpmyadmin/db_sql_autocomplete.php @@ -0,0 +1,41 @@ +<?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('ROOT_PATH')) { + define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR); +} + +require_once ROOT_PATH . 'libraries/common.inc.php'; + +/** @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)); |
