Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurício Meneghini Fauth <mauricio@fauth.dev>2022-08-07 04:25:32 +0300
committerMaurício Meneghini Fauth <mauricio@fauth.dev>2022-08-07 04:25:32 +0300
commit87d695f2c85b0f9c9bd83d91c26df5c5b3c1d61e (patch)
tree913a97e7144d8bda8b5acafb29fd99de7f347a4f /libraries
parent2d41333104b9d1f07c11b9adab4d12a22a99ee0b (diff)
Extract js/messages.php entry point into a route
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'libraries')
-rw-r--r--libraries/classes/Common.php15
-rw-r--r--libraries/classes/Header.php2
-rw-r--r--libraries/classes/Scripts.php2
-rw-r--r--libraries/routes.php2
4 files changed, 18 insertions, 3 deletions
diff --git a/libraries/classes/Common.php b/libraries/classes/Common.php
index 706074dc33..1670cf572c 100644
--- a/libraries/classes/Common.php
+++ b/libraries/classes/Common.php
@@ -25,7 +25,9 @@ use function defined;
use function explode;
use function extension_loaded;
use function function_exists;
+use function gmdate;
use function hash_equals;
+use function header;
use function htmlspecialchars;
use function implode;
use function ini_get;
@@ -41,6 +43,7 @@ use function mb_substr;
use function register_shutdown_function;
use function session_id;
use function strlen;
+use function time;
use function trigger_error;
use function urldecode;
@@ -95,10 +98,20 @@ final class Common
$request = self::getRequest();
$route = $request->getRoute();
- if ($route === '/import-status' || $route === '/url') {
+ if ($route === '/import-status' || $route === '/url' || $route === '/messages') {
$GLOBALS['isMinimumCommon'] = true;
}
+ if ($route === '/messages') {
+ // Send correct type.
+ header('Content-Type: text/javascript; charset=UTF-8');
+ // Cache output in client
+ // the nocache query parameter makes sure that this file is reloaded when config changes.
+ header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');
+
+ define('PMA_NO_SESSION', true);
+ }
+
$GLOBALS['containerBuilder'] = Core::getContainerBuilder();
$GLOBALS['errorHandler'] = $GLOBALS['containerBuilder']->get('error_handler');
diff --git a/libraries/classes/Header.php b/libraries/classes/Header.php
index 85bc1dcd10..c9217a4dea 100644
--- a/libraries/classes/Header.php
+++ b/libraries/classes/Header.php
@@ -141,7 +141,7 @@ class Header
$this->scripts->addFile('vendor/jquery/jquery-ui-timepicker-addon.js');
$this->scripts->addFile('menu_resizer.js');
$this->scripts->addFile('cross_framing_protection.js');
- $this->scripts->addFile('messages.php', ['l' => $GLOBALS['lang']]);
+ $this->scripts->addFile('index.php', ['route' => '/messages', 'l' => $GLOBALS['lang']]);
$this->scripts->addFile('config.js');
$this->scripts->addFile('functions.js');
$this->scripts->addFile('navigation.js');
diff --git a/libraries/classes/Scripts.php b/libraries/classes/Scripts.php
index 4ccfc1a4a6..66e86729ed 100644
--- a/libraries/classes/Scripts.php
+++ b/libraries/classes/Scripts.php
@@ -88,7 +88,7 @@ class Scripts
{
return ! str_contains($filename, 'jquery')
&& ! str_contains($filename, 'codemirror')
- && ! str_contains($filename, 'messages.php')
+ && ! str_contains($filename, 'index.php')
&& ! str_contains($filename, 'ajax.js')
&& ! str_contains($filename, 'datetimepicker.js')
&& ! str_contains($filename, 'validator-messages.js')
diff --git a/libraries/routes.php b/libraries/routes.php
index 44f1062780..5e95d0a2ac 100644
--- a/libraries/routes.php
+++ b/libraries/routes.php
@@ -17,6 +17,7 @@ use PhpMyAdmin\Controllers\GisDataEditorController;
use PhpMyAdmin\Controllers\GitInfoController;
use PhpMyAdmin\Controllers\HomeController;
use PhpMyAdmin\Controllers\Import;
+use PhpMyAdmin\Controllers\JavaScriptMessagesController;
use PhpMyAdmin\Controllers\LicenseController;
use PhpMyAdmin\Controllers\LintController;
use PhpMyAdmin\Controllers\LogoutController;
@@ -128,6 +129,7 @@ return static function (RouteCollector $routes): void {
$routes->get('/license', LicenseController::class);
$routes->addRoute(['GET', 'POST'], '/lint', LintController::class);
$routes->addRoute(['GET', 'POST'], '/logout', LogoutController::class);
+ $routes->get('/messages', JavaScriptMessagesController::class);
$routes->addRoute(['GET', 'POST'], '/navigation', NavigationController::class);
$routes->addGroup('/normalization', static function (RouteCollector $routes): void {
$routes->addRoute(['GET', 'POST'], '', Normalization\MainController::class);