1
0
mirror of https://github.com/phpmyadmin/phpmyadmin.git synced 2026-10-31 10:54:46 +03:00
Commit Graph

549 Commits

Author SHA1 Message Date
Maurício Meneghini Fauth
9550066810 Introduce the ServerRequest object to AddFieldController
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-05-04 15:55:22 -03:00
Maurício Meneghini Fauth
6dc859cbc2 Merge branch 'QA_5_2'
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-04-28 15:56:18 -03:00
Maurício Meneghini Fauth
54df014550 Remove stickyfilljs JavaScript dependency
This polyfill is not needed anymore.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-04-27 19:47:31 -03:00
Maurício Meneghini Fauth
b008cca95d Merge branch 'QA_5_2'
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-04-26 21:20:06 -03:00
Maurício Meneghini Fauth
04f3f5a4b6 Merge branch 'QA_5_1' into QA_5_2
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-04-26 21:03:20 -03:00
Maurício Meneghini Fauth
5d80594341 Remove jQuery SVG JS dependency
Removed by https://github.com/phpmyadmin/phpmyadmin/pull/17041.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-04-24 20:39:12 -03:00
Maurício Meneghini Fauth
62683a0115 Add method to AbstractController to send error messages
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-20 16:39:33 -03:00
Maurício Meneghini Fauth
0d4d2a4935 Add exceptions for invalid identifier names
- Adds the PhpMyAdmin\Dbal\InvalidIdentifierName exception
- Adds the PhpMyAdmin\Dbal\InvalidDatabaseName exception
- Adds the PhpMyAdmin\Dbal\InvalidTableName exception

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-19 17:35:35 -03:00
Maurício Meneghini Fauth
619d4acb4a Refactor DropColumnConfirmationController class
- Removes global variables
- Redesigns the HTML to use Bootstrap styles
- Add more tests

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-18 15:36:07 -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
ec4baa6583 Remove calls of Util::getValueByKey where path doesn't have a dot
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-08 14:30:19 -03:00
Maurício Meneghini Fauth
f940693c75 Move Util::checkParameters method to the AbstractController
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-07 22:59:33 -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
9b5b210fc4 Remove action global var from ColumnsDefinition class
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-03 17:41:52 -03:00
Maurício Meneghini Fauth
c0eb02d7d3 Extract ColumnsDefinition construction from controllers
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-03-02 18:59:27 -03:00
Maurício Meneghini Fauth
40135c26cc Add basic test for Table\DeleteRowsController
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-02-25 16:44:49 -03:00
Maurício Meneghini Fauth
687a83923a Add basic test for Table\GetFieldController
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-02-24 12:54:43 -03:00
Maurício Meneghini Fauth
a70b08d62f Merge branch 'QA_5_2'
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-02-21 12:48:23 -03:00
Maurício Meneghini Fauth
f7f85bb450 Merge branch 'QA_5_1' into QA_5_2
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-02-21 12:37:29 -03:00
Maurício Meneghini Fauth
1cac3baeab Fix create index form accepting too many columns
- Fixes #16769

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-02-20 13:11:30 -03:00
Maurício Meneghini Fauth
5a34a3bb04 Remove db and table properties from controllers
Replaces them with their respective globals.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-02-02 14:48:43 -03:00
Maurício Meneghini Fauth
87f8ece01d Deprecate the db and table properties from controllers
The database and table parameters should be got from the server request
or from the respective globals.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-01-28 20:51:03 -03:00
Maurício Meneghini Fauth
8529de4d88 Merge pull request #17303 from kamil-tekiela/Remove-globals
Remove globals
2022-01-28 16:47:16 -03:00
Maurício Meneghini Fauth
a8d514a350 Remove db and table globals from DbTableExists class
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2022-01-28 16:43:48 -03:00
Kamil Tekiela
47e81a5161 Remove $route global
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-01-27 11:47:40 +00: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
73b7094b2b Remove redundant isset
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2022-01-06 19:38:22 +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
ca91eaeb38 Accept mixed for DatabaseName and TableName constructors
This avoids redundant type assertions.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-23 16:25:05 -03:00
Maurício Meneghini Fauth
44fe103b9c Remove @access annotations
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-22 11:43:45 -03:00
Maurício Meneghini Fauth
92418f2226 Fix some coding standard issues
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-21 13:39:29 -03:00
Maurício Meneghini Fauth
2a4b170a34 Merge branch 'QA_5_1'
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-21 13:13:09 -03:00
Maurício Meneghini Fauth
c411121fd8 Move Relation classes into the ConfigStorage namespace
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-17 12:09:13 -03:00
Kamil Tekiela
83d950ed40 Bug fix: Fix triple HTML encoding
Some values were encoded into HTML entities thrice. This commit removes
unnecessary HTML escaping.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-12-14 12:21:36 +00:00
Maurício Meneghini Fauth
c4575fd48b Add methods to check for RelationParameters features
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-11 08:10:40 -03:00
Maurício Meneghini Fauth
e68c26672c Merge pull request #17235 from kamil-tekiela/Fix-var-annotation-for-Charset-and-Collation
Fix var annotation for Charset and Collation
2021-12-10 10:11:16 -03:00
Maurício Meneghini Fauth
cd6d6b30ac Merge pull request #17233 from kamil-tekiela/CreateAddField
Refactor CreateAddField
2021-12-09 22:17:49 -03:00
Kamil Tekiela
945d887a10 Fix var annotation for Charset and Collation
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-12-09 22:25:58 +00:00
Maurício Meneghini Fauth
9e2bb1e996 Replace Assert exceptions with a more specific one
Catches only \Webmozart\Assert\InvalidArgumentException instead of all
\InvalidArgumentException.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-09 14:50:25 -03:00
Kamil Tekiela
ca089b43ab Redesign CreateAddField::tryColumnCreationQuery()
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-12-08 18:27:26 +00:00
Kamil Tekiela
ce527035c2 PHPStan checkAlwaysTrueCheckTypeFunctionCall fixes
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-12-08 15:26:52 +00:00
Kamil Tekiela
f446e6da88 Remove unused variables
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-12-03 15:12:56 +00:00
Maurício Meneghini Fauth
acff73aa24 Merge pull request #17215 from kamil-tekiela/Psalm-fixes-1
Use array_keys whenever only keys are needed in foreach
2021-12-02 18:42:12 -03:00
Kamil Tekiela
1270efc2a9 Refactor util.php (#17212)
* Remove extra space

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

* Remove null checks on properties that cannot be null

The value could be null only if the property exists in stdClass
returned by mysqli but is null. Mysqli doesn't do that. Unless the value
can be null in some other way, this check is redundant.

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

* Add psalm-return

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

* Remove $handle parameter of getUniqueCondition()

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

* Type hint the $row parameter

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

Co-authored-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-12-02 17:37:09 -03:00
Kamil Tekiela
488e7cb5bf Use array_keys whenever only keys are needed in foreach
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-11-29 20:37:39 +00:00
Kamil Tekiela
56a832948c Refactor DatabaseInterface.php (#17209)
* Use str_starts_with()

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

* Remove redundant !empty()

!empty() on a declared variable is redundant.

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

* Replace loop with array_column()

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

* Simpify assignment by removing temporary variable

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

* Remove redundant if statements and array_merge

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

* Remove temporary variable

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

* Unindent code

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

* Add helper method fetchByMode()

This is done to avoid calling methods through variables. It is the same
in terms of performance.

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

* Move if statements to where they are relevant

I had a choice to either move the while loop out of the if statements
or move the if statements inside. I decided it made more sense to move
them inside.

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

* Add NULL to phpdoc for the two parameters that can be null

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

* Simplify return statement

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

* Improve performance and simplify code

Since we are always using STORE mode then we can use data_seek() method.
This will allow us to get rid of the loop and use fetchByMode() method.

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

* Inline value defaulting

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

* Remove redundant check

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

* [bugfix] getColumnNames() should return an array of strings

There were multiple issues here. If we are selecting only a certain
column from the SQL then let's use the handy function instead of
array_keys. We will never get anything other than an array so checking
if it is not an array makes no sense. Returning null only to cast it to
an array is pointless. If really necessary, we could still check for an
empty array. The ColumnController returned the value without even
casting it to an array. I am not sure how jQuery/JavaScript dealt with it.

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

* Refactor getColumnMapFromSql and add type hint

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

* Refactor getVirtualTables

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

* Remove redundant loop

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

* Remove redundant usage of freeResult()

If there was no chance for the object to leak the scope and it is the
end of the scope then there's no reason to call this method.

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

* Replace dynamic variable with declare one

It's always the same name. If we were creating more than one, we could
use associative array, but in this case there seems to be absolutely no
need for any of this. Dynamic variables make it harder to debug the code.

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

* Update psalm-baseline.xml

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

* Widen the condition per williamdes suggestion

This will allow value such as '' and '0' to pass through. Previously
`if(! empty($database))` and `if($database)` dissallowed them.

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

* fetchResult() should return only arrays

Tests fixed to return arrays. Non-empty in case of true, empty in case
of false.
Fixed a lot of Psalm issues where the condition was always true.

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2021-11-26 20:17:46 -03:00
Maurício Meneghini Fauth
400c9e1d93 Merge pull request #17204 from kamil-tekiela/Refactor-DatabaseInterface-getColumns()
Refactor DatabaseInterface::getColumns()
2021-11-26 15:07:20 -03:00