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/navigation.php | 96 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 srcs/phpmyadmin/navigation.php (limited to 'srcs/phpmyadmin/navigation.php') diff --git a/srcs/phpmyadmin/navigation.php b/srcs/phpmyadmin/navigation.php new file mode 100644 index 0000000..a548b9a --- /dev/null +++ b/srcs/phpmyadmin/navigation.php @@ -0,0 +1,96 @@ +get(Response::class); + +/** @var DatabaseInterface $dbi */ +$dbi = $containerBuilder->get(DatabaseInterface::class); + +/** @var Navigation $navigation */ +$navigation = $containerBuilder->get('navigation'); +if (! $response->isAjax()) { + $response->addHTML( + Message::error( + __('Fatal error: The navigation can only be accessed via AJAX') + ) + ); + exit; +} + +if (isset($_POST['getNaviSettings']) && $_POST['getNaviSettings']) { + $response->addJSON('message', PageSettings::getNaviSettings()); + exit; +} + +if (isset($_POST['reload'])) { + Util::cacheSet('dbs_to_test', false);// Empty database list cache, see #14252 +} + +/** @var Relation $relation */ +$relation = $containerBuilder->get('relation'); +$cfgRelation = $relation->getRelationsParam(); +if ($cfgRelation['navwork']) { + if (isset($_POST['hideNavItem'])) { + if (! empty($_POST['itemName']) + && ! empty($_POST['itemType']) + && ! empty($_POST['dbName']) + ) { + $navigation->hideNavigationItem( + $_POST['itemName'], + $_POST['itemType'], + $_POST['dbName'], + (! empty($_POST['tableName']) ? $_POST['tableName'] : null) + ); + } + exit; + } + + if (isset($_POST['unhideNavItem'])) { + if (! empty($_POST['itemName']) + && ! empty($_POST['itemType']) + && ! empty($_POST['dbName']) + ) { + $navigation->unhideNavigationItem( + $_POST['itemName'], + $_POST['itemType'], + $_POST['dbName'], + (! empty($_POST['tableName']) ? $_POST['tableName'] : null) + ); + } + exit; + } + + if (isset($_POST['showUnhideDialog'])) { + if (! empty($_POST['dbName'])) { + $response->addJSON( + 'message', + $navigation->getItemUnhideDialog($_POST['dbName']) + ); + } + exit; + } +} + +// Do the magic +$response->addJSON('message', $navigation->getDisplay()); -- cgit