Updated EEPROM to latest Index library.

This commit is contained in:
flash 2024-10-05 16:04:29 +00:00
parent 998ee715a2
commit fcc6f13bd7
28 changed files with 999 additions and 399 deletions

View file

@ -1,7 +1,6 @@
{
"require": {
"flashwave/index": "^0.2408.40014",
"flashwave/syokuhou": "^1.2",
"flashwave/index": "^0.2410",
"sentry/sdk": "^4.0",
"nesbot/carbon": "^3.7"
},

699
composer.lock generated
View file

@ -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": "e51e7388b9f5b1e67ea4a40582c2b8e8",
"content-hash": "0bd5a41ea92a75983cfabd9b9052a8a2",
"packages": [
{
"name": "carbonphp/carbon-doctrine-types",
@ -77,23 +77,28 @@
},
{
"name": "flashwave/index",
"version": "v0.2408.40014",
"version": "v0.2410.51409",
"source": {
"type": "git",
"url": "https://patchii.net/flash/index.git",
"reference": "fbca708fbd75e8ecc6b36b39c1307a67bf250808"
"reference": "c43c6eb334f85edf8fa7b5e4058b3ba35a27d960"
},
"require": {
"ext-mbstring": "*",
"php": ">=8.3"
"php": ">=8.3",
"twig/html-extra": "^3.13",
"twig/twig": "^3.14"
},
"require-dev": {
"phpstan/phpstan": "^1.11",
"phpunit/phpunit": "^11.2"
},
"suggest": {
"ext-mysqli": "Support for the Index\\Data\\MariaDB namespace (both mysqlnd and libmysql are supported).",
"ext-sqlite3": "Support for the Index\\Data\\SQLite namespace."
"ext-memcache": "Support for the Index\\Cache\\Memcached namespace (only if you can't use ext-memcached for some reason).",
"ext-memcached": "Support for the Index\\Cache\\Memcached namespace (you should use this instead of ext-memcache).",
"ext-mysqli": "Support for the Index\\Db\\MariaDb namespace (both mysqlnd and libmysql are supported).",
"ext-redis": "Support for the Index\\Cache\\Valkey namespace.",
"ext-sqlite3": "Support for the Index\\Db\\Sqlite namespace."
},
"type": "library",
"autoload": {
@ -115,45 +120,7 @@
],
"description": "Composer package for the common library for my projects.",
"homepage": "https://railgun.sh/index",
"time": "2024-08-04T00:14:17+00:00"
},
{
"name": "flashwave/syokuhou",
"version": "v1.2.0",
"source": {
"type": "git",
"url": "https://patchii.net/flash/syokuhou.git",
"reference": "129a46c0d917382f9bc195cce278be51984eb87d"
},
"require": {
"flashwave/index": "^0.2408.40014",
"php": ">=8.3"
},
"require-dev": {
"phpstan/phpstan": "^1.11",
"phpunit/phpunit": "^11.2"
},
"type": "library",
"autoload": {
"psr-4": {
"Syokuhou\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"bsd-3-clause-clear"
],
"authors": [
{
"name": "flashwave",
"email": "packagist@flash.moe",
"homepage": "https://flash.moe",
"role": "mom"
}
],
"description": "Configuration library for PHP.",
"homepage": "https://railgun.sh/syokuhou",
"time": "2024-08-04T01:07:23+00:00"
"time": "2024-10-05T14:10:08+00:00"
},
{
"name": "guzzlehttp/psr7",
@ -332,16 +299,16 @@
},
{
"name": "nesbot/carbon",
"version": "3.7.0",
"version": "3.8.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "cb4374784c87d0a0294e8513a52eb63c0aff3139"
"reference": "bbd3eef89af8ba66a3aa7952b5439168fbcc529f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cb4374784c87d0a0294e8513a52eb63c0aff3139",
"reference": "cb4374784c87d0a0294e8513a52eb63c0aff3139",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bbd3eef89af8ba66a3aa7952b5439168fbcc529f",
"reference": "bbd3eef89af8ba66a3aa7952b5439168fbcc529f",
"shasum": ""
},
"require": {
@ -434,7 +401,7 @@
"type": "tidelift"
}
],
"time": "2024-07-16T22:29:20+00:00"
"time": "2024-08-19T06:22:39+00:00"
},
{
"name": "psr/clock",
@ -594,16 +561,16 @@
},
{
"name": "psr/log",
"version": "3.0.0",
"version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"shasum": ""
},
"require": {
@ -638,9 +605,9 @@
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/3.0.0"
"source": "https://github.com/php-fig/log/tree/3.0.2"
},
"time": "2021-07-14T16:46:02+00:00"
"time": "2024-09-11T13:17:53+00:00"
},
{
"name": "ralouphie/getallheaders",
@ -743,16 +710,16 @@
},
{
"name": "sentry/sentry",
"version": "4.8.1",
"version": "4.9.0",
"source": {
"type": "git",
"url": "https://github.com/getsentry/sentry-php.git",
"reference": "61770efd8b7888e0bdd7d234f0ba67b066e47d04"
"reference": "788ec170f51ebb22f2809a1e3f78b19ccd39b70d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/61770efd8b7888e0bdd7d234f0ba67b066e47d04",
"reference": "61770efd8b7888e0bdd7d234f0ba67b066e47d04",
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/788ec170f51ebb22f2809a1e3f78b19ccd39b70d",
"reference": "788ec170f51ebb22f2809a1e3f78b19ccd39b70d",
"shasum": ""
},
"require": {
@ -816,7 +783,7 @@
],
"support": {
"issues": "https://github.com/getsentry/sentry-php/issues",
"source": "https://github.com/getsentry/sentry-php/tree/4.8.1"
"source": "https://github.com/getsentry/sentry-php/tree/4.9.0"
},
"funding": [
{
@ -828,7 +795,7 @@
"type": "custom"
}
],
"time": "2024-07-16T13:45:27+00:00"
"time": "2024-08-08T14:40:50+00:00"
},
{
"name": "symfony/clock",
@ -971,6 +938,90 @@
],
"time": "2024-04-18T09:32:20+00:00"
},
{
"name": "symfony/mime",
"version": "v7.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
"reference": "711d2e167e8ce65b05aea6b258c449671cdd38ff"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/mime/zipball/711d2e167e8ce65b05aea6b258c449671cdd38ff",
"reference": "711d2e167e8ce65b05aea6b258c449671cdd38ff",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
},
"conflict": {
"egulias/email-validator": "~3.0.0",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
"symfony/mailer": "<6.4",
"symfony/serializer": "<6.4.3|>7.0,<7.0.3"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3.1|^4",
"league/html-to-markdown": "^5.0",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
"symfony/dependency-injection": "^6.4|^7.0",
"symfony/process": "^6.4|^7.0",
"symfony/property-access": "^6.4|^7.0",
"symfony/property-info": "^6.4|^7.0",
"symfony/serializer": "^6.4.3|^7.0.3"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Mime\\": ""
},
"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": "Allows manipulating MIME messages",
"homepage": "https://symfony.com",
"keywords": [
"mime",
"mime-type"
],
"support": {
"source": "https://github.com/symfony/mime/tree/v7.1.5"
},
"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": "2024-09-20T08:28:38+00:00"
},
{
"name": "symfony/options-resolver",
"version": "v7.1.1",
@ -1039,21 +1090,264 @@
"time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.30.0",
"name": "symfony/polyfill-ctype",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
"reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Gert de Pagter",
"email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"ctype",
"polyfill",
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.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": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
"reference": "c36586dcf89a12315939e00ec9b4474adcb1d773"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773",
"reference": "c36586dcf89a12315939e00ec9b4474adcb1d773",
"shasum": ""
},
"require": {
"php": ">=7.2",
"symfony/polyfill-intl-normalizer": "^1.10"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Intl\\Idn\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Laurent Bassin",
"email": "laurent@bassin.info"
},
{
"name": "Trevor Rowbotham",
"email": "trevor.rowbotham@pm.me"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"idn",
"intl",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.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": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "3833d7255cc303546435cb650316bff708a1c75c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
"reference": "3833d7255cc303546435cb650316bff708a1c75c",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"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 intl's Normalizer class and related functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"intl",
"normalizer",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.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": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
@ -1100,7 +1394,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
},
"funding": [
{
@ -1116,24 +1410,100 @@
"type": "tidelift"
}
],
"time": "2024-06-19T12:30:46+00:00"
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php83",
"version": "v1.30.0",
"name": "symfony/polyfill-php81",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php83.git",
"reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9"
"url": "https://github.com/symfony/polyfill-php81.git",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9",
"reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": ""
},
"require": {
"php": ">=7.1"
"php": ">=7.2"
},
"type": "library",
"extra": {
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php81\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"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 backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.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": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php83",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php83.git",
"reference": "2fb86d65e2d424369ad2905e83b236a8805ba491"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491",
"reference": "2fb86d65e2d424369ad2905e83b236a8805ba491",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"type": "library",
"extra": {
@ -1176,7 +1546,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0"
"source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0"
},
"funding": [
{
@ -1192,20 +1562,20 @@
"type": "tidelift"
}
],
"time": "2024-06-19T12:35:24+00:00"
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/translation",
"version": "v7.1.3",
"version": "v7.1.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "8d5e50c813ba2859a6dfc99a0765c550507934a1"
"reference": "235535e3f84f3dfbdbde0208ede6ca75c3a489ea"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/8d5e50c813ba2859a6dfc99a0765c550507934a1",
"reference": "8d5e50c813ba2859a6dfc99a0765c550507934a1",
"url": "https://api.github.com/repos/symfony/translation/zipball/235535e3f84f3dfbdbde0208ede6ca75c3a489ea",
"reference": "235535e3f84f3dfbdbde0208ede6ca75c3a489ea",
"shasum": ""
},
"require": {
@ -1270,7 +1640,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/translation/tree/v7.1.3"
"source": "https://github.com/symfony/translation/tree/v7.1.5"
},
"funding": [
{
@ -1286,7 +1656,7 @@
"type": "tidelift"
}
],
"time": "2024-07-26T12:41:01+00:00"
"time": "2024-09-16T06:30:38+00:00"
},
{
"name": "symfony/translation-contracts",
@ -1365,21 +1735,168 @@
}
],
"time": "2024-04-18T09:32:20+00:00"
},
{
"name": "twig/html-extra",
"version": "v3.13.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/html-extra.git",
"reference": "8229e750091171c1f11801a525927811c7ac5a7e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/html-extra/zipball/8229e750091171c1f11801a525927811c7ac5a7e",
"reference": "8229e750091171c1f11801a525927811c7ac5a7e",
"shasum": ""
},
"require": {
"php": ">=8.0.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/mime": "^5.4|^6.4|^7.0",
"twig/twig": "^3.13|^4.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^6.4|^7.0"
},
"type": "library",
"autoload": {
"files": [
"Resources/functions.php"
],
"psr-4": {
"Twig\\Extra\\Html\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
}
],
"description": "A Twig extension for HTML",
"homepage": "https://twig.symfony.com",
"keywords": [
"html",
"twig"
],
"support": {
"source": "https://github.com/twigphp/html-extra/tree/v3.13.0"
},
"funding": [
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/twig/twig",
"type": "tidelift"
}
],
"time": "2024-09-03T13:08:40+00:00"
},
{
"name": "twig/twig",
"version": "v3.14.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
"reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
"shasum": ""
},
"require": {
"php": ">=8.0.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-mbstring": "^1.3",
"symfony/polyfill-php81": "^1.29"
},
"require-dev": {
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
},
"type": "library",
"autoload": {
"files": [
"src/Resources/core.php",
"src/Resources/debug.php",
"src/Resources/escaper.php",
"src/Resources/string_loader.php"
],
"psr-4": {
"Twig\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Twig Team",
"role": "Contributors"
},
{
"name": "Armin Ronacher",
"email": "armin.ronacher@active-4.com",
"role": "Project Founder"
}
],
"description": "Twig, the flexible, fast, and secure template language for PHP",
"homepage": "https://twig.symfony.com",
"keywords": [
"templating"
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.14.0"
},
"funding": [
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/twig/twig",
"type": "tidelift"
}
],
"time": "2024-09-09T17:55:12+00:00"
}
],
"packages-dev": [
{
"name": "phpstan/phpstan",
"version": "1.11.9",
"version": "1.12.5",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "e370bcddadaede0c1716338b262346f40d296f82"
"reference": "7e6c6cb7cecb0a6254009a1a8a7d54ec99812b17"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/e370bcddadaede0c1716338b262346f40d296f82",
"reference": "e370bcddadaede0c1716338b262346f40d296f82",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/7e6c6cb7cecb0a6254009a1a8a7d54ec99812b17",
"reference": "7e6c6cb7cecb0a6254009a1a8a7d54ec99812b17",
"shasum": ""
},
"require": {
@ -1424,7 +1941,7 @@
"type": "github"
}
],
"time": "2024-08-01T16:25:18+00:00"
"time": "2024-09-26T12:45:22+00:00"
}
],
"aliases": [],

