diff --git a/composer.lock b/composer.lock index f7cb9b319b..254adfc9cf 100644 --- a/composer.lock +++ b/composer.lock @@ -456,12 +456,12 @@ "source": { "type": "git", "url": "https://github.com/phpmyadmin/sql-parser.git", - "reference": "8141cced9d32e4f3aef7a7ab2c9c30ec67326e77" + "reference": "9ce6253dcce3296ff309015230ea5ecafaa08ca0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/8141cced9d32e4f3aef7a7ab2c9c30ec67326e77", - "reference": "8141cced9d32e4f3aef7a7ab2c9c30ec67326e77", + "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/9ce6253dcce3296ff309015230ea5ecafaa08ca0", + "reference": "9ce6253dcce3296ff309015230ea5ecafaa08ca0", "shasum": "" }, "require": { @@ -539,7 +539,7 @@ "type": "other" } ], - "time": "2025-07-08T10:01:47+00:00" + "time": "2025-07-20T16:06:19+00:00" }, { "name": "psr/cache", @@ -3524,16 +3524,16 @@ }, { "name": "dealerdirect/phpcodesniffer-composer-installer", - "version": "v1.1.1", + "version": "v1.1.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/composer-installer.git", - "reference": "6e0fa428497bf560152ee73ffbb8af5c6a56b0dd" + "reference": "e9cf5e4bbf7eeaf9ef5db34938942602838fc2b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/6e0fa428497bf560152ee73ffbb8af5c6a56b0dd", - "reference": "6e0fa428497bf560152ee73ffbb8af5c6a56b0dd", + "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/e9cf5e4bbf7eeaf9ef5db34938942602838fc2b1", + "reference": "e9cf5e4bbf7eeaf9ef5db34938942602838fc2b1", "shasum": "" }, "require": { @@ -3616,7 +3616,7 @@ "type": "thanks_dev" } ], - "time": "2025-06-27T17:24:01+00:00" + "time": "2025-07-17T20:45:56+00:00" }, { "name": "dnoegel/php-xdg-base-dir", @@ -5205,16 +5205,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "2.1.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68" + "reference": "b9e61a61e39e02dd90944e9115241c7f7e76bfd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", - "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/b9e61a61e39e02dd90944e9115241c7f7e76bfd8", + "reference": "b9e61a61e39e02dd90944e9115241c7f7e76bfd8", "shasum": "" }, "require": { @@ -5246,22 +5246,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.2.0" }, - "time": "2025-02-19T13:28:12+00:00" + "time": "2025-07-13T07:04:09+00:00" }, { "name": "phpstan/phpstan", - "version": "2.1.17", + "version": "2.1.18", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "89b5ef665716fa2a52ecd2633f21007a6a349053" + "reference": "ee1f390b7a70cdf74a2b737e554f68afea885db7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/89b5ef665716fa2a52ecd2633f21007a6a349053", - "reference": "89b5ef665716fa2a52ecd2633f21007a6a349053", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ee1f390b7a70cdf74a2b737e554f68afea885db7", + "reference": "ee1f390b7a70cdf74a2b737e554f68afea885db7", "shasum": "" }, "require": { @@ -5306,7 +5306,7 @@ "type": "github" } ], - "time": "2025-05-21T20:55:28+00:00" + "time": "2025-07-17T17:22:31+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", @@ -5844,16 +5844,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.5.26", + "version": "11.5.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "4ad8fe263a0b55b54a8028c38a18e3c5bef312e0" + "reference": "446d43867314781df7e9adf79c3ec7464956fd8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4ad8fe263a0b55b54a8028c38a18e3c5bef312e0", - "reference": "4ad8fe263a0b55b54a8028c38a18e3c5bef312e0", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/446d43867314781df7e9adf79c3ec7464956fd8f", + "reference": "446d43867314781df7e9adf79c3ec7464956fd8f", "shasum": "" }, "require": { @@ -5863,7 +5863,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.1", + "myclabs/deep-copy": "^1.13.3", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.2", @@ -5925,7 +5925,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.26" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.27" }, "funding": [ { @@ -5949,7 +5949,7 @@ "type": "tidelift" } ], - "time": "2025-07-04T05:58:21+00:00" + "time": "2025-07-11T04:10:06+00:00" }, { "name": "pragmarx/google2fa", @@ -6356,12 +6356,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "a76f62e135c8b583602bd99df737b5c20f4d7200" + "reference": "5e472fed1bcf8d3a967247576053a20ef3cfefc0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/a76f62e135c8b583602bd99df737b5c20f4d7200", - "reference": "a76f62e135c8b583602bd99df737b5c20f4d7200", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/5e472fed1bcf8d3a967247576053a20ef3cfefc0", + "reference": "5e472fed1bcf8d3a967247576053a20ef3cfefc0", "shasum": "" }, "conflict": { @@ -6432,6 +6432,7 @@ "bednee/cooluri": "<1.0.30", "bigfork/silverstripe-form-capture": ">=3,<3.1.1", "billz/raspap-webgui": "<3.3.6", + "binarytorch/larecipe": "<2.8.1", "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", "blueimp/jquery-file-upload": "==6.4.4", "bmarshall511/wordpress_zero_spam": "<5.2.13", @@ -6699,7 +6700,7 @@ "jackalope/jackalope-doctrine-dbal": "<1.7.4", "jambagecom/div2007": "<0.10.2", "james-heinrich/getid3": "<1.9.21", - "james-heinrich/phpthumb": "<1.7.12", + "james-heinrich/phpthumb": "<=1.7.23", "jasig/phpcas": "<1.3.3", "jbartels/wec-map": "<3.0.3", "jcbrand/converse.js": "<3.3.3", @@ -6760,7 +6761,7 @@ "lightsaml/lightsaml": "<1.3.5", "limesurvey/limesurvey": "<6.5.12", "livehelperchat/livehelperchat": "<=3.91", - "livewire/livewire": "<2.12.7|>=3.0.0.0-beta1,<3.5.2", + "livewire/livewire": "<2.12.7|>=3.0.0.0-beta1,<3.6.4", "livewire/volt": "<1.7", "lms/routes": "<2.1.1", "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", @@ -6801,7 +6802,7 @@ "microsoft/microsoft-graph": ">=1.16,<1.109.1|>=2,<2.0.1", "microsoft/microsoft-graph-beta": "<2.0.1", "microsoft/microsoft-graph-core": "<2.0.2", - "microweber/microweber": "<=2.0.16", + "microweber/microweber": "<=2.0.19", "mikehaertl/php-shellcommand": "<1.6.1", "miniorange/miniorange-saml": "<1.4.3", "mittwald/typo3_forum": "<1.2.1", @@ -7162,6 +7163,7 @@ "ua-parser/uap-php": "<3.8", "uasoft-indonesia/badaso": "<=2.9.7", "unisharp/laravel-filemanager": "<2.9.1", + "universal-omega/dynamic-page-list3": "<3.6.4", "unopim/unopim": "<0.1.5", "userfrosting/userfrosting": ">=0.3.1,<4.6.3", "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", @@ -7303,7 +7305,7 @@ "type": "tidelift" } ], - "time": "2025-07-04T13:13:44+00:00" + "time": "2025-07-17T21:05:33+00:00" }, { "name": "sebastian/cli-parser", @@ -9457,16 +9459,16 @@ }, { "name": "vimeo/psalm", - "version": "6.12.1", + "version": "6.13.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "e71404b0465be25cf7f8a631b298c01c5ddd864f" + "reference": "70cdf647255a1362b426bb0f522a85817b8c791c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/e71404b0465be25cf7f8a631b298c01c5ddd864f", - "reference": "e71404b0465be25cf7f8a631b298c01c5ddd864f", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/70cdf647255a1362b426bb0f522a85817b8c791c", + "reference": "70cdf647255a1362b426bb0f522a85817b8c791c", "shasum": "" }, "require": { @@ -9571,7 +9573,7 @@ "issues": "https://github.com/vimeo/psalm/issues", "source": "https://github.com/vimeo/psalm" }, - "time": "2025-07-04T09:56:28+00:00" + "time": "2025-07-14T09:59:17+00:00" }, { "name": "web-auth/cose-lib", diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index c2aacf537f..9ac292fdc6 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -328,7 +328,7 @@ parameters: path: src/BrowseForeigners.php - - message: '#^Parameter \#1 \$state of static method PhpMyAdmin\\Charsets\\Charset\:\:fromServer\(\) expects array\{Charset\?\: string, Description\?\: string, Default collation\?\: string, Maxlen\?\: string\}, array\ given\.$#' + message: '#^Parameter \#1 \$state of static method PhpMyAdmin\\Charsets\\Charset\:\:fromServer\(\) expects array\{Charset\?\: string, Description\?\: string, ''Default collation''\?\: string, Maxlen\?\: string\}, array\ given\.$#' identifier: argument.type count: 1 path: src/Charsets.php @@ -7035,7 +7035,7 @@ parameters: - message: '#^Cannot access offset int\<0, max\> on mixed\.$#' identifier: offsetAccess.nonOffsetAccessible - count: 6 + count: 8 path: src/Gis/GisMultiPolygon.php - @@ -7044,12 +7044,6 @@ parameters: count: 1 path: src/Gis/GisMultiPolygon.php - - - message: '#^Cannot access offset int\<0, max\> on non\-empty\-array\<''data_length''\|int\<0, max\>, array\{x\: float, y\: float\}\|int\<0, max\>\>\|int\<1, max\>\.$#' - identifier: offsetAccess.nonOffsetAccessible - count: 1 - path: src/Gis/GisMultiPolygon.php - - message: '#^Cannot access offset mixed on mixed\.$#' identifier: offsetAccess.nonOffsetAccessible @@ -8328,12 +8322,6 @@ parameters: count: 1 path: src/Navigation/NavigationTree.php - - - message: '#^Method PhpMyAdmin\\Navigation\\NavigationTree\:\:parsePath\(\) should return non\-empty\-list\ but returns non\-empty\-list\\.$#' - identifier: return.type - count: 1 - path: src/Navigation/NavigationTree.php - - message: '#^Only booleans are allowed in &&, int given on the right side\.$#' identifier: booleanAnd.rightNotBoolean @@ -10866,7 +10854,7 @@ parameters: - message: '#^Cannot access offset ''tables'' on mixed\.$#' identifier: offsetAccess.nonOffsetAccessible - count: 4 + count: 5 path: src/Plugins/ExportPlugin.php - @@ -10957,13 +10945,7 @@ parameters: path: src/Plugins/Import/ImportCsv.php - - message: '#^Parameter \#1 \$columnNames of method PhpMyAdmin\\Plugins\\Import\\ImportCsv\:\:getColumnNames\(\) expects list\, array\|null given\.$#' - identifier: argument.type - count: 1 - path: src/Plugins/Import/ImportCsv.php - - - - message: '#^Parameter \#3 \$rows of class PhpMyAdmin\\Import\\ImportTable constructor expects list\\>, list\ given\.$#' + message: '#^Parameter \#1 \$columnNames of method PhpMyAdmin\\Plugins\\Import\\ImportCsv\:\:getColumnNames\(\) expects list\, list\\|null given\.$#' identifier: argument.type count: 1 path: src/Plugins/Import/ImportCsv.php @@ -11058,12 +11040,6 @@ parameters: count: 1 path: src/Plugins/Import/ImportOds.php - - - message: '#^Parameter \#3 \$rows of class PhpMyAdmin\\Import\\ImportTable constructor expects list\\>, non\-empty\-list\ given\.$#' - identifier: argument.type - count: 1 - path: src/Plugins/Import/ImportOds.php - - message: '#^Binary operation "\." between ''GeomFromText\(\\'''' and mixed results in an error\.$#' identifier: binaryOp.invalid @@ -11208,34 +11184,16 @@ parameters: count: 1 path: src/Plugins/Import/Upload/UploadNoplugin.php - - - message: '#^Binary operation "/" between int and mixed results in an error\.$#' - identifier: binaryOp.invalid - count: 1 - path: src/Plugins/Import/Upload/UploadProgress.php - - - - message: '#^Cannot access offset ''complete'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible - count: 1 - path: src/Plugins/Import/Upload/UploadProgress.php - - message: '#^Cannot access offset ''finished'' on mixed\.$#' identifier: offsetAccess.nonOffsetAccessible count: 1 path: src/Plugins/Import/Upload/UploadProgress.php - - - message: '#^Cannot access offset ''percent'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible - count: 1 - path: src/Plugins/Import/Upload/UploadProgress.php - - message: '#^Cannot access offset ''total'' on mixed\.$#' identifier: offsetAccess.nonOffsetAccessible - count: 4 + count: 2 path: src/Plugins/Import/Upload/UploadProgress.php - @@ -11256,10 +11214,16 @@ parameters: count: 1 path: src/Plugins/Import/Upload/UploadProgress.php + - + message: '#^Method PhpMyAdmin\\Plugins\\Import\\Upload\\UploadProgress\:\:getUploadStatus\(\) should return array\|null but returns array\|ArrayAccess\.$#' + identifier: return.type + count: 1 + path: src/Plugins/Import/Upload/UploadProgress.php + - message: '#^Method PhpMyAdmin\\Plugins\\Import\\Upload\\UploadProgress\:\:getUploadStatus\(\) should return array\|null but returns mixed\.$#' identifier: return.type - count: 2 + count: 1 path: src/Plugins/Import/Upload/UploadProgress.php - @@ -11292,12 +11256,6 @@ parameters: count: 1 path: src/Plugins/Import/Upload/UploadSession.php - - - message: '#^Cannot access offset ''complete'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible - count: 2 - path: src/Plugins/Import/Upload/UploadSession.php - - message: '#^Cannot access offset ''content_length'' on mixed\.$#' identifier: offsetAccess.nonOffsetAccessible @@ -11316,16 +11274,10 @@ parameters: count: 1 path: src/Plugins/Import/Upload/UploadSession.php - - - message: '#^Cannot access offset ''percent'' on mixed\.$#' - identifier: offsetAccess.nonOffsetAccessible - count: 1 - path: src/Plugins/Import/Upload/UploadSession.php - - message: '#^Cannot access offset ''total'' on mixed\.$#' identifier: offsetAccess.nonOffsetAccessible - count: 4 + count: 2 path: src/Plugins/Import/Upload/UploadSession.php - @@ -11340,10 +11292,16 @@ parameters: count: 1 path: src/Plugins/Import/Upload/UploadSession.php + - + message: '#^Method PhpMyAdmin\\Plugins\\Import\\Upload\\UploadSession\:\:getUploadStatus\(\) should return array\|null but returns array\|ArrayAccess\.$#' + identifier: return.type + count: 1 + path: src/Plugins/Import/Upload/UploadSession.php + - message: '#^Method PhpMyAdmin\\Plugins\\Import\\Upload\\UploadSession\:\:getUploadStatus\(\) should return array\|null but returns mixed\.$#' identifier: return.type - count: 2 + count: 1 path: src/Plugins/Import/Upload/UploadSession.php - @@ -12339,12 +12297,6 @@ parameters: count: 1 path: src/Properties/Options/OptionsPropertyGroup.php - - - message: '#^Loose comparison using \=\= between \(int\|string\|null\) and null will always evaluate to true\.$#' - identifier: equal.alwaysTrue - count: 1 - path: src/Query/Compatibility.php - - message: '#^Loose comparison via "\=\=" is not allowed\.$#' identifier: equal.notAllowed @@ -19144,15 +19096,15 @@ parameters: path: tests/unit/UserPreferencesTest.php - - message: '#^Property PhpMyAdmin\\Config\:\:\$settings \(array\{PmaAbsoluteUri\: string, AuthLog\: string, AuthLogSuccess\: bool, PmaNoRelation_DisableWarning\: bool, SuhosinDisableWarning\: bool, LoginCookieValidityDisableWarning\: bool, ReservedWordDisableWarning\: bool, TranslationWarningThreshold\: int, \.\.\.\}\) does not accept array\{PmaAbsoluteUri\: string, AuthLog\: string, AuthLogSuccess\: bool, PmaNoRelation_DisableWarning\: bool, SuhosinDisableWarning\: bool, LoginCookieValidityDisableWarning\: bool, ReservedWordDisableWarning\: bool, TranslationWarningThreshold\: int, \.\.\.\}\.$#' + message: '#^Property PhpMyAdmin\\Config\:\:\$settings \(array\{PmaAbsoluteUri\: string, AuthLog\: string, AuthLogSuccess\: bool, PmaNoRelation_DisableWarning\: bool, SuhosinDisableWarning\: bool, LoginCookieValidityDisableWarning\: bool, ReservedWordDisableWarning\: bool, TranslationWarningThreshold\: int, \.\.\.\}\) does not accept array\{''Server/hide_db''\: ''testval123'', ''Server/port''\: ''213''\}\.$#' identifier: assign.propertyType - count: 2 + count: 1 path: tests/unit/UserPreferencesTest.php - - message: '#^Property PhpMyAdmin\\Config\:\:\$settings \(array\{PmaAbsoluteUri\: string, AuthLog\: string, AuthLogSuccess\: bool, PmaNoRelation_DisableWarning\: bool, SuhosinDisableWarning\: bool, LoginCookieValidityDisableWarning\: bool, ReservedWordDisableWarning\: bool, TranslationWarningThreshold\: int, \.\.\.\}\) does not accept array\{Server/hide_db\: ''testval123'', Server/port\: ''213''\}\.$#' + message: '#^Property PhpMyAdmin\\Config\:\:\$settings \(array\{PmaAbsoluteUri\: string, AuthLog\: string, AuthLogSuccess\: bool, PmaNoRelation_DisableWarning\: bool, SuhosinDisableWarning\: bool, LoginCookieValidityDisableWarning\: bool, ReservedWordDisableWarning\: bool, TranslationWarningThreshold\: int, \.\.\.\}\) does not accept array\{PmaAbsoluteUri\: string, AuthLog\: string, AuthLogSuccess\: bool, PmaNoRelation_DisableWarning\: bool, SuhosinDisableWarning\: bool, LoginCookieValidityDisableWarning\: bool, ReservedWordDisableWarning\: bool, TranslationWarningThreshold\: int, \.\.\.\}\.$#' identifier: assign.propertyType - count: 1 + count: 2 path: tests/unit/UserPreferencesTest.php - diff --git a/psalm-baseline.xml b/psalm-baseline.xml index acf0212122..8bd4c043b0 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,5 +1,5 @@ - +