set(Response::class, Response::getInstance()); /** @var Response $response */ $response = $container->get(Response::class); /** @var DatabaseInterface $dbi */ $dbi = $container->get(DatabaseInterface::class); $response->setAjax(true); $controller = new AjaxController( $response, $dbi, $GLOBALS['PMA_Config'] ); 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!')); }