From 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 9 Jan 2020 10:55:03 +0100 Subject: phpmyadmin working --- srcs/phpmyadmin/ajax.php | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 srcs/phpmyadmin/ajax.php (limited to 'srcs/phpmyadmin/ajax.php') 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 @@ +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!')); +} -- cgit