Commit Graph

69 Commits

Author SHA1 Message Date
Maximilian Krög
76be859196
Restrict map tile url to https protocol
Signed-off-by: Maximilian Krög <maxi_kroeg@web.de>
2026-03-08 03:23:08 +01:00
Maximilian Krög
e781d75a1e
Remove X-Frame-Options header in favor of CSP frame-ancestors
Signed-off-by: Maximilian Krög <maxi_kroeg@web.de>
2026-03-08 03:18:39 +01:00
Maximilian Krög
8f15b3f4a4
Make CSP header code more readable
Signed-off-by: Maximilian Krög <maxi_kroeg@web.de>
2026-03-08 02:09:45 +01:00
Maximilian Krög
2522b3610e
Remove obsolete alternative CSP headers
Signed-off-by: Maximilian Krög <maxi_kroeg@web.de>
2026-03-08 02:00:51 +01:00
William Desportes
015d75c0d1
Merge branch 'QA_5_2'
Signed-off-by: William Desportes <williamdes@wdes.fr>
2026-02-24 15:36:06 +01:00
Kamil Tekiela
520c016720 Session::getToken()
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2026-02-19 21:13:00 +00:00
Maurício Meneghini Fauth
38f1e46d68
Extract ResponseRenderer dependency from Navigation classes
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2026-02-13 21:22:16 -03:00
Maurício Meneghini Fauth
eb3debf24c
Remove side effects from Header constructor
Lazy load Scripts class and Menu class in Header class.

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2026-02-13 10:01:39 -03:00
Liviu-Mihail Concioiu
d8de539c61 Show stylesheets only if CodeMirror is enabled
Signed-off-by: Liviu-Mihail Concioiu <liviu.concioiu@gmail.com>
2026-02-07 15:21:20 +01:00
Maurício Meneghini Fauth
21ae1694a6
Extract dependencies from Util::expandUserString()
Uses DI instead.

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2026-01-30 15:21:07 -03:00
Maurício Meneghini Fauth
efa8ce431b
Introduce support for PSR-20 ClockInterface
Related to https://github.com/phpmyadmin/phpmyadmin/pull/20030

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2026-01-19 19:22:53 -03:00
Maurício Meneghini Fauth
d152e71161
Test Core::getNoCacheHeaders() with a frozen clock
This avoids the tests randomly failing when current time differs.

Also changes the format from RFC 1123 to RFC 7231.

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2026-01-18 22:16:52 -03:00
Kamil Tekiela
a1f1cedff5 Remove bool comparison
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2026-01-14 14:24:16 +00:00
Maurício Meneghini Fauth
cad4c6fc1e
Extract user preferences handling from Config class
This removes the Config's circular dependency on DatabaseInterface
class.

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2026-01-09 11:27:47 -03:00
Maurício Meneghini Fauth
520cd8ef8b
Move UserPreferences class to Config namespace
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2026-01-09 11:13:26 -03:00
Kamil Tekiela
c7fc7441b0 Convert settings to config
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2026-01-09 00:16:37 +00:00
Kamil Tekiela
829f0f2140 Convert settings to config
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2026-01-09 00:16:37 +00:00
Kamil Tekiela
f698a9f7c5 Remove all redundant null-coalesce
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2026-01-09 00:16:37 +00:00
Maurício Meneghini Fauth
6db52b05b1
Extract dependencies from Header
Uses DI instead.

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2026-01-04 15:09:30 -03:00
Maurício Meneghini Fauth
34a4e668e0
Add method Header::isMenuEnabled()
The property Header::$isMenuEnabled shouldn't be set in constructor
as this does not allow instanciating Header before connecting to the
database server.

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2025-12-24 16:43:23 -03:00
Kamil Tekiela
9aaf51a1a7
DocblockReturnArrayFromDirectArrayInstanceRector
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2025-10-12 20:06:05 -03:00
Liviu-Mihail Concioiu
26ea24414e Use jquery-ui-timepicker-addon.min.js (41 KB) instead of jquery-ui-timepicker-addon.js (78 KB)
Signed-off-by: Liviu-Mihail Concioiu <liviu.concioiu@gmail.com>
2025-07-30 19:20:46 +02:00
Liviu-Mihail Concioiu
4bbe89a74c Fix unrecognized feature: 'oversized-images'
Signed-off-by: Liviu-Mihail Concioiu <liviu.concioiu@gmail.com>
2025-07-28 23:52:15 +02:00
Maurício Meneghini Fauth
a82b8e22a8
Add static analysis stub for PSR ContainerInterface
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2025-07-15 18:37:24 -03:00
Maurício Meneghini Fauth
120f5ae847
Remove PMA_PATH_TO_BASEDIR constant
It's always an empty string.

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2025-07-07 19:40:41 -03:00
Maurício Meneghini Fauth
166b7a18ea
Merge pull request #19712 from MauricioFauth/js-vendor-bundle
Import OpenLayers and Bootstrap directly using Webpack
2025-05-24 19:43:06 -03:00
Kamil Tekiela
ef85fd44b2 Move Console class to Console NS
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2025-05-23 00:27:17 +01:00
Maurício Meneghini Fauth
3eb9ac92a3
Import Bootstrap directly using Webpack
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2025-05-22 18:09:06 -03:00
Kamil Tekiela
ac20c0fb1e Convert DisableShortcutKeys to $config
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2025-01-24 17:13:53 +00:00
Kamil Tekiela
0d8ed00cc2 Convert SendErrorReports to use $config
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2025-01-24 17:13:53 +00:00
Kamil Tekiela
0c7529fa54 Create userPreferences property
This is not part of the config.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2025-01-24 17:12:23 +00:00
Kamil Tekiela
aadd4a2d9a Move renderFooter & renderHeader to more appropriate classes
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2025-01-24 17:12:23 +00:00
Maurício Meneghini Fauth
887cd542b9
Remove jQuery UI's tooltip and name-conflict-fixes file
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2025-01-23 17:50:45 -03:00
Kamil Tekiela
b62ffe17c7 Merge the logic into Settings
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2025-01-16 19:31:50 +00:00
Maurício Meneghini Fauth
c2cdfd7fb3
Remove the buffer_message global variable
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2025-01-10 17:57:39 -03:00
Maurício Meneghini Fauth
5548f8fe5b
Replace lang global var with Current::$lang prop
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2024-12-24 12:01:03 -03:00
Maurício Meneghini Fauth
03d9afc33f
Replace message global with Current::$message prop
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2024-12-23 19:09:46 -03:00
Kamil Tekiela
8015e4de72 Move DatabaseInterface to Dbal
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2024-12-22 18:34:53 +00:00
Maurício Meneghini Fauth
258057a69c
Add I18n\TextDirection enum
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2024-10-31 19:34:36 -03:00
Maurício Meneghini Fauth
c2b1e312b7
Move Language and LanguageManager into I18n namespace
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2024-10-31 18:52:01 -03:00
Maurício Meneghini Fauth
90ee00efd5
Create the 'pma' global variable for Twig templates
Creates the Twig\PmaGlobalVariable class to handle the 'pma' Twig global
variable.

