diff --git a/README.md b/README.md index 4a91e321..16f1d213 100644 --- a/README.md +++ b/README.md @@ -87,3 +87,9 @@ If you want to get started using Pico, please refer to [Pico's user docs](http:/ When the docs cannot answer your question, you can get help by either joining us on [#picocms on Libera.Chat](https://web.libera.chat/#picocms) ([logs](http://picocms.org/irc-logs)), or by creating a new thread on [Nextcloud Help](https://help.nextcloud.com/c/apps/cms-pico). When you’re experiencing problems with Pico CMS for Nextcloud, please don’t hesitate to create a new [Issue](https://github.com/nextcloud/cms_pico/issues) on GitHub. Concerning problems with Pico, open a new [Issue](https://github.com/picocms/Pico/issues) on Pico's GitHub repository. If you have problems with plugins or themes, please refer to the website of the developer of this plugin or theme. **Before creating a new Issue,** please make sure the problem wasn’t reported yet using GitHubs search engine on both the [`nextcloud/cms_pico`](https://github.com/nextcloud/cms_pico/search?type=Issues) and [`picocms/Pico`](https://github.com/picocms/Pico/search?type=Issues) repos, as well as the [search of Nextcloud Help](https://help.nextcloud.com/search). Please describe your issue as clear as possible and always include the *exact error message* (if any) as well as all related messages in Nextcloud's logs. Also include the exact *Nextcloud version* and the *version of Pico CMS for Nextcloud* you’re using. Provided that you’re using custom *plugins* and/or *themes*, include a list of them too. We need information about the *actual and expected behavior* , the *steps to reproduce* the problem, and what steps you have taken to resolve the problem by yourself (i.e. *your own troubleshooting*). + +## Nextcloud 26+ compatibility +:exclamation: I've made this app compatible with Nextcloud 31, however, for now, the HTML purifier is bypassed which might be an issue depending of your user case. +Also, as this project is using other unmaintained projects, it is very possible that things might break again in the future. +I will do my best to keep it up and running until my users have agreed to move to another platform. +Also, keep in mind that my PHP knowledge and experience is limited, so, for now it works on my current Nextcloud instance, but it might not with your configuration. diff --git a/appinfo/app.php b/appinfo/app.php deleted file mode 100644 index 90ee0147..00000000 --- a/appinfo/app.php +++ /dev/null @@ -1,34 +0,0 @@ -) - * @copyright Copyright (c) 2019, Daniel Rudolf () - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -use OCA\CMSPico\AppInfo\Application; - -if (is_file(__DIR__ . '/../vendor/autoload.php')) { - require_once(__DIR__ . '/../vendor/autoload.php'); -} - -require_once(__DIR__ . '/../lib/functions.php'); - -/** @var Application $app */ -$app = \OC::$server->query(Application::class); -$app->registerEventListener(); diff --git a/appinfo/info.xml b/appinfo/info.xml index 51795b5e..00b6baef 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -48,8 +48,9 @@ You want to learn more about Pico CMS for Nextcloud? Easy! Just download and ena https://raw.githubusercontent.com/nextcloud/cms_pico/master/screenshots/apache.png - + + OCA\CMSPico\AppInfo\Bootstrap OCA\CMSPico\Migration\AppDataRepairStep diff --git a/composer.json b/composer.json index 700e5534..af4120c3 100644 --- a/composer.json +++ b/composer.json @@ -26,13 +26,13 @@ "picocms/pico-deprecated": "^2.1", "picocms/composer-installer": "^1.0", "xemlock/htmlpurifier-html5": "~0.1.11", - "symfony/yaml" : "^2.8|^3.4|^4.4|^5.1" + "symfony/yaml" : "^2.8|^3.4|^4.4|^5.1", + "erusev/parsedown-extra": "^0.8.0@beta" }, "require-dev": { "phpunit/phpunit": "^8", "phrozenbyte/phpunit-throwable-asserts": "^1.1", - "phrozenbyte/phpunit-array-asserts": "^v1.1", - "incompass/coverage": "^1.0" + "phrozenbyte/phpunit-array-asserts": "^v1.1" }, "extra": { "pico-theme-dir": "appdata/themes/", diff --git a/composer.lock b/composer.lock index c31884a9..c7570083 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b6d526cb5daaf70c83a7777df1de42ab", + "content-hash": "06cd44391038d20c12b0de08611ac4f7", "packages": [ { "name": "erusev/parsedown", @@ -112,20 +112,20 @@ }, { "name": "ezyang/htmlpurifier", - "version": "v4.16.0", + "version": "v4.19.0", "source": { "type": "git", "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8" + "reference": "b287d2a16aceffbf6e0295559b39662612b77fcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/b287d2a16aceffbf6e0295559b39662612b77fcf", + "reference": "b287d2a16aceffbf6e0295559b39662612b77fcf", "shasum": "" }, "require": { - "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0" + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, "require-dev": { "cerdic/css-tidy": "^1.7 || ^2.0", @@ -167,9 +167,9 @@ ], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0" + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.19.0" }, - "time": "2022-09-18T07:06:19+00:00" + "time": "2025-10-17T16:34:55+00:00" }, { "name": "picocms/composer-installer", @@ -414,11 +414,11 @@ }, "type": "pico-theme", "extra": { - "installer-name": "default", "branch-alias": { "dev-master": "2.1.x-dev", "dev-pico-3.0": "3.0.x-dev" - } + }, + "installer-name": "default" }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -457,20 +457,20 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -480,12 +480,9 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -519,7 +516,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" }, "funding": [ { @@ -530,12 +527,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/yaml", @@ -592,16 +593,16 @@ }, { "name": "twig/twig", - "version": "v1.44.7", + "version": "v1.44.8", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "0887422319889e442458e48e2f3d9add1a172ad5" + "reference": "b1f009c449e435a0384814e67205d9190a4d050e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/0887422319889e442458e48e2f3d9add1a172ad5", - "reference": "0887422319889e442458e48e2f3d9add1a172ad5", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/b1f009c449e435a0384814e67205d9190a4d050e", + "reference": "b1f009c449e435a0384814e67205d9190a4d050e", "shasum": "" }, "require": { @@ -654,7 +655,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v1.44.7" + "source": "https://github.com/twigphp/Twig/tree/v1.44.8" }, "funding": [ { @@ -666,7 +667,7 @@ "type": "tidelift" } ], - "time": "2022-09-28T08:38:36+00:00" + "time": "2024-09-09T17:17:16+00:00" }, { "name": "xemlock/htmlpurifier-html5", @@ -795,86 +796,18 @@ ], "time": "2022-12-30T00:15:36+00:00" }, - { - "name": "incompass/coverage", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/casechek/coverage.git", - "reference": "a7a8f0360bd9c3642f05f1cd8aee35860c29c40f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/casechek/coverage/zipball/a7a8f0360bd9c3642f05f1cd8aee35860c29c40f", - "reference": "a7a8f0360bd9c3642f05f1cd8aee35860c29c40f", - "shasum": "" - }, - "require": { - "symfony/console": "^3.3" - }, - "require-dev": { - "mikey179/vfsstream": "^1.6", - "mockery/mockery": "^0.9.9", - "phpunit/phpunit": "^5.0 || ^6.2", - "symfony/framework-bundle": "^3.3", - "symfony/phpunit-bridge": "^3.3" - }, - "bin": [ - "bin/coverage" - ], - "type": "project", - "extra": { - "phar-builder": { - "compression": "GZip", - "name": "coverage.phar", - "output-dir": "./", - "entry-point": "bin/coverage", - "include": [ - "bin", - "src" - ], - "include-dev": false, - "events": { - "build.after": [ - "chmod +x coverage.phar" - ] - } - } - }, - "autoload": { - "psr-4": { - "App\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joe Mizzi", - "email": "joe@casechek.com" - } - ], - "description": "Coverage check for clover.xml files generated by phpunit.", - "support": { - "issues": "https://github.com/casechek/coverage/issues", - "source": "https://github.com/casechek/coverage/tree/1.0.0" - }, - "time": "2017-06-27T01:45:36+00:00" - }, { "name": "myclabs/deep-copy", - "version": "1.11.1", + "version": "1.13.4", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", "shasum": "" }, "require": { @@ -882,11 +815,12 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "doctrine/common": "<2.13.3 || >=3 <3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -912,7 +846,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" }, "funding": [ { @@ -920,24 +854,25 @@ "type": "tidelift" } ], - "time": "2023-03-08T13:26:56+00:00" + "time": "2025-08-01T08:46:24+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -978,9 +913,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -1035,28 +976,29 @@ }, { "name": "phplucidframe/console-table", - "version": "v1.2.4", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/phplucidframe/console-table.git", - "reference": "a973d911af96f3db42fca92cbeb1f473c9ad505e" + "reference": "8a3a571f6523e323f28d3a31d9991394c9db75f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phplucidframe/console-table/zipball/a973d911af96f3db42fca92cbeb1f473c9ad505e", - "reference": "a973d911af96f3db42fca92cbeb1f473c9ad505e", + "url": "https://api.github.com/repos/phplucidframe/console-table/zipball/8a3a571f6523e323f28d3a31d9991394c9db75f8", + "reference": "8a3a571f6523e323f28d3a31d9991394c9db75f8", "shasum": "" }, "require": { - "php": ">=5.3" + "ext-mbstring": "*", + "php": ">=7.1" }, "require-dev": { "phpunit/phpunit": "*" }, "type": "library", "autoload": { - "psr-0": { - "LucidFrame\\": "src/", + "psr-4": { + "LucidFrame\\": "src/LucidFrame/", "LucidFrameTest\\": "tests/" } }, @@ -1066,29 +1008,29 @@ ], "authors": [ { - "name": "Sithu K.", - "email": "cithukyaw@gmail.com" + "name": "Sithu", + "email": "sithu@phplucidframe.com" } ], "description": "Console Table", "support": { "issues": "https://github.com/phplucidframe/console-table/issues", - "source": "https://github.com/phplucidframe/console-table/tree/v1.2.4" + "source": "https://github.com/phplucidframe/console-table/tree/v1.4.0" }, - "time": "2019-03-03T12:17:32+00:00" + "time": "2025-05-27T14:28:44+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.15", + "version": "7.0.17", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "819f92bba8b001d4363065928088de22f25a3a48" + "reference": "40a4ed114a4aea5afd6df8d0f0c9cd3033097f66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/819f92bba8b001d4363065928088de22f25a3a48", - "reference": "819f92bba8b001d4363065928088de22f25a3a48", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/40a4ed114a4aea5afd6df8d0f0c9cd3033097f66", + "reference": "40a4ed114a4aea5afd6df8d0f0c9cd3033097f66", "shasum": "" }, "require": { @@ -1140,7 +1082,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.15" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.17" }, "funding": [ { @@ -1148,20 +1090,20 @@ "type": "github" } ], - "time": "2021-07-26T12:20:09+00:00" + "time": "2024-03-02T06:09:37+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.5", + "version": "2.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5" + "reference": "69deeb8664f611f156a924154985fbd4911eb36b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5", - "reference": "42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/69deeb8664f611f156a924154985fbd4911eb36b", + "reference": "69deeb8664f611f156a924154985fbd4911eb36b", "shasum": "" }, "require": { @@ -1200,7 +1142,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.5" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.6" }, "funding": [ { @@ -1208,7 +1150,7 @@ "type": "github" } ], - "time": "2021-12-02T12:42:26+00:00" + "time": "2024-03-01T13:39:50+00:00" }, { "name": "phpunit/php-text-template", @@ -1257,16 +1199,16 @@ }, { "name": "phpunit/php-timer", - "version": "2.1.3", + "version": "2.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662" + "reference": "a691211e94ff39a34811abd521c31bd5b305b0bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/a691211e94ff39a34811abd521c31bd5b305b0bb", + "reference": "a691211e94ff39a34811abd521c31bd5b305b0bb", "shasum": "" }, "require": { @@ -1304,7 +1246,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.4" }, "funding": [ { @@ -1312,7 +1254,7 @@ "type": "github" } ], - "time": "2020-11-30T08:20:02+00:00" + "time": "2024-03-01T13:42:41+00:00" }, { "name": "phpunit/php-token-stream", @@ -1376,42 +1318,42 @@ }, { "name": "phpunit/phpunit", - "version": "8.5.34", + "version": "8.5.49", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "622d0186707f39a4ae71df3bcf42d759bb868854" + "reference": "2605ccb4744dbcc20e00a12b7082c86ab3431071" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/622d0186707f39a4ae71df3bcf42d759bb868854", - "reference": "622d0186707f39a4ae71df3bcf42d759bb868854", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2605ccb4744dbcc20e00a12b7082c86ab3431071", + "reference": "2605ccb4744dbcc20e00a12b7082c86ab3431071", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1", + "doctrine/instantiator": "^1.5.0", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.0", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", "php": ">=7.2", - "phpunit/php-code-coverage": "^7.0.12", - "phpunit/php-file-iterator": "^2.0.4", + "phpunit/php-code-coverage": "^7.0.17", + "phpunit/php-file-iterator": "^2.0.6", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.5", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.3", - "sebastian/exporter": "^3.1.5", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", + "phpunit/php-timer": "^2.1.4", + "sebastian/comparator": "^3.0.6", + "sebastian/diff": "^3.0.6", + "sebastian/environment": "^4.2.5", + "sebastian/exporter": "^3.1.8", + "sebastian/global-state": "^3.0.6", + "sebastian/object-enumerator": "^3.0.5", + "sebastian/resource-operations": "^2.0.3", + "sebastian/type": "^1.1.5", "sebastian/version": "^2.0.1" }, "suggest": { @@ -1454,7 +1396,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.34" + "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.49" }, "funding": [ { @@ -1465,25 +1407,33 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2023-09-19T05:20:51+00:00" + "time": "2025-12-01T07:15:02+00:00" }, { "name": "phrozenbyte/phpunit-array-asserts", - "version": "v1.2.0", + "version": "v1.2.1", "source": { "type": "git", "url": "https://github.com/PhrozenByte/phpunit-array-asserts.git", - "reference": "b0e0a2d58cef49db4c68bd620b4b22f74fc87f7d" + "reference": "f21a111b8dc84131e05299754fdb11770bccb56c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhrozenByte/phpunit-array-asserts/zipball/b0e0a2d58cef49db4c68bd620b4b22f74fc87f7d", - "reference": "b0e0a2d58cef49db4c68bd620b4b22f74fc87f7d", + "url": "https://api.github.com/repos/PhrozenByte/phpunit-array-asserts/zipball/f21a111b8dc84131e05299754fdb11770bccb56c", + "reference": "f21a111b8dc84131e05299754fdb11770bccb56c", "shasum": "" }, "require": { @@ -1495,19 +1445,19 @@ "phpunit/phpunit": "<8.0" }, "require-dev": { - "incompass/coverage": "^1.0", "mockery/mockery": "^1.3", "php-parallel-lint/php-parallel-lint": "^1.2", "phpunit/phpunit": "^8", "psalm/plugin-mockery": "^0.7.0", "psalm/plugin-phpunit": "^0.15.1", + "rregeer/phpunit-coverage-check": "^0.3", "symfony/yaml": "^4.4", "vimeo/psalm": "^4.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -1537,20 +1487,20 @@ "issues": "https://github.com/PhrozenByte/phpunit-array-asserts/issues", "source": "https://github.com/PhrozenByte/phpunit-array-asserts" }, - "time": "2021-02-27T14:54:32+00:00" + "time": "2025-09-24T15:57:04+00:00" }, { "name": "phrozenbyte/phpunit-throwable-asserts", - "version": "v1.1.1", + "version": "v1.1.2", "source": { "type": "git", "url": "https://github.com/PhrozenByte/phpunit-throwable-asserts.git", - "reference": "590235e19a51313e03ac4110523a6d257b4c9e0a" + "reference": "c5c8022df6f866c0001b956051640017e6d9da36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PhrozenByte/phpunit-throwable-asserts/zipball/590235e19a51313e03ac4110523a6d257b4c9e0a", - "reference": "590235e19a51313e03ac4110523a6d257b4c9e0a", + "url": "https://api.github.com/repos/PhrozenByte/phpunit-throwable-asserts/zipball/c5c8022df6f866c0001b956051640017e6d9da36", + "reference": "c5c8022df6f866c0001b956051640017e6d9da36", "shasum": "" }, "require": { @@ -1560,12 +1510,12 @@ "phpunit/phpunit": "<8.0" }, "require-dev": { - "incompass/coverage": "^1.0", "mockery/mockery": "^1.3", "php-parallel-lint/php-parallel-lint": "^1.2", "phpunit/phpunit": "^8", "psalm/plugin-mockery": "^0.7.0", "psalm/plugin-phpunit": "^0.15.1", + "rregeer/phpunit-coverage-check": "^0.3", "symfony/yaml": "^4.4", "vimeo/psalm": "^4.5" }, @@ -1602,70 +1552,20 @@ "issues": "https://github.com/PhrozenByte/phpunit-throwable-asserts/issues", "source": "https://github.com/PhrozenByte/phpunit-throwable-asserts" }, - "time": "2021-02-15T17:40:06+00:00" - }, - { - "name": "psr/log", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" - }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2025-09-24T15:36:06+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" + "reference": "92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54", + "reference": "92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54", "shasum": "" }, "require": { @@ -1699,7 +1599,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.3" }, "funding": [ { @@ -1707,20 +1607,20 @@ "type": "github" } ], - "time": "2020-11-30T08:15:22+00:00" + "time": "2024-03-01T13:45:45+00:00" }, { "name": "sebastian/comparator", - "version": "3.0.5", + "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dc7ceb4a24aede938c7af2a9ed1de09609ca770" + "reference": "4b3c947888c81708b20fb081bb653a2ba68f989a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dc7ceb4a24aede938c7af2a9ed1de09609ca770", - "reference": "1dc7ceb4a24aede938c7af2a9ed1de09609ca770", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/4b3c947888c81708b20fb081bb653a2ba68f989a", + "reference": "4b3c947888c81708b20fb081bb653a2ba68f989a", "shasum": "" }, "require": { @@ -1773,28 +1673,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.5" + "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.6" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" } ], - "time": "2022-09-14T12:31:48+00:00" + "time": "2025-08-10T05:29:24+00:00" }, { "name": "sebastian/diff", - "version": "3.0.4", + "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "6296a0c086dd0117c1b78b059374d7fcbe7545ae" + "reference": "98ff311ca519c3aa73ccd3de053bdb377171d7b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/6296a0c086dd0117c1b78b059374d7fcbe7545ae", - "reference": "6296a0c086dd0117c1b78b059374d7fcbe7545ae", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/98ff311ca519c3aa73ccd3de053bdb377171d7b6", + "reference": "98ff311ca519c3aa73ccd3de053bdb377171d7b6", "shasum": "" }, "require": { @@ -1839,7 +1751,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/3.0.4" + "source": "https://github.com/sebastianbergmann/diff/tree/3.0.6" }, "funding": [ { @@ -1847,20 +1759,20 @@ "type": "github" } ], - "time": "2023-05-07T05:30:20+00:00" + "time": "2024-03-02T06:16:36+00:00" }, { "name": "sebastian/environment", - "version": "4.2.4", + "version": "4.2.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0" + "reference": "56932f6049a0482853056ffd617c91ffcc754205" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/56932f6049a0482853056ffd617c91ffcc754205", + "reference": "56932f6049a0482853056ffd617c91ffcc754205", "shasum": "" }, "require": { @@ -1902,7 +1814,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + "source": "https://github.com/sebastianbergmann/environment/tree/4.2.5" }, "funding": [ { @@ -1910,24 +1822,24 @@ "type": "github" } ], - "time": "2020-11-30T07:53:42+00:00" + "time": "2024-03-01T13:49:59+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.5", + "version": "3.1.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6" + "reference": "64cfeaa341951ceb2019d7b98232399d57bb2296" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/73a9676f2833b9a7c36968f9d882589cd75511e6", - "reference": "73a9676f2833b9a7c36968f9d882589cd75511e6", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64cfeaa341951ceb2019d7b98232399d57bb2296", + "reference": "64cfeaa341951ceb2019d7b98232399d57bb2296", "shasum": "" }, "require": { - "php": ">=7.0", + "php": ">=7.2", "sebastian/recursion-context": "^3.0" }, "require-dev": { @@ -1979,28 +1891,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.5" + "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.8" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" } ], - "time": "2022-09-14T06:00:17+00:00" + "time": "2025-09-24T05:55:14+00:00" }, { "name": "sebastian/global-state", - "version": "3.0.3", + "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "66783ce213de415b451b904bfef9dda0cf9aeae0" + "reference": "800689427e3e8cf57a8fe38fcd1d4344c9b2f046" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/66783ce213de415b451b904bfef9dda0cf9aeae0", - "reference": "66783ce213de415b451b904bfef9dda0cf9aeae0", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/800689427e3e8cf57a8fe38fcd1d4344c9b2f046", + "reference": "800689427e3e8cf57a8fe38fcd1d4344c9b2f046", "shasum": "" }, "require": { @@ -2043,28 +1967,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/global-state/tree/3.0.6" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "type": "tidelift" } ], - "time": "2023-08-02T09:23:32+00:00" + "time": "2025-08-10T05:40:12+00:00" }, { "name": "sebastian/object-enumerator", - "version": "3.0.4", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2" + "reference": "ac5b293dba925751b808e02923399fb44ff0d541" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/ac5b293dba925751b808e02923399fb44ff0d541", + "reference": "ac5b293dba925751b808e02923399fb44ff0d541", "shasum": "" }, "require": { @@ -2100,7 +2036,7 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.5" }, "funding": [ { @@ -2108,20 +2044,20 @@ "type": "github" } ], - "time": "2020-11-30T07:40:27+00:00" + "time": "2024-03-01T13:54:02+00:00" }, { "name": "sebastian/object-reflector", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d" + "reference": "1d439c229e61f244ff1f211e5c99737f90c67def" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/1d439c229e61f244ff1f211e5c99737f90c67def", + "reference": "1d439c229e61f244ff1f211e5c99737f90c67def", "shasum": "" }, "require": { @@ -2155,7 +2091,7 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.3" }, "funding": [ { @@ -2163,20 +2099,20 @@ "type": "github" } ], - "time": "2020-11-30T07:37:18+00:00" + "time": "2024-03-01T13:56:04+00:00" }, { "name": "sebastian/recursion-context", - "version": "3.0.1", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb" + "reference": "8fe7e75986a9d24b4cceae847314035df7703a5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/8fe7e75986a9d24b4cceae847314035df7703a5a", + "reference": "8fe7e75986a9d24b4cceae847314035df7703a5a", "shasum": "" }, "require": { @@ -2218,28 +2154,40 @@ "homepage": "http://www.github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" } ], - "time": "2020-11-30T07:34:24+00:00" + "time": "2025-08-10T05:25:53+00:00" }, { "name": "sebastian/resource-operations", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3" + "reference": "72a7f7674d053d548003b16ff5a106e7e0e06eee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/72a7f7674d053d548003b16ff5a106e7e0e06eee", + "reference": "72a7f7674d053d548003b16ff5a106e7e0e06eee", "shasum": "" }, "require": { @@ -2269,8 +2217,7 @@ "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.3" }, "funding": [ { @@ -2278,20 +2225,20 @@ "type": "github" } ], - "time": "2020-11-30T07:30:19+00:00" + "time": "2024-03-01T13:59:09+00:00" }, { "name": "sebastian/type", - "version": "1.1.4", + "version": "1.1.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4" + "reference": "18f071c3a29892b037d35e6b20ddf3ea39b42874" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0150cfbc4495ed2df3872fb31b26781e4e077eb4", - "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/18f071c3a29892b037d35e6b20ddf3ea39b42874", + "reference": "18f071c3a29892b037d35e6b20ddf3ea39b42874", "shasum": "" }, "require": { @@ -2326,7 +2273,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/1.1.4" + "source": "https://github.com/sebastianbergmann/type/tree/1.1.5" }, "funding": [ { @@ -2334,7 +2281,7 @@ "type": "github" } ], - "time": "2020-11-30T07:25:11+00:00" + "time": "2024-03-01T14:04:07+00:00" }, { "name": "sebastian/version", @@ -2383,254 +2330,18 @@ }, "time": "2016-10-03T07:35:21+00:00" }, - { - "name": "symfony/console", - "version": "v3.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a10b1da6fc93080c180bba7219b5ff5b7518fe81", - "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81", - "shasum": "" - }, - "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/debug": "~2.8|~3.0|~4.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/process": "<3.3" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.3|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.3|~4.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/console/tree/v3.4.47" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-24T10:57:07+00:00" - }, - { - "name": "symfony/debug", - "version": "v4.4.44", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "1a692492190773c5310bc7877cb590c04c2f05be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/1a692492190773c5310bc7877cb590c04c2f05be", - "reference": "1a692492190773c5310bc7877cb590c04c2f05be", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "psr/log": "^1|^2|^3" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to ease debugging PHP code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.44" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "abandoned": "symfony/error-handler", - "time": "2022-07-28T16:29:46+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-07-28T09:04:16+00:00" - }, { "name": "theseer/tokenizer", - "version": "1.2.1", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", "shasum": "" }, "require": { @@ -2659,7 +2370,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" }, "funding": [ { @@ -2667,12 +2378,14 @@ "type": "github" } ], - "time": "2021-07-28T10:34:58+00:00" + "time": "2025-11-17T20:03:58+00:00" } ], "aliases": [], "minimum-stability": "beta", - "stability-flags": [], + "stability-flags": { + "erusev/parsedown-extra": 10 + }, "prefer-stable": true, "prefer-lowest": false, "platform": { @@ -2680,5 +2393,5 @@ "ext-json": "*" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 5a5878c9..76b2b0c5 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -33,6 +33,7 @@ use OCP\EventDispatcher\IEventDispatcher; use OCP\Group\Events\GroupDeletedEvent; use OCP\User\Events\UserDeletedEvent; +use Psr\Log\LoggerInterface; class Application extends App { @@ -50,10 +51,10 @@ public function __construct(array $urlParams = []) /** * Registers event listeners. */ - public function registerEventListener(): void +/** public function registerEventListener(): void { /** @var IEventDispatcher $eventDispatcher */ - $eventDispatcher = \OC::$server->query(IEventDispatcher::class); +/** $eventDispatcher = \OC::$server->query(IEventDispatcher::class); $eventDispatcher->addServiceListener(UserDeletedEvent::class, UserDeletedEventListener::class); $eventDispatcher->addServiceListener(GroupDeletedEvent::class, GroupDeletedEventListener::class); @@ -62,7 +63,7 @@ public function registerEventListener(): void ExternalStorageBackendEventListener::class ); } - +**/ /** * Returns the absolute path to this app. * diff --git a/lib/AppInfo/Bootstrap.php b/lib/AppInfo/Bootstrap.php new file mode 100644 index 00000000..ed764323 --- /dev/null +++ b/lib/AppInfo/Bootstrap.php @@ -0,0 +1,31 @@ +registerEventListener(UserDeletedEvent::class, UserDeletedEventListener::class); + $context->registerEventListener(GroupDeletedEvent::class, GroupDeletedEventListener::class); + $context->registerEventListener('OCA\\Files_External::loadAdditionalBackends', ExternalStorageBackendEventListener::class); + } + + public function boot(IBootContext $context): void { + // ✅ Charger l’autoloader Composer + $autoload = \dirname(__DIR__, 2) . '/vendor/autoload.php'; + if (is_file($autoload)) { + require_once $autoload; + } + } +} diff --git a/lib/Controller/ControllerTrait.php b/lib/Controller/ControllerTrait.php index 2636f78c..81aa8853 100644 --- a/lib/Controller/ControllerTrait.php +++ b/lib/Controller/ControllerTrait.php @@ -27,11 +27,11 @@ use OCA\CMSPico\AppInfo\Application; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; -use OCP\ILogger; +use Psr\Log\LoggerInterface; trait ControllerTrait { - /** @var ILogger */ + /** @var LoggerInterface */ private $logger; /** diff --git a/lib/Controller/PluginsController.php b/lib/Controller/PluginsController.php index 4781f75d..263cbdef 100644 --- a/lib/Controller/PluginsController.php +++ b/lib/Controller/PluginsController.php @@ -32,7 +32,7 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http\DataResponse; use OCP\IL10N; -use OCP\ILogger; +use Psr\Log\LoggerInterface; use OCP\IRequest; class PluginsController extends Controller @@ -50,10 +50,10 @@ class PluginsController extends Controller * * @param IRequest $request * @param IL10N $l10n - * @param ILogger $logger + * @param LoggerInterface $logger * @param PluginsService $pluginsService */ - public function __construct(IRequest $request, IL10N $l10n, ILogger $logger, PluginsService $pluginsService) + public function __construct(IRequest $request, IL10N $l10n, LoggerInterface $logger, PluginsService $pluginsService) { parent::__construct(Application::APP_NAME, $request); diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index ad2b77e7..1e411f9b 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -29,7 +29,7 @@ use OCA\CMSPico\Service\WebsitesService; use OCP\AppFramework\Controller; use OCP\AppFramework\Http\DataResponse; -use OCP\ILogger; +use Psr\Log\LoggerInterface; use OCP\IRequest; class SettingsController extends Controller @@ -43,10 +43,10 @@ class SettingsController extends Controller * SettingsController constructor. * * @param IRequest $request - * @param ILogger $logger + * @param LoggerInterface $logger * @param WebsitesService $websitesService */ - public function __construct(IRequest $request, ILogger $logger, WebsitesService $websitesService) + public function __construct(IRequest $request, LoggerInterface $logger, WebsitesService $websitesService) { parent::__construct(Application::APP_NAME, $request); diff --git a/lib/Controller/TemplatesController.php b/lib/Controller/TemplatesController.php index ded4e843..84868161 100644 --- a/lib/Controller/TemplatesController.php +++ b/lib/Controller/TemplatesController.php @@ -32,7 +32,7 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http\DataResponse; use OCP\IL10N; -use OCP\ILogger; +use Psr\Log\LoggerInterface; use OCP\IRequest; class TemplatesController extends Controller @@ -50,10 +50,10 @@ class TemplatesController extends Controller * * @param IRequest $request * @param IL10N $l10n - * @param ILogger $logger + * @param LoggerInterface $logger * @param TemplatesService $templatesService */ - public function __construct(IRequest $request, IL10N $l10n, ILogger $logger, TemplatesService $templatesService) + public function __construct(IRequest $request, IL10N $l10n, LoggerInterface $logger, TemplatesService $templatesService) { parent::__construct(Application::APP_NAME, $request); diff --git a/lib/Controller/ThemesController.php b/lib/Controller/ThemesController.php index e1ea8c11..1a5e3f65 100644 --- a/lib/Controller/ThemesController.php +++ b/lib/Controller/ThemesController.php @@ -32,7 +32,7 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http\DataResponse; use OCP\IL10N; -use OCP\ILogger; +use Psr\Log\LoggerInterface; use OCP\IRequest; class ThemesController extends Controller @@ -50,10 +50,10 @@ class ThemesController extends Controller * * @param IRequest $request * @param IL10N $l10n - * @param ILogger $logger + * @param LoggerInterface $logger * @param ThemesService $themesService */ - public function __construct(IRequest $request, IL10N $l10n, ILogger $logger, ThemesService $themesService) + public function __construct(IRequest $request, IL10N $l10n, LoggerInterface $logger, ThemesService $themesService) { parent::__construct(Application::APP_NAME, $request); diff --git a/lib/Controller/WebsitesController.php b/lib/Controller/WebsitesController.php index 5299f705..109d60d7 100644 --- a/lib/Controller/WebsitesController.php +++ b/lib/Controller/WebsitesController.php @@ -40,7 +40,7 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http\DataResponse; use OCP\IL10N; -use OCP\ILogger; +use Psr\Log\LoggerInterface; use OCP\IRequest; use OCP\IUserSession; use function OCA\CMSPico\t; @@ -64,14 +64,14 @@ class WebsitesController extends Controller * @param IRequest $request * @param IUserSession $userSession * @param IL10N $l10n - * @param ILogger $logger + * @param LoggerInterface $logger * @param WebsitesService $websitesService */ public function __construct( IRequest $request, IUserSession $userSession, IL10N $l10n, - ILogger $logger, + LoggerInterface $logger, WebsitesService $websitesService ) { parent::__construct(Application::APP_NAME, $request); diff --git a/lib/Migration/AppDataRepairStep.php b/lib/Migration/AppDataRepairStep.php index e25601a5..f4e9b7a4 100644 --- a/lib/Migration/AppDataRepairStep.php +++ b/lib/Migration/AppDataRepairStep.php @@ -34,7 +34,7 @@ use OCA\CMSPico\Service\WebsitesService; use OCP\Files\NotFoundException; use OCP\IGroupManager; -use OCP\ILogger; +use Psr\Log\LoggerInterface; use OCP\Migration\IOutput; use OCP\Migration\IRepairStep; @@ -72,7 +72,7 @@ class AppDataRepairStep implements IRepairStep /** * AppDataRepairStep constructor. * - * @param ILogger $logger + * @param LoggerInterface $logger * @param IGroupManager $groupManager * @param WebsitesService $websitesService * @param ConfigService $configService @@ -83,7 +83,7 @@ class AppDataRepairStep implements IRepairStep * @param MiscService $miscService */ public function __construct( - ILogger $logger, + LoggerInterface $logger, IGroupManager $groupManager, WebsitesService $websitesService, ConfigService $configService, diff --git a/lib/Migration/MigrationTrait.php b/lib/Migration/MigrationTrait.php index 3da71fd5..e4b23526 100644 --- a/lib/Migration/MigrationTrait.php +++ b/lib/Migration/MigrationTrait.php @@ -25,21 +25,21 @@ namespace OCA\CMSPico\Migration; use OCA\CMSPico\AppInfo\Application; -use OCP\ILogger; +use Psr\Log\LoggerInterface; use OCP\Migration\IOutput; trait MigrationTrait { - /** @var ILogger */ + /** @var LoggerInterface */ private $logger; /** @var IOutput */ private $output; /** - * @param ILogger $logger + * @param LoggerInterface $logger */ - protected function setLogger(ILogger $logger): void + protected function setLogger(LoggerInterface $logger): void { $this->logger = $logger; } @@ -63,7 +63,8 @@ protected function logInfo(string $message, ...$arguments): void } $message = sprintf($message, ...$arguments); - $this->logger->log(ILogger::INFO, $message, [ 'app' => Application::APP_NAME ]); + /**$this->logger->log(LoggerInterface::INFO, $message, [ 'app' => Application::APP_NAME ]);**/ + $this->logger->info($message, [ 'app' => Application::APP_NAME ]); $this->output->info($message); } @@ -78,7 +79,8 @@ protected function logWarning(string $message, ...$arguments): void } $message = sprintf($message, ...$arguments); - $this->logger->log(ILogger::WARN, $message, [ 'app' => Application::APP_NAME ]); + /**$this->logger->log(LoggerInterface::WARN, $message, [ 'app' => Application::APP_NAME ]);**/ + $this->logger->warning($message, [ 'app' => Application::APP_NAME ]); $this->output->warning($message); } diff --git a/lib/Pico.php b/lib/Pico.php index 5b70ec5d..73d6b331 100644 --- a/lib/Pico.php +++ b/lib/Pico.php @@ -25,6 +25,8 @@ namespace OCA\CMSPico; +require_once __DIR__ . '/../vendor/autoload.php'; + use HTMLPurifier; use HTMLPurifier_Config; use HTMLPurifier_HTML5Config; @@ -195,9 +197,11 @@ protected function purifyFileMeta(array $meta): array $newMeta = []; foreach ($meta as $key => $value) { if (is_array($value)) { - $newMeta[$key] = $this->purifyFileMeta($value); +/* $newMeta[$key] = $this->purifyFileMeta($value);*/ + $newMeta[$key] = $value; } else { - $newMeta[$key] = $this->getHtmlPurifier()->purify($value); +/* $newMeta[$key] = $this->getHtmlPurifier()->purify($value);*/ + $newMeta[$key] = $value; } } @@ -227,7 +231,8 @@ public function parseFileContent($markdown, $singleLine = false) */ protected function purifyFileContent(string $content): string { - return $this->getHtmlPurifier()->purify($content); +/* return $this->getHtmlPurifier()->purify($content);*/ + return $content; } /** @@ -261,7 +266,40 @@ private function getHtmlPurifierConfig(): HTMLPurifier_Config $allowedSchemes = array_merge($config->get('URI.AllowedSchemes'), [ 'data' => true ]); $config->set('URI.AllowedSchemes', $allowedSchemes); - $config->set('HTML.Allowed', 'a[href|target]'); +/* $config->set('HTML.Allowed', 'a[href|target]');*/ + $config->set( + 'HTML.Allowed', + implode(',', [ + 'a[href|target|rel]', + 'p', + 'br', + 'hr', + 'strong', + 'em', + 'blockquote', + 'code', + 'pre', + 'ul', + 'ol', + 'li', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'div', + 'span', + 'img[src|alt|title|width|height]', + 'table', + 'thead', + 'tbody', + 'tr', + 'td', + 'th', + ]) +); + $config->set('Attr.AllowedFrameTargets', [ '_blank' ]); $config->finalize(); diff --git a/lib/Service/PicoService.php b/lib/Service/PicoService.php index a9f2090d..76845061 100644 --- a/lib/Service/PicoService.php +++ b/lib/Service/PicoService.php @@ -42,7 +42,7 @@ use OCP\Files\InvalidPathException; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; -use OCP\ILogger; +use Psr\Log\LoggerInterface; class PicoService { @@ -67,7 +67,7 @@ class PicoService /** @var string */ public const CONTENT_EXT = '.md'; - /** @var ILogger */ + /** @var LoggerInterface */ private $logger; /** @var AssetsService */ @@ -88,7 +88,7 @@ class PicoService /** * PicoService constructor. * - * @param ILogger $logger + * @param LoggerInterface $logger * @param AssetsService $assetsService * @param ThemesService $themesService * @param PluginsService $pluginsService @@ -96,7 +96,7 @@ class PicoService * @param MiscService $miscService */ public function __construct( - ILogger $logger, + LoggerInterface $logger, AssetsService $assetsService, ThemesService $themesService, PluginsService $pluginsService,