2 /* vim: set expandtab sw=4 ts=4 sts=4: */
8 declare(strict_types
=1);
10 use PhpMyAdmin\Controllers\Server\ReplicationController
;
11 use PhpMyAdmin\DatabaseInterface
;
12 use PhpMyAdmin\Di\Container
;
13 use PhpMyAdmin\ReplicationGui
;
14 use PhpMyAdmin\Response
;
16 if (! defined('ROOT_PATH')) {
17 define('ROOT_PATH', __DIR__
. DIRECTORY_SEPARATOR
);
20 require_once ROOT_PATH
. 'libraries/common.inc.php';
21 require_once ROOT_PATH
. 'libraries/server_common.inc.php';
22 require_once ROOT_PATH
. 'libraries/replication.inc.php';
24 $container = Container
::getDefaultContainer();
25 $container->set(Response
::class, Response
::getInstance());
27 /** @var Response $response */
28 $response = $container->get(Response
::class);
30 /** @var DatabaseInterface $dbi */
31 $dbi = $container->get(DatabaseInterface
::class);
33 /** @var ReplicationController $controller */
34 $controller = $containerBuilder->get(ReplicationController
::class);
36 /** @var ReplicationGui $replicationGui */
37 $replicationGui = $containerBuilder->get('replication_gui');
39 $header = $response->getHeader();
40 $scripts = $header->getScripts();
41 $scripts->addFile('server_privileges.js');
42 $scripts->addFile('replication.js');
43 $scripts->addFile('vendor/zxcvbn.js');
45 if (isset($_POST['url_params']) && is_array($_POST['url_params'])) {
46 $GLOBALS['url_params'] = $_POST['url_params'];
49 if ($dbi->isSuperuser()) {
50 $replicationGui->handleControlRequest();
56 'mr_configure' => $_POST['mr_configure'] ??
null,
57 'sl_configure' => $_POST['sl_configure'] ??
null,
58 'repl_clear_scr' => $_POST['repl_clear_scr'] ??
null,