chore: ⬆️ upgrade psalm
All checks were successful
repod / xml (push) Successful in 26s
repod / php (push) Successful in 1m6s
repod / nodejs (push) Successful in 1m7s
repod / release (push) Has been skipped

This commit is contained in:
Michel Roux 2025-01-27 10:35:17 +00:00
parent 000605e0cb
commit be208df148
5 changed files with 441 additions and 100 deletions

View File

@ -16,7 +16,7 @@
"rector": "rector && composer cs:fix"
},
"require": {
"php": "^8.1"
"php": "~8.1.17"
},
"require-dev": {
"nextcloud/ocp": "^30.0.5",
@ -24,13 +24,13 @@
"nextcloud/coding-standard": "^1.3.2",
"nextcloud/rector": "^0.2.1",
"rector/rector": "~1.2.10",
"vimeo/psalm": "^5.26.1"
"vimeo/psalm": "^6.0.0"
},
"config": {
"optimize-autoloader": true,
"sort-packages": true,
"platform": {
"php": "8.1"
"php": "8.1.17"
}
}
}

503
composer.lock generated
View File

@ -4,48 +4,41 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "413d85cb041646dc7aa0da4bcdf8f65c",
"content-hash": "7a133f19251629762b1287cb0aa342c0",
"packages": [],
"packages-dev": [
{
"name": "amphp/amp",
"version": "v2.6.4",
"version": "v3.1.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/amp.git",
"reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d"
"reference": "7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/amp/zipball/ded3d9be08f526089eb7ee8d9f16a9768f9dec2d",
"reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d",
"url": "https://api.github.com/repos/amphp/amp/zipball/7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9",
"reference": "7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=8.1",
"revolt/event-loop": "^1 || ^0.2"
},
"require-dev": {
"amphp/php-cs-fixer-config": "dev-master",
"amphp/phpunit-util": "^1",
"ext-json": "*",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^7 | ^8 | ^9",
"react/promise": "^2",
"vimeo/psalm": "^3.12"
"amphp/php-cs-fixer-config": "^2",
"phpunit/phpunit": "^9",
"psalm/phar": "5.23.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.x-dev"
}
},
"autoload": {
"files": [
"lib/functions.php",
"lib/Internal/functions.php"
"src/functions.php",
"src/Future/functions.php",
"src/Internal/functions.php"
],
"psr-4": {
"Amp\\": "lib"
"Amp\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@ -53,10 +46,6 @@
"MIT"
],
"authors": [
{
"name": "Daniel Lowrey",
"email": "rdlowrey@php.net"
},
{
"name": "Aaron Piotrowski",
"email": "aaron@trowski.com"
@ -68,6 +57,10 @@
{
"name": "Niklas Keller",
"email": "me@kelunik.com"
},
{
"name": "Daniel Lowrey",
"email": "rdlowrey@php.net"
}
],
"description": "A non-blocking concurrency framework for PHP applications.",
@ -84,9 +77,8 @@
"promise"
],
"support": {
"irc": "irc://irc.freenode.org/amphp",
"issues": "https://github.com/amphp/amp/issues",
"source": "https://github.com/amphp/amp/tree/v2.6.4"
"source": "https://github.com/amphp/amp/tree/v3.1.0"
},
"funding": [
{
@ -94,41 +86,45 @@
"type": "github"
}
],
"time": "2024-03-21T18:52:26+00:00"
"time": "2025-01-26T16:07:39+00:00"
},
{
"name": "amphp/byte-stream",
"version": "v1.8.2",
"version": "v2.1.1",
"source": {
"type": "git",
"url": "https://github.com/amphp/byte-stream.git",
"reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc"
"reference": "daa00f2efdbd71565bf64ffefa89e37542addf93"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/byte-stream/zipball/4f0e968ba3798a423730f567b1b50d3441c16ddc",
"reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc",
"url": "https://api.github.com/repos/amphp/byte-stream/zipball/daa00f2efdbd71565bf64ffefa89e37542addf93",
"reference": "daa00f2efdbd71565bf64ffefa89e37542addf93",
"shasum": ""
},
"require": {
"amphp/amp": "^2",
"php": ">=7.1"
"amphp/amp": "^3",
"amphp/parser": "^1.1",
"amphp/pipeline": "^1",
"amphp/serialization": "^1",
"amphp/sync": "^2",
"php": ">=8.1",
"revolt/event-loop": "^1 || ^0.2.3"
},
"require-dev": {
"amphp/php-cs-fixer-config": "dev-master",
"amphp/phpunit-util": "^1.4",
"friendsofphp/php-cs-fixer": "^2.3",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^6 || ^7 || ^8",
"psalm/phar": "^3.11.4"
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
"psalm/phar": "5.22.1"
},
"type": "library",
"autoload": {
"files": [
"lib/functions.php"
"src/functions.php",
"src/Internal/functions.php"
],
"psr-4": {
"Amp\\ByteStream\\": "lib"
"Amp\\ByteStream\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@ -157,7 +153,7 @@
],
"support": {
"issues": "https://github.com/amphp/byte-stream/issues",
"source": "https://github.com/amphp/byte-stream/tree/v1.8.2"
"source": "https://github.com/amphp/byte-stream/tree/v2.1.1"
},
"funding": [
{
@ -165,7 +161,269 @@
"type": "github"
}
],
"time": "2024-04-13T18:00:56+00:00"
"time": "2024-02-17T04:49:38+00:00"
},
{
"name": "amphp/parser",
"version": "v1.1.1",
"source": {
"type": "git",
"url": "https://github.com/amphp/parser.git",
"reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/parser/zipball/3cf1f8b32a0171d4b1bed93d25617637a77cded7",
"reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7",
"shasum": ""
},
"require": {
"php": ">=7.4"
},
"require-dev": {
"amphp/php-cs-fixer-config": "^2",
"phpunit/phpunit": "^9",
"psalm/phar": "^5.4"
},
"type": "library",
"autoload": {
"psr-4": {
"Amp\\Parser\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Aaron Piotrowski",
"email": "aaron@trowski.com"
},
{
"name": "Niklas Keller",
"email": "me@kelunik.com"
}
],
"description": "A generator parser to make streaming parsers simple.",
"homepage": "https://github.com/amphp/parser",
"keywords": [
"async",
"non-blocking",
"parser",
"stream"
],
"support": {
"issues": "https://github.com/amphp/parser/issues",
"source": "https://github.com/amphp/parser/tree/v1.1.1"
},
"funding": [
{
"url": "https://github.com/amphp",
"type": "github"
}
],
"time": "2024-03-21T19:16:53+00:00"
},
{
"name": "amphp/pipeline",
"version": "v1.2.2",
"source": {
"type": "git",
"url": "https://github.com/amphp/pipeline.git",
"reference": "97cbf289f4d8877acfe58dd90ed5a4370a43caa4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/pipeline/zipball/97cbf289f4d8877acfe58dd90ed5a4370a43caa4",
"reference": "97cbf289f4d8877acfe58dd90ed5a4370a43caa4",
"shasum": ""
},
"require": {
"amphp/amp": "^3",
"php": ">=8.1",
"revolt/event-loop": "^1"
},
"require-dev": {
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
"psalm/phar": "^5.18"
},
"type": "library",
"autoload": {
"psr-4": {
"Amp\\Pipeline\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Aaron Piotrowski",
"email": "aaron@trowski.com"
},
{
"name": "Niklas Keller",
"email": "me@kelunik.com"
}
],
"description": "Asynchronous iterators and operators.",
"homepage": "https://amphp.org/pipeline",
"keywords": [
"amp",
"amphp",
"async",
"io",
"iterator",
"non-blocking"
],
"support": {
"issues": "https://github.com/amphp/pipeline/issues",
"source": "https://github.com/amphp/pipeline/tree/v1.2.2"
},
"funding": [
{
"url": "https://github.com/amphp",
"type": "github"
}
],
"time": "2025-01-19T15:42:46+00:00"
},
{
"name": "amphp/serialization",
"version": "v1.0.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/serialization.git",
"reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1",
"reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"require-dev": {
"amphp/php-cs-fixer-config": "dev-master",
"phpunit/phpunit": "^9 || ^8 || ^7"
},
"type": "library",
"autoload": {
"files": [
"src/functions.php"
],
"psr-4": {
"Amp\\Serialization\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Aaron Piotrowski",
"email": "aaron@trowski.com"
},
{
"name": "Niklas Keller",
"email": "me@kelunik.com"
}
],
"description": "Serialization tools for IPC and data storage in PHP.",
"homepage": "https://github.com/amphp/serialization",
"keywords": [
"async",
"asynchronous",
"serialization",
"serialize"
],
"support": {
"issues": "https://github.com/amphp/serialization/issues",
"source": "https://github.com/amphp/serialization/tree/master"
},
"time": "2020-03-25T21:39:07+00:00"
},
{
"name": "amphp/sync",
"version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/amphp/sync.git",
"reference": "217097b785130d77cfcc58ff583cf26cd1770bf1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/sync/zipball/217097b785130d77cfcc58ff583cf26cd1770bf1",
"reference": "217097b785130d77cfcc58ff583cf26cd1770bf1",
"shasum": ""
},
"require": {
"amphp/amp": "^3",
"amphp/pipeline": "^1",
"amphp/serialization": "^1",
"php": ">=8.1",
"revolt/event-loop": "^1 || ^0.2"
},
"require-dev": {
"amphp/php-cs-fixer-config": "^2",
"amphp/phpunit-util": "^3",
"phpunit/phpunit": "^9",
"psalm/phar": "5.23"
},
"type": "library",
"autoload": {
"files": [
"src/functions.php"
],
"psr-4": {
"Amp\\Sync\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Aaron Piotrowski",
"email": "aaron@trowski.com"
},
{
"name": "Niklas Keller",
"email": "me@kelunik.com"
},
{
"name": "Stephen Coakley",
"email": "me@stephencoakley.com"
}
],
"description": "Non-blocking synchronization primitives for PHP based on Amp and Revolt.",
"homepage": "https://github.com/amphp/sync",
"keywords": [
"async",
"asynchronous",
"mutex",
"semaphore",
"synchronization"
],
"support": {
"issues": "https://github.com/amphp/sync/issues",
"source": "https://github.com/amphp/sync/tree/v2.3.0"
},
"funding": [
{
"url": "https://github.com/amphp",
"type": "github"
}
],
"time": "2024-08-03T19:31:26+00:00"
},
{
"name": "composer/pcre",
@ -884,25 +1142,27 @@
},
{
"name": "nikic/php-parser",
"version": "v4.19.4",
"version": "v5.4.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2"
"reference": "447a020a1f875a434d62f2a401f53b82a396e494"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/715f4d25e225bc47b293a8b997fe6ce99bf987d2",
"reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494",
"reference": "447a020a1f875a434d62f2a401f53b82a396e494",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-json": "*",
"ext-tokenizer": "*",
"php": ">=7.1"
"php": ">=7.4"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
"phpunit/phpunit": "^9.0"
},
"bin": [
"bin/php-parse"
@ -910,7 +1170,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.9-dev"
"dev-master": "5.0-dev"
}
},
"autoload": {
@ -934,9 +1194,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.19.4"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0"
},
"time": "2024-09-29T15:01:53+00:00"
"time": "2024-12-30T11:07:19+00:00"
},
{
"name": "php-cs-fixer/shim",
@ -1214,16 +1474,16 @@
},
{
"name": "phpstan/phpstan",
"version": "1.12.15",
"version": "1.12.16",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "c91d4e8bc056f46cf653656e6f71004b254574d1"
"reference": "e0bb5cb78545aae631220735aa706eac633a6be9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/c91d4e8bc056f46cf653656e6f71004b254574d1",
"reference": "c91d4e8bc056f46cf653656e6f71004b254574d1",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/e0bb5cb78545aae631220735aa706eac633a6be9",
"reference": "e0bb5cb78545aae631220735aa706eac633a6be9",
"shasum": ""
},
"require": {
@ -1268,7 +1528,7 @@
"type": "github"
}
],
"time": "2025-01-05T16:40:22+00:00"
"time": "2025-01-21T14:50:05+00:00"
},
{
"name": "psr/clock",
@ -1530,18 +1790,90 @@
],
"time": "2024-11-08T13:59:10+00:00"
},
{
"name": "revolt/event-loop",
"version": "v1.0.6",
"source": {
"type": "git",
"url": "https://github.com/revoltphp/event-loop.git",
"reference": "25de49af7223ba039f64da4ae9a28ec2d10d0254"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/revoltphp/event-loop/zipball/25de49af7223ba039f64da4ae9a28ec2d10d0254",
"reference": "25de49af7223ba039f64da4ae9a28ec2d10d0254",
"shasum": ""
},
"require": {
"php": ">=8.1"
},
"require-dev": {
"ext-json": "*",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^9",
"psalm/phar": "^5.15"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Revolt\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Aaron Piotrowski",
"email": "aaron@trowski.com"
},
{
"name": "Cees-Jan Kiewiet",
"email": "ceesjank@gmail.com"
},
{
"name": "Christian Lück",
"email": "christian@clue.engineering"
},
{
"name": "Niklas Keller",
"email": "me@kelunik.com"
}
],
"description": "Rock-solid event loop for concurrent PHP applications.",
"keywords": [
"async",
"asynchronous",
"concurrency",
"event",
"event-loop",
"non-blocking",
"scheduler"
],
"support": {
"issues": "https://github.com/revoltphp/event-loop/issues",
"source": "https://github.com/revoltphp/event-loop/tree/v1.0.6"
},
"time": "2023-11-30T05:34:44+00:00"
},
{
"name": "roave/security-advisories",
"version": "dev-latest",
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "e7a38fcc13e4ddfe9a28d5c7bf50aa9a9da758ec"
"reference": "fa05b1cdeb1d38692aea5d34bed226b682403a6d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/e7a38fcc13e4ddfe9a28d5c7bf50aa9a9da758ec",
"reference": "e7a38fcc13e4ddfe9a28d5c7bf50aa9a9da758ec",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/fa05b1cdeb1d38692aea5d34bed226b682403a6d",
"reference": "fa05b1cdeb1d38692aea5d34bed226b682403a6d",
"shasum": ""
},
"conflict": {
@ -1636,7 +1968,7 @@
"cockpit-hq/cockpit": "<2.7|==2.7",
"codeception/codeception": "<3.1.3|>=4,<4.1.22",
"codeigniter/framework": "<3.1.9",
"codeigniter4/framework": "<4.4.7",
"codeigniter4/framework": "<4.5.8",
"codeigniter4/shield": "<1.0.0.0-beta8",
"codiad/codiad": "<=2.8.4",
"composer/composer": "<1.10.27|>=2,<2.2.24|>=2.3,<2.7.7",
@ -1651,7 +1983,7 @@
"contao/managed-edition": "<=1.5",
"corveda/phpsandbox": "<1.3.5",
"cosenary/instagram": "<=2.3",
"craftcms/cms": "<4.13.2|>=5,<5.5.2",
"craftcms/cms": "<4.13.8|>=5,<5.5.5",
"croogo/croogo": "<4",
"cuyz/valinor": "<0.12",
"czim/file-handling": "<1.5|>=2,<2.3",
@ -2014,11 +2346,11 @@
"phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7",
"phpmailer/phpmailer": "<6.5",
"phpmussel/phpmussel": ">=1,<1.6",
"phpmyadmin/phpmyadmin": "<5.2.1",
"phpmyadmin/phpmyadmin": "<5.2.2",
"phpmyfaq/phpmyfaq": "<3.2.5|==3.2.5|>=3.2.10,<=4.0.1",
"phpoffice/common": "<0.2.9",
"phpoffice/phpexcel": "<1.8.1",
"phpoffice/phpspreadsheet": "<=1.29.6|>=2,<=2.1.5|>=2.2,<=2.3.4|>=3,<3.7",
"phpoffice/phpspreadsheet": "<1.29.8|>=2,<2.1.7|>=2.2,<2.3.6|>=3,<3.8",
"phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36",
"phpservermon/phpservermon": "<3.6",
"phpsysinfo/phpsysinfo": "<3.4.3",
@ -2048,6 +2380,7 @@
"prestashop/gamification": "<2.3.2",
"prestashop/prestashop": "<8.1.6",
"prestashop/productcomments": "<5.0.2",
"prestashop/ps_contactinfo": "<=3.3.2",
"prestashop/ps_emailsubscription": "<2.6.1",
"prestashop/ps_facetedsearch": "<3.4.1",
"prestashop/ps_linklist": "<3.1",
@ -2306,7 +2639,7 @@
"xataface/xataface": "<3",
"xpressengine/xpressengine": "<3.0.15",
"yab/quarx": "<2.4.5",
"yeswiki/yeswiki": "<=4.4.4",
"yeswiki/yeswiki": "<=4.4.5",
"yetiforce/yetiforce-crm": "<6.5",
"yidashi/yii2cmf": "<=2",
"yii2mod/yii2-cms": "<1.9.2",
@ -2397,7 +2730,7 @@
"type": "tidelift"
}
],
"time": "2025-01-15T23:05:13+00:00"
"time": "2025-01-23T18:06:21+00:00"
},
{
"name": "sebastian/diff",
@ -3250,21 +3583,21 @@
},
{
"name": "vimeo/psalm",
"version": "5.26.1",
"version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0"
"reference": "b8e96bb617bf59382113b1b56cef751f648a7dc9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/d747f6500b38ac4f7dfc5edbcae6e4b637d7add0",
"reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/b8e96bb617bf59382113b1b56cef751f648a7dc9",
"reference": "b8e96bb617bf59382113b1b56cef751f648a7dc9",
"shasum": ""
},
"require": {
"amphp/amp": "^2.4.2",
"amphp/byte-stream": "^1.5",
"amphp/amp": "^3",
"amphp/byte-stream": "^2",
"composer-runtime-api": "^2",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^2.0 || ^3.0",
@ -3277,26 +3610,24 @@
"ext-simplexml": "*",
"ext-tokenizer": "*",
"felixfbecker/advanced-json-rpc": "^3.1",
"felixfbecker/language-server-protocol": "^1.5.2",
"felixfbecker/language-server-protocol": "^1.5.3",
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"nikic/php-parser": "^4.17",
"php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0",
"nikic/php-parser": "^5.0.0",
"php": "~8.1.17 || ~8.2.4 || ~8.3.0 || ~8.4.0",
"sebastian/diff": "^4.0 || ^5.0 || ^6.0",
"spatie/array-to-xml": "^2.17.0 || ^3.0",
"symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0",
"symfony/filesystem": "^5.4 || ^6.0 || ^7.0"
},
"conflict": {
"nikic/php-parser": "4.17.0"
},
"provide": {
"psalm/psalm": "self.version"
},
"require-dev": {
"amphp/phpunit-util": "^2.0",
"amphp/phpunit-util": "^3",
"bamarni/composer-bin-plugin": "^1.4",
"brianium/paratest": "^6.9",
"dg/bypass-finals": "^1.5",
"ext-curl": "*",
"mockery/mockery": "^1.5",
"nunomaduro/mock-final-classes": "^1.1",
@ -3304,7 +3635,7 @@
"phpstan/phpdoc-parser": "^1.6",
"phpunit/phpunit": "^9.6",
"psalm/plugin-mockery": "^1.1",
"psalm/plugin-phpunit": "^0.18",
"psalm/plugin-phpunit": "^0.19",
"slevomat/coding-standard": "^8.4",
"squizlabs/php_codesniffer": "^3.6",
"symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0"
@ -3327,7 +3658,9 @@
"dev-2.x": "2.x-dev",
"dev-3.x": "3.x-dev",
"dev-4.x": "4.x-dev",
"dev-master": "5.x-dev"
"dev-5.x": "5.x-dev",
"dev-6.x": "6.x-dev",
"dev-master": "7.x-dev"
}
},
"autoload": {
@ -3356,7 +3689,7 @@
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm"
},
"time": "2024-09-08T18:53:08+00:00"
"time": "2025-01-26T12:03:19+00:00"
},
{
"name": "webmozart/assert",
@ -3425,11 +3758,11 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": "^8.1"
"php": "~8.1.17"
},
"platform-dev": [],
"platform-overrides": {
"php": "8.1"
"php": "8.1.17"
},
"plugin-api-version": "2.6.0"
}

