update local dev and get rid of phinx seeds

This commit is contained in:
Spine
2025-05-05 19:16:35 +00:00
parent 42df98c9da
commit a80542f2cd
20 changed files with 1571 additions and 729 deletions

3
.gitignore vendored
View File

@@ -24,7 +24,6 @@ __MACOSX/
/misc/docker/data/
/misc/mysql-dump.sql
/misc/postgresql-dump.sql
/misc/phinx/seeded.txt
/node_modules
/public/static/font/
/public/static/local/
@@ -33,7 +32,7 @@ __MACOSX/
/npm-debug.log
/yarn-error.log
/misc/docker/mysql-home/.mysql_history
/misc/docker/mysql/home/.mysql_history
!/misc/docker/mysql-home/.my.cnf
/public/static/styles/**/*.css

View File

@@ -22,9 +22,9 @@ RUN apt-get update \
curl \
gnupg2 \
&& mkdir -p /etc/apt/keyrings \
&& curl -sL https://packages.sury.org/php/apt.gpg | apt-key add - \
&& echo "deb https://packages.sury.org/php/ $DEB_RELEASE main" | tee /etc/apt/sources.list.d/php.list \
&& curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /etc/apt/keyrings/debsuryorg-archive-keyring.gpg \
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
&& echo "deb [signed-by=/etc/apt/keyrings/debsuryorg-archive-keyring.gpg] https://packages.sury.org/php/ bookworm main" | tee /etc/apt/sources.list.d/php.list \
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_VERSION}.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \

View File