The idea of this global variable is to automatically inject in all
templates some useful information.

For now it only includes `pma.version` to get the phpMyAdmin version
and `pma.text_dir` to get the text direction ('ltr' or 'rtl').

Adding new variables to the `pma` global variable should be done with
caution.

- https://twig.symfony.com/doc/3.x/advanced.html#globals

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-07-09 20:30:48 -03:00
Maurício Meneghini Fauth
ebf0f11d2d
Refactor ResponseRenderer::response()
Adds HTTP headers to the Response object instead of using the header()
function directly.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-05-25 14:16:11 -03:00
Maurício Meneghini Fauth
e4375c250d
Merge header.twig and footer.twig into base.twig
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-05-23 00:32:18 -03:00
Maurício Meneghini Fauth
4adf5a4cad
Remove isAjax from Header and Footer classes
The header and footer will always be empty when the request is ajax, so
only the content part is necessary.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-05-22 20:42:52 -03:00
Maurício Meneghini Fauth
578ed90b8f
Remove the ResponseRenderer::disable() method
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-05-13 18:13:27 -03:00
Maurício Meneghini Fauth
9b25d12e01
Extract recent table handling from Header into a middleware
This removes the recent visited table handling from the Header class and
moves it to a new middleware.

This also removes a duplicated update via front-end.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-04-14 17:19:26 -03:00
Maurício Meneghini Fauth
104487b253
Merge branch 'QA_5_2'
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-03-13 21:03:42 -03:00
Kamil Tekiela
8e4443b17b
Applying suggestions from static analysis tools (#19013)
* Drop array keys from lists

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Import UrlTest

When it doesn't exist in Prod, the code will still work the same.
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Drop redundant return [];

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Fix object access checks

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Use strict comparison

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Int keys should be specified as integers

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Use empty string check instead of strlen

Potential null deprecations are replaced with loose condition.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Use stripos instead of *substr

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Simplify substr's 3rd param

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove unnecessary defaults

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Replace isZeroBasedArray with array_is_list

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Simplify texEscape()

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Simplify exportZeroBasedArray()

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Replace for loop with array_diff

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Replace for with foreach

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove nullable param in backquoteCompat

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Use null-coalescing operator

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Inline $result variable

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Turn $event into a constant

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Move selectDb outside the loop

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Fix code style order of operation

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove unnecessary isset argument

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Remove line break

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

* Use foreach instead of for

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>

---------

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2024-02-27 12:29:02 -03:00
Maurício Meneghini Fauth
d07fa7e5f4
Extract Config from Navigation class
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-02-12 19:31:08 -03:00
Maurício Meneghini Fauth
59e6feef12
Extract Config from Header class
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2024-02-12 19:09:32 -03:00