View File

@ -91,17 +91,21 @@ class OpmlController extends Controller
$file = $this->request->getUploadedFile('import');
if ($file) {
$xml = new \SimpleXMLElement(file_get_contents((string) $file['tmp_name']));
$fileContent = file_get_contents((string) $file['tmp_name']);
/** @var \SimpleXMLElement[] $outlines */
$outlines = $xml->body->children();
if (is_string($fileContent)) {
$xml = new \SimpleXMLElement($fileContent);
$toSubscribe = [];
foreach ($outlines as $outline) {
$toSubscribe[] = (string) $outline['xmlUrl'];
/** @var \SimpleXMLElement[] $outlines */
$outlines = $xml->body->children();
$toSubscribe = [];
foreach ($outlines as $outline) {
$toSubscribe[] = (string) $outline['xmlUrl'];
}
$this->subscriptionChangeSaver->saveSubscriptionChanges($toSubscribe, [], $this->userService->getUserUID());
}
$this->subscriptionChangeSaver->saveSubscriptionChanges($toSubscribe, [], $this->userService->getUserUID());
}
return new Response();

View File

@ -35,13 +35,14 @@ class FyydService implements IPodProvider
/** @var string[] $feed */
foreach ($json['data'] as $feed) {
if ($feed['title']) {
$time = strtotime($feed['lastpub']);
$podcasts[] = new PodcastData(
$feed['title'],
$feed['author'],
$feed['xmlURL'],
$feed['description'],
$feed['imgURL'],
strtotime($feed['lastpub'])
is_int($time) ? $time : time()
);
}
}
@ -63,13 +64,14 @@ class FyydService implements IPodProvider
/** @var string[] $feed */
foreach ($podcastJson['data'] as $feed) {
if ($feed['title']) {
$time = strtotime($feed['lastpub']);
$podcasts[] = new PodcastData(
$feed['title'],
$feed['author'],
$feed['xmlURL'],
$feed['description'],
$feed['imgURL'],
strtotime($feed['lastpub'])
is_int($time) ? $time : time()
);
}
}
@ -111,13 +113,14 @@ class FyydService implements IPodProvider
/** @var string[] $feed */
foreach ($postCastJson['data'] as $feed) {
if ($feed['title']) {
$time = strtotime($feed['lastpub']);
$podcasts[] = new PodcastData(
$feed['title'],
$feed['author'],
$feed['xmlURL'],
$feed['description'],
$feed['imgURL'],
strtotime($feed['lastpub'])
is_int($time) ? $time : time()
);
}
}

View File

@ -32,13 +32,14 @@ class ItunesService implements IPodProvider
if (array_key_exists('results', $json) && is_array($json['results'])) {
/** @var string[] $feed */
foreach ($json['results'] as $feed) {
$time = strtotime($feed['releaseDate']);
$podcasts[] = new PodcastData(
$feed['trackName'],
$feed['artistName'],
$feed['feedUrl'],
$feed['primaryGenreName'],
$feed['artworkUrl600'],
strtotime($feed['releaseDate'])
is_int($time) ? $time : time()
);
}
}