diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-09 10:55:03 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-09 13:09:38 +0100 |
| commit | 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch) | |
| tree | 5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/ajax.php | |
| parent | 7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff) | |
| download | ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2 ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip | |
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/ajax.php')
| -rw-r--r-- | srcs/phpmyadmin/ajax.php | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/ajax.php b/srcs/phpmyadmin/ajax.php new file mode 100644 index 0000000..9e02080 --- /dev/null +++ b/srcs/phpmyadmin/ajax.php @@ -0,0 +1,74 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * Generic AJAX endpoint for getting information about database + * + * @package PhpMyAdmin + */ +declare(strict_types=1); + +use PhpMyAdmin\Controllers\AjaxController; +use PhpMyAdmin\Core; +use PhpMyAdmin\DatabaseInterface; +use PhpMyAdmin\Response; +use PhpMyAdmin\Util; + +if (! defined('ROOT_PATH')) { + define('ROOT_PATH', __DIR__ . DIRECTORY_SEPARATOR); +} + +$_GET['ajax_request'] = 'true'; + +require_once ROOT_PATH . 'libraries/common.inc.php'; + +/** @var Response $response */ +$response = $containerBuilder->get(Response::class); +$response->setAjax(true); + +/** @var DatabaseInterface $dbi */ +$dbi = $containerBuilder->get(DatabaseInterface::class); + +/** @var AjaxController $controller */ +$controller = $containerBuilder->get(AjaxController::class); + +if (empty($_POST['type'])) { + Core::fatalError(__('Bad type!')); +} + +switch ($_POST['type']) { + case 'list-databases': + $response->addJSON($controller->databases()); + break; + case 'list-tables': + Util::checkParameters(['db'], true); + $response->addJSON($controller->tables([ + 'db' => $_POST['db'], + ])); + break; + case 'list-columns': + Util::checkParameters(['db', 'table'], true); + $response->addJSON($controller->columns([ + 'db' => $_POST['db'], + 'table' => $_POST['table'], + ])); + break; + case 'config-get': + Util::checkParameters(['key'], true); + $response->addJSON($controller->getConfig([ + 'key' => $_POST['key'], + ])); + break; + case 'config-set': + Util::checkParameters(['key', 'value'], true); + $result = $controller->setConfig([ + 'key' => $_POST['key'], + 'value' => $_POST['value'], + ]); + if ($result !== true) { + $response->setRequestStatus(false); + $response->addJSON('message', $result); + } + break; + default: + Core::fatalError(__('Bad type!')); +} |
