Commit Graph

306 Commits

Author SHA1 Message Date
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
e8c5eef6f8
Remove annoying empty statements (#18114)
* Remove annoying empty statements

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

* Make $extra strict and stop passing false to it

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

* Make $page strict and stop passing null

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

---------

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-24 20:11:37 -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
47846068fa
Remove some useless comments
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-20 23:45:06 -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
Maurício Meneghini Fauth
785f8c1c00
Use constructor property promotion where possible
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-20 19:39:02 -03:00
Maurício Meneghini Fauth
613678f8f5
Replace assignments with null coalesce equal operator
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-02-20 17:03:05 -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
Kamil Tekiela
cb2e1932f8
Better array types part 1 (#18096)
* Plugins getScripts() return array of strings

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

* These methods always return an array

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

* extractPrivInfo returns an array of strings

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

* getInfoPages returns an array of strings

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

* returnClassNamesFromMenuButtons returns a string map

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

* Use array shape for getDatabasesForSelectOptions

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

* Some methods in Table return array of strings

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

* getLines returns an array if ints

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

* Array shapes in TwoFactor

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

* parseEnumSetValues always returns an array of strings

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

---------

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-15 16:52:00 -03:00
Kamil Tekiela
cfe54a501b Add union types
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-15 15:23:28 +00:00
Maurício Meneghini Fauth
e854e79d3b
Merge pull request #18086 from kamil-tekiela/Replace-switch-with-match
Replace switch with match
2023-02-14 20:04:17 -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
69f8d9f85c Replace switch with match
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-14 13:07:00 +00:00
Kamil Tekiela
8a1d6f1eaa Convert var annotations to typed properties
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-02-12 21:31:04 +00:00
Kamil Tekiela
f7524fd3b9
Minor code refactoring of Privileges.php (#17993)
* Small fixes
* Replace escapeString with quoteString
This also fixes bug with $_POST['old_username'].
* Add userExists() method
* Merge if statements
* Use ServerRequest for $initial
* Extract getExportPageTitle from getExportUserDefinitionTextarea
* Update baselines
* Complete redesign of getCurrentAuthenticationPlugin()
* Add method getEmptyUserNotice()
* Remove redundant variable sets and unsets
* Add method checkStructureOfPrivilegeTable()
* Remove testGetHtmlForViewUsersError()
* Privatize getAddUserHtmlFieldset
* Improve tests for mysql.user table checks

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-01-28 20:40:30 -03:00
Kamil Tekiela
55a6f09ce8
Server privileges controller globals removal (#17986)
* $GLOBALS['url_dbname']
* $GLOBALS['grants'], $GLOBALS['one_grant']
* $GLOBALS['export']
* $GLOBALS['title']
* $GLOBALS['itemType']
* $GLOBALS['_add_user_error']
* $GLOBALS['queries_for_display']
* $GLOBALS['ret_queries']
* $GLOBALS['ret_message']
* $GLOBALS['queries']
* Remove redundant code
* $GLOBALS['password']
* $GLOBALS['dbname_is_wildcard']
* $GLOBALS['db_and_table']
* $GLOBALS['routinename']
* $GLOBALS['tablename']
* $GLOBALS['post_patterns']
* Update psalm-baseline.xml

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2023-01-26 11:46:20 -03:00
Maurício Meneghini Fauth
4129bfe23e
Create Dbal/Statement interface
Wraps mysqli_stmt class with the Dbal\MysqliStatement class.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2023-01-20 00:36:01 -03: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
Kamil Tekiela
dd699f348d Clean up LIKE escaping
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-11-25 00:06:52 +00:00
Maurício Meneghini Fauth
d0d90551c3 Remove the dblist global variable
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-11-13 21:08:00 -03:00
Kamil Tekiela
828a5f7137 Update Privileges.php
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-11-02 15:15:58 +00:00
Maurício Meneghini Fauth
3890d11dd8
Fix some coding style issues
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-10-16 17:18:54 -03:00
Solomon Okunuga
0f9c79ebed
Issue #17727 Started refactoring uses of $db and $table (#17729)
* Issue #17727 Started refactoring uses of $db and $table to use the Objects -
DatabaseName and TableName

Changed uses related to Privileges

Signed-off-by: Solomon Okunuga <soloistic1@gmail.com>

* Apply suggestions from code review

Co-authored-by: Maurício Meneghini Fauth <mauricio@fauth.dev>

Signed-off-by: Solomon Okunuga <soloistic1@gmail.com>
Co-authored-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-09-30 19:33:36 -03:00
Maurício Meneghini Fauth
81192a142b
Move DBI getRoutines method to the Routines class
DatabaseInterface::getRoutines -> Database\Routines::getDetails

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-09-09 23:29:26 -03:00
Kamil Tekiela
ac7fd21ecb Fix incomplete Privileges test
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-08-19 14:22:17 +01:00
Maurício Meneghini Fauth
eb3703882b
Move Routing::getCurrentRoute to ServerRequest
The route is retrieved from the request, so it makes sense to move the
method to the Http\ServerRequest class.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-06-06 23:36:57 -03:00
Maurício Meneghini Fauth
d58057daec
Extract Database\PrivilegesController from Server\PrivilegesController
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-05-27 17:13:23 -03:00
Maurício Meneghini Fauth
dc5bf0074c
Extract Table\PrivilegesController from Server\PrivilegesController
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-05-27 16:25:39 -03:00
Maurício Meneghini Fauth
5a75ebc7c7
Refactor Privileges::getRequireClause method
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-14 15:15:21 -03:00
Maurício Meneghini Fauth
c0941401c1
Merge branch 'QA_5_2'
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-11 14:26:19 -03:00
Maurício Meneghini Fauth
2653b2942b
Merge branch 'QA_5_1' into QA_5_2
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-11 13:02:15 -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
Kamil Tekiela
f52634ef54 Database name was string escaped during user creation
When using backquote() the string should not be escaped.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-02-13 18:03:34 +00:00
Kamil Tekiela
47e81a5161 Remove $route global
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-01-27 11:47:40 +00:00
Maurício Meneghini Fauth
02e8588404
Merge branch 'QA_4_9-security' into QA_5_1-security
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-01-10 18:39:23 -03:00
Maurício Meneghini Fauth
6f0d19f394
Do not encrypt params if used in data-post attribute
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-01-10 12:19:43 -03:00
Kamil Tekiela
86031d2bf6 Deimplement fetchAssoc() helper
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-01-09 22:44:53 +00:00
Kamil Tekiela
a4b2d7e524 Deimplement fetchRow() helper
This helper isn't needed anymore.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-01-09 22:44:53 +00:00
Kamil Tekiela
f5bb90ebb9 Move queryAsControlUser - Dbal refactoring pt.3
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-01-06 19:31:27 +00:00
Kamil Tekiela
83b4dda1a3 Change QUERY_STORE to QUERY_BUFFERED
Set the value to 0 instead of 1 and remove all unnecessary usages of this constant

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-01-01 01:46:01 +00:00
Kamil Tekiela
47a039d70c Implement ResultInterface & MysqliResult
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-12-31 23:59:24 +00:00
Maurício Meneghini Fauth
feca48cc76
Change return type of DatabaseInterface::getError method
Now, it returns last error message or an empty string instead of false
if no errors occurred.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-27 14:43:14 -03:00
Maurício Meneghini Fauth
d84af02945
Create VO classes for each RelationParameters features
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-26 19:17:58 -03:00
Maurício Meneghini Fauth
c4e2582e56
Use TableName for RelationParameters tables
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-26 19:17:57 -03:00
Kamil Tekiela
70c86f5e21 Remove $row_number from DatabaseInterface::fetchValue
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-12-21 21:09:38 +00:00
Maurício Meneghini Fauth
fa5c684f27
Replace the master/slave terminology
Replaces master with primary and slave with replica.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-18 14:26:56 -03:00