View file

@ -1,9 +1,9 @@
<?php
use Index\Data\IDbConnection;
use Index\Data\Migration\IDbMigration;
use Index\Db\DbConnection;
use Index\Db\Migration\DbMigration;
final class InitialStructure_20231031_192440 implements IDbMigration {
public function migrate(IDbConnection $conn): void {
final class InitialStructure_20231031_192440 implements DbMigration {
public function migrate(DbConnection $conn): void {
$existingTables = [];
$result = $conn->query('SHOW TABLES');
while($result->next())

View file

@ -1,9 +1,9 @@
<?php
use Index\Data\IDbConnection;
use Index\Data\Migration\IDbMigration;
use Index\Db\DbConnection;
use Index\Db\Migration\DbMigration;
final class FixedTableInconsistencies_20231107_171343 implements IDbMigration {
public function migrate(IDbConnection $conn): void {
final class FixedTableInconsistencies_20231107_171343 implements DbMigration {
public function migrate(DbConnection $conn): void {
$conn->execute('
ALTER TABLE prm_uploads
CHANGE COLUMN upload_name upload_name VARCHAR(255) NOT NULL COLLATE "utf8mb4_unicode_520_ci" AFTER upload_bump,

View file

@ -1,9 +1,9 @@
<?php
use Index\Data\IDbConnection;
use Index\Data\Migration\IDbMigration;
use Index\Db\DbConnection;
use Index\Db\Migration\DbMigration;
final class NewBlacklistSystem_20231111_015548 implements IDbMigration {
public function migrate(IDbConnection $conn): void {
final class NewBlacklistSystem_20231111_015548 implements DbMigration {
public function migrate(DbConnection $conn): void {
$conn->execute('
CREATE TABLE prm_blacklist (
bl_hash BINARY(32) NOT NULL,

View file

@ -1,8 +1,8 @@
<?php
namespace EEPROM;
use Index\Data\DbTools;
use Syokuhou\SharpConfig;
use Index\Config\Fs\FsConfig;
use Index\Db\DbTools;
define('PRM_STARTUP', microtime(true));
define('PRM_ROOT', __DIR__);
@ -20,7 +20,7 @@ error_reporting(PRM_DEBUG ? -1 : 0);
mb_internal_encoding('UTF-8');
date_default_timezone_set('GMT');
$cfg = SharpConfig::fromFile(PRM_ROOT . '/config.cfg');
$cfg = FsConfig::fromFile(PRM_ROOT . '/config.cfg');
if($cfg->hasValues('sentry:dsn'))
(function($cfg) {

498
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,6 @@
<?php
namespace EEPROM;
use RuntimeException;
use Index\Http\HttpFx;
require_once __DIR__ . '/../eeprom.php';
set_exception_handler(function(\Throwable $ex) {

View file

@ -2,7 +2,7 @@
namespace EEPROM\Apps;
use Carbon\CarbonImmutable;
use Index\Data\IDbResult;
use Index\Db\DbResult;
class AppInfo {
private string $id;
@ -12,7 +12,7 @@ class AppInfo {
private bool $allowSizeMultiplier;
private int $expiry;
public function __construct(IDbResult $result) {
public function __construct(DbResult $result) {
$this->id = $result->getString(0);
$this->name = $result->getString(1);
$this->created = $result->getInteger(2);

View file

@ -2,12 +2,12 @@
namespace EEPROM\Apps;
use RuntimeException;
use Index\Data\IDbConnection;
use Index\Db\DbConnection;
class AppsContext {
private AppsData $appsData;
public function __construct(IDbConnection $dbConn) {
public function __construct(DbConnection $dbConn) {
$this->appsData = new AppsData($dbConn);
}

View file

@ -1,15 +1,14 @@
<?php
namespace EEPROM\Apps;
use Index\Data\DbStatementCache;
use Index\Data\IDbConnection;
use Index\Db\{DbConnection,DbStatementCache};
// this system is to be deprecated and replaced by pools system
class AppsData {
private DbStatementCache $cache;
public function __construct(IDbConnection $dbConn) {
public function __construct(DbConnection $dbConn) {
$this->cache = new DbStatementCache($dbConn);
}

View file

@ -1,13 +1,15 @@
<?php
namespace EEPROM\Auth;
use Index\Http\Routing\{HttpMiddleware,RouteHandler};
use Syokuhou\IConfig;
use EEPROM\Users\UsersContext;
use Index\Config\Config;
use Index\Http\Routing\{HttpMiddleware,RouteHandler,RouteHandlerTrait};
class AuthRoutes implements RouteHandler {
use RouteHandlerTrait;
class AuthRoutes extends RouteHandler {
public function __construct(
private IConfig $config,
private Config $config,
private AuthInfo $authInfo,
private UsersContext $usersCtx
) {}

View file

@ -1,13 +1,13 @@
<?php
namespace EEPROM\Blacklist;
use Index\Data\IDbConnection;
use EEPROM\Uploads\UploadInfo;
use Index\Db\DbConnection;
class BlacklistContext {
private BlacklistData $blacklistData;
public function __construct(IDbConnection $dbConn) {
public function __construct(DbConnection $dbConn) {
$this->blacklistData = new BlacklistData($dbConn);
}

View file

@ -2,13 +2,12 @@
namespace EEPROM\Blacklist;
use InvalidArgumentException;
use Index\Data\DbStatementCache;
use Index\Data\IDbConnection;
use Index\Db\{DbConnection,DbStatementCache};
class BlacklistData {
private DbStatementCache $cache;
public function __construct(IDbConnection $dbConn) {
public function __construct(DbConnection $dbConn) {
$this->cache = new DbStatementCache($dbConn);
}

View file

@ -2,7 +2,7 @@
namespace EEPROM\Blacklist;
use Carbon\CarbonImmutable;
use Index\Data\IDbResult;
use Index\Db\DbResult;
class BlacklistInfo {
private string $hash;
@ -15,7 +15,7 @@ class BlacklistInfo {
'other',
];
public function __construct(IDbResult $result) {
public function __construct(DbResult $result) {
$this->hash = $result->getString(0);
$this->reason = $result->getString(1);
$this->created = $result->getInteger(2);

View file

@ -1,17 +1,15 @@
<?php
namespace EEPROM;
use Index\Data\IDbConnection;
use Index\Data\Migration\IDbMigrationRepo;
use Index\Data\Migration\DbMigrationManager;
use Index\Data\Migration\FsDbMigrationRepo;
use Index\Db\DbConnection;
use Index\Db\Migration\{DbMigrationManager,DbMigrationRepo,FsDbMigrationRepo};
class DatabaseContext {
public function __construct(
private IDbConnection $connection
private DbConnection $connection
) {}
public function getConnection(): IDbConnection {
public function getConnection(): DbConnection {
return $this->connection;
}
@ -24,7 +22,7 @@ class DatabaseContext {
return new DbMigrationManager($this->connection, 'prm_' . DbMigrationManager::DEFAULT_TABLE);
}
public function createMigrationRepo(): IDbMigrationRepo {
public function createMigrationRepo(): DbMigrationRepo {
return new FsDbMigrationRepo(PRM_MIGRATIONS);
}
}

View file

@ -1,12 +1,12 @@
<?php
namespace EEPROM;
use Index\Data\IDbConnection;
use Syokuhou\IConfig;
use Index\Config\Config;
use Index\Db\DbConnection;
use EEPROM\Auth\AuthInfo;
class EEPROMContext {
private IConfig $config;
private Config $config;
private DatabaseContext $dbCtx;
private AuthInfo $authInfo;
@ -16,7 +16,7 @@ class EEPROMContext {
private Uploads\UploadsContext $uploadsCtx;
private Users\UsersContext $usersCtx;
public function __construct(IConfig $config, IDbConnection $dbConn) {
public function __construct(Config $config, DbConnection $dbConn) {
$this->config = $config;
$this->dbCtx = new DatabaseContext($dbConn);
@ -28,7 +28,7 @@ class EEPROMContext {
$this->usersCtx = new Users\UsersContext($dbConn);
}
public function getConfig(): IConfig {
public function getConfig(): Config {
return $this->config;
}

View file

@ -1,21 +0,0 @@
<?php
namespace EEPROM;
use Index\IO\Stream;
use Index\IO\ProcessStream;
final class FFMPEG {
public static function grabVideoFrame(string $path): Stream {
return new ProcessStream(
sprintf('ffmpeg -i %s -ss 00:00:01.000 -vframes 1 -c:v png -f image2pipe -', escapeshellarg($path)),
'rb'
);
}
public static function grabAudioCover(string $path): Stream {
return new ProcessStream(
sprintf('ffmpeg -i %s -an -vcodec copy -f image2pipe -', escapeshellarg($path)),
'rb'
);
}
}

View file

@ -2,9 +2,11 @@
namespace EEPROM;
use stdClass;
use Index\Http\Routing\{HttpGet,RouteHandler};
use Index\Http\Routing\{HttpGet,RouteHandler,RouteHandlerTrait};
class LandingRoutes implements RouteHandler {
use RouteHandlerTrait;
class LandingRoutes extends RouteHandler {
public function __construct(
private DatabaseContext $dbCtx
) {}

View file

@ -1,14 +1,14 @@
<?php
namespace EEPROM;
use Index\Config\Config;
use Index\Http\HttpRequest;
use Index\Http\Routing\{HttpRouter,IRouter,IRouteHandler};
use Syokuhou\IConfig;
use Index\Http\Routing\{HttpRouter,Router,RouteHandler};
class RoutingContext {
private HttpRouter $router;
public function __construct(private IConfig $config) {
public function __construct(private Config $config) {
$this->router = new HttpRouter;
$this->router->use('/', $this->middleware(...));
}
@ -39,11 +39,11 @@ class RoutingContext {
}
}
public function getRouter(): IRouter {
public function getRouter(): Router {
return $this->router;
}
public function register(IRouteHandler $handler): void {
public function register(RouteHandler $handler): void {
$this->router->register($handler);
}

View file

@ -3,8 +3,7 @@ namespace EEPROM\Uploads;
use Carbon\CarbonImmutable;
use Index\MediaType;
use Index\Data\IDbResult;
use Index\Net\IPAddress;
use Index\Db\DbResult;
class UploadInfo {
private string $id;
@ -21,7 +20,7 @@ class UploadInfo {
private string $type;
private int $size;
public function __construct(IDbResult $result) {
public function __construct(DbResult $result) {
$this->id = $result->getString(0);
$this->userId = $result->getStringOrNull(1);
$this->appId = $result->getStringOrNull(2);
@ -61,14 +60,10 @@ class UploadInfo {
return $this->hash;
}
public function getRemoteAddressRaw(): string {
public function getRemoteAddress(): string {
return $this->remoteAddr;
}
public function getRemoteAddress(): IPAddress {
return IPAddress::parse($this->remoteAddr);
}
public function getCreatedTime(): int {
return $this->created;
}

View file

@ -3,15 +3,15 @@ namespace EEPROM\Uploads;
use DateTimeInterface;
use Imagick;
use Index\Data\IDbConnection;
use Syokuhou\IConfig;
use Index\Config\Config;
use Index\Db\DbConnection;
use EEPROM\FFMPEG;
class UploadsContext {
private IConfig $config;
private Config $config;
private UploadsData $uploadsData;
public function __construct(IConfig $config, IDbConnection $dbConn) {
public function __construct(Config $config, DbConnection $dbConn) {
$this->config = $config;
$this->uploadsData = new UploadsData($dbConn);
}
@ -117,18 +117,21 @@ class UploadsContext {
fclose($file);
}
} elseif($uploadInfo->isAudio()) {
// Index\IO\Stream needs some way to grab the underlying handle so we can use readImageFile
$stream = (string)FFMPEG::grabAudioCover($filePath);
if($stream === '')
return '';
$imagick->readImageBlob($stream);
try {
$file = popen(sprintf('ffmpeg -i %s -an -f image2pipe -c:v copy -frames:v 1 2>/dev/null -', escapeshellarg($filePath)), 'rb');
$imagick->readImageBlob(stream_get_contents($file));
} finally {
if(isset($file) && is_resource($file))
pclose($file);
}
} elseif($uploadInfo->isVideo()) {
$stream = (string)FFMPEG::grabVideoFrame($filePath);
if($stream === '')
return '';
$imagick->readImageBlob($stream);
try {
$file = popen(sprintf('ffmpeg -i %s -f image2pipe -c:v png -frames:v 1 2>/dev/null -', escapeshellarg($filePath)), 'rb');
$imagick->readImageBlob(stream_get_contents($file));
} finally {
if(isset($file) && is_resource($file))
pclose($file);
}
}
$imagick->setImageFormat('jpg');

View file

@ -3,15 +3,14 @@ namespace EEPROM\Uploads;
use InvalidArgumentException;
use Index\XString;
use Index\Data\DbStatementCache;
use Index\Data\IDbConnection;
use Index\Db\{DbConnection,DbStatementCache};
use EEPROM\Apps\AppInfo;
use EEPROM\Users\UserInfo;
class UploadsData {
private DbStatementCache $cache;
public function __construct(IDbConnection $dbConn) {
public function __construct(DbConnection $dbConn) {
$this->cache = new DbStatementCache($dbConn);
}

View file

@ -2,13 +2,13 @@
namespace EEPROM\Uploads;
use RuntimeException;
use Index\Http\Routing\{HandlerAttribute,HttpDelete,HttpGet,HttpOptions,HttpPost,IRouter,IRouteHandler};
use Index\Http\Routing\{HandlerAttribute,HttpDelete,HttpGet,HttpOptions,HttpPost,Router,RouteHandler};
use EEPROM\Apps\AppsContext;
use EEPROM\Auth\AuthInfo;
use EEPROM\Blacklist\BlacklistContext;
use EEPROM\Uploads\UploadsContext;
class UploadsRoutes implements IRouteHandler {
class UploadsRoutes implements RouteHandler {
public function __construct(
private AuthInfo $authInfo,
private AppsContext $appsCtx,
@ -17,7 +17,7 @@ class UploadsRoutes implements IRouteHandler {
private bool $isApiDomain
) {}
public function registerRoutes(IRouter $router): void {
public function registerRoutes(Router $router): void {
if($this->isApiDomain) {
HandlerAttribute::register($router, $this);
} else {

View file

@ -2,7 +2,7 @@
namespace EEPROM\Users;
use Carbon\CarbonImmutable;
use Index\Data\IDbResult;
use Index\Db\DbResult;
class UserInfo {
private string $id;
@ -10,7 +10,7 @@ class UserInfo {
private ?int $restricted;
private int $sizeMultiplier;
public function __construct(IDbResult $result) {
public function __construct(DbResult $result) {
$this->id = $result->getString(0);
$this->created = $result->getInteger(1);
$this->restricted = $result->getIntegerOrNull(2);

View file

@ -1,12 +1,12 @@
<?php
namespace EEPROM\Users;
use Index\Data\IDbConnection;
use Index\Db\DbConnection;
class UsersContext {
private UsersData $usersData;
public function __construct(IDbConnection $dbConn) {
public function __construct(DbConnection $dbConn) {
$this->usersData = new UsersData($dbConn);
}

View file

@ -1,8 +1,7 @@
<?php
namespace EEPROM\Users;
use Index\Data\DbStatementCache;
use Index\Data\IDbConnection;
use Index\Db\{DbConnection,DbStatementCache};
// restrictions and permissions should be checked with misuzu or cached or something
// size multiplier should also just be replaced with an alternate max size value for premioids, maybe based on rank?
@ -10,7 +9,7 @@ use Index\Data\IDbConnection;
class UsersData {
private DbStatementCache $cache;
public function __construct(IDbConnection $dbConn) {
public function __construct(DbConnection $dbConn) {
$this->cache = new DbStatementCache($dbConn);
}

View file

@ -1,6 +1,6 @@
#!/usr/bin/env php
<?php
use Index\Data\Migration\FsDbMigrationRepo;
use Index\Db\Migration\FsDbMigrationRepo;
require_once __DIR__ . '/../eeprom.php';