@@ -19,7 +19,7 @@ class ImageProxy {
* @param string $url Link to an image
*/
public function badHost(string $url): ?string {
foreach (IMAGE_HOST_BANNED as $host) { /** @phpstan-ignore-line */
foreach (IMAGE_HOST_BANNED as $host) {
if (stripos($url, $host) !== false) {
return $host;
}

View File

@@ -2,4 +2,4 @@
set -euo pipefail
cp misc/pre-commit.example .git/hooks/pre-commit
cp misc/pre-commit.git .git/hooks/pre-commit

214
composer.lock generated
View File

@@ -1677,16 +1677,16 @@
},
{
"name": "robmorgan/phinx",
"version": "0.16.7",
"version": "0.16.8",
"source": {
"type": "git",
"url": "https://github.com/cakephp/phinx.git",
"reference": "edd61785fe6b57a5992afafcc8cfdf5ea612d50d"
"reference": "06f83d73722a66ef974a7c46214011d24f7e6b66"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cakephp/phinx/zipball/edd61785fe6b57a5992afafcc8cfdf5ea612d50d",
"reference": "edd61785fe6b57a5992afafcc8cfdf5ea612d50d",
"url": "https://api.github.com/repos/cakephp/phinx/zipball/06f83d73722a66ef974a7c46214011d24f7e6b66",
"reference": "06f83d73722a66ef974a7c46214011d24f7e6b66",
"shasum": ""
},
"require": {
@@ -1694,7 +1694,7 @@
"composer-runtime-api": "^2.0",
"php-64bit": ">=8.1",
"psr/container": "^1.1|^2.0",
"symfony/config": "^3.4|^4.0|^5.0|^6.0|^7.0",
"symfony/config": "^4.0|^5.0|^6.0|^7.0",
"symfony/console": "^6.0|^7.0"
},
"require-dev": {
@@ -1703,7 +1703,7 @@
"ext-json": "*",
"ext-pdo": "*",
"phpunit/phpunit": "^9.5.19",
"symfony/yaml": "^3.4|^4.0|^5.0|^6.0|^7.0"
"symfony/yaml": "^4.0|^5.0|^6.0|^7.0"
},
"suggest": {
"ext-json": "Install if using JSON configuration format",
@@ -1758,9 +1758,9 @@
],
"support": {
"issues": "https://github.com/cakephp/phinx/issues",
"source": "https://github.com/cakephp/phinx/tree/0.16.7"
"source": "https://github.com/cakephp/phinx/tree/0.16.8"
},
"time": "2025-04-17T17:32:39+00:00"
"time": "2025-05-04T16:16:30+00:00"
},
{
"name": "robthree/twofactorauth",
@@ -1914,16 +1914,16 @@
},
{
"name": "symfony/config",
"version": "v7.2.3",
"version": "v7.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
"reference": "7716594aaae91d9141be080240172a92ecca4d44"
"reference": "e0b050b83ba999aa77a3736cb6d5b206d65b9d0d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/7716594aaae91d9141be080240172a92ecca4d44",
"reference": "7716594aaae91d9141be080240172a92ecca4d44",
"url": "https://api.github.com/repos/symfony/config/zipball/e0b050b83ba999aa77a3736cb6d5b206d65b9d0d",
"reference": "e0b050b83ba999aa77a3736cb6d5b206d65b9d0d",
"shasum": ""
},
"require": {
@@ -1969,7 +1969,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/config/tree/v7.2.3"
"source": "https://github.com/symfony/config/tree/v7.2.6"
},
"funding": [
{
@@ -1985,20 +1985,20 @@
"type": "tidelift"
}
],
"time": "2025-01-22T12:07:01+00:00"
"time": "2025-04-03T21:14:15+00:00"
},
{
"name": "symfony/console",
"version": "v7.2.5",
"version": "v7.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "e51498ea18570c062e7df29d05a7003585b19b88"
"reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/e51498ea18570c062e7df29d05a7003585b19b88",
"reference": "e51498ea18570c062e7df29d05a7003585b19b88",
"url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218",
"reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218",
"shasum": ""
},
"require": {
@@ -2062,7 +2062,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v7.2.5"
"source": "https://github.com/symfony/console/tree/v7.2.6"
},
"funding": [
{
@@ -2078,7 +2078,7 @@
"type": "tidelift"
}
],
"time": "2025-03-12T08:11:12+00:00"
"time": "2025-04-07T19:09:28+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2215,7 +2215,7 @@
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
@@ -2274,7 +2274,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0"
},
"funding": [
{
@@ -2294,7 +2294,7 @@
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
@@ -2352,7 +2352,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0"
},
"funding": [
{
@@ -2372,7 +2372,7 @@
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@@ -2433,7 +2433,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0"
},
"funding": [
{
@@ -2453,19 +2453,20 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
@@ -2513,7 +2514,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0"
},
"funding": [
{
@@ -2529,7 +2530,7 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/process",
@@ -2677,16 +2678,16 @@
},
{
"name": "symfony/string",
"version": "v7.2.0",
"version": "v7.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82"
"reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82",
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82",
"url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931",
"reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931",
"shasum": ""
},
"require": {
@@ -2744,7 +2745,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.2.0"
"source": "https://github.com/symfony/string/tree/v7.2.6"
},
"funding": [
{
@@ -2760,20 +2761,20 @@
"type": "tidelift"
}
],
"time": "2024-11-13T13:31:26+00:00"
"time": "2025-04-20T20:18:16+00:00"
},
{
"name": "symfony/yaml",
"version": "v7.2.5",
"version": "v7.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "4c4b6f4cfcd7e52053f0c8bfad0f7f30fb924912"
"reference": "0feafffb843860624ddfd13478f481f4c3cd8b23"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/4c4b6f4cfcd7e52053f0c8bfad0f7f30fb924912",
"reference": "4c4b6f4cfcd7e52053f0c8bfad0f7f30fb924912",
"url": "https://api.github.com/repos/symfony/yaml/zipball/0feafffb843860624ddfd13478f481f4c3cd8b23",
"reference": "0feafffb843860624ddfd13478f481f4c3cd8b23",
"shasum": ""
},
"require": {
@@ -2816,7 +2817,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/yaml/tree/v7.2.5"
"source": "https://github.com/symfony/yaml/tree/v7.2.6"
},
"funding": [
{
@@ -2832,20 +2833,20 @@
"type": "tidelift"
}
],
"time": "2025-03-03T07:12:39+00:00"
"time": "2025-04-04T10:10:11+00:00"
},
{
"name": "twig/twig",
"version": "v3.20.0",
"version": "v3.21.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "3468920399451a384bef53cf7996965f7cd40183"
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
"reference": "3468920399451a384bef53cf7996965f7cd40183",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d",
"reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d",
"shasum": ""
},
"require": {
@@ -2899,7 +2900,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.20.0"
"source": "https://github.com/twigphp/Twig/tree/v3.21.1"
},
"funding": [
{
@@ -2911,7 +2912,7 @@
"type": "tidelift"
}
],
"time": "2025-02-13T08:34:43+00:00"
"time": "2025-05-03T07:21:55+00:00"
},
{
"name": "whichbrowser/parser",
@@ -2980,16 +2981,16 @@
"packages-dev": [
{
"name": "brianium/paratest",
"version": "v7.9.1",
"version": "v7.10.1",
"source": {
"type": "git",
"url": "https://github.com/paratestphp/paratest.git",
"reference": "de51af1d6410bfdb5b41d2dd2c42a0b19b3656c9"
"reference": "a5fd0671712631ddce14e6533e78797c508f8627"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paratestphp/paratest/zipball/de51af1d6410bfdb5b41d2dd2c42a0b19b3656c9",
"reference": "de51af1d6410bfdb5b41d2dd2c42a0b19b3656c9",
"url": "https://api.github.com/repos/paratestphp/paratest/zipball/a5fd0671712631ddce14e6533e78797c508f8627",
"reference": "a5fd0671712631ddce14e6533e78797c508f8627",
"shasum": ""
},
"require": {
@@ -3003,20 +3004,21 @@
"phpunit/php-code-coverage": "^12.1.2",
"phpunit/php-file-iterator": "^6",
"phpunit/php-timer": "^8",
"phpunit/phpunit": "^12.1.0",
"phpunit/phpunit": "^12.1.4",
"sebastian/environment": "^8",
"symfony/console": "^6.4.20 || ^7.2.5",
"symfony/console": "^6.4.20 || ^7.2.6",
"symfony/process": "^6.4.20 || ^7.2.5"
},
"require-dev": {
"doctrine/coding-standard": "^13.0.0",
"ext-pcntl": "*",
"ext-pcov": "*",
"ext-posix": "*",
"phpstan/phpstan": "^2.1.11",
"phpstan/phpstan-deprecation-rules": "^2.0.1",
"phpstan/phpstan": "^2.1.13",
"phpstan/phpstan-deprecation-rules": "^2.0.2",
"phpstan/phpstan-phpunit": "^2.0.6",
"phpstan/phpstan-strict-rules": "^2.0.4",
"squizlabs/php_codesniffer": "^3.12.0",
"squizlabs/php_codesniffer": "^3.12.2",
"symfony/filesystem": "^6.4.13 || ^7.2.0"
},
"bin": [
@@ -3057,7 +3059,7 @@
],
"support": {
"issues": "https://github.com/paratestphp/paratest/issues",
"source": "https://github.com/paratestphp/paratest/tree/v7.9.1"
"source": "https://github.com/paratestphp/paratest/tree/v7.10.1"
},
"funding": [
{
@@ -3069,7 +3071,7 @@
"type": "paypal"
}
],
"time": "2025-04-04T10:47:46+00:00"
"time": "2025-05-02T13:49:04+00:00"
},
{
"name": "composer/pcre",
@@ -3339,16 +3341,16 @@
},
{
"name": "myclabs/deep-copy",
"version": "1.13.0",
"version": "1.13.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "024473a478be9df5fdaca2c793f2232fe788e414"
"reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414",
"reference": "024473a478be9df5fdaca2c793f2232fe788e414",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/1720ddd719e16cf0db4eb1c6eca108031636d46c",
"reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c",
"shasum": ""
},
"require": {
@@ -3387,7 +3389,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.13.0"
"source": "https://github.com/myclabs/DeepCopy/tree/1.13.1"
},
"funding": [
{
@@ -3395,7 +3397,7 @@
"type": "tidelift"
}
],
"time": "2025-02-12T12:17:51+00:00"
"time": "2025-04-29T12:36:36+00:00"
},
{
"name": "nikic/php-parser",
@@ -3721,16 +3723,16 @@
},
{
"name": "phpstan/phpstan",
"version": "2.1.13",
"version": "2.1.14",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "e55e03e6d4ac49cd1240907e5b08e5cd378572a9"
"reference": "8f2e03099cac24ff3b379864d171c5acbfc6b9a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/e55e03e6d4ac49cd1240907e5b08e5cd378572a9",
"reference": "e55e03e6d4ac49cd1240907e5b08e5cd378572a9",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/8f2e03099cac24ff3b379864d171c5acbfc6b9a2",
"reference": "8f2e03099cac24ff3b379864d171c5acbfc6b9a2",
"shasum": ""
},
"require": {
@@ -3775,20 +3777,20 @@
"type": "github"
}
],
"time": "2025-04-27T12:28:25+00:00"
"time": "2025-05-02T15:32:28+00:00"
},
{
"name": "phpunit/php-code-coverage",
"version": "12.1.2",
"version": "12.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "05c33d01a856f9f62488d144bafddc3d7b7a4ebb"
"reference": "448f2c504d86dbff3949dcd02c95aa85db2c7617"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/05c33d01a856f9f62488d144bafddc3d7b7a4ebb",
"reference": "05c33d01a856f9f62488d144bafddc3d7b7a4ebb",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/448f2c504d86dbff3949dcd02c95aa85db2c7617",
"reference": "448f2c504d86dbff3949dcd02c95aa85db2c7617",
"shasum": ""
},
"require": {
@@ -3806,7 +3808,7 @@
"theseer/tokenizer": "^1.2.3"
},
"require-dev": {
"phpunit/phpunit": "^12.0"
"phpunit/phpunit": "^12.1"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -3815,7 +3817,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "12.1.x-dev"
"dev-main": "12.2.x-dev"
}
},
"autoload": {
@@ -3844,15 +3846,27 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.1.2"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.2.1"
},
"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/phpunit/php-code-coverage",
"type": "tidelift"
}
],
"time": "2025-04-03T14:34:39+00:00"
"time": "2025-05-04T05:25:05+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -4163,16 +4177,16 @@
},
{
"name": "phpunit/phpunit",
"version": "12.1.3",
"version": "12.1.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "72ca50e817dd7d65356c16772c30f06c01a6fae2"
"reference": "5ee57ad690bda2c487594577600931a99053436c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/72ca50e817dd7d65356c16772c30f06c01a6fae2",
"reference": "72ca50e817dd7d65356c16772c30f06c01a6fae2",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5ee57ad690bda2c487594577600931a99053436c",
"reference": "5ee57ad690bda2c487594577600931a99053436c",
"shasum": ""
},
"require": {
@@ -4182,7 +4196,7 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
"myclabs/deep-copy": "^1.13.0",
"myclabs/deep-copy": "^1.13.1",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=8.3",
@@ -4240,7 +4254,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/12.1.3"
"source": "https://github.com/sebastianbergmann/phpunit/tree/12.1.4"
},
"funding": [
{
@@ -4264,7 +4278,7 @@
"type": "tidelift"
}
],
"time": "2025-04-22T06:11:09+00:00"
"time": "2025-05-02T07:01:56+00:00"
},
{
"name": "rector/rector",
@@ -5276,16 +5290,16 @@
},
{
"name": "symfony/dependency-injection",
"version": "v7.2.5",
"version": "v7.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
"reference": "58ab71379f14a741755717cece2868bf41ed45d8"
"reference": "2ca85496cde37f825bd14f7e3548e2793ca90712"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/58ab71379f14a741755717cece2868bf41ed45d8",
"reference": "58ab71379f14a741755717cece2868bf41ed45d8",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2ca85496cde37f825bd14f7e3548e2793ca90712",
"reference": "2ca85496cde37f825bd14f7e3548e2793ca90712",
"shasum": ""
},
"require": {
@@ -5336,7 +5350,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/dependency-injection/tree/v7.2.5"
"source": "https://github.com/symfony/dependency-injection/tree/v7.2.6"
},
"funding": [
{
@@ -5352,20 +5366,20 @@
"type": "tidelift"
}
],
"time": "2025-03-13T12:21:46+00:00"
"time": "2025-04-27T13:37:55+00:00"
},
{
"name": "symfony/var-exporter",
"version": "v7.2.5",
"version": "v7.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
"reference": "c37b301818bd7288715d40de634f05781b686ace"
"reference": "422b8de94c738830a1e071f59ad14d67417d7007"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/c37b301818bd7288715d40de634f05781b686ace",
"reference": "c37b301818bd7288715d40de634f05781b686ace",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/422b8de94c738830a1e071f59ad14d67417d7007",
"reference": "422b8de94c738830a1e071f59ad14d67417d7007",
"shasum": ""
},
"require": {
@@ -5412,7 +5426,7 @@
"serialize"
],
"support": {
"source": "https://github.com/symfony/var-exporter/tree/v7.2.5"
"source": "https://github.com/symfony/var-exporter/tree/v7.2.6"
},
"funding": [
{
@@ -5428,7 +5442,7 @@
"type": "tidelift"
}
],
"time": "2025-03-13T12:21:46+00:00"
"time": "2025-05-02T08:36:00+00:00"
},
{
"name": "theseer/tokenizer",
@@ -5497,6 +5511,6 @@
"ext-mysqli": "*",
"ext-openssl": "*"
},
"platform-dev": {},
"platform-dev": [],
"plugin-api-version": "2.6.0"
}

