Extract js/messages.php entry point into a route
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
parent
2d41333104
commit
87d695f2c8
2
js/global.d.ts
vendored
2
js/global.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
// js/messages.php
|
||||
// libraries/classes/Controllers/JavaScriptMessagesController.php
|
||||
declare var Messages: { [p: string]: string };
|
||||
|
||||
// templates/javascript/variables.twig
|
||||
|
||||
@ -1,64 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use PhpMyAdmin\Common;
|
||||
use PhpMyAdmin\Controllers\JavaScriptMessagesController;
|
||||
use PhpMyAdmin\OutputBuffering;
|
||||
|
||||
if (! defined('ROOT_PATH')) {
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
define('ROOT_PATH', dirname(__DIR__) . DIRECTORY_SEPARATOR);
|
||||
// phpcs:enable
|
||||
}
|
||||
|
||||
if (PHP_VERSION_ID < 70205) {
|
||||
die('<p>PHP 7.2.5+ is required.</p><p>Currently installed version is: ' . PHP_VERSION . '</p>');
|
||||
}
|
||||
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
define('PHPMYADMIN', true);
|
||||
// phpcs:enable
|
||||
|
||||
require_once ROOT_PATH . 'libraries/constants.php';
|
||||
|
||||
/**
|
||||
* Activate autoloader
|
||||
*/
|
||||
if (! @is_readable(AUTOLOAD_FILE)) {
|
||||
die(
|
||||
'<p>File <samp>' . AUTOLOAD_FILE . '</samp> missing or not readable.</p>'
|
||||
. '<p>Most likely you did not run Composer to '
|
||||
. '<a href="https://docs.phpmyadmin.net/en/latest/setup.html#installing-from-git">'
|
||||
. 'install library files</a>.</p>'
|
||||
);
|
||||
}
|
||||
|
||||
require AUTOLOAD_FILE;
|
||||
|
||||
chdir('..');
|
||||
|
||||
// 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');
|
||||
|
||||
$GLOBALS['isMinimumCommon'] = true;
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
define('PMA_PATH_TO_BASEDIR', '../');
|
||||
define('PMA_NO_SESSION', true);
|
||||
// phpcs:enable
|
||||
|
||||
Common::run();
|
||||
|
||||
$buffer = OutputBuffering::getInstance();
|
||||
$buffer->start();
|
||||
|
||||
register_shutdown_function(static function (): void {
|
||||
echo OutputBuffering::getInstance()->getContents();
|
||||
});
|
||||
|
||||
/** @var JavaScriptMessagesController $controller */
|
||||
$controller = $GLOBALS['containerBuilder']->get(JavaScriptMessagesController::class);
|
||||
$controller();
|
||||
@ -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');
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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')
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -15,7 +15,6 @@
|
||||
<directory name="setup"/>
|
||||
<directory name="test/classes"/>
|
||||
<directory name="test/selenium"/>
|
||||
<file name="js/messages.php"/>
|
||||
<file name="index.php"/>
|
||||
<file name="show_config_errors.php"/>
|
||||
<ignoreFiles>
|
||||
|
||||
@ -183,8 +183,6 @@ validateExtension() {
|
||||
;;
|
||||
index.php)
|
||||
;;
|
||||
js/messages.php)
|
||||
;;
|
||||
config.sample.inc.php)
|
||||
;;
|
||||
show_config_errors.php)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{% for file in files %}
|
||||
<script data-cfasync="false" type="text/javascript" src="{{ base_dir }}js/
|
||||
{{- file.filename starts with 'vendor/' or file.filename starts with 'messages.php' ? file.filename : 'dist/' ~ file.filename -}}
|
||||
<script data-cfasync="false" type="text/javascript" src="{{ base_dir }}{{ not (file.filename starts with 'index.php') ? 'js/' -}}
|
||||
{{- file.filename starts with 'vendor/' or file.filename starts with 'index.php' ? file.filename : 'dist/' ~ file.filename -}}
|
||||
{{- '.php' in file.filename ? get_common(file.params|merge({'v': version})) : '?v=' ~ version|url_encode }}"></script>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
<script type="text/javascript" src="../js/dist/setup/ajax.js"></script>
|
||||
<script type="text/javascript" src="../js/dist/config.js"></script>
|
||||
<script type="text/javascript" src="../js/dist/setup/scripts.js"></script>
|
||||
<script type="text/javascript" src="../js/messages.php"></script>
|
||||
<script type="text/javascript" src="../{{ url('/messages') }}"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user