Commit Graph

247 Commits

Author SHA1 Message Date
Maurício Meneghini Fauth
50d97afd0e
Move Routing class to the Routing namespace
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-06-26 18:16:59 -03:00
Kamil Tekiela
f8111a7a7e
Replace inline static with class static (#18490)
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
Co-authored-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-06-26 16:00:51 -03:00
Kamil Tekiela
ed46bcb755 Remove $cookiePath
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-06-07 22:52:55 +01:00
Kamil Tekiela
176645be7b Shorten else/if to elseif
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-05-12 00:12:58 +01:00
Maurício Meneghini Fauth
8bbb1edbea
Remove ThemeManager::getInstance() method
Remove singleton from the Theme\ThemeManager class and uses DI where
possible.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-05-09 21:29:49 -03:00
Maurício Meneghini Fauth
196c1d4255
Refactor Config::getConnectionParams() method
Removes the $server array param and use the Server class instead.
Uses the user and pass Server properties instead of returning an array.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-05-07 02:26:33 -03:00
Maurício Meneghini Fauth
250a32b795 Add the Config::getCurrentServer() method
The Config::getCurrentServer() method returns the current server
configuration. It's an VO that is equivalent to
$GLOBALS['cfg']['Server'] setting.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-04-30 17:37:34 -03:00
Maurício Meneghini Fauth
aa119f7e62 Remove unused Config::$defaultServer property
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-04-30 13:23:27 -03:00
Maurício Meneghini Fauth
5ffe2847ac
Remove Config::checkServers() method
Removes the Config::checkServers() method as it's duplicated in
Config\Settings class.
Also uses the Settings class to filter invalid config keys when loading
a config file.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-04-29 14:50:18 -03:00
Maurício Meneghini Fauth
56926e807f
Move Config::loadDefaults() to constructor
Makes sure that Config's properties are always initialized and that
the config property is in sync with the settings property.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-04-27 21:48:56 -03:00
Maurício Meneghini Fauth
fd88454d08
Update request URI scheme with config value
Removes the Config::isHttps() call from constructor as PmaAbsoluteUri is
not available yet.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-04-27 16:40:29 -03:00
Maurício Meneghini Fauth
6a2c12bdc8
Add missing traversable type hints
Replace array type hint with mixed[] type hint, since it means the same.
This way it's possible to require traversable type hint for new code.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-04-02 01:32:12 -03:00
Maurício Meneghini Fauth
dd885dc7b8
Use single-line arrays when possible
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-03-27 17:39:17 -03:00
Maurício Meneghini Fauth
fbbbebf6e2
Fix wrong global var name
Introduced by 437215cab2

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-03-26 23:14:41 -03:00
Maurício Meneghini Fauth
e5698c85e9
Require single line for function calls
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-03-26 23:10:10 -03:00
Maurício Meneghini Fauth
437215cab2
Rename variables to use camel case format
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-03-26 21:47:50 -03:00
Kamil Tekiela
266f69ffb6 Fix param type in setUserValue
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-03-25 13:57:54 +00:00
Kamil Tekiela
555c6798eb Add native param types
Includes TypeHints.UnionTypeHintFormat

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-03-17 12:45:18 +00:00
Maurício Meneghini Fauth
b4895064ac
Merge pull request #18251 from kamil-tekiela/micro-optimizations-1
Micro optimizations 1
2023-03-14 16:54:41 -03:00
Maurício Meneghini Fauth
865c46e320
Move Theme and ThemeManager into the Theme namespace
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-03-13 10:25:48 -03:00
Kamil Tekiela
71a646c7b5 Introduce private property $isHttps
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-03-12 23:11:08 +00:00
Kamil Tekiela
50d6a75b7e Optimize hot code in isHttps()
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-03-12 22:59:19 +00:00
Maurício Meneghini Fauth
5c5e8c2de1
Replace $GLOBALS['cfg']['MysqlMinVersion'] in Common class
Replaces with PhpMyAdmin\Config\Settings::$mysqlMinVersion access.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-03-02 17:29:54 -03:00
Maurício Meneghini Fauth
a035b5173d
Refactor Config\Settings::toArray() method
Rename it to asArray() and remove get_object_vars() function call.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-03-01 15:55:40 -03:00
Maurício Meneghini Fauth
51a20c09fc
Add Config\Settings\Server::asArray() method
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-03-01 15:16:26 -03:00
Kamil Tekiela
276577ca2a
Remove $GLOBALS['PMA_PHP_SELF'] (#18149)
* Remove $GLOBALS['PMA_PHP_SELF']

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

* Remove $GLOBALS['PMA_PHP_SELF'] from tests

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

* Moved cleanupPathInfo to Routing

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

* Remove parse_url from getRootPath

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

* Update baselines

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

* Remove invalid tests

Surely, we never expect PATH to be backslash delimited. The code is not designed to handle this and the tests for this don't make much sense.

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

* Fix trailing slash in path

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

---------

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-27 17:56:27 -03:00
Kamil Tekiela
0bdcaba2d2
Add native property types (#18143)
* Add native property types

Includes TypeHints.UnionTypeHintFormat

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

* Set some default values for properties

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

* Format and promote properties

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

* Remove redundant asserts

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

* Redundant cast

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

* $tmanager->theme is never null

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

* Redundant variable

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

* Fix empty on $statementInfo bool

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

* Redundant casts

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

* Redundant issets

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

* getPacked() returns nullable string

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

* Redundant if

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

* $this->content can be null

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

* Simplify ThemeManager::getInstance()

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

* Use isset for checking if property is initialized

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

* Use nullable instead of uninitialized property

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

* password is no longer nullable

I can't verify that none of the globals ever tried to set it to null, but the variable should never be nullable.

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

* Update baselines

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

* $same_wide_width param can be float or int

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

* Update Message.php

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

* Cast Sub_part to int

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

* Fix one line doc comments

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

---------

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-26 23:30:41 -03:00
Maurício Meneghini Fauth
556594b4cd
Fix coding standard spacing issues
- Fixes one line doc comments
- Fixes parent call spacing
- Fixes constant spacing

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-24 21:06:17 -03:00
Maurício Meneghini Fauth
77957a69a5
Add trailing comma for multi-line functions
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-24 20:48:46 -03:00
Kamil Tekiela
902d1a1e77
Add native return type hints (#18126)
* Add remaining native return type hints to flush out bugs

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

* Cast the mixed value to int

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

* Fix tests

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

* getAutoIncrement() is supposed to return string

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

* Cast values to string in DummyResult

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

* Make getCollation() return non-nullable string

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

* Cast seqInIndex to int

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

* Cast $cardinality to int

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

* createFile may return false

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

* Remove redundant cast

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

* Update baselines

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

---------

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-23 15:43:36 -03:00
Maurício Meneghini Fauth
4ff3724c3f
Use union with null instead of short nullable type
Since union type are now possible, using union with null makes more
clear that it is a union type.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-20 21:48:19 -03:00
Kamil Tekiela
80c4db7253 Use strict check when type is known
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-19 23:19:54 +00:00
Maurício Meneghini Fauth
56446c0b15
Refactor Config::checkServers() method
Add more tests and ensures it has at least one valid server config.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-14 17:24:02 -03:00
Maurício Meneghini Fauth
ab80bd8730
Remove trigger_error from Config::checkServers()
Silent removes invalid server keys.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-14 16:36:06 -03:00
Kamil Tekiela
87e42d591c Use short closures where possible
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-14 13:44:42 +00:00
Kamil Tekiela
8433f66447 Remove unused variable in catch
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-14 12:10:23 +00:00
Maurício Meneghini Fauth
930f8826d3
Remove dead code for old PHP versions
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-12 13:59:40 -03:00
Kamil Tekiela
7e5d96b559 Use DI for UserPreferences
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-10 16:23:34 -03:00
Kamil Tekiela
8406f9596a Remove unused properties
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-01-24 00:19:53 +00:00
Maurício Meneghini Fauth
41dec1effc
Extract connection type constants to the Connection class
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-01-17 02:21:27 -03:00
Kamil Tekiela
6264f6f1ea
Various refactorings 2 (#17965)
* Remove extra blank lines
* Remove useless param annotations
* Refactor Index::singleton
* Refactor Config.php
* Refactor Header::addRecentTable()
* Collapse return statement into a single line
* Refactor Message.php
* Convert $getUniqueCondition into a scalar
* Code style
* Fix invalid return phpdoc
* Remove unused variable
* Remove redundant empty array checks
* Refactor Export::closeFile()
* Simplify else statement
* Remove redundant else
* Refactor TablePartitionDefinition::getDetails
* Simpler returns
* Add types for getCellContent()
* Remove useless method mngInsideStructComm

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-12-24 12:54:23 -03:00
Maurício Meneghini Fauth
b783681a8b Remove Config::fatalErrorHandler() method
Since there is an error handler register already, error_get_last is
always empty.

Also adds a try-catch to catch exceptions from the config file.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-11-16 10:27:18 -03:00
Maurício Meneghini Fauth
ad5e2abdab
Throw ConfigException for some Config errors
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-11-15 19:03:01 -03:00
Maurício Meneghini Fauth
b2eb6bf4c9
Extract config load and check from Config's constructor
This allows better handling of the user's config loading and validation.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-11-15 13:20:13 -03:00
Maurício Meneghini Fauth
de03f00cae
Remove Core::fatalError method
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-10-31 22:18:47 -03:00
Maurício Meneghini Fauth
2c3ce59718
Remove isMinimumCommon variable from global space
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-10-21 13:51:58 -03:00
Maurício Meneghini Fauth
3d3010916e
Fix an issue reported by Psalm
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-05-21 17:31:03 -03:00
Maurício Meneghini Fauth
5950693fb3
Fix possible undefined globals
Related to https://github.com/phpmyadmin/phpmyadmin/pull/17427.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-10 18:05:21 -03:00
Maurício Meneghini Fauth
1438cb211e
Replace global keyword with $GLOBALS
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-07 17:31:11 -03:00
Maurício Meneghini Fauth
2061774013
Fix errors reported by Psalm/PHPStan
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-02-16 14:37:25 -03:00