View File

@@ -18,7 +18,7 @@ services:
memcached:
# remember to update misc/gitlab-ci.yml
image: memcached:1.6.34-alpine
image: memcached:1.6.38-alpine
pg:
image: postgres:orpheus

View File

@@ -45,9 +45,10 @@ see expired unfetched activity.
5. Review lib/config.php. Edit lib/override.config.php as needed.
You should be able to launch boris from the command line.
6. Run the phinx migrations and seeds to populate the database.
6. Run the phinx migrations to populate the database.
vendor/bin/phinx migrate
vendor/bin/phinx migrate -c misc/phinx-pg.php
7. Configure Sphinx - we recommend you use the included misc/docker/sphinxsearch/sphinx.conf
You can copy this to /etc/sphinx/sphinx.conf. You need to fill in the

View File

@@ -830,7 +830,7 @@ function httpProxy(): ?string {
$proxy = getenv('HTTP_PROXY');
if ($proxy !== false) {
return (string)$proxy;
} elseif (HTTP_PROXY !== false) {
} elseif (HTTP_PROXY != false) {
return (string)HTTP_PROXY;
}
return null;

View File

@@ -82,13 +82,6 @@ if ! FKEY_MY_DATABASE=1 LOCK_MY_DATABASE=1 "${CI_PROJECT_DIR}/vendor/bin/phinx"
exit 1
fi
if [ -n "${MYSQL_INIT_DB-}" ]; then
if ! "${CI_PROJECT_DIR}/vendor/bin/phinx" seed:run; then
echo "phinx encountered a fatal error in the Mysql seeds"
exit 1
fi
fi
echo "Run Postgresql migrations..."
if ! "${CI_PROJECT_DIR}/vendor/bin/phinx" migrate -c ./misc/phinx-pg.php; then
echo "phinx encountered a fatal error in the Postgresql migrations"

View File

@@ -35,15 +35,6 @@ if ! FKEY_MY_DATABASE=1 LOCK_MY_DATABASE=1 /var/www/vendor/bin/phinx migrate; th
exit 1
fi
if [ ! -f /var/www/misc/phinx/seeded.txt ]; then
if ! /var/www/vendor/bin/phinx seed:run; then
echo "phinx encountered a fatal error in the Mysql seeds"
exit 1
fi
echo "Seeds have been run, delete to rerun" > /var/www/misc/phinx/seeded.txt
chmod 400 /var/www/misc/phinx/seeded.txt
fi
echo "Run postgres migrations..."
if ! /var/www/vendor/bin/phinx migrate -c ./misc/phinx-pg.php; then
echo "phinx encountered a fatal error in the Postgresql migrations"

View File

@@ -0,0 +1,51 @@
<?php
declare(strict_types=1);
use Phinx\Migration\AbstractMigration;
use Phinx\Db\Adapter\MysqlAdapter;
final class RemovePhinxSeeds extends AbstractMigration {
public function up(): void {
$this->execute("
INSERT IGNORE INTO xbt_client_whitelist (peer_id, vstring) VALUES
('-BI3500-', 'BiglyBT 3.5'),
('-BI3600-', 'BiglyBT 3.6'),
('-BI3700-', 'BiglyBT 3.7'),
('-DE12', 'Deluge 1.2.x'),
('-DE13', 'Deluge 1.3.x'),
('-DE2', 'Deluge 2.x'),
('-FL149', 'Flud 1.4.9'),
('-HL04', 'Halite 0.4.x'),
('-KT21', 'KTorrent 21.x'),
('-KT23', 'KTorrent 23.x'),
('-KT24', 'KTorrent 24.x'),
('-KT5', 'KTorrent 5.x'),
('-LT', 'Libtorrent (Rasterbar)'),
('-lt0D', 'libtorrent (rtorrent) 0.13.x'),
('-lt0E', 'libtorrent (rtorrent) 0.14.x'),
('-lt0F', 'libtorrent (rtorrent) 0.15.x'),
('-qB2', 'qBittorrent 2.x'),
('-qB3', 'qBittorrent 3.x'),
('-qB40', 'qBittorrent 4.0.x'),
('-qB41', 'qBittorrent 4.1.x'),
('-qB42', 'qBittorrent 4.2.x'),
('-qB43', 'qBittorrent 4.3.x'),
('-qB44', 'qBittorrent 4.4.x'),
('-qB45', 'qBittorrent 4.5.x'),
('-qB46', 'qBittorrent 4.6.x'),
('-qB50', 'qBittorrent 5.0.x'),
('-TR2', 'Transmission 2.x'),
('-TR3000-', 'Transmission 3.0.0'),
('-TR4010-', 'Transmission 4.0.1'),
('-TR4020-', 'Transmission 4.0.2'),
('-TR4030-', 'Transmission 4.0.3'),
('-TR4040-', 'Transmission 4.0.4'),
('-TR4050-', 'Transmission 4.0.5'),
('-TR4060-', 'Transmission 4.0.6')
");
}
public function down(): void {
}
}

View File

@@ -1,14 +0,0 @@
<?php
use Phinx\Seed\AbstractSeed;
class BonusDiscount extends AbstractSeed
{
public function run(): void {
$this->table('site_options')->insert([
'Name' => 'bonus-discount',
'Value' => 0,
'Comment' => 'Bonus store discount (0 = no discount, 100 = everything free)',
])->save();
}
}

View File

@@ -1,51 +0,0 @@
<?php
use Phinx\Seed\AbstractSeed;
class ClientWhitelistSeeder extends AbstractSeed {
public function run(): void {
foreach (
[
["BiglyBT 3.5", "-BI3500-"],
["BiglyBT 3.6", "-BI3600-"],
["BiglyBT 3.7", "-BI3700-"],
["Deluge 1.2.x", "-DE12"],
["Deluge 1.3.x", "-DE13"],
["Deluge 2.x", "-DE2"],
["Flud 1.4.9", "-FL149"],
["Halite 0.4.x", "-HL04"],
["KTorrent 21.x", "-KT21"],
["KTorrent 23.x", "-KT23"],
["KTorrent 24.x", "-KT24"],
["KTorrent 5.x", "-KT5"],
["Libtorrent (Rasterbar)", "-LT"],
["libtorrent (rtorrent) 0.13.x", "-lt0D"],
["libtorrent (rtorrent) 0.14.x", "-lt0E"],
["libtorrent (rtorrent) 0.15.x", "-lt0F"],
["qBittorrent 2.x", "-qB2"],
["qBittorrent 3.x", "-qB3"],
["qBittorrent 4.0.x", "-qB40"],
["qBittorrent 4.1.x", "-qB41"],
["qBittorrent 4.2.x", "-qB42"],
["qBittorrent 4.3.x", "-qB43"],
["qBittorrent 4.4.x", "-qB44"],
["qBittorrent 4.5.x", "-qB45"],
["qBittorrent 4.6.x", "-qB46"],
["qBittorrent 5.0.x", "-qB50"],
["Transmission 2.x", "-TR2"],
["Transmission 3.0.0", "-TR3000-"],
["Transmission 4.0.1", "-TR4010-"],
["Transmission 4.0.2", "-TR4020-"],
["Transmission 4.0.3", "-TR4030-"],
["Transmission 4.0.4", "-TR4040-"],
["Transmission 4.0.5", "-TR4050-"],
["Transmission 4.0.6", "-TR4060-"],
] as $client
) {
$this->table('xbt_client_whitelist')->insert([
'vstring' => $client[0],
'peer_id' => $client[1],
])->save();
}
}
}

View File

@@ -1,10 +0,0 @@
<?php
use Phinx\Seed\AbstractSeed;
class InviteSource extends AbstractSeed
{
public function run(): void {
$this->table('invite_source')->insert(['name' => 'Personal'])->save();
}
}

View File

@@ -1,27 +0,0 @@
<?php
use Phinx\Seed\AbstractSeed;
class UserAttrHideVote extends AbstractSeed
{
public function run(): void {
foreach (
[
['hide-vote-recent', 'Do not show recent votes on profile page'],
['hide-vote-history', 'Do not show link to vote history on profile page'],
] as $row
) {
$this->table('user_attr')->insert([
'Name' => $row[0],
'Description' => $row[1],
])->save();
}
$this->query("
INSERT INTO user_has_attr (UserID, UserAttrID)
SELECT DISTINCT uv.UserID, (SELECT ID FROM user_attr WHERE Name = 'hide-vote-history')
FROM users_votes uv
INNER JOIN users_main um ON (um.ID = uv.UserID)
WHERE um.Enabled = '1'
");
}
}

View File

@@ -29,7 +29,7 @@ parameters:
- ../app
- ../bin
- ../classes
- ../misc/phinx
- ../misc
- ../tests
- ../sections
parallel:

4
misc/pre-commit.git Executable file
View File

@@ -0,0 +1,4 @@
#! /bin/bash
# copy to .git/hooks/pre-commit and ensure it is executable
exec bin/lint-staged

1890
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,7 @@
"devDependencies": {
"@eslint/js": "^9.24",
"@stylistic/eslint-plugin-js": "^4.2",
"cypress": "^13.17",
"cypress": "^13.17.0",
"cypress-terminal-report": "^7.1.0",
"eslint": "^9.24",
"globals": "^15.12",

View File

@@ -5,7 +5,6 @@ require_once __DIR__ . '/lib/config.php';
return [
'paths' => [
'migrations' => '%%PHINX_CONFIG_DIR%%/misc/my-migrations',
'seeds' => '%%PHINX_CONFIG_DIR%%/misc/phinx/seeds'
],
'environments' => [
'migration_table' => 'phinxlog',