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/libraries/classes/Controllers/Setup/ServersController.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/libraries/classes/Controllers/Setup/ServersController.php')
| -rw-r--r-- | srcs/phpmyadmin/libraries/classes/Controllers/Setup/ServersController.php | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Controllers/Setup/ServersController.php b/srcs/phpmyadmin/libraries/classes/Controllers/Setup/ServersController.php new file mode 100644 index 0000000..eedb94e --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Controllers/Setup/ServersController.php @@ -0,0 +1,66 @@ +<?php +/* vim: set expandtab sw=4 ts=4 sts=4: */ +/** + * Holds the PhpMyAdmin\Controllers\Setup\ServersController + * + * @package PhpMyAdmin\Controllers\Setup + */ +declare(strict_types=1); + +namespace PhpMyAdmin\Controllers\Setup; + +use PhpMyAdmin\Config\Forms\Setup\ServersForm; +use PhpMyAdmin\Core; +use PhpMyAdmin\Setup\FormProcessing; + +/** + * Class ServersController + * @package PhpMyAdmin\Controllers\Setup + */ +class ServersController extends AbstractController +{ + /** + * @param array $params Request parameters + * @return string HTML + */ + public function index(array $params): string + { + $pages = $this->getPages(); + + $id = Core::isValid($params['id'], 'numeric') ? (int) $params['id'] : null; + $hasServer = ! empty($id) && $this->config->get("Servers/$id") !== null; + + if (! $hasServer && ($params['mode'] !== 'revert' && $params['mode'] !== 'edit')) { + $id = 0; + } + + ob_start(); + FormProcessing::process(new ServersForm($this->config, $id)); + $page = ob_get_clean(); + + return $this->template->render('setup/servers/index', [ + 'formset' => $params['formset'] ?? '', + 'pages' => $pages, + 'has_server' => $hasServer, + 'mode' => $params['mode'], + 'server_id' => $id, + 'server_dsn' => $this->config->getServerDSN($id), + 'page' => $page, + ]); + } + + /** + * @param array $params Request parameters + * @return void + */ + public function destroy(array $params): void + { + $id = Core::isValid($params['id'], 'numeric') ? (int) $params['id'] : null; + + $hasServer = ! empty($id) && $this->config->get("Servers/$id") !== null; + + if ($hasServer) { + $this->config->removeServer($id); + } + } +} |
