From 3b1d0719439a8fd8f02d2c7234411bffe2b6eb43 Mon Sep 17 00:00:00 2001 From: Alexis Gousseau Date: Thu, 10 Jul 2025 14:46:11 +0200 Subject: [PATCH 1/3] chore: :arrow_up: bump project to laravel 11 with php 8.3 --- composer.json | 38 +- composer.lock | 4589 ++++++++++++++------------------------ config/image-resizer.php | 13 +- config/seo.php | 7 +- phpcs.xml | 8 +- 5 files changed, 1713 insertions(+), 2942 deletions(-) diff --git a/composer.json b/composer.json index 72ecaf51..fc21c6af 100644 --- a/composer.json +++ b/composer.json @@ -6,36 +6,36 @@ "description": "Website of Nature & Respect.", "license": "MIT", "require": { - "php": "^8.1", - "codezero/laravel-localized-routes": "^3.1", - "codezero/laravel-unique-translation": "^4.1", - "diglactic/laravel-breadcrumbs": "^8.0", + "php": "^8.3", + "codezero/laravel-localized-routes": "^4.0.1", + "codezero/laravel-unique-translation": "^4.3.1", + "diglactic/laravel-breadcrumbs": "^9.0.0", "guzzlehttp/guzzle": "^7.2", - "kwaadpepper/image-resizer": "^2.1", - "kwaadpepper/refresh-sitemap": "^2.0", - "laravel/framework": "^10.0", + "kwaadpepper/image-resizer": "^3.1.0", + "laravel/framework": "^11.0", "laravel/tinker": "^2.8", "laravel/ui": "^4.2", - "ldc/web-admin-secure-laravel": "^2.0", "mews/purifier": "^3.4", - "sentry/sentry-laravel": "^3.3", - "simplesoftwareio/simple-qrcode": "~4", + "sentry/sentry-laravel": "^4.15.1", + "simplesoftwareio/simple-qrcode": "^4.2.0", "spatie/laravel-translatable": "^6.4", - "uwil/k8s-laravel": "^1.2", - "uwil/seo-laravel": "^1.0" + "uwil/admin-secure-laravel": "^4.0.0", + "uwil/k8s-laravel": "^2.0.0", + "uwil/schema-org-laravel": "2.1.0", + "uwil/sitemap-generator": "4.0.0", + "uwil/seo-laravel": "^4.0.0" }, "require-dev": { "fakerphp/faker": "^1.9.1", - "kitloong/laravel-migrations-generator": "^6.8", - "krlove/eloquent-model-generator": "dev-l10-compatibility", + "kitloong/laravel-migrations-generator": "^7.0.0", "larastan/larastan": "^2.6", "laravel-lang/common": "^3.1", "laravel/pint": "^1.0", "laravel/sail": "^1.18", "mockery/mockery": "^1.4.4", - "nunomaduro/collision": "^7.0", + "nunomaduro/collision": "^8.1", "phpunit/phpunit": "^10.0", - "slevomat/coding-standard": "^8.10", + "slevomat/coding-standard": "^8.19", "spatie/laravel-ignition": "^2.0", "thedoctor0/laravel-factory-generator": "^1.2" }, @@ -72,6 +72,12 @@ ], "post-create-project-cmd": [ "@php artisan key:generate --ansi" + ], + "phpcs": [ + "./vendor/bin/phpcs" + ], + "phpstan": [ + "./vendor/bin/phpstan" ] }, "extra": { diff --git a/composer.lock b/composer.lock index c3422823..c2ac646e 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": "5cbd8714f1b33e1181e89d0f6807e88a", + "content-hash": "c4795dee78f77dbc57d10ff1fd52bc3c", "packages": [ { "name": "bacon/bacon-qr-code", @@ -62,16 +62,16 @@ }, { "name": "brick/math", - "version": "0.12.1", + "version": "0.12.3", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1" + "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1", + "url": "https://api.github.com/repos/brick/math/zipball/866551da34e9a618e64a819ee1e01c20d8a588ba", + "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba", "shasum": "" }, "require": { @@ -80,7 +80,7 @@ "require-dev": { "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^10.1", - "vimeo/psalm": "5.16.0" + "vimeo/psalm": "6.8.8" }, "type": "library", "autoload": { @@ -110,7 +110,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.12.1" + "source": "https://github.com/brick/math/tree/0.12.3" }, "funding": [ { @@ -118,30 +118,30 @@ "type": "github" } ], - "time": "2023-11-29T23:19:16+00:00" + "time": "2025-02-28T13:11:00+00:00" }, { "name": "carbonphp/carbon-doctrine-types", - "version": "2.1.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", - "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" + "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", - "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/18ba5ddfec8976260ead6e866180bd5d2f71aa1d", + "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "php": "^8.1" }, "conflict": { - "doctrine/dbal": "<3.7.0 || >=4.0.0" + "doctrine/dbal": "<4.0.0 || >=5.0.0" }, "require-dev": { - "doctrine/dbal": "^3.7.0", + "doctrine/dbal": "^4.0.0", "nesbot/carbon": "^2.71.0 || ^3.0.0", "phpunit/phpunit": "^10.3" }, @@ -171,7 +171,7 @@ ], "support": { "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", - "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0" }, "funding": [ { @@ -187,73 +187,7 @@ "type": "tidelift" } ], - "time": "2023-12-11T17:09:12+00:00" - }, - { - "name": "clue/stream-filter", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/clue/stream-filter.git", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "Clue\\StreamFilter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering" - } - ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/stream-filter", - "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" - ], - "support": { - "issues": "https://github.com/clue/stream-filter/issues", - "source": "https://github.com/clue/stream-filter/tree/v1.7.0" - }, - "funding": [ - { - "url": "https://clue.engineering/support", - "type": "custom" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2023-12-20T15:40:13+00:00" + "time": "2024-02-09T16:56:22+00:00" }, { "name": "codezero/browser-locale", @@ -384,30 +318,30 @@ }, { "name": "codezero/laravel-localized-routes", - "version": "3.1.6", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/codezero-be/laravel-localized-routes.git", - "reference": "fff1b463532feb796645da616062617467261b3f" + "reference": "3c8c8bdac753b6b75b4c6f3f7f7b39b962d507cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codezero-be/laravel-localized-routes/zipball/fff1b463532feb796645da616062617467261b3f", - "reference": "fff1b463532feb796645da616062617467261b3f", + "url": "https://api.github.com/repos/codezero-be/laravel-localized-routes/zipball/3c8c8bdac753b6b75b4c6f3f7f7b39b962d507cd", + "reference": "3c8c8bdac753b6b75b4c6f3f7f7b39b962d507cd", "shasum": "" }, "require": { "codezero/browser-locale": "^3.0", "codezero/composer-preload-files": "^1.0", - "codezero/laravel-uri-translator": "^1.0", + "codezero/laravel-uri-translator": "^2.0", "codezero/php-url-builder": "^1.0", - "illuminate/support": "^7.0|^8.0|^9.0|^10.0", - "php": "^7.2.5|^8.0" + "illuminate/support": "^10.0|^11.0", + "php": "^8.1" }, "require-dev": { "mockery/mockery": "^1.3.3", - "orchestra/testbench": "^5.0|^6.0|^7.0|^8.0", - "phpunit/phpunit": "^8.0|^9.0" + "orchestra/testbench": "^8.0|^9.0", + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -452,7 +386,7 @@ ], "support": { "issues": "https://github.com/codezero-be/laravel-localized-routes/issues", - "source": "https://github.com/codezero-be/laravel-localized-routes/tree/3.1.6" + "source": "https://github.com/codezero-be/laravel-localized-routes/tree/4.0.1" }, "funding": [ { @@ -464,7 +398,7 @@ "type": "ko_fi" } ], - "time": "2024-02-13T12:54:34+00:00" + "time": "2024-03-17T22:41:22+00:00" }, { "name": "codezero/laravel-unique-translation", @@ -543,25 +477,25 @@ }, { "name": "codezero/laravel-uri-translator", - "version": "1.0.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/codezero-be/laravel-uri-translator.git", - "reference": "30e630dc89908e4075c650d8858d1630764b9540" + "reference": "9d94312a0f34ce0cdac6c8e7d6e99eec1a21f4c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codezero-be/laravel-uri-translator/zipball/30e630dc89908e4075c650d8858d1630764b9540", - "reference": "30e630dc89908e4075c650d8858d1630764b9540", + "url": "https://api.github.com/repos/codezero-be/laravel-uri-translator/zipball/9d94312a0f34ce0cdac6c8e7d6e99eec1a21f4c7", + "reference": "9d94312a0f34ce0cdac6c8e7d6e99eec1a21f4c7", "shasum": "" }, "require": { - "illuminate/support": "^7.0|^8.0|^9.0|^10.0", - "php": "^7.2.5|^8.0" + "illuminate/support": "^10.0|^11.0", + "php": "^8.1" }, "require-dev": { - "orchestra/testbench": "^5.0|^6.0|^7.0|^8.0", - "phpunit/phpunit": "^8.0|^9.0" + "orchestra/testbench": "^8.0|^9.0", + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -600,7 +534,7 @@ ], "support": { "issues": "https://github.com/codezero-be/laravel-uri-translator/issues", - "source": "https://github.com/codezero-be/laravel-uri-translator/tree/1.0.0" + "source": "https://github.com/codezero-be/laravel-uri-translator/tree/2.0.0" }, "funding": [ { @@ -612,7 +546,7 @@ "type": "ko_fi" } ], - "time": "2023-03-14T15:01:53+00:00" + "time": "2024-03-10T12:32:06+00:00" }, { "name": "codezero/php-url-builder", @@ -801,31 +735,31 @@ }, { "name": "diglactic/laravel-breadcrumbs", - "version": "v8.1.1", + "version": "v9.0.0", "source": { "type": "git", "url": "https://github.com/diglactic/laravel-breadcrumbs.git", - "reference": "f72a78eb3e26aea507d7888a65f15e5790864e21" + "reference": "88e8f01e013e811215770e27b40a74014c28f2c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/diglactic/laravel-breadcrumbs/zipball/f72a78eb3e26aea507d7888a65f15e5790864e21", - "reference": "f72a78eb3e26aea507d7888a65f15e5790864e21", + "url": "https://api.github.com/repos/diglactic/laravel-breadcrumbs/zipball/88e8f01e013e811215770e27b40a74014c28f2c4", + "reference": "88e8f01e013e811215770e27b40a74014c28f2c4", "shasum": "" }, "require": { "facade/ignition-contracts": "^1.0", - "laravel/framework": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0", - "php": "^7.2 || ^8.0" + "laravel/framework": "^8.0 || ^9.0 || ^10.0 || ^11.0", + "php": "^7.3 || ^8.0" }, "conflict": { "davejamesmiller/laravel-breadcrumbs": "*" }, "require-dev": { - "orchestra/testbench": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "php-coveralls/php-coveralls": "^2.4", - "phpunit/phpunit": "^8.5 || ^9.5", - "spatie/phpunit-snapshot-assertions": "^2.2 || ^4.2" + "orchestra/testbench": "^6.0 || ^7.0 || ^8.0 || ^9.0", + "php-coveralls/php-coveralls": "^2.7", + "phpunit/phpunit": "^9.5 || ^10.5", + "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1" }, "type": "library", "extra": { @@ -866,9 +800,9 @@ ], "support": { "issues": "https://github.com/diglactic/laravel-breadcrumbs/issues", - "source": "https://github.com/diglactic/laravel-breadcrumbs/tree/v8.1.1" + "source": "https://github.com/diglactic/laravel-breadcrumbs/tree/v9.0.0" }, - "time": "2023-04-17T23:24:15+00:00" + "time": "2024-03-12T00:42:39+00:00" }, { "name": "doctrine/inflector", @@ -1201,16 +1135,16 @@ }, { "name": "egulias/email-validator", - "version": "4.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "b115554301161fa21467629f1e1391c1936de517" + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b115554301161fa21467629f1e1391c1936de517", - "reference": "b115554301161fa21467629f1e1391c1936de517", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", "shasum": "" }, "require": { @@ -1256,7 +1190,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.3" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.4" }, "funding": [ { @@ -1264,7 +1198,7 @@ "type": "github" } ], - "time": "2024-12-27T00:36:43+00:00" + "time": "2025-03-06T22:45:56+00:00" }, { "name": "ezyang/htmlpurifier", @@ -1515,16 +1449,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.9.2", + "version": "7.9.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b" + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", "shasum": "" }, "require": { @@ -1621,7 +1555,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.9.2" + "source": "https://github.com/guzzle/guzzle/tree/7.9.3" }, "funding": [ { @@ -1637,20 +1571,20 @@ "type": "tidelift" } ], - "time": "2024-07-24T11:22:20+00:00" + "time": "2025-03-27T13:37:11+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.4", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455" + "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455", - "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455", + "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c", + "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c", "shasum": "" }, "require": { @@ -1704,7 +1638,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.4" + "source": "https://github.com/guzzle/promises/tree/2.2.0" }, "funding": [ { @@ -1720,20 +1654,20 @@ "type": "tidelift" } ], - "time": "2024-10-17T10:06:22+00:00" + "time": "2025-03-27T13:27:01+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.7.0", + "version": "2.7.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" + "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16", + "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16", "shasum": "" }, "require": { @@ -1820,7 +1754,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.7.0" + "source": "https://github.com/guzzle/psr7/tree/2.7.1" }, "funding": [ { @@ -1836,20 +1770,20 @@ "type": "tidelift" } ], - "time": "2024-07-18T11:15:46+00:00" + "time": "2025-03-27T12:30:47+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.3", + "version": "v1.0.4", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + "reference": "30e286560c137526eccd4ce21b2de477ab0676d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/30e286560c137526eccd4ce21b2de477ab0676d2", + "reference": "30e286560c137526eccd4ce21b2de477ab0676d2", "shasum": "" }, "require": { @@ -1906,7 +1840,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.4" }, "funding": [ { @@ -1922,111 +1856,35 @@ "type": "tidelift" } ], - "time": "2023-12-03T19:50:20+00:00" + "time": "2025-02-03T10:55:03+00:00" }, { - "name": "http-interop/http-factory-guzzle", - "version": "1.2.0", + "name": "intervention/gif", + "version": "4.2.2", "source": { "type": "git", - "url": "https://github.com/http-interop/http-factory-guzzle.git", - "reference": "8f06e92b95405216b237521cc64c804dd44c4a81" + "url": "https://github.com/Intervention/gif.git", + "reference": "5999eac6a39aa760fb803bc809e8909ee67b451a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/8f06e92b95405216b237521cc64c804dd44c4a81", - "reference": "8f06e92b95405216b237521cc64c804dd44c4a81", + "url": "https://api.github.com/repos/Intervention/gif/zipball/5999eac6a39aa760fb803bc809e8909ee67b451a", + "reference": "5999eac6a39aa760fb803bc809e8909ee67b451a", "shasum": "" }, "require": { - "guzzlehttp/psr7": "^1.7||^2.0", - "php": ">=7.3", - "psr/http-factory": "^1.0" - }, - "provide": { - "psr/http-factory-implementation": "^1.0" + "php": "^8.1" }, "require-dev": { - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^9.5" - }, - "suggest": { - "guzzlehttp/psr7": "Includes an HTTP factory starting in version 2.0" + "phpstan/phpstan": "^2.1", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", + "slevomat/coding-standard": "~8.0", + "squizlabs/php_codesniffer": "^3.8" }, "type": "library", "autoload": { "psr-4": { - "Http\\Factory\\Guzzle\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "An HTTP Factory using Guzzle PSR7", - "keywords": [ - "factory", - "http", - "psr-17", - "psr-7" - ], - "support": { - "issues": "https://github.com/http-interop/http-factory-guzzle/issues", - "source": "https://github.com/http-interop/http-factory-guzzle/tree/1.2.0" - }, - "time": "2021-07-21T13:50:14+00:00" - }, - { - "name": "intervention/image", - "version": "2.7.2", - "source": { - "type": "git", - "url": "https://github.com/Intervention/image.git", - "reference": "04be355f8d6734c826045d02a1079ad658322dad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad", - "reference": "04be355f8d6734c826045d02a1079ad658322dad", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "guzzlehttp/psr7": "~1.1 || ^2.0", - "php": ">=5.4.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.2", - "phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15" - }, - "suggest": { - "ext-gd": "to use GD library based image processing.", - "ext-imagick": "to use Imagick based image processing.", - "intervention/imagecache": "Caching extension for the Intervention Image library" - }, - "type": "library", - "extra": { - "laravel": { - "aliases": { - "Image": "Intervention\\Image\\Facades\\Image" - }, - "providers": [ - "Intervention\\Image\\ImageServiceProvider" - ] - }, - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "psr-4": { - "Intervention\\Image\\": "src/Intervention/Image" + "Intervention\\Gif\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2040,19 +1898,17 @@ "homepage": "https://intervention.io/" } ], - "description": "Image handling and manipulation library with support for Laravel integration", - "homepage": "http://image.intervention.io/", + "description": "Native PHP GIF Encoder/Decoder", + "homepage": "https://github.com/intervention/gif", "keywords": [ + "animation", "gd", - "image", - "imagick", - "laravel", - "thumbnail", - "watermark" + "gif", + "image" ], "support": { - "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/2.7.2" + "issues": "https://github.com/Intervention/gif/issues", + "source": "https://github.com/Intervention/gif/tree/4.2.2" }, "funding": [ { @@ -2062,39 +1918,47 @@ { "url": "https://github.com/Intervention", "type": "github" + }, + { + "url": "https://ko-fi.com/interventionphp", + "type": "ko_fi" } ], - "time": "2022-05-21T17:30:32+00:00" + "time": "2025-03-29T07:46:21+00:00" }, { - "name": "intervention/imagecache", - "version": "2.6.0", + "name": "intervention/image", + "version": "3.11.3", "source": { "type": "git", - "url": "https://github.com/Intervention/imagecache.git", - "reference": "86136575a62d3634b51f196a998fce4a583b49bb" + "url": "https://github.com/Intervention/image.git", + "reference": "d0f097b8a3fa8fb758efc9440b513aa3833cda17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/imagecache/zipball/86136575a62d3634b51f196a998fce4a583b49bb", - "reference": "86136575a62d3634b51f196a998fce4a583b49bb", + "url": "https://api.github.com/repos/Intervention/image/zipball/d0f097b8a3fa8fb758efc9440b513aa3833cda17", + "reference": "d0f097b8a3fa8fb758efc9440b513aa3833cda17", "shasum": "" }, "require": { - "illuminate/cache": "^5.5|~6|~7|~8|~9|~10", - "illuminate/filesystem": "^5.5|~6|~7|~8|~9|~10", - "intervention/image": "~2.2", - "nesbot/carbon": "^2.39", - "opis/closure": "^3.5", - "php": "~7.2|~8" + "ext-mbstring": "*", + "intervention/gif": "^4.2", + "php": "^8.1" }, "require-dev": { - "phpunit/phpunit": "^8.0" + "mockery/mockery": "^1.6", + "phpstan/phpstan": "^2.1", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", + "slevomat/coding-standard": "~8.0", + "squizlabs/php_codesniffer": "^3.8" + }, + "suggest": { + "ext-exif": "Recommended to be able to read EXIF data properly." }, "type": "library", "autoload": { "psr-4": { - "Intervention\\Image\\": "src/Intervention/Image" + "Intervention\\Image\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2105,21 +1969,22 @@ { "name": "Oliver Vogel", "email": "oliver@intervention.io", - "homepage": "http://intervention.io/" + "homepage": "https://intervention.io/" } ], - "description": "Caching extension for the Intervention Image Class", - "homepage": "https://image.intervention.io", + "description": "PHP image manipulation", + "homepage": "https://image.intervention.io/", "keywords": [ - "cache", "gd", "image", "imagick", - "laravel" + "resize", + "thumbnail", + "watermark" ], "support": { - "issues": "https://github.com/Intervention/imagecache/issues", - "source": "https://github.com/Intervention/imagecache/tree/2.6.0" + "issues": "https://github.com/Intervention/image/issues", + "source": "https://github.com/Intervention/image/tree/3.11.3" }, "funding": [ { @@ -2129,23 +1994,26 @@ { "url": "https://github.com/Intervention", "type": "github" + }, + { + "url": "https://ko-fi.com/interventionphp", + "type": "ko_fi" } ], - "abandoned": true, - "time": "2023-02-25T19:40:47+00:00" + "time": "2025-05-22T17:26:23+00:00" }, { "name": "jean85/pretty-package-versions", - "version": "2.1.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10" + "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", - "reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/4d7aa5dab42e2a76d99559706022885de0e18e1a", + "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a", "shasum": "" }, "require": { @@ -2155,8 +2023,9 @@ "require-dev": { "friendsofphp/php-cs-fixer": "^3.2", "jean85/composer-provided-replaced-stub-package": "^1.0", - "phpstan/phpstan": "^1.4", + "phpstan/phpstan": "^2.0", "phpunit/phpunit": "^7.5|^8.5|^9.6", + "rector/rector": "^2.0", "vimeo/psalm": "^4.3 || ^5.0" }, "type": "library", @@ -2189,31 +2058,33 @@ ], "support": { "issues": "https://github.com/Jean85/pretty-package-versions/issues", - "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.0" + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.1" }, - "time": "2024-11-18T16:19:46+00:00" + "time": "2025-03-19T14:43:43+00:00" }, { "name": "kwaadpepper/image-resizer", - "version": "2.1.1", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/Kwaadpepper/image-resizer.git", - "reference": "06f05119ba4ee8a55c35d838399fd601c2c0efa3" + "reference": "e0747fddc4e31ce57bda9db735060e279ae01780" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Kwaadpepper/image-resizer/zipball/06f05119ba4ee8a55c35d838399fd601c2c0efa3", - "reference": "06f05119ba4ee8a55c35d838399fd601c2c0efa3", + "url": "https://api.github.com/repos/Kwaadpepper/image-resizer/zipball/e0747fddc4e31ce57bda9db735060e279ae01780", + "reference": "e0747fddc4e31ce57bda9db735060e279ae01780", "shasum": "" }, "require": { - "illuminate/support": "~10", - "intervention/image": "^2.7.2", - "intervention/imagecache": "^2.6", - "laravel/framework": "~10" + "illuminate/support": "~11|~12", + "intervention/image": "^3.6", + "laravel/framework": "~11|~12", + "php": "^8.2" }, "require-dev": { + "larastan/larastan": "^2.0", + "orchestra/testbench": "^9.0", "slevomat/coding-standard": "^8.11" }, "type": "library", @@ -2249,88 +2120,29 @@ ], "support": { "issues": "https://github.com/Kwaadpepper/image-resizer/issues", - "source": "https://github.com/Kwaadpepper/image-resizer/tree/2.1.1" + "source": "https://github.com/Kwaadpepper/image-resizer/tree/3.1.0" }, - "time": "2024-06-21T17:54:00+00:00" - }, - { - "name": "kwaadpepper/refresh-sitemap", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/Kwaadpepper/refresh-sitemap.git", - "reference": "47f8681abe01e6d3f2f38d569508748cf12f89d6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Kwaadpepper/refresh-sitemap/zipball/47f8681abe01e6d3f2f38d569508748cf12f89d6", - "reference": "47f8681abe01e6d3f2f38d569508748cf12f89d6", - "shasum": "" - }, - "require": { - "illuminate/support": "~10", - "laravel/framework": "~10", - "spatie/laravel-sitemap": "^6.0" - }, - "require-dev": { - "slevomat/coding-standard": "^8.11" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Kwaadpepper\\RefreshSitemap\\RefreshSitemapServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Kwaadpepper\\RefreshSitemap\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jérémy Munsch", - "email": "github@jeremydev.ovh", - "homepage": "https://jeremydev.ovh" - } - ], - "description": "Create sitemap.xml for all routes", - "homepage": "https://github.com/kwaadpepper/refresh-sitemap", - "keywords": [ - "Sitemap", - "laravel" - ], - "support": { - "issues": "https://github.com/Kwaadpepper/refresh-sitemap/issues", - "source": "https://github.com/Kwaadpepper/refresh-sitemap/tree/2.0.1" - }, - "abandoned": "sitemap-refresh", - "time": "2023-05-22T14:29:33+00:00" + "time": "2025-03-02T07:22:50+00:00" }, { "name": "laravel/framework", - "version": "v10.48.25", + "version": "v11.45.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "f132b23b13909cc22c615c01b0c5640541c3da0c" + "reference": "b09ba32795b8e71df10856a2694706663984a239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/f132b23b13909cc22c615c01b0c5640541c3da0c", - "reference": "f132b23b13909cc22c615c01b0c5640541c3da0c", + "url": "https://api.github.com/repos/laravel/framework/zipball/b09ba32795b8e71df10856a2694706663984a239", + "reference": "b09ba32795b8e71df10856a2694706663984a239", "shasum": "" }, "require": { "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", - "dragonmantank/cron-expression": "^3.3.2", + "dragonmantank/cron-expression": "^3.4", "egulias/email-validator": "^3.2.1|^4.0", "ext-ctype": "*", "ext-filter": "*", @@ -2339,44 +2151,45 @@ "ext-openssl": "*", "ext-session": "*", "ext-tokenizer": "*", - "fruitcake/php-cors": "^1.2", + "fruitcake/php-cors": "^1.3", + "guzzlehttp/guzzle": "^7.8.2", "guzzlehttp/uri-template": "^1.0", - "laravel/prompts": "^0.1.9", - "laravel/serializable-closure": "^1.3", - "league/commonmark": "^2.2.1", - "league/flysystem": "^3.8.0", + "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0", + "laravel/serializable-closure": "^1.3|^2.0", + "league/commonmark": "^2.7", + "league/flysystem": "^3.25.1", + "league/flysystem-local": "^3.25.1", + "league/uri": "^7.5.1", "monolog/monolog": "^3.0", - "nesbot/carbon": "^2.67", - "nunomaduro/termwind": "^1.13", - "php": "^8.1", + "nesbot/carbon": "^2.72.6|^3.8.4", + "nunomaduro/termwind": "^2.0", + "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^6.2", - "symfony/error-handler": "^6.2", - "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.4", - "symfony/http-kernel": "^6.2", - "symfony/mailer": "^6.2", - "symfony/mime": "^6.2", - "symfony/process": "^6.2", - "symfony/routing": "^6.2", - "symfony/uid": "^6.2", - "symfony/var-dumper": "^6.2", + "symfony/console": "^7.0.3", + "symfony/error-handler": "^7.0.3", + "symfony/finder": "^7.0.3", + "symfony/http-foundation": "^7.2.0", + "symfony/http-kernel": "^7.0.3", + "symfony/mailer": "^7.0.3", + "symfony/mime": "^7.0.3", + "symfony/polyfill-php83": "^1.31", + "symfony/process": "^7.0.3", + "symfony/routing": "^7.0.3", + "symfony/uid": "^7.0.3", + "symfony/var-dumper": "^7.0.3", "tijsverkoyen/css-to-inline-styles": "^2.2.5", - "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^2.0" + "vlucas/phpdotenv": "^5.6.1", + "voku/portable-ascii": "^2.0.2" }, "conflict": { - "carbonphp/carbon-doctrine-types": ">=3.0", - "doctrine/dbal": ">=4.0", - "mockery/mockery": "1.6.8", - "phpunit/phpunit": ">=11.0.0", "tightenco/collect": "<5.5.33" }, "provide": { "psr/container-implementation": "1.1|2.0", + "psr/log-implementation": "1.0|2.0|3.0", "psr/simple-cache-implementation": "1.0|2.0|3.0" }, "replace": { @@ -2385,6 +2198,7 @@ "illuminate/bus": "self.version", "illuminate/cache": "self.version", "illuminate/collections": "self.version", + "illuminate/concurrency": "self.version", "illuminate/conditionable": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", @@ -2412,36 +2226,39 @@ "illuminate/testing": "self.version", "illuminate/translation": "self.version", "illuminate/validation": "self.version", - "illuminate/view": "self.version" + "illuminate/view": "self.version", + "spatie/once": "*" }, "require-dev": { "ably/ably-php": "^1.0", - "aws/aws-sdk-php": "^3.235.5", - "doctrine/dbal": "^3.5.1", + "aws/aws-sdk-php": "^3.322.9", "ext-gmp": "*", - "fakerphp/faker": "^1.21", - "guzzlehttp/guzzle": "^7.5", - "league/flysystem-aws-s3-v3": "^3.0", - "league/flysystem-ftp": "^3.0", - "league/flysystem-path-prefixing": "^3.3", - "league/flysystem-read-only": "^3.3", - "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.5.1", - "nyholm/psr7": "^1.2", - "orchestra/testbench-core": "^8.23.4", - "pda/pheanstalk": "^4.0", - "phpstan/phpstan": "~1.11.11", - "phpunit/phpunit": "^10.0.7", - "predis/predis": "^2.0.2", - "symfony/cache": "^6.2", - "symfony/http-client": "^6.2.4", - "symfony/psr-http-message-bridge": "^2.0" + "fakerphp/faker": "^1.24", + "guzzlehttp/promises": "^2.0.3", + "guzzlehttp/psr7": "^2.4", + "laravel/pint": "^1.18", + "league/flysystem-aws-s3-v3": "^3.25.1", + "league/flysystem-ftp": "^3.25.1", + "league/flysystem-path-prefixing": "^3.25.1", + "league/flysystem-read-only": "^3.25.1", + "league/flysystem-sftp-v3": "^3.25.1", + "mockery/mockery": "^1.6.10", + "orchestra/testbench-core": "^9.13.2", + "pda/pheanstalk": "^5.0.6", + "php-http/discovery": "^1.15", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1", + "predis/predis": "^2.3", + "resend/resend-php": "^0.10.0", + "symfony/cache": "^7.0.3", + "symfony/http-client": "^7.0.3", + "symfony/psr-http-message-bridge": "^7.0.3", + "symfony/translation": "^7.0.3" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", - "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).", + "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", "ext-apcu": "Required to use the APC cache driver.", "ext-fileinfo": "Required to use the Filesystem class.", "ext-ftp": "Required to use the Flysystem FTP driver.", @@ -2450,42 +2267,45 @@ "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", - "league/flysystem-read-only": "Required to use read-only disks (^3.3)", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "mockery/mockery": "Required to use mocking (^1.5.1).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).", - "predis/predis": "Required to use the predis connector (^2.0.2).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).", + "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).", + "mockery/mockery": "Required to use mocking (^1.6).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.3.6|^12.0.1).", + "predis/predis": "Required to use the predis connector (^2.3).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^6.2).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "10.x-dev" + "dev-master": "11.x-dev" } }, "autoload": { "files": [ + "src/Illuminate/Collections/functions.php", "src/Illuminate/Collections/helpers.php", "src/Illuminate/Events/functions.php", "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Log/functions.php", + "src/Illuminate/Support/functions.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { @@ -2517,25 +2337,25 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-11-26T15:32:57+00:00" + "time": "2025-06-03T14:01:40+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.25", + "version": "v0.3.6", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95" + "reference": "86a8b692e8661d0fb308cec64f3d176821323077" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95", - "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95", + "url": "https://api.github.com/repos/laravel/prompts/zipball/86a8b692e8661d0fb308cec64f3d176821323077", + "reference": "86a8b692e8661d0fb308cec64f3d176821323077", "shasum": "" }, "require": { + "composer-runtime-api": "^2.2", "ext-mbstring": "*", - "illuminate/collections": "^10.0|^11.0", "php": "^8.1", "symfony/console": "^6.2|^7.0" }, @@ -2544,8 +2364,9 @@ "laravel/framework": ">=10.17.0 <10.25.0" }, "require-dev": { + "illuminate/collections": "^10.0|^11.0|^12.0", "mockery/mockery": "^1.5", - "pestphp/pest": "^2.3", + "pestphp/pest": "^2.3|^3.4", "phpstan/phpstan": "^1.11", "phpstan/phpstan-mockery": "^1.1" }, @@ -2555,7 +2376,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "0.1.x-dev" + "dev-main": "0.3.x-dev" } }, "autoload": { @@ -2573,38 +2394,38 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.25" + "source": "https://github.com/laravel/prompts/tree/v0.3.6" }, - "time": "2024-08-12T22:06:33+00:00" + "time": "2025-07-07T14:17:42+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.3.7", + "version": "v2.0.4", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "4f48ade902b94323ca3be7646db16209ec76be3d" + "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", - "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b352cf0534aa1ae6b4d825d1e762e35d43f8a841", + "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^8.1" }, "require-dev": { - "illuminate/support": "^8.0|^9.0|^10.0|^11.0", - "nesbot/carbon": "^2.61|^3.0", - "pestphp/pest": "^1.21.3", - "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" + "illuminate/support": "^10.0|^11.0|^12.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2636,26 +2457,26 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-11-14T18:34:49+00:00" + "time": "2025-03-19T13:51:03+00:00" }, { "name": "laravel/tinker", - "version": "v2.10.0", + "version": "v2.10.1", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5" + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/ba4d51eb56de7711b3a37d63aa0643e99a339ae5", - "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5", + "url": "https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3", + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3", "shasum": "" }, "require": { - "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^7.2.5|^8.0", "psy/psysh": "^0.11.1|^0.12.0", "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" @@ -2663,10 +2484,10 @@ "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3" + "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." }, "type": "library", "extra": { @@ -2700,35 +2521,35 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.10.0" + "source": "https://github.com/laravel/tinker/tree/v2.10.1" }, - "time": "2024-09-23T13:32:56+00:00" + "time": "2025-01-27T14:24:01+00:00" }, { "name": "laravel/ui", - "version": "v4.6.0", + "version": "v4.6.1", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "a34609b15ae0c0512a0cf47a21695a2729cb7f93" + "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/a34609b15ae0c0512a0cf47a21695a2729cb7f93", - "reference": "a34609b15ae0c0512a0cf47a21695a2729cb7f93", + "url": "https://api.github.com/repos/laravel/ui/zipball/7d6ffa38d79f19c9b3e70a751a9af845e8f41d88", + "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88", "shasum": "" }, "require": { - "illuminate/console": "^9.21|^10.0|^11.0", - "illuminate/filesystem": "^9.21|^10.0|^11.0", - "illuminate/support": "^9.21|^10.0|^11.0", - "illuminate/validation": "^9.21|^10.0|^11.0", + "illuminate/console": "^9.21|^10.0|^11.0|^12.0", + "illuminate/filesystem": "^9.21|^10.0|^11.0|^12.0", + "illuminate/support": "^9.21|^10.0|^11.0|^12.0", + "illuminate/validation": "^9.21|^10.0|^11.0|^12.0", "php": "^8.0", "symfony/console": "^6.0|^7.0" }, "require-dev": { - "orchestra/testbench": "^7.35|^8.15|^9.0", - "phpunit/phpunit": "^9.3|^10.4|^11.0" + "orchestra/testbench": "^7.35|^8.15|^9.0|^10.0", + "phpunit/phpunit": "^9.3|^10.4|^11.5" }, "type": "library", "extra": { @@ -2763,89 +2584,22 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v4.6.0" + "source": "https://github.com/laravel/ui/tree/v4.6.1" }, - "time": "2024-11-21T15:06:41+00:00" - }, - { - "name": "ldc/web-admin-secure-laravel", - "version": "2.0.3", - "source": { - "type": "git", - "url": "git@lab.s-web.fr:ldc-web/projets/ldc-web-admin-secure-laravel.git", - "reference": "fc648612f0e16ca00c012e5305b28058312d68c0" - }, - "dist": { - "type": "zip", - "url": "https://lab.s-web.fr/api/v4/projects/20/packages/composer/archives/ldc/web-admin-secure-laravel.zip?sha=fc648612f0e16ca00c012e5305b28058312d68c0", - "reference": "fc648612f0e16ca00c012e5305b28058312d68c0", - "shasum": "" - }, - "require": { - "dxw/cidr": "^3.1", - "illuminate/support": "~10", - "laravel/framework": "~10", - "php": ">=8.2", - "symfony/options-resolver": "^3.4.43|^4.4.30|^5.0.11|^6.0" - }, - "require-dev": { - "larastan/larastan": "^2.6", - "orchestra/testbench": "^8", - "phpunit/php-code-coverage": "^9", - "phpunit/phpunit": "^9", - "slevomat/coding-standard": "^7", - "squizlabs/php_codesniffer": "^3" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "LDC\\WebAdminSecureLaravel\\AdminSecureServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "LDC\\WebAdminSecureLaravel\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "LDC\\WebAdminSecureLaravel\\Tests\\": "tests" - } - }, - "scripts": { - "test": [ - "vendor/bin/phpunit" - ], - "post-autoload-dump": [ - "@php ./vendor/bin/testbench package:discover --ansi" - ] - }, - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Vincent BRIDIER", - "email": "vincent.bridier@ldc.fr", - "homepage": "https://www.ldc.fr" - } - ], - "description": "Restrict access to LDC Network" + "time": "2025-01-28T15:15:29+00:00" }, { "name": "league/commonmark", - "version": "2.6.1", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "d990688c91cedfb69753ffc2512727ec646df2ad" + "reference": "6fbb36d44824ed4091adbcf4c7d4a3923cdb3405" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d990688c91cedfb69753ffc2512727ec646df2ad", - "reference": "d990688c91cedfb69753ffc2512727ec646df2ad", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/6fbb36d44824ed4091adbcf4c7d4a3923cdb3405", + "reference": "6fbb36d44824ed4091adbcf4c7d4a3923cdb3405", "shasum": "" }, "require": { @@ -2882,7 +2636,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.7-dev" + "dev-main": "2.8-dev" } }, "autoload": { @@ -2939,7 +2693,7 @@ "type": "tidelift" } ], - "time": "2024-12-29T14:10:59+00:00" + "time": "2025-05-05T12:20:28+00:00" }, { "name": "league/config", @@ -3025,16 +2779,16 @@ }, { "name": "league/flysystem", - "version": "3.29.1", + "version": "3.30.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "edc1bb7c86fab0776c3287dbd19b5fa278347319" + "reference": "2203e3151755d874bb2943649dae1eb8533ac93e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/edc1bb7c86fab0776c3287dbd19b5fa278347319", - "reference": "edc1bb7c86fab0776c3287dbd19b5fa278347319", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2203e3151755d874bb2943649dae1eb8533ac93e", + "reference": "2203e3151755d874bb2943649dae1eb8533ac93e", "shasum": "" }, "require": { @@ -3058,13 +2812,13 @@ "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", - "ext-mongodb": "^1.3", + "ext-mongodb": "^1.3|^2", "ext-zip": "*", "friendsofphp/php-cs-fixer": "^3.5", "google/cloud-storage": "^1.23", "guzzlehttp/psr7": "^2.6", "microsoft/azure-storage-blob": "^1.1", - "mongodb/mongodb": "^1.2", + "mongodb/mongodb": "^1.2|^2", "phpseclib/phpseclib": "^3.0.36", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", @@ -3102,22 +2856,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.29.1" + "source": "https://github.com/thephpleague/flysystem/tree/3.30.0" }, - "time": "2024-10-08T08:58:34+00:00" + "time": "2025-06-25T13:29:59+00:00" }, { "name": "league/flysystem-local", - "version": "3.29.0", + "version": "3.30.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27" + "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e0e8d52ce4b2ed154148453d321e97c8e931bd27", - "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/6691915f77c7fb69adfb87dcd550052dc184ee10", + "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10", "shasum": "" }, "require": { @@ -3151,74 +2905,9 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.29.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.0" }, - "time": "2024-08-09T21:24:39+00:00" - }, - { - "name": "league/glide", - "version": "2.3.1", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/glide.git", - "reference": "62fc5ebd579e013e7573c00d1fb7e083ed395f00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/glide/zipball/62fc5ebd579e013e7573c00d1fb7e083ed395f00", - "reference": "62fc5ebd579e013e7573c00d1fb7e083ed395f00", - "shasum": "" - }, - "require": { - "intervention/image": "^2.7", - "league/flysystem": "^2.0|^3.0", - "php": "^7.2|^8.0", - "psr/http-message": "^1.0|^2.0" - }, - "require-dev": { - "mockery/mockery": "^1.3.3", - "phpunit/php-token-stream": "^3.1|^4.0", - "phpunit/phpunit": "^8.5|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Glide\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Reinink", - "email": "jonathan@reinink.ca", - "homepage": "http://reinink.ca" - }, - { - "name": "Titouan Galopin", - "email": "galopintitouan@gmail.com", - "homepage": "https://titouangalopin.com" - } - ], - "description": "Wonderfully easy on-demand image manipulation library with an HTTP based API.", - "homepage": "http://glide.thephpleague.com", - "keywords": [ - "ImageMagick", - "editing", - "gd", - "image", - "imagick", - "league", - "manipulation", - "processing" - ], - "support": { - "issues": "https://github.com/thephpleague/glide/issues", - "source": "https://github.com/thephpleague/glide/tree/2.3.1" - }, - "time": "2024-12-17T05:40:16+00:00" + "time": "2025-05-21T10:34:19+00:00" }, { "name": "league/mime-type-detection", @@ -3276,6 +2965,180 @@ ], "time": "2024-09-21T08:32:55+00:00" }, + { + "name": "league/uri", + "version": "7.5.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri.git", + "reference": "81fb5145d2644324614cc532b28efd0215bda430" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430", + "reference": "81fb5145d2644324614cc532b28efd0215bda430", + "shasum": "" + }, + "require": { + "league/uri-interfaces": "^7.5", + "php": "^8.1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "league/uri-components": "Needed to easily manipulate URI objects components", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.5.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:40:02+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "7.5.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1", + "psr/http-factory": "^1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common interfaces and classes for URI representation and interaction", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:18:47+00:00" + }, { "name": "masterminds/html5", "version": "2.9.0", @@ -3345,23 +3208,23 @@ }, { "name": "mews/purifier", - "version": "3.4.2", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/mewebstudio/Purifier.git", - "reference": "d4d3830267eeda7b385d61dd680ace14dcf142df" + "reference": "acc71bc512dcf9b87144546d0e3055fc76d244ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mewebstudio/Purifier/zipball/d4d3830267eeda7b385d61dd680ace14dcf142df", - "reference": "d4d3830267eeda7b385d61dd680ace14dcf142df", + "url": "https://api.github.com/repos/mewebstudio/Purifier/zipball/acc71bc512dcf9b87144546d0e3055fc76d244ff", + "reference": "acc71bc512dcf9b87144546d0e3055fc76d244ff", "shasum": "" }, "require": { "ezyang/htmlpurifier": "^4.16.0", - "illuminate/config": "^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/filesystem": "^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/config": "^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/filesystem": "^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^7.2|^8.0" }, "require-dev": { @@ -3417,22 +3280,22 @@ ], "support": { "issues": "https://github.com/mewebstudio/Purifier/issues", - "source": "https://github.com/mewebstudio/Purifier/tree/3.4.2" + "source": "https://github.com/mewebstudio/Purifier/tree/3.4.3" }, - "time": "2024-03-20T16:18:22+00:00" + "time": "2025-02-24T16:00:29+00:00" }, { "name": "monolog/monolog", - "version": "3.8.1", + "version": "3.9.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4" + "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/aef6ee73a77a66e404dd6540934a9ef1b3c855b4", - "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6", + "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6", "shasum": "" }, "require": { @@ -3510,7 +3373,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.8.1" + "source": "https://github.com/Seldaek/monolog/tree/3.9.0" }, "funding": [ { @@ -3522,46 +3385,44 @@ "type": "tidelift" } ], - "time": "2024-12-05T17:15:07+00:00" + "time": "2025-03-24T10:02:05+00:00" }, { "name": "nesbot/carbon", - "version": "2.72.6", + "version": "3.10.1", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "1e9d50601e7035a4c61441a208cb5bed73e108c5" + "reference": "1fd1935b2d90aef2f093c5e35f7ae1257c448d00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/1e9d50601e7035a4c61441a208cb5bed73e108c5", - "reference": "1e9d50601e7035a4c61441a208cb5bed73e108c5", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/1fd1935b2d90aef2f093c5e35f7ae1257c448d00", + "reference": "1fd1935b2d90aef2f093c5e35f7ae1257c448d00", "shasum": "" }, "require": { - "carbonphp/carbon-doctrine-types": "*", + "carbonphp/carbon-doctrine-types": "<100.0", "ext-json": "*", - "php": "^7.1.8 || ^8.0", + "php": "^8.1", "psr/clock": "^1.0", + "symfony/clock": "^6.3.12 || ^7.0", "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", - "doctrine/orm": "^2.7 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.0", - "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "<6", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.99 || ^1.7.14", - "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", - "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", - "squizlabs/php_codesniffer": "^3.4" + "doctrine/dbal": "^3.6.3 || ^4.0", + "doctrine/orm": "^2.15.2 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.75.0", + "kylekatarnls/multi-tester": "^2.5.3", + "phpmd/phpmd": "^2.15.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.17", + "phpunit/phpunit": "^10.5.46", + "squizlabs/php_codesniffer": "^3.13.0" }, "bin": [ "bin/carbon" @@ -3612,8 +3473,8 @@ ], "support": { "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" + "issues": "https://github.com/CarbonPHP/carbon/issues", + "source": "https://github.com/CarbonPHP/carbon" }, "funding": [ { @@ -3629,7 +3490,7 @@ "type": "tidelift" } ], - "time": "2024-12-27T09:28:11+00:00" + "time": "2025-06-21T15:19:35+00:00" }, { "name": "nette/schema", @@ -3695,16 +3556,16 @@ }, { "name": "nette/utils", - "version": "v4.0.5", + "version": "v4.0.7", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96" + "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", - "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", + "url": "https://api.github.com/repos/nette/utils/zipball/e67c4061eb40b9c113b218214e42cb5a0dda28f2", + "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2", "shasum": "" }, "require": { @@ -3775,32 +3636,36 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.5" + "source": "https://github.com/nette/utils/tree/v4.0.7" }, - "time": "2024-08-07T15:39:19+00:00" + "time": "2025-06-03T04:55:08+00:00" }, { "name": "nicmart/tree", - "version": "0.3.1", + "version": "0.9.0", "source": { "type": "git", "url": "https://github.com/nicmart/Tree.git", - "reference": "c55ba47c64a3cb7454c22e6d630729fc2aab23ff" + "reference": "f5e17bf18d78cfb0666ebb9f956c3acd8d14229d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nicmart/Tree/zipball/c55ba47c64a3cb7454c22e6d630729fc2aab23ff", - "reference": "c55ba47c64a3cb7454c22e6d630729fc2aab23ff", + "url": "https://api.github.com/repos/nicmart/Tree/zipball/f5e17bf18d78cfb0666ebb9f956c3acd8d14229d", + "reference": "f5e17bf18d78cfb0666ebb9f956c3acd8d14229d", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "require-dev": { - "ergebnis/composer-normalize": "^2.8.0", - "ergebnis/license": "^1.0.0", - "ergebnis/php-cs-fixer-config": "^2.2.1", - "phpunit/phpunit": "^7.5.20" + "ergebnis/composer-normalize": "^2.44.0", + "ergebnis/license": "^2.6.0", + "ergebnis/php-cs-fixer-config": "^6.28.1", + "fakerphp/faker": "^1.24.1", + "infection/infection": "~0.26.19", + "phpunit/phpunit": "^9.6.19", + "psalm/plugin-phpunit": "~0.19.0", + "vimeo/psalm": "^5.26.1" }, "type": "library", "autoload": { @@ -3816,27 +3681,31 @@ { "name": "Nicolò Martini", "email": "nicmartnic@gmail.com" + }, + { + "name": "Andreas Möller", + "email": "am@localheinz.com" } ], "description": "A basic but flexible php tree data structure and a fluent tree builder implementation.", "support": { "issues": "https://github.com/nicmart/Tree/issues", - "source": "https://github.com/nicmart/Tree/tree/0.3.1" + "source": "https://github.com/nicmart/Tree/tree/0.9.0" }, - "time": "2020-11-27T09:02:17+00:00" + "time": "2024-11-22T15:36:01+00:00" }, { "name": "nikic/php-parser", - "version": "v5.4.0", + "version": "v5.5.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "447a020a1f875a434d62f2a401f53b82a396e494" + "reference": "ae59794362fe85e051a58ad36b289443f57be7a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", - "reference": "447a020a1f875a434d62f2a401f53b82a396e494", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9", + "reference": "ae59794362fe85e051a58ad36b289443f57be7a9", "shasum": "" }, "require": { @@ -3879,38 +3748,37 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0" }, - "time": "2024-12-30T11:07:19+00:00" + "time": "2025-05-31T08:24:38+00:00" }, { "name": "nunomaduro/termwind", - "version": "v1.17.0", + "version": "v2.3.1", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301" + "reference": "dfa08f390e509967a15c22493dc0bac5733d9123" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301", - "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/dfa08f390e509967a15c22493dc0bac5733d9123", + "reference": "dfa08f390e509967a15c22493dc0bac5733d9123", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^8.1", - "symfony/console": "^6.4.15" + "php": "^8.2", + "symfony/console": "^7.2.6" }, "require-dev": { - "illuminate/console": "^10.48.24", - "illuminate/support": "^10.48.24", - "laravel/pint": "^1.18.2", - "pestphp/pest": "^2.36.0", - "pestphp/pest-plugin-mock": "2.0.0", - "phpstan/phpstan": "^1.12.11", - "phpstan/phpstan-strict-rules": "^1.6.1", - "symfony/var-dumper": "^6.4.15", + "illuminate/console": "^11.44.7", + "laravel/pint": "^1.22.0", + "mockery/mockery": "^1.6.12", + "pestphp/pest": "^2.36.0 || ^3.8.2", + "phpstan/phpstan": "^1.12.25", + "phpstan/phpstan-strict-rules": "^1.6.2", + "symfony/var-dumper": "^7.2.6", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -3919,6 +3787,9 @@ "providers": [ "Termwind\\Laravel\\TermwindServiceProvider" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev" } }, "autoload": { @@ -3950,7 +3821,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.17.0" + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.1" }, "funding": [ { @@ -3966,7 +3837,7 @@ "type": "github" } ], - "time": "2024-11-21T10:36:35+00:00" + "time": "2025-05-08T08:14:37+00:00" }, { "name": "nyholm/psr7", @@ -4046,452 +3917,6 @@ ], "time": "2024-09-09T07:06:30+00:00" }, - { - "name": "opis/closure", - "version": "3.6.3", - "source": { - "type": "git", - "url": "https://github.com/opis/closure.git", - "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad", - "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0 || ^8.0" - }, - "require-dev": { - "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.6.x-dev" - } - }, - "autoload": { - "files": [ - "functions.php" - ], - "psr-4": { - "Opis\\Closure\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marius Sarca", - "email": "marius.sarca@gmail.com" - }, - { - "name": "Sorin Sarca", - "email": "sarca_sorin@hotmail.com" - } - ], - "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", - "homepage": "https://opis.io/closure", - "keywords": [ - "anonymous functions", - "closure", - "function", - "serializable", - "serialization", - "serialize" - ], - "support": { - "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.6.3" - }, - "time": "2022-01-27T09:35:39+00:00" - }, - { - "name": "php-http/client-common", - "version": "2.7.2", - "source": { - "type": "git", - "url": "https://github.com/php-http/client-common.git", - "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/0cfe9858ab9d3b213041b947c881d5b19ceeca46", - "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "php-http/httplug": "^2.0", - "php-http/message": "^1.6", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0", - "symfony/polyfill-php80": "^1.17" - }, - "require-dev": { - "doctrine/instantiator": "^1.1", - "guzzlehttp/psr7": "^1.4", - "nyholm/psr7": "^1.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "phpspec/prophecy": "^1.10.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7" - }, - "suggest": { - "ext-json": "To detect JSON responses with the ContentTypePlugin", - "ext-libxml": "To detect XML responses with the ContentTypePlugin", - "php-http/cache-plugin": "PSR-6 Cache plugin", - "php-http/logger-plugin": "PSR-3 Logger plugin", - "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" - }, - "type": "library", - "autoload": { - "psr-4": { - "Http\\Client\\Common\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Common HTTP Client implementations and tools for HTTPlug", - "homepage": "http://httplug.io", - "keywords": [ - "client", - "common", - "http", - "httplug" - ], - "support": { - "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.7.2" - }, - "time": "2024-09-24T06:21:48+00:00" - }, - { - "name": "php-http/discovery", - "version": "1.20.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/discovery.git", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0|^2.0", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "nyholm/psr7": "<1.0", - "zendframework/zend-diactoros": "*" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "*", - "psr/http-factory-implementation": "*", - "psr/http-message-implementation": "*" - }, - "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "graham-campbell/phpspec-skip-example-extension": "^5.0", - "php-http/httplug": "^1.0 || ^2.0", - "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "sebastian/comparator": "^3.0.5 || ^4.0.8", - "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" - }, - "type": "composer-plugin", - "extra": { - "class": "Http\\Discovery\\Composer\\Plugin", - "plugin-optional": true - }, - "autoload": { - "psr-4": { - "Http\\Discovery\\": "src/" - }, - "exclude-from-classmap": [ - "src/Composer/Plugin.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", - "homepage": "http://php-http.org", - "keywords": [ - "adapter", - "client", - "discovery", - "factory", - "http", - "message", - "psr17", - "psr7" - ], - "support": { - "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.20.0" - }, - "time": "2024-10-02T11:20:13+00:00" - }, - { - "name": "php-http/httplug", - "version": "2.4.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/httplug.git", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", - "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "php-http/promise": "^1.1", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0", - "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eric GELOEN", - "email": "geloen.eric@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "HTTPlug, the HTTP client abstraction for PHP", - "homepage": "http://httplug.io", - "keywords": [ - "client", - "http" - ], - "support": { - "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.4.1" - }, - "time": "2024-09-23T11:39:58+00:00" - }, - { - "name": "php-http/message", - "version": "1.16.2", - "source": { - "type": "git", - "url": "https://github.com/php-http/message.git", - "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a", - "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a", - "shasum": "" - }, - "require": { - "clue/stream-filter": "^1.5", - "php": "^7.2 || ^8.0", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.6", - "ext-zlib": "*", - "guzzlehttp/psr7": "^1.0 || ^2.0", - "laminas/laminas-diactoros": "^2.0 || ^3.0", - "php-http/message-factory": "^1.0.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "slim/slim": "^3.0" - }, - "suggest": { - "ext-zlib": "Used with compressor/decompressor streams", - "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", - "laminas/laminas-diactoros": "Used with Diactoros Factories", - "slim/slim": "Used with Slim Framework PSR-7 implementation" - }, - "type": "library", - "autoload": { - "files": [ - "src/filters.php" - ], - "psr-4": { - "Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "HTTP Message related tools", - "homepage": "http://php-http.org", - "keywords": [ - "http", - "message", - "psr-7" - ], - "support": { - "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.2" - }, - "time": "2024-10-02T11:34:13+00:00" - }, - { - "name": "php-http/message-factory", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/message-factory.git", - "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message-factory/zipball/4d8778e1c7d405cbb471574821c1ff5b68cc8f57", - "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57", - "shasum": "" - }, - "require": { - "php": ">=5.4", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Factory interfaces for PSR-7 HTTP Message", - "homepage": "http://php-http.org", - "keywords": [ - "factory", - "http", - "message", - "stream", - "uri" - ], - "support": { - "issues": "https://github.com/php-http/message-factory/issues", - "source": "https://github.com/php-http/message-factory/tree/1.1.0" - }, - "abandoned": "psr/http-factory", - "time": "2023-04-14T14:16:17+00:00" - }, - { - "name": "php-http/promise", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/promise.git", - "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", - "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3", - "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Http\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joel Wurtz", - "email": "joel.wurtz@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Promise used for asynchronous HTTP requests", - "homepage": "http://httplug.io", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.3.1" - }, - "time": "2024-03-15T13:55:21+00:00" - }, { "name": "phpoption/phpoption", "version": "1.9.3", @@ -5091,16 +4516,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.7", + "version": "v0.12.9", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c" + "reference": "1b801844becfe648985372cb4b12ad6840245ace" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", - "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1b801844becfe648985372cb4b12ad6840245ace", + "reference": "1b801844becfe648985372cb4b12ad6840245ace", "shasum": "" }, "require": { @@ -5164,9 +4589,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.7" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.9" }, - "time": "2024-12-10T01:58:33+00:00" + "time": "2025-06-23T02:35:06+00:00" }, { "name": "ralouphie/getallheaders", @@ -5214,16 +4639,16 @@ }, { "name": "ramsey/collection", - "version": "2.0.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", "shasum": "" }, "require": { @@ -5231,25 +4656,22 @@ }, "require-dev": { "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.28.3", - "fakerphp/faker": "^1.21", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^1.0", - "mockery/mockery": "^1.5", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3", - "phpcsstandards/phpcsutils": "^1.0.0-rc1", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18.4", - "ramsey/coding-standard": "^2.0.3", - "ramsey/conventional-commits": "^1.3", - "vimeo/psalm": "^5.4" + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" }, "type": "library", "extra": { @@ -5287,37 +4709,26 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" + "source": "https://github.com/ramsey/collection/tree/2.1.1" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2022-12-31T21:50:55+00:00" + "time": "2025-03-22T05:38:12+00:00" }, { "name": "ramsey/uuid", - "version": "4.7.6", + "version": "4.9.0", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088" + "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/4e0e23cc785f0724a0e838279a9eb03f28b092a0", + "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", - "ext-json": "*", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -5325,26 +4736,23 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "captainhook/captainhook": "^5.10", + "captainhook/captainhook": "^5.25", "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9", - "ramsey/composer-repl": "^1.4", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", @@ -5379,126 +4787,46 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.6" + "source": "https://github.com/ramsey/uuid/tree/4.9.0" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2024-04-27T21:32:50+00:00" - }, - { - "name": "sentry/sdk", - "version": "3.6.0", - "source": { - "type": "git", - "url": "https://github.com/getsentry/sentry-php-sdk.git", - "reference": "24c235ff2027401cbea099bf88689e1a1f197c7a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php-sdk/zipball/24c235ff2027401cbea099bf88689e1a1f197c7a", - "reference": "24c235ff2027401cbea099bf88689e1a1f197c7a", - "shasum": "" - }, - "require": { - "http-interop/http-factory-guzzle": "^1.0", - "sentry/sentry": "^3.22", - "symfony/http-client": "^4.3|^5.0|^6.0|^7.0" - }, - "type": "metapackage", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sentry", - "email": "accounts@sentry.io" - } - ], - "description": "This is a metapackage shipping sentry/sentry with a recommended HTTP client.", - "homepage": "http://sentry.io", - "keywords": [ - "crash-reporting", - "crash-reports", - "error-handler", - "error-monitoring", - "log", - "logging", - "sentry" - ], - "support": { - "issues": "https://github.com/getsentry/sentry-php-sdk/issues", - "source": "https://github.com/getsentry/sentry-php-sdk/tree/3.6.0" - }, - "funding": [ - { - "url": "https://sentry.io/", - "type": "custom" - }, - { - "url": "https://sentry.io/pricing/", - "type": "custom" - } - ], - "time": "2023-12-04T10:49:33+00:00" + "time": "2025-06-25T14:20:11+00:00" }, { "name": "sentry/sentry", - "version": "3.22.1", + "version": "4.14.1", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "8859631ba5ab15bc1af420b0eeed19ecc6c9d81d" + "reference": "a28c4a6f5fda2bf730789a638501d7a737a64eda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/8859631ba5ab15bc1af420b0eeed19ecc6c9d81d", - "reference": "8859631ba5ab15bc1af420b0eeed19ecc6c9d81d", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/a28c4a6f5fda2bf730789a638501d7a737a64eda", + "reference": "a28c4a6f5fda2bf730789a638501d7a737a64eda", "shasum": "" }, "require": { + "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "guzzlehttp/promises": "^1.5.3|^2.0", + "guzzlehttp/psr7": "^1.8.4|^2.1.1", "jean85/pretty-package-versions": "^1.5|^2.0.4", "php": "^7.2|^8.0", - "php-http/async-client-implementation": "^1.0", - "php-http/client-common": "^1.5|^2.0", - "php-http/discovery": "^1.15", - "php-http/httplug": "^1.1|^2.0", - "php-http/message": "^1.5", - "php-http/message-factory": "^1.1", - "psr/http-factory": "^1.0", - "psr/http-factory-implementation": "^1.0", "psr/log": "^1.0|^2.0|^3.0", - "symfony/options-resolver": "^3.4.43|^4.4.30|^5.0.11|^6.0|^7.0", - "symfony/polyfill-php80": "^1.17" + "symfony/options-resolver": "^4.4.30|^5.0.11|^6.0|^7.0" }, "conflict": { - "php-http/client-common": "1.8.0", "raven/raven": "*" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.19|3.4.*", + "friendsofphp/php-cs-fixer": "^3.4", + "guzzlehttp/promises": "^2.0.3", "guzzlehttp/psr7": "^1.8.4|^2.1.1", - "http-interop/http-factory-guzzle": "^1.0", "monolog/monolog": "^1.6|^2.0|^3.0", - "nikic/php-parser": "^4.10.3", - "php-http/mock-client": "^1.3", "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^1.3", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^8.5.14|^9.4", - "symfony/phpunit-bridge": "^5.2|^6.0", + "phpunit/phpunit": "^8.5|^9.6", + "symfony/phpunit-bridge": "^5.2|^6.0|^7.0", "vimeo/psalm": "^4.17" }, "suggest": { @@ -5523,7 +4851,7 @@ "email": "accounts@sentry.io" } ], - "description": "A PHP SDK for Sentry (http://sentry.io)", + "description": "PHP SDK for Sentry (http://sentry.io)", "homepage": "http://sentry.io", "keywords": [ "crash-reporting", @@ -5532,11 +4860,13 @@ "error-monitoring", "log", "logging", - "sentry" + "profiling", + "sentry", + "tracing" ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/3.22.1" + "source": "https://github.com/getsentry/sentry-php/tree/4.14.1" }, "funding": [ { @@ -5548,38 +4878,39 @@ "type": "custom" } ], - "time": "2023-11-13T11:47:28+00:00" + "time": "2025-06-23T15:25:52+00:00" }, { "name": "sentry/sentry-laravel", - "version": "3.8.2", + "version": "4.15.1", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "1293e5732f8405e12f000cdf5dee78c927a18de0" + "reference": "7e0675e8e06d1ec5cb623792892920000a3aedb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/1293e5732f8405e12f000cdf5dee78c927a18de0", - "reference": "1293e5732f8405e12f000cdf5dee78c927a18de0", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/7e0675e8e06d1ec5cb623792892920000a3aedb5", + "reference": "7e0675e8e06d1ec5cb623792892920000a3aedb5", "shasum": "" }, "require": { - "illuminate/support": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0", + "illuminate/support": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0", "nyholm/psr7": "^1.0", "php": "^7.2 | ^8.0", - "sentry/sdk": "^3.4", - "sentry/sentry": "^3.20.1", - "symfony/psr-http-message-bridge": "^1.0 | ^2.0" + "sentry/sentry": "^4.14.1", + "symfony/psr-http-message-bridge": "^1.0 | ^2.0 | ^6.0 | ^7.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.11", - "laravel/folio": "^1.0", - "laravel/framework": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0", + "guzzlehttp/guzzle": "^7.2", + "laravel/folio": "^1.1", + "laravel/framework": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0 | ^12.0", + "livewire/livewire": "^2.0 | ^3.0", "mockery/mockery": "^1.3", - "orchestra/testbench": "^4.7 | ^5.1 | ^6.0 | ^7.0 | ^8.0", + "orchestra/testbench": "^4.7 | ^5.1 | ^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.4 | ^9.3" + "phpunit/phpunit": "^8.4 | ^9.3 | ^10.4 | ^11.5" }, "type": "library", "extra": { @@ -5591,12 +4922,6 @@ "Sentry\\Laravel\\ServiceProvider", "Sentry\\Laravel\\Tracing\\ServiceProvider" ] - }, - "branch-alias": { - "dev-0.x": "0.x-dev", - "dev-1.x": "1.x-dev", - "dev-2.x": "2.x-dev", - "dev-master": "3.x-dev" } }, "autoload": { @@ -5624,11 +4949,13 @@ "laravel", "log", "logging", - "sentry" + "profiling", + "sentry", + "tracing" ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/3.8.2" + "source": "https://github.com/getsentry/sentry-laravel/tree/4.15.1" }, "funding": [ { @@ -5640,7 +4967,7 @@ "type": "custom" } ], - "time": "2023-10-12T14:38:46+00:00" + "time": "2025-06-24T12:39:03+00:00" }, { "name": "simplesoftwareio/simple-qrcode", @@ -5712,28 +5039,30 @@ }, { "name": "spatie/browsershot", - "version": "3.61.0", + "version": "5.0.10", "source": { "type": "git", "url": "https://github.com/spatie/browsershot.git", - "reference": "14d75679390b8b84a71b3a17dc5905928deeb887" + "reference": "9e5ae15487b3cdc3eb03318c1c8ac38971f60e58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/browsershot/zipball/14d75679390b8b84a71b3a17dc5905928deeb887", - "reference": "14d75679390b8b84a71b3a17dc5905928deeb887", + "url": "https://api.github.com/repos/spatie/browsershot/zipball/9e5ae15487b3cdc3eb03318c1c8ac38971f60e58", + "reference": "9e5ae15487b3cdc3eb03318c1c8ac38971f60e58", "shasum": "" }, "require": { + "ext-fileinfo": "*", "ext-json": "*", - "php": "^8.0", - "spatie/image": "^1.5.3|^2.0", - "spatie/temporary-directory": "^1.1|^2.0", - "symfony/process": "^4.2|^5.0|^6.0|^7.0" + "php": "^8.2", + "spatie/temporary-directory": "^2.0", + "symfony/process": "^6.0|^7.0" }, "require-dev": { - "pestphp/pest": "^1.20", - "spatie/phpunit-snapshot-assertions": "^4.2.3" + "pestphp/pest": "^3.0", + "spatie/image": "^3.6", + "spatie/pdf-to-text": "^1.52", + "spatie/phpunit-snapshot-assertions": "^4.2.3|^5.0" }, "type": "library", "autoload": { @@ -5766,7 +5095,7 @@ "webpage" ], "support": { - "source": "https://github.com/spatie/browsershot/tree/3.61.0" + "source": "https://github.com/spatie/browsershot/tree/5.0.10" }, "funding": [ { @@ -5774,35 +5103,35 @@ "type": "github" } ], - "time": "2023-12-21T10:00:28+00:00" + "time": "2025-05-15T07:10:57+00:00" }, { "name": "spatie/crawler", - "version": "7.1.3", + "version": "8.4.3", "source": { "type": "git", "url": "https://github.com/spatie/crawler.git", - "reference": "f0f73947fdfaf68efdc68b73c4dbb28dfc785113" + "reference": "4f4c3ead439e7e57085c0b802bc4e5b44fb7d751" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/crawler/zipball/f0f73947fdfaf68efdc68b73c4dbb28dfc785113", - "reference": "f0f73947fdfaf68efdc68b73c4dbb28dfc785113", + "url": "https://api.github.com/repos/spatie/crawler/zipball/4f4c3ead439e7e57085c0b802bc4e5b44fb7d751", + "reference": "4f4c3ead439e7e57085c0b802bc4e5b44fb7d751", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^7.3", "guzzlehttp/psr7": "^2.0", - "illuminate/collections": "^8.38|^9.0|^10.0", - "nicmart/tree": "^0.3.0", - "php": "^8.0", - "spatie/browsershot": "^3.45", + "illuminate/collections": "^10.0|^11.0|^12.0", + "nicmart/tree": "^0.9", + "php": "^8.2", + "spatie/browsershot": "^5.0.5", "spatie/robots-txt": "^2.0", - "symfony/dom-crawler": "^5.2|^6.0" + "symfony/dom-crawler": "^6.0|^7.0" }, "require-dev": { - "pestphp/pest": "^1.21", - "phpunit/phpunit": "^9.5" + "pestphp/pest": "^2.0|^3.0", + "spatie/ray": "^1.37" }, "type": "library", "autoload": { @@ -5830,7 +5159,7 @@ ], "support": { "issues": "https://github.com/spatie/crawler/issues", - "source": "https://github.com/spatie/crawler/tree/7.1.3" + "source": "https://github.com/spatie/crawler/tree/8.4.3" }, "funding": [ { @@ -5842,155 +5171,32 @@ "type": "github" } ], - "time": "2023-01-24T07:47:06+00:00" - }, - { - "name": "spatie/image", - "version": "2.2.7", - "source": { - "type": "git", - "url": "https://github.com/spatie/image.git", - "reference": "2f802853aab017aa615224daae1588054b5ab20e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/image/zipball/2f802853aab017aa615224daae1588054b5ab20e", - "reference": "2f802853aab017aa615224daae1588054b5ab20e", - "shasum": "" - }, - "require": { - "ext-exif": "*", - "ext-json": "*", - "ext-mbstring": "*", - "league/glide": "^2.2.2", - "php": "^8.0", - "spatie/image-optimizer": "^1.7", - "spatie/temporary-directory": "^1.0|^2.0", - "symfony/process": "^3.0|^4.0|^5.0|^6.0" - }, - "require-dev": { - "pestphp/pest": "^1.22", - "phpunit/phpunit": "^9.5", - "symfony/var-dumper": "^4.0|^5.0|^6.0", - "vimeo/psalm": "^4.6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Image\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Manipulate images with an expressive API", - "homepage": "https://github.com/spatie/image", - "keywords": [ - "image", - "spatie" - ], - "support": { - "source": "https://github.com/spatie/image/tree/2.2.7" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2023-07-24T13:54:13+00:00" - }, - { - "name": "spatie/image-optimizer", - "version": "1.8.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/image-optimizer.git", - "reference": "4fd22035e81d98fffced65a8c20d9ec4daa9671c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/image-optimizer/zipball/4fd22035e81d98fffced65a8c20d9ec4daa9671c", - "reference": "4fd22035e81d98fffced65a8c20d9ec4daa9671c", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.3|^8.0", - "psr/log": "^1.0 | ^2.0 | ^3.0", - "symfony/process": "^4.2|^5.0|^6.0|^7.0" - }, - "require-dev": { - "pestphp/pest": "^1.21", - "phpunit/phpunit": "^8.5.21|^9.4.4", - "symfony/var-dumper": "^4.2|^5.0|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\ImageOptimizer\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Easily optimize images using PHP", - "homepage": "https://github.com/spatie/image-optimizer", - "keywords": [ - "image-optimizer", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/image-optimizer/issues", - "source": "https://github.com/spatie/image-optimizer/tree/1.8.0" - }, - "time": "2024-11-04T08:24:54+00:00" + "time": "2025-05-20T09:00:51+00:00" }, { "name": "spatie/laravel-package-tools", - "version": "1.18.0", + "version": "1.92.4", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "8332205b90d17164913244f4a8e13ab7e6761d29" + "reference": "d20b1969f836d210459b78683d85c9cd5c5f508c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/8332205b90d17164913244f4a8e13ab7e6761d29", - "reference": "8332205b90d17164913244f4a8e13ab7e6761d29", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/d20b1969f836d210459b78683d85c9cd5c5f508c", + "reference": "d20b1969f836d210459b78683d85c9cd5c5f508c", "shasum": "" }, "require": { - "illuminate/contracts": "^9.28|^10.0|^11.0", + "illuminate/contracts": "^9.28|^10.0|^11.0|^12.0", "php": "^8.0" }, "require-dev": { "mockery/mockery": "^1.5", - "orchestra/testbench": "^7.7|^8.0|^9.0", - "pestphp/pest": "^1.22|^2", - "phpunit/phpunit": "^9.5.24|^10.5", + "orchestra/testbench": "^7.7|^8.0|^9.0|^10.0", + "pestphp/pest": "^1.23|^2.1|^3.1", + "phpunit/php-code-coverage": "^9.0|^10.0|^11.0", + "phpunit/phpunit": "^9.5.24|^10.5|^11.5", "spatie/pest-plugin-test-time": "^1.1|^2.2" }, "type": "library", @@ -6018,7 +5224,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.18.0" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.4" }, "funding": [ { @@ -6026,39 +5232,38 @@ "type": "github" } ], - "time": "2024-12-30T13:13:39+00:00" + "time": "2025-04-11T15:27:14+00:00" }, { "name": "spatie/laravel-sitemap", - "version": "6.4.0", + "version": "7.3.6", "source": { "type": "git", "url": "https://github.com/spatie/laravel-sitemap.git", - "reference": "d5115b430de517aaa29a6410f4cd6f1561766579" + "reference": "506b2acdd350c7ff868a7711b4f30e486b20e9b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-sitemap/zipball/d5115b430de517aaa29a6410f4cd6f1561766579", - "reference": "d5115b430de517aaa29a6410f4cd6f1561766579", + "url": "https://api.github.com/repos/spatie/laravel-sitemap/zipball/506b2acdd350c7ff868a7711b4f30e486b20e9b0", + "reference": "506b2acdd350c7ff868a7711b4f30e486b20e9b0", "shasum": "" }, "require": { - "guzzlehttp/guzzle": "^7.2", - "illuminate/support": "^8.0|^9.0|^10.0", - "nesbot/carbon": "^2.63", - "php": "^8.0", - "spatie/crawler": "^7.0", - "spatie/laravel-package-tools": "^1.5", - "symfony/dom-crawler": "^5.1.14|^6.0" + "guzzlehttp/guzzle": "^7.8", + "illuminate/support": "^11.0|^12.0", + "nesbot/carbon": "^2.71|^3.0", + "php": "^8.2||^8.3||^8.4", + "spatie/crawler": "^8.0.1", + "spatie/laravel-package-tools": "^1.16.1", + "symfony/dom-crawler": "^6.3.4|^7.0" }, "require-dev": { - "mockery/mockery": "^1.4", - "orchestra/testbench": "^6.23|^7.0|^8.0", - "pestphp/pest": "^1.22", - "phpunit/phpunit": "^9.5", - "spatie/pest-plugin-snapshots": "^1.1", - "spatie/phpunit-snapshot-assertions": "^4.0", - "spatie/temporary-directory": "^2.0" + "mockery/mockery": "^1.6.6", + "orchestra/testbench": "^9.0|^10.0", + "pestphp/pest": "^3.7.4", + "spatie/pest-plugin-snapshots": "^2.1", + "spatie/phpunit-snapshot-assertions": "^5.1.2", + "spatie/temporary-directory": "^2.2" }, "type": "library", "extra": { @@ -6092,7 +5297,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-sitemap/tree/6.4.0" + "source": "https://github.com/spatie/laravel-sitemap/tree/7.3.6" }, "funding": [ { @@ -6100,33 +5305,33 @@ "type": "custom" } ], - "time": "2023-10-18T14:38:11+00:00" + "time": "2025-04-10T12:13:41+00:00" }, { "name": "spatie/laravel-translatable", - "version": "6.9.3", + "version": "6.11.4", "source": { "type": "git", "url": "https://github.com/spatie/laravel-translatable.git", - "reference": "5f0712701a71054ba9bd6693808c4748f1f4ebda" + "reference": "032d85b28de315310dab2048b857016f1194f68b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/5f0712701a71054ba9bd6693808c4748f1f4ebda", - "reference": "5f0712701a71054ba9bd6693808c4748f1f4ebda", + "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/032d85b28de315310dab2048b857016f1194f68b", + "reference": "032d85b28de315310dab2048b857016f1194f68b", "shasum": "" }, "require": { - "illuminate/database": "^9.0|^10.0|^11.0", - "illuminate/support": "^9.0|^10.0|^11.0", + "illuminate/database": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", "php": "^8.0", "spatie/laravel-package-tools": "^1.11" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.64", "mockery/mockery": "^1.4", - "orchestra/testbench": "^7.0|^8.0|^9.0", - "pestphp/pest": "^1.20|^2.0" + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", + "pestphp/pest": "^1.20|^2.0|^3.0" }, "type": "library", "extra": { @@ -6175,7 +5380,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-translatable/issues", - "source": "https://github.com/spatie/laravel-translatable/tree/6.9.3" + "source": "https://github.com/spatie/laravel-translatable/tree/6.11.4" }, "funding": [ { @@ -6183,27 +5388,27 @@ "type": "github" } ], - "time": "2024-12-16T12:58:20+00:00" + "time": "2025-02-20T15:51:22+00:00" }, { "name": "spatie/robots-txt", - "version": "2.2.3", + "version": "2.5.1", "source": { "type": "git", "url": "https://github.com/spatie/robots-txt.git", - "reference": "31763e5ca23fb0efa6dc6b700beb5ebfeab89432" + "reference": "ef85dfaa48372c0a7fdfb144592f95de1a2e9b79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/robots-txt/zipball/31763e5ca23fb0efa6dc6b700beb5ebfeab89432", - "reference": "31763e5ca23fb0efa6dc6b700beb5ebfeab89432", + "url": "https://api.github.com/repos/spatie/robots-txt/zipball/ef85dfaa48372c0a7fdfb144592f95de1a2e9b79", + "reference": "ef85dfaa48372c0a7fdfb144592f95de1a2e9b79", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { - "phpunit/phpunit": "^9.0|^10.0" + "phpunit/phpunit": "^11.5.2" }, "type": "library", "autoload": { @@ -6231,7 +5436,7 @@ ], "support": { "issues": "https://github.com/spatie/robots-txt/issues", - "source": "https://github.com/spatie/robots-txt/tree/2.2.3" + "source": "https://github.com/spatie/robots-txt/tree/2.5.1" }, "funding": [ { @@ -6243,7 +5448,80 @@ "type": "github" } ], - "time": "2024-10-22T08:17:03+00:00" + "time": "2025-07-01T07:07:44+00:00" + }, + { + "name": "spatie/schema-org", + "version": "3.23.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/schema-org.git", + "reference": "a8dc1b6fcdd06afc1ab084c3ead9b7a4c3d7a35d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/schema-org/zipball/a8dc1b6fcdd06afc1ab084c3ead9b7a4c3d7a35d", + "reference": "a8dc1b6fcdd06afc1ab084c3ead9b7a4c3d7a35d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.6", + "graham-campbell/analyzer": "^4.2", + "illuminate/collections": "^8.62.0", + "league/flysystem": "^2.3.0 || ^3.0", + "pestphp/pest": "^1.21", + "symfony/console": "^5.3.7 || 6.0", + "twig/twig": "^3.3.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\SchemaOrg\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sebastian De Deyne", + "email": "sebastian@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + }, + { + "name": "Tom Witkowski", + "email": "dev.gummibeer@gmail.com", + "homepage": "https://gummibeer.de", + "role": "Developer" + } + ], + "description": "A fluent builder Schema.org types and ld+json generator", + "homepage": "https://github.com/spatie/schema-org", + "keywords": [ + "schema-org", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/schema-org/issues", + "source": "https://github.com/spatie/schema-org/tree/3.23.1" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2025-01-31T14:54:12+00:00" }, { "name": "spatie/temporary-directory", @@ -6307,48 +5585,122 @@ "time": "2025-01-13T13:04:43+00:00" }, { - "name": "symfony/console", - "version": "v6.4.17", + "name": "symfony/clock", + "version": "v7.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "799445db3f15768ecc382ac5699e6da0520a0a04" + "url": "https://github.com/symfony/clock.git", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/799445db3f15768ecc382ac5699e6da0520a0a04", - "reference": "799445db3f15768ecc382ac5699e6da0520a0a04", + "url": "https://api.github.com/repos/symfony/clock/zipball/b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", + "reference": "b81435fbd6648ea425d1ee96a2d8e68f4ceacd24", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", + "psr/clock": "^1.0", + "symfony/polyfill-php83": "^1.28" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/now.php" + ], + "psr-4": { + "Symfony\\Component\\Clock\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "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": "Decouples applications from the system clock", + "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], + "support": { + "source": "https://github.com/symfony/clock/tree/v7.3.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-25T14:21:43+00:00" + }, + { + "name": "symfony/console", + "version": "v7.3.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "9e27aecde8f506ba0fd1d9989620c04a87697101" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/9e27aecde8f506ba0fd1d9989620c04a87697101", + "reference": "9e27aecde8f506ba0fd1d9989620c04a87697101", + "shasum": "" + }, + "require": { + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" + "symfony/string": "^7.2" }, "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", "symfony/http-foundation": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -6382,7 +5734,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.17" + "source": "https://github.com/symfony/console/tree/v7.3.1" }, "funding": [ { @@ -6398,11 +5750,11 @@ "type": "tidelift" } ], - "time": "2024-12-07T12:07:30+00:00" + "time": "2025-06-27T19:55:54+00:00" }, { "name": "symfony/css-selector", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -6447,7 +5799,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.2.0" + "source": "https://github.com/symfony/css-selector/tree/v7.3.0" }, "funding": [ { @@ -6467,16 +5819,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", - "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { @@ -6489,7 +5841,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" } }, "autoload": { @@ -6514,7 +5866,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -6530,30 +5882,30 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/dom-crawler", - "version": "v6.4.16", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "4304e6ad5c894a9c72831ad459f627bfd35d766d" + "reference": "8b2ee2e06ab99fa5f067b6699296d4e35c156bb9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/4304e6ad5c894a9c72831ad459f627bfd35d766d", - "reference": "4304e6ad5c894a9c72831ad459f627bfd35d766d", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/8b2ee2e06ab99fa5f067b6699296d4e35c156bb9", + "reference": "8b2ee2e06ab99fa5f067b6699296d4e35c156bb9", "shasum": "" }, "require": { "masterminds/html5": "^2.6", - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "symfony/css-selector": "^5.4|^6.0|^7.0" + "symfony/css-selector": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -6581,7 +5933,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v6.4.16" + "source": "https://github.com/symfony/dom-crawler/tree/v7.3.1" }, "funding": [ { @@ -6597,35 +5949,37 @@ "type": "tidelift" } ], - "time": "2024-11-13T15:06:22+00:00" + "time": "2025-06-15T10:07:06+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.17", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "37ad2380e8c1a8cf62a1200a5c10080b679b446c" + "reference": "35b55b166f6752d6aaf21aa042fc5ed280fce235" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/37ad2380e8c1a8cf62a1200a5c10080b679b446c", - "reference": "37ad2380e8c1a8cf62a1200a5c10080b679b446c", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/35b55b166f6752d6aaf21aa042fc5ed280fce235", + "reference": "35b55b166f6752d6aaf21aa042fc5ed280fce235", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/var-dumper": "^6.4|^7.0" }, "conflict": { "symfony/deprecation-contracts": "<2.5", "symfony/http-kernel": "<6.4" }, "require-dev": { + "symfony/console": "^6.4|^7.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0" + "symfony/serializer": "^6.4|^7.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -6656,7 +6010,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.17" + "source": "https://github.com/symfony/error-handler/tree/v7.3.1" }, "funding": [ { @@ -6672,20 +6026,20 @@ "type": "tidelift" } ], - "time": "2024-12-06T13:30:51+00:00" + "time": "2025-06-13T07:48:40+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", - "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/497f73ac996a598c92409b44ac43b6690c4f666d", + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d", "shasum": "" }, "require": { @@ -6736,7 +6090,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.0" }, "funding": [ { @@ -6752,20 +6106,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-04-22T09:11:45+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", - "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { @@ -6779,7 +6133,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" } }, "autoload": { @@ -6812,7 +6166,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" }, "funding": [ { @@ -6828,27 +6182,27 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/finder", - "version": "v6.4.17", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7" + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", - "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", + "url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d", + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^6.0|^7.0" + "symfony/filesystem": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -6876,7 +6230,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.17" + "source": "https://github.com/symfony/finder/tree/v7.3.0" }, "funding": [ { @@ -6892,213 +6246,42 @@ "type": "tidelift" } ], - "time": "2024-12-29T13:51:37+00:00" + "time": "2024-12-30T19:00:26+00:00" }, { - "name": "symfony/http-client", - "version": "v7.2.2", + "name": "symfony/http-foundation", + "version": "v7.3.1", "source": { "type": "git", - "url": "https://github.com/symfony/http-client.git", - "reference": "339ba21476eb184290361542f732ad12c97591ec" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "23dd60256610c86a3414575b70c596e5deff6ed9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/339ba21476eb184290361542f732ad12c97591ec", - "reference": "339ba21476eb184290361542f732ad12c97591ec", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/23dd60256610c86a3414575b70c596e5deff6ed9", + "reference": "23dd60256610c86a3414575b70c596e5deff6ed9", "shasum": "" }, "require": { "php": ">=8.2", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-client-contracts": "~3.4.4|^3.5.2", - "symfony/service-contracts": "^2.5|^3" - }, - "conflict": { - "amphp/amp": "<2.5", - "php-http/discovery": "<1.15", - "symfony/http-foundation": "<6.4" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "1.0", - "symfony/http-client-implementation": "3.0" - }, - "require-dev": { - "amphp/http-client": "^4.2.1|^5.0", - "amphp/http-tunnel": "^1.0|^2.0", - "amphp/socket": "^1.1", - "guzzlehttp/promises": "^1.4|^2.0", - "nyholm/psr7": "^1.0", - "php-http/httplug": "^1.0|^2.0", - "psr/http-client": "^1.0", - "symfony/amphp-http-client-meta": "^1.0|^2.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "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": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", - "homepage": "https://symfony.com", - "keywords": [ - "http" - ], - "support": { - "source": "https://github.com/symfony/http-client/tree/v7.2.2" - }, - "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-12-30T18:35:15+00:00" - }, - { - "name": "symfony/http-client-contracts", - "version": "v3.5.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ee8d807ab20fcb51267fdace50fbe3494c31e645", - "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.5-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "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": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.2" - }, - "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-12-07T08:49:48+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v6.4.16", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/431771b7a6f662f1575b3cfc8fd7617aa9864d57", - "reference": "431771b7a6f662f1575b3cfc8fd7617aa9864d57", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php83": "^1.27" }, "conflict": { + "doctrine/dbal": "<3.6", "symfony/cache": "<6.4.12|>=7.0,<7.1.5" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "symfony/cache": "^6.4.12|^7.1.5", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0" + "symfony/clock": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -7126,7 +6309,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.16" + "source": "https://github.com/symfony/http-foundation/tree/v7.3.1" }, "funding": [ { @@ -7142,77 +6325,77 @@ "type": "tidelift" } ], - "time": "2024-11-13T18:58:10+00:00" + "time": "2025-06-23T15:07:14+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.17", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "c5647393c5ce11833d13e4b70fff4b571d4ac710" + "reference": "1644879a66e4aa29c36fe33dfa6c54b450ce1831" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c5647393c5ce11833d13e4b70fff4b571d4ac710", - "reference": "c5647393c5ce11833d13e4b70fff4b571d4ac710", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1644879a66e4aa29c36fe33dfa6c54b450ce1831", + "reference": "1644879a66e4aa29c36fe33dfa6c54b450ce1831", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "symfony/event-dispatcher": "^7.3", + "symfony/http-foundation": "^7.3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<5.4", + "symfony/twig-bridge": "<6.4", "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.3", - "twig/twig": "<2.13" + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.12" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/browser-kit": "^6.4|^7.0", + "symfony/clock": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/css-selector": "^6.4|^7.0", "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/dom-crawler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.5|^6.0.5|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.4|^7.0.4", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/property-access": "^7.1", + "symfony/routing": "^6.4|^7.0", + "symfony/serializer": "^7.1", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/translation": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/uid": "^6.4|^7.0", "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.4|^7.0", - "symfony/var-exporter": "^6.2|^7.0", - "twig/twig": "^2.13|^3.0.4" + "symfony/var-dumper": "^6.4|^7.0", + "symfony/var-exporter": "^6.4|^7.0", + "twig/twig": "^3.12" }, "type": "library", "autoload": { @@ -7240,7 +6423,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.17" + "source": "https://github.com/symfony/http-kernel/tree/v7.3.1" }, "funding": [ { @@ -7256,43 +6439,43 @@ "type": "tidelift" } ], - "time": "2024-12-31T14:49:31+00:00" + "time": "2025-06-28T08:24:55+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.13", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663" + "reference": "b5db5105b290bdbea5ab27b89c69effcf1cb3368" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/c2f7e0d8d7ac8fe25faccf5d8cac462805db2663", - "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663", + "url": "https://api.github.com/repos/symfony/mailer/zipball/b5db5105b290bdbea5ab27b89c69effcf1cb3368", + "reference": "b5db5105b290bdbea5ab27b89c69effcf1cb3368", "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.1", + "php": ">=8.2", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.2|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/mime": "^7.2", "symfony/service-contracts": "^2.5|^3" }, "conflict": { "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", - "symfony/messenger": "<6.2", - "symfony/mime": "<6.2", - "symfony/twig-bridge": "<6.2.1" + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.2|^7.0", - "symfony/twig-bridge": "^6.2|^7.0" + "symfony/console": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/twig-bridge": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -7320,7 +6503,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.13" + "source": "https://github.com/symfony/mailer/tree/v7.3.1" }, "funding": [ { @@ -7336,25 +6519,24 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2025-06-27T19:55:54+00:00" }, { "name": "symfony/mime", - "version": "v6.4.17", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "ea87c8850a54ff039d3e0ab4ae5586dd4e6c0232" + "reference": "0e7b19b2f399c31df0cdbe5d8cbf53f02f6cfcd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/ea87c8850a54ff039d3e0ab4ae5586dd4e6c0232", - "reference": "ea87c8850a54ff039d3e0ab4ae5586dd4e6c0232", + "url": "https://api.github.com/repos/symfony/mime/zipball/0e7b19b2f399c31df0cdbe5d8cbf53f02f6cfcd9", + "reference": "0e7b19b2f399c31df0cdbe5d8cbf53f02f6cfcd9", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -7362,17 +6544,17 @@ "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4", + "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": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.4|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.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", @@ -7405,7 +6587,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.17" + "source": "https://github.com/symfony/mime/tree/v7.3.0" }, "funding": [ { @@ -7421,24 +6603,24 @@ "type": "tidelift" } ], - "time": "2024-12-02T11:09:41+00:00" + "time": "2025-02-19T08:51:26+00:00" }, { "name": "symfony/options-resolver", - "version": "v6.4.16", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "368128ad168f20e22c32159b9f761e456cec0c78" + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/368128ad168f20e22c32159b9f761e456cec0c78", - "reference": "368128ad168f20e22c32159b9f761e456cec0c78", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/afb9a8038025e5dbc657378bfab9198d75f10fca", + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -7472,7 +6654,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.4.16" + "source": "https://github.com/symfony/options-resolver/tree/v7.3.0" }, "funding": [ { @@ -7488,11 +6670,11 @@ "type": "tidelift" } ], - "time": "2024-11-20T10:57:02+00:00" + "time": "2025-04-04T13:12:05+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -7551,7 +6733,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": [ { @@ -7571,7 +6753,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", @@ -7629,7 +6811,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": [ { @@ -7649,16 +6831,16 @@ }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", "shasum": "" }, "require": { @@ -7712,7 +6894,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.32.0" }, "funding": [ { @@ -7728,11 +6910,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { "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", @@ -7793,7 +6975,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": [ { @@ -7813,19 +6995,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": { @@ -7873,7 +7056,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": [ { @@ -7889,20 +7072,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { @@ -7953,7 +7136,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" }, "funding": [ { @@ -7969,11 +7152,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", @@ -8029,7 +7212,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0" }, "funding": [ { @@ -8049,7 +7232,7 @@ }, { "name": "symfony/polyfill-uuid", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", @@ -8108,7 +7291,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.32.0" }, "funding": [ { @@ -8128,20 +7311,20 @@ }, { "name": "symfony/process", - "version": "v6.4.15", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "3cb242f059c14ae08591c5c4087d1fe443564392" + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/3cb242f059c14ae08591c5c4087d1fe443564392", - "reference": "3cb242f059c14ae08591c5c4087d1fe443564392", + "url": "https://api.github.com/repos/symfony/process/zipball/40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -8169,7 +7352,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.15" + "source": "https://github.com/symfony/process/tree/v7.3.0" }, "funding": [ { @@ -8185,47 +7368,42 @@ "type": "tidelift" } ], - "time": "2024-11-06T14:19:14+00:00" + "time": "2025-04-17T09:11:12+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v2.3.1", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e" + "reference": "03f2f72319e7acaf2a9f6fcbe30ef17eec51594f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/581ca6067eb62640de5ff08ee1ba6850a0ee472e", - "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/03f2f72319e7acaf2a9f6fcbe30ef17eec51594f", + "reference": "03f2f72319e7acaf2a9f6fcbe30ef17eec51594f", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/http-message": "^1.0 || ^2.0", - "symfony/deprecation-contracts": "^2.5 || ^3.0", - "symfony/http-foundation": "^5.4 || ^6.0" + "php": ">=8.2", + "psr/http-message": "^1.0|^2.0", + "symfony/http-foundation": "^6.4|^7.0" + }, + "conflict": { + "php-http/discovery": "<1.15", + "symfony/http-kernel": "<6.4" }, "require-dev": { "nyholm/psr7": "^1.1", - "psr/log": "^1.1 || ^2 || ^3", - "symfony/browser-kit": "^5.4 || ^6.0", - "symfony/config": "^5.4 || ^6.0", - "symfony/event-dispatcher": "^5.4 || ^6.0", - "symfony/framework-bundle": "^5.4 || ^6.0", - "symfony/http-kernel": "^5.4 || ^6.0", - "symfony/phpunit-bridge": "^6.2" - }, - "suggest": { - "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" + "php-http/discovery": "^1.15", + "psr/log": "^1.1.4|^2|^3", + "symfony/browser-kit": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/framework-bundle": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0" }, "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-main": "2.3-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Bridge\\PsrHttpMessage\\": "" @@ -8245,11 +7423,11 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "keywords": [ "http", "http-message", @@ -8257,8 +7435,7 @@ "psr-7" ], "support": { - "issues": "https://github.com/symfony/psr-http-message-bridge/issues", - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.3.1" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.3.0" }, "funding": [ { @@ -8274,40 +7451,38 @@ "type": "tidelift" } ], - "time": "2023-07-26T11:53:26+00:00" + "time": "2024-09-26T08:57:56+00:00" }, { "name": "symfony/routing", - "version": "v6.4.16", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "91e02e606b4b705c2f4fb42f7e7708b7923a3220" + "reference": "8e213820c5fea844ecea29203d2a308019007c15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/91e02e606b4b705c2f4fb42f7e7708b7923a3220", - "reference": "91e02e606b4b705c2f4fb42f7e7708b7923a3220", + "url": "https://api.github.com/repos/symfony/routing/zipball/8e213820c5fea844ecea29203d2a308019007c15", + "reference": "8e213820c5fea844ecea29203d2a308019007c15", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" }, "require-dev": { - "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", - "symfony/config": "^6.2|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -8341,7 +7516,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.16" + "source": "https://github.com/symfony/routing/tree/v7.3.0" }, "funding": [ { @@ -8357,20 +7532,20 @@ "type": "tidelift" } ], - "time": "2024-11-13T15:31:34+00:00" + "time": "2025-05-24T20:43:28+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", - "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "shasum": "" }, "require": { @@ -8388,7 +7563,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" } }, "autoload": { @@ -8424,7 +7599,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" }, "funding": [ { @@ -8440,20 +7615,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2025-04-25T09:37:31+00:00" }, { "name": "symfony/string", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82" + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82", - "reference": "446e0d146f991dde3e73f45f2c97a9faad773c82", + "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125", + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125", "shasum": "" }, "require": { @@ -8511,7 +7686,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.2.0" + "source": "https://github.com/symfony/string/tree/v7.3.0" }, "funding": [ { @@ -8527,55 +7702,56 @@ "type": "tidelift" } ], - "time": "2024-11-13T13:31:26+00:00" + "time": "2025-04-20T20:19:01+00:00" }, { "name": "symfony/translation", - "version": "v6.4.13", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "bee9bfabfa8b4045a66bf82520e492cddbaffa66" + "reference": "241d5ac4910d256660238a7ecf250deba4c73063" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/bee9bfabfa8b4045a66bf82520e492cddbaffa66", - "reference": "bee9bfabfa8b4045a66bf82520e492cddbaffa66", + "url": "https://api.github.com/repos/symfony/translation/zipball/241d5ac4910d256660238a7ecf250deba4c73063", + "reference": "241d5ac4910d256660238a7ecf250deba4c73063", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", + "nikic/php-parser": "<5.0", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", + "symfony/http-kernel": "<6.4", "symfony/service-contracts": "<2.5", - "symfony/twig-bundle": "<5.4", - "symfony/yaml": "<5.4" + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "nikic/php-parser": "^4.18|^5.0", + "nikic/php-parser": "^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/routing": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -8606,7 +7782,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.13" + "source": "https://github.com/symfony/translation/tree/v7.3.1" }, "funding": [ { @@ -8622,20 +7798,20 @@ "type": "tidelift" } ], - "time": "2024-09-27T18:14:25+00:00" + "time": "2025-06-27T19:55:54+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.5.1", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "4667ff3bd513750603a09c8dedbea942487fb07c" + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/4667ff3bd513750603a09c8dedbea942487fb07c", - "reference": "4667ff3bd513750603a09c8dedbea942487fb07c", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", "shasum": "" }, "require": { @@ -8648,7 +7824,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" } }, "autoload": { @@ -8684,7 +7860,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" }, "funding": [ { @@ -8700,28 +7876,28 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:20:29+00:00" + "time": "2024-09-27T08:32:26+00:00" }, { "name": "symfony/uid", - "version": "v6.4.13", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "18eb207f0436a993fffbdd811b5b8fa35fa5e007" + "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/18eb207f0436a993fffbdd811b5b8fa35fa5e007", - "reference": "18eb207f0436a993fffbdd811b5b8fa35fa5e007", + "url": "https://api.github.com/repos/symfony/uid/zipball/a69f69f3159b852651a6bf45a9fdd149520525bb", + "reference": "a69f69f3159b852651a6bf45a9fdd149520525bb", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -8758,7 +7934,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.13" + "source": "https://github.com/symfony/uid/tree/v7.3.1" }, "funding": [ { @@ -8774,38 +7950,37 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2025-06-27T19:55:54+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.15", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80" + "reference": "6e209fbe5f5a7b6043baba46fe5735a4b85d0d42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80", - "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6e209fbe5f5a7b6043baba46fe5735a4b85d0d42", + "reference": "6e209fbe5f5a7b6043baba46fe5735a4b85d0d42", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/console": "<5.4" + "symfony/console": "<6.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^6.3|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4" + "symfony/console": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0", + "twig/twig": "^3.12" }, "bin": [ "Resources/bin/var-dump-server" @@ -8843,7 +8018,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.15" + "source": "https://github.com/symfony/var-dumper/tree/v7.3.1" }, "funding": [ { @@ -8859,7 +8034,7 @@ "type": "tidelift" } ], - "time": "2024-11-08T15:28:48+00:00" + "time": "2025-06-27T19:55:54+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -8917,22 +8092,86 @@ "time": "2024-12-21T16:25:41+00:00" }, { - "name": "uwil/k8s-laravel", - "version": "1.4.0", + "name": "uwil/admin-secure-laravel", + "version": "4.0.0", "source": { "type": "git", - "url": "git@lab.s-web.fr:ldc-web/projets/k8s-laravel.git", - "reference": "14da608cb5ebc1c48615d213545655db2009364f" + "url": "git@lab.s-web.fr:ldc-web/projets/ldc-web-admin-secure-laravel.git", + "reference": "26f818b6b9251090fa5960a40750716e4fdbbe9d" }, "dist": { "type": "zip", - "url": "https://lab.s-web.fr/api/v4/projects/90/packages/composer/archives/uwil/k8s-laravel.zip?sha=14da608cb5ebc1c48615d213545655db2009364f", - "reference": "14da608cb5ebc1c48615d213545655db2009364f", + "url": "https://lab.s-web.fr/api/v4/projects/20/packages/composer/archives/uwil/admin-secure-laravel.zip?sha=26f818b6b9251090fa5960a40750716e4fdbbe9d", + "reference": "26f818b6b9251090fa5960a40750716e4fdbbe9d", "shasum": "" }, "require": { - "illuminate/support": "~8|~9|~10|~11", - "laravel/framework": "~8|~9|~10|~11", + "dxw/cidr": "^3.2", + "illuminate/support": "~11|~12", + "laravel/framework": "~11|~12", + "php": "^8.3", + "symfony/options-resolver": "^7.0" + }, + "require-dev": { + "larastan/larastan": "^2.9", + "orchestra/testbench": "^9", + "phpunit/php-code-coverage": "^11", + "phpunit/phpunit": "^11", + "slevomat/coding-standard": "^8", + "squizlabs/php_codesniffer": "^3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Uwil\\AdminSecure\\Laravel\\AdminSecureServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Uwil\\AdminSecure\\Laravel\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "Uwil\\AdminSecure\\Laravel\\Tests\\": "tests" + } + }, + "scripts": { + "test": [ + "vendor/bin/phpunit" + ], + "post-autoload-dump": [ + "@php ./vendor/bin/testbench package:discover --ansi" + ] + }, + "license": [ + "MIT" + ], + "description": "Restrict access to LDC Network", + "support": { + "email": "equipe.web@ldc.fr", + "issues": "https://lab.s-web.fr/ldc-web/projets/ldc-web-admin-secure-laravel/-/issues" + } + }, + { + "name": "uwil/k8s-laravel", + "version": "2.0.0", + "source": { + "type": "git", + "url": "git@lab.s-web.fr:ldc-web/projets/k8s-laravel.git", + "reference": "050fb59ac50ed676661cca2a44050f116ef996fb" + }, + "dist": { + "type": "zip", + "url": "https://lab.s-web.fr/api/v4/projects/90/packages/composer/archives/uwil/k8s-laravel.zip?sha=050fb59ac50ed676661cca2a44050f116ef996fb", + "reference": "050fb59ac50ed676661cca2a44050f116ef996fb", + "shasum": "" + }, + "require": { + "illuminate/support": "~8|~9|~10|~11|~12", + "laravel/framework": "~8|~9|~10|~11|~12", "php": "~7.3|~7.4|~8" }, "require-dev": { @@ -8971,35 +8210,85 @@ "license": [ "MIT" ], - "authors": [ - { - "name": "Vincent BRIDIER", - "email": "vincent.bridier@ldc.fr", - "homepage": "https://www.ldc.fr" - } - ], - "description": "Laravel requirements for k8s" + "description": "Laravel requirements for k8s", + "support": { + "email": "equipe.web@ldc.fr", + "issues": "https://lab.s-web.fr/ldc-web/projets/k8s-laravel/-/issues" + } }, { - "name": "uwil/seo-laravel", - "version": "1.0.6", + "name": "uwil/schema-org-laravel", + "version": "2.1.0", "source": { "type": "git", - "url": "git@lab.s-web.fr:ldc-web/projets/seo-laravel.git", - "reference": "518ea05899e1d02bdbc4f945481969d285629956" + "url": "git@lab.s-web.fr:ldc-web/projets/schema-org-laravel.git", + "reference": "b3473db7c2bb423d030fac68dcaaee8d083e58f7" }, "dist": { "type": "zip", - "url": "https://lab.s-web.fr/api/v4/projects/96/packages/composer/archives/uwil/seo-laravel.zip?sha=518ea05899e1d02bdbc4f945481969d285629956", - "reference": "518ea05899e1d02bdbc4f945481969d285629956", + "url": "https://lab.s-web.fr/api/v4/projects/120/packages/composer/archives/uwil/schema-org-laravel.zip?sha=b3473db7c2bb423d030fac68dcaaee8d083e58f7", + "reference": "b3473db7c2bb423d030fac68dcaaee8d083e58f7", "shasum": "" }, "require": { - "illuminate/support": "~8|~9|~10", - "laravel/framework": "~8|~9|~10", + "illuminate/support": "~8|~9|~10|~11|~12", + "laravel/framework": "~8|~9|~10|~11|~12", + "php": "~7.4|~8", + "spatie/schema-org": "^3.23.1" + }, + "require-dev": { + "larastan/larastan": "^2.11", + "orchestra/testbench": "^8.36", + "slevomat/coding-standard": "^8.3", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Uwil\\SchemaOrg\\Laravel\\SchemaOrgServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Uwil\\SchemaOrg\\Laravel\\": "src/" + } + }, + "scripts": { + "phpcs": [ + "./vendor/bin/phpcs" + ], + "phpstan": [ + "./vendor/bin/phpstan" + ] + }, + "license": [ + "MIT" + ], + "description": "A fluent builder Schema.org types and ld+json generator wrapper" + }, + { + "name": "uwil/seo-laravel", + "version": "4.0.0", + "source": { + "type": "git", + "url": "git@lab.s-web.fr:ldc-web/projets/seo-laravel.git", + "reference": "fc9d1faa0105de2d864a0ec8bc317da6d9b0951b" + }, + "dist": { + "type": "zip", + "url": "https://lab.s-web.fr/api/v4/projects/96/packages/composer/archives/uwil/seo-laravel.zip?sha=fc9d1faa0105de2d864a0ec8bc317da6d9b0951b", + "reference": "fc9d1faa0105de2d864a0ec8bc317da6d9b0951b", + "shasum": "" + }, + "require": { + "illuminate/support": "~8|~9|~10|~11|~12", + "laravel/framework": "~8|~9|~10|~11|~12", "php": "~7.4|~8" }, "require-dev": { + "larastan/larastan": "^2.9", "slevomat/coding-standard": "^8.3", "squizlabs/php_codesniffer": "^3.7" }, @@ -9019,26 +8308,65 @@ "license": [ "MIT" ], - "authors": [ - { - "name": "Nicolas Demangeat", - "email": "nicolas.demangeat@ldc.fr" - } + "description": "Find Seo title and Seo description of a model", + "keywords": [ + "seo", + "uwil" ], - "description": "Find Seo title and seo description of a model" + "support": { + "email": "equipe.web@ldc.fr", + "issues": "https://lab.s-web.fr/ldc-web/projets/seo-laravel/-/issues" + } }, { - "name": "vlucas/phpdotenv", - "version": "v5.6.1", + "name": "uwil/sitemap-generator", + "version": "4.0.0", "source": { "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" + "url": "git@lab.s-web.fr:ldc-web/projets/sitemap-generator.git", + "reference": "6bb35d651e6609d77773b064eedf49e4bedb68fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", + "url": "https://lab.s-web.fr/api/v4/projects/108/packages/composer/archives/uwil/sitemap-generator.zip?sha=6bb35d651e6609d77773b064eedf49e4bedb68fc", + "reference": "6bb35d651e6609d77773b064eedf49e4bedb68fc", + "shasum": "" + }, + "require": { + "illuminate/support": "~11|~12", + "laravel/framework": "~11|~12", + "spatie/laravel-sitemap": "^7.0" + }, + "require-dev": { + "slevomat/coding-standard": "^8.15" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Uwil\\SitemapGenerator\\SitemapGeneratorServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Uwil\\SitemapGenerator\\": "src/" + } + }, + "description": "Create sitemap.xml" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.2", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", "shasum": "" }, "require": { @@ -9097,7 +8425,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" }, "funding": [ { @@ -9109,7 +8437,7 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:52:34+00:00" + "time": "2025-04-30T23:37:27+00:00" }, { "name": "voku/portable-ascii", @@ -9374,28 +8702,28 @@ }, { "name": "dealerdirect/phpcodesniffer-composer-installer", - "version": "v1.0.0", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/composer-installer.git", - "reference": "4be43904336affa5c2f70744a348312336afd0da" + "reference": "6e0fa428497bf560152ee73ffbb8af5c6a56b0dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da", - "reference": "4be43904336affa5c2f70744a348312336afd0da", + "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/6e0fa428497bf560152ee73ffbb8af5c6a56b0dd", + "reference": "6e0fa428497bf560152ee73ffbb8af5c6a56b0dd", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0 || ^2.0", + "composer-plugin-api": "^2.2", "php": ">=5.4", "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" }, "require-dev": { - "composer/composer": "*", + "composer/composer": "^2.2", "ext-json": "*", "ext-zip": "*", - "php-parallel-lint/php-parallel-lint": "^1.3.1", + "php-parallel-lint/php-parallel-lint": "^1.4.0", "phpcompatibility/php-compatibility": "^9.0", "yoast/phpunit-polyfills": "^1.0" }, @@ -9415,9 +8743,9 @@ "authors": [ { "name": "Franck Nijhof", - "email": "franck.nijhof@dealerdirect.com", - "homepage": "http://www.frenck.nl", - "role": "Developer / IT Manager" + "email": "opensource@frenck.dev", + "homepage": "https://frenck.dev", + "role": "Open source developer" }, { "name": "Contributors", @@ -9425,7 +8753,6 @@ } ], "description": "PHP_CodeSniffer Standards Composer Installer Plugin", - "homepage": "http://www.dealerdirect.com", "keywords": [ "PHPCodeSniffer", "PHP_CodeSniffer", @@ -9446,364 +8773,41 @@ ], "support": { "issues": "https://github.com/PHPCSStandards/composer-installer/issues", + "security": "https://github.com/PHPCSStandards/composer-installer/security/policy", "source": "https://github.com/PHPCSStandards/composer-installer" }, - "time": "2023-01-05T11:28:13+00:00" - }, - { - "name": "doctrine/cache", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", - "shasum": "" - }, - "require": { - "php": "~7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psr/cache": "^1.0 || ^2.0 || ^3.0", - "symfony/cache": "^4.4 || ^5.4 || ^6", - "symfony/var-exporter": "^4.4 || ^5.4 || ^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", - "homepage": "https://www.doctrine-project.org/projects/cache.html", - "keywords": [ - "abstraction", - "apcu", - "cache", - "caching", - "couchdb", - "memcached", - "php", - "redis", - "xcache" - ], - "support": { - "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.2.0" - }, "funding": [ { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" + "url": "https://github.com/PHPCSStandards", + "type": "github" }, { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" + "url": "https://github.com/jrfnl", + "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", - "type": "tidelift" + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" } ], - "time": "2022-05-20T20:07:39+00:00" - }, - { - "name": "doctrine/dbal", - "version": "3.9.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "61446f07fcb522414d6cfd8b1c3e5f9e18c579ba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/61446f07fcb522414d6cfd8b1c3e5f9e18c579ba", - "reference": "61446f07fcb522414d6cfd8b1c3e5f9e18c579ba", - "shasum": "" - }, - "require": { - "composer-runtime-api": "^2", - "doctrine/cache": "^1.11|^2.0", - "doctrine/deprecations": "^0.5.3|^1", - "doctrine/event-manager": "^1|^2", - "php": "^7.4 || ^8.0", - "psr/cache": "^1|^2|^3", - "psr/log": "^1|^2|^3" - }, - "require-dev": { - "doctrine/coding-standard": "12.0.0", - "fig/log-test": "^1", - "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.12.6", - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "9.6.20", - "psalm/plugin-phpunit": "0.18.4", - "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.10.2", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/console": "^4.4|^5.4|^6.0|^7.0", - "vimeo/psalm": "4.30.0" - }, - "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." - }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\DBAL\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", - "homepage": "https://www.doctrine-project.org/projects/dbal.html", - "keywords": [ - "abstraction", - "database", - "db2", - "dbal", - "mariadb", - "mssql", - "mysql", - "oci8", - "oracle", - "pdo", - "pgsql", - "postgresql", - "queryobject", - "sasql", - "sql", - "sqlite", - "sqlserver", - "sqlsrv" - ], - "support": { - "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.9.3" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", - "type": "tidelift" - } - ], - "time": "2024-10-10T17:56:43+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", - "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9 || ^12", - "phpstan/phpstan": "1.4.10 || 2.0.3", - "phpstan/phpstan-phpunit": "^1.0 || ^2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psr/log": "^1 || ^2 || ^3" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.4" - }, - "time": "2024-12-07T21:18:45+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e", - "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "conflict": { - "doctrine/common": "<2.9" - }, - "require-dev": { - "doctrine/coding-standard": "^12", - "phpstan/phpstan": "^1.8.8", - "phpunit/phpunit": "^10.5", - "vimeo/psalm": "^5.24" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" - ], - "support": { - "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/2.0.1" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", - "type": "tidelift" - } - ], - "time": "2024-05-22T20:47:39+00:00" + "time": "2025-06-27T17:24:01+00:00" }, { "name": "dragon-code/contracts", - "version": "2.23.0", + "version": "2.24.0", "source": { "type": "git", "url": "https://github.com/TheDragonCode/contracts.git", - "reference": "44dbad923f152e0dc2699fbac2d33b65dd6a8f7d" + "reference": "c21ea4fc0a399bd803a2805a7f2c989749083896" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TheDragonCode/contracts/zipball/44dbad923f152e0dc2699fbac2d33b65dd6a8f7d", - "reference": "44dbad923f152e0dc2699fbac2d33b65dd6a8f7d", + "url": "https://api.github.com/repos/TheDragonCode/contracts/zipball/c21ea4fc0a399bd803a2805a7f2c989749083896", + "reference": "c21ea4fc0a399bd803a2805a7f2c989749083896", "shasum": "" }, "require": { @@ -9816,7 +8820,7 @@ "andrey-helldar/contracts": "*" }, "require-dev": { - "illuminate/database": "^10.0 || ^11.0", + "illuminate/database": "^10.0 || ^11.0 || ^12.0", "phpdocumentor/reflection-docblock": "^5.0" }, "type": "library", @@ -9849,29 +8853,25 @@ "url": "https://boosty.to/dragon-code", "type": "boosty" }, - { - "url": "https://www.donationalerts.com/r/dragon_code", - "type": "donationalerts" - }, { "url": "https://yoomoney.ru/to/410012608840929", "type": "yoomoney" } ], - "time": "2024-03-11T20:15:12+00:00" + "time": "2025-02-23T23:11:50+00:00" }, { "name": "dragon-code/pretty-array", - "version": "v4.1.0", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/TheDragonCode/pretty-array.git", - "reference": "6c84e2454491b414efbd37985c322712cdf9012f" + "reference": "b94034d92172a5d14a578822d68b2a8f8b5388e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TheDragonCode/pretty-array/zipball/6c84e2454491b414efbd37985c322712cdf9012f", - "reference": "6c84e2454491b414efbd37985c322712cdf9012f", + "url": "https://api.github.com/repos/TheDragonCode/pretty-array/zipball/b94034d92172a5d14a578822d68b2a8f8b5388e0", + "reference": "b94034d92172a5d14a578822d68b2a8f8b5388e0", "shasum": "" }, "require": { @@ -9882,7 +8882,7 @@ "php": "^8.0" }, "require-dev": { - "phpunit/phpunit": "^9.6 || ^10.2" + "phpunit/phpunit": "^9.6 || ^10.0 || ^11.0 || ^12.0" }, "suggest": { "symfony/thanks": "Give thanks (in the form of a GitHub) to your fellow PHP package maintainers" @@ -9901,7 +8901,7 @@ { "name": "Andrey Helldar", "email": "helldar@dragon-code.pro", - "homepage": "https://github.com/andrey-helldar" + "homepage": "https://dragon-code.pro" } ], "description": "Simple conversion of an array to a pretty view", @@ -9922,33 +8922,25 @@ "url": "https://boosty.to/dragon-code", "type": "boosty" }, - { - "url": "https://github.com/sponsors/TheDragonCode", - "type": "github" - }, - { - "url": "https://opencollective.com/dragon-code", - "type": "open_collective" - }, { "url": "https://yoomoney.ru/to/410012608840929", "type": "yoomoney" } ], - "time": "2023-06-02T11:37:44+00:00" + "time": "2025-02-24T15:35:24+00:00" }, { "name": "dragon-code/support", - "version": "6.15.1", + "version": "6.16.0", "source": { "type": "git", "url": "https://github.com/TheDragonCode/support.git", - "reference": "dd68d435d64873797a82b318021d49ba05e917bf" + "reference": "ab9b657a307e75f6ba5b2b39e1e45207dc1a065a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TheDragonCode/support/zipball/dd68d435d64873797a82b318021d49ba05e917bf", - "reference": "dd68d435d64873797a82b318021d49ba05e917bf", + "url": "https://api.github.com/repos/TheDragonCode/support/zipball/ab9b657a307e75f6ba5b2b39e1e45207dc1a065a", + "reference": "ab9b657a307e75f6ba5b2b39e1e45207dc1a065a", "shasum": "" }, "require": { @@ -9967,8 +8959,8 @@ "andrey-helldar/support": "*" }, "require-dev": { - "illuminate/contracts": "^9.0 || ^10.0 || ^11.0", - "phpunit/phpunit": "^9.6 || ^11.0", + "illuminate/contracts": "^9.0 || ^10.0 || ^11.0 || ^12.0", + "phpunit/phpunit": "^9.6 || ^11.0 || ^12.0", "symfony/var-dumper": "^6.0 || ^7.0" }, "suggest": { @@ -10025,16 +9017,12 @@ "url": "https://boosty.to/dragon-code", "type": "boosty" }, - { - "url": "https://www.donationalerts.com/r/dragon_code", - "type": "donationalerts" - }, { "url": "https://yoomoney.ru/to/410012608840929", "type": "yoomoney" } ], - "time": "2024-12-18T12:33:59+00:00" + "time": "2025-02-24T14:01:52+00:00" }, { "name": "fakerphp/faker", @@ -10101,16 +9089,16 @@ }, { "name": "filp/whoops", - "version": "2.16.0", + "version": "2.18.3", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "befcdc0e5dce67252aa6322d82424be928214fa2" + "reference": "59a123a3d459c5a23055802237cb317f609867e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/befcdc0e5dce67252aa6322d82424be928214fa2", - "reference": "befcdc0e5dce67252aa6322d82424be928214fa2", + "url": "https://api.github.com/repos/filp/whoops/zipball/59a123a3d459c5a23055802237cb317f609867e5", + "reference": "59a123a3d459c5a23055802237cb317f609867e5", "shasum": "" }, "require": { @@ -10160,7 +9148,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.16.0" + "source": "https://github.com/filp/whoops/tree/2.18.3" }, "funding": [ { @@ -10168,24 +9156,24 @@ "type": "github" } ], - "time": "2024-09-25T12:00:00+00:00" + "time": "2025-06-16T00:02:10+00:00" }, { "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" + "php": "^7.4|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -10193,8 +9181,8 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { @@ -10217,39 +9205,79 @@ ], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" }, - "time": "2020-07-09T08:09:16+00:00" + "time": "2025-04-30T06:54:44+00:00" }, { - "name": "kitloong/laravel-migrations-generator", - "version": "v6.11.1", + "name": "iamcal/sql-parser", + "version": "v0.5", "source": { "type": "git", - "url": "https://github.com/kitloong/laravel-migrations-generator.git", - "reference": "0f007e86dce6e0cfd71dc0b757da18851c376c3b" + "url": "https://github.com/iamcal/SQLParser.git", + "reference": "644fd994de3b54e5d833aecf406150aa3b66ca88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kitloong/laravel-migrations-generator/zipball/0f007e86dce6e0cfd71dc0b757da18851c376c3b", - "reference": "0f007e86dce6e0cfd71dc0b757da18851c376c3b", + "url": "https://api.github.com/repos/iamcal/SQLParser/zipball/644fd994de3b54e5d833aecf406150aa3b66ca88", + "reference": "644fd994de3b54e5d833aecf406150aa3b66ca88", + "shasum": "" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^1.0", + "phpunit/phpunit": "^5|^6|^7|^8|^9" + }, + "type": "library", + "autoload": { + "psr-4": { + "iamcal\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cal Henderson", + "email": "cal@iamcal.com" + } + ], + "description": "MySQL schema parser", + "support": { + "issues": "https://github.com/iamcal/SQLParser/issues", + "source": "https://github.com/iamcal/SQLParser/tree/v0.5" + }, + "time": "2024-03-22T22:46:32+00:00" + }, + { + "name": "kitloong/laravel-migrations-generator", + "version": "v7.1.2", + "source": { + "type": "git", + "url": "https://github.com/kitloong/laravel-migrations-generator.git", + "reference": "e46bdbe9308c211fd896cdc834b28d6b9f0dce3f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kitloong/laravel-migrations-generator/zipball/e46bdbe9308c211fd896cdc834b28d6b9f0dce3f", + "reference": "e46bdbe9308c211fd896cdc834b28d6b9f0dce3f", "shasum": "" }, "require": { - "doctrine/dbal": "^2.4|^3.0", "ext-pdo": "*", - "illuminate/support": "^5.6|^6.0|^7.0|^8.0|^9.0|^10.0", - "myclabs/php-enum": "^1.6|^1.7|^1.8", - "php": ">=7.1.3" + "illuminate/support": "^11.0|^12.0", + "php": "^8.2" }, "require-dev": { - "barryvdh/laravel-ide-helper": "^2.5", - "friendsofphp/php-cs-fixer": "^2.19.0|^3.1", - "larastan/larastan": "^0.4|^0.5|^0.6|^0.7|^1.0|^2.0", + "barryvdh/laravel-ide-helper": "^3.0", + "friendsofphp/php-cs-fixer": "^3.1", + "larastan/larastan": "^2.0|^3.0", "mockery/mockery": "^1.0", - "orchestra/testbench": "^3.6|^4.0|^5.0|^6.0|^7.0|^8.0", + "orchestra/testbench": "^9.0|^10.0", "phpmd/phpmd": "^2.10", - "slevomat/coding-standard": "^6.0|^7.0|^8.5", + "phpstan/phpstan-mockery": "^1.0|^2.0", + "slevomat/coding-standard": "^8.0", "squizlabs/php_codesniffer": "^3.5" }, "type": "library", @@ -10286,130 +9314,50 @@ ], "support": { "issues": "https://github.com/kitloong/laravel-migrations-generator/issues", - "source": "https://github.com/kitloong/laravel-migrations-generator/tree/v6.11.1" + "source": "https://github.com/kitloong/laravel-migrations-generator/tree/v7.1.2" }, "funding": [ { "url": "https://www.buymeacoffee.com/kitloong", - "type": "custom" + "type": "buy_me_a_coffee" + }, + { + "url": "https://github.com/kitloong", + "type": "github" } ], - "time": "2024-02-06T14:42:33+00:00" - }, - { - "name": "krlove/code-generator", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/krlove/code-generator.git", - "reference": "1ac521f5ef79a376282e3315ba6a13a83c63fb9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/krlove/code-generator/zipball/1ac521f5ef79a376282e3315ba6a13a83c63fb9a", - "reference": "1ac521f5ef79a376282e3315ba6a13a83c63fb9a", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Krlove\\CodeGenerator\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Code Generator", - "support": { - "issues": "https://github.com/krlove/code-generator/issues", - "source": "https://github.com/krlove/code-generator/tree/1.0.1" - }, - "time": "2022-02-20T12:24:22+00:00" - }, - { - "name": "krlove/eloquent-model-generator", - "version": "dev-l10-compatibility", - "source": { - "type": "git", - "url": "https://github.com/laravel-shift/eloquent-model-generator.git", - "reference": "d8f0280de04d85cf2991e5a5dd317f5dea239d95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel-shift/eloquent-model-generator/zipball/d8f0280de04d85cf2991e5a5dd317f5dea239d95", - "reference": "d8f0280de04d85cf2991e5a5dd317f5dea239d95", - "shasum": "" - }, - "require": { - "doctrine/dbal": "^3.5", - "illuminate/config": "^10.0", - "illuminate/console": "^10.0", - "illuminate/database": "^10.0", - "illuminate/support": "^10.0", - "krlove/code-generator": "^1.0", - "php": "^8.1" - }, - "require-dev": { - "phpunit/phpunit": "^9.5.10" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Krlove\\EloquentModelGenerator\\Provider\\GeneratorServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Krlove\\EloquentModelGenerator\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "Krlove\\Tests\\Integration\\": "tests/integration" - } - }, - "license": [ - "MIT" - ], - "description": "Eloquent Model Generator", - "support": { - "source": "https://github.com/laravel-shift/eloquent-model-generator/tree/l10-compatibility" - }, - "time": "2023-01-30T20:15:06+00:00" + "time": "2025-02-27T12:06:46+00:00" }, { "name": "larastan/larastan", - "version": "v2.9.12", + "version": "v2.11.2", "source": { "type": "git", "url": "https://github.com/larastan/larastan.git", - "reference": "19012b39fbe4dede43dbe0c126d9681827a5e908" + "reference": "1aae902a5851c03dc1a58cbd9010a0c3ef8def63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/larastan/larastan/zipball/19012b39fbe4dede43dbe0c126d9681827a5e908", - "reference": "19012b39fbe4dede43dbe0c126d9681827a5e908", + "url": "https://api.github.com/repos/larastan/larastan/zipball/1aae902a5851c03dc1a58cbd9010a0c3ef8def63", + "reference": "1aae902a5851c03dc1a58cbd9010a0c3ef8def63", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/console": "^9.52.16 || ^10.28.0 || ^11.16", - "illuminate/container": "^9.52.16 || ^10.28.0 || ^11.16", - "illuminate/contracts": "^9.52.16 || ^10.28.0 || ^11.16", - "illuminate/database": "^9.52.16 || ^10.28.0 || ^11.16", - "illuminate/http": "^9.52.16 || ^10.28.0 || ^11.16", - "illuminate/pipeline": "^9.52.16 || ^10.28.0 || ^11.16", - "illuminate/support": "^9.52.16 || ^10.28.0 || ^11.16", + "iamcal/sql-parser": "^0.5.0", + "illuminate/console": "^9.52.20 || ^10.48.28 || ^11.41.3", + "illuminate/container": "^9.52.20 || ^10.48.28 || ^11.41.3", + "illuminate/contracts": "^9.52.20 || ^10.48.28 || ^11.41.3", + "illuminate/database": "^9.52.20 || ^10.48.28 || ^11.41.3", + "illuminate/http": "^9.52.20 || ^10.48.28 || ^11.41.3", + "illuminate/pipeline": "^9.52.20 || ^10.48.28 || ^11.41.3", + "illuminate/support": "^9.52.20 || ^10.48.28 || ^11.41.3", "php": "^8.0.2", - "phpmyadmin/sql-parser": "^5.9.0", - "phpstan/phpstan": "^1.12.11" + "phpstan/phpstan": "^1.12.17" }, "require-dev": { - "doctrine/coding-standard": "^12.0", - "laravel/framework": "^9.52.16 || ^10.28.0 || ^11.16", + "doctrine/coding-standard": "^13", + "laravel/framework": "^9.52.20 || ^10.48.28 || ^11.41.3", "mockery/mockery": "^1.5.1", "nikic/php-parser": "^4.19.1", "orchestra/canvas": "^7.11.1 || ^8.11.0 || ^9.0.2", @@ -10444,10 +9392,6 @@ { "name": "Can Vural", "email": "can9119@gmail.com" - }, - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" } ], "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel", @@ -10463,7 +9407,7 @@ ], "support": { "issues": "https://github.com/larastan/larastan/issues", - "source": "https://github.com/larastan/larastan/tree/v2.9.12" + "source": "https://github.com/larastan/larastan/tree/v2.11.2" }, "funding": [ { @@ -10471,20 +9415,20 @@ "type": "github" } ], - "time": "2024-11-26T23:09:02+00:00" + "time": "2025-06-10T22:06:33+00:00" }, { "name": "laravel-lang/attributes", - "version": "2.11.4", + "version": "2.13.5", "source": { "type": "git", "url": "https://github.com/Laravel-Lang/attributes.git", - "reference": "5f8abba8adaca2f6b5527843a515652bef0ff007" + "reference": "0f7a0c195cbd4eb000b14dc3fd233dacd23a10f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Lang/attributes/zipball/5f8abba8adaca2f6b5527843a515652bef0ff007", - "reference": "5f8abba8adaca2f6b5527843a515652bef0ff007", + "url": "https://api.github.com/repos/Laravel-Lang/attributes/zipball/0f7a0c195cbd4eb000b14dc3fd233dacd23a10f7", + "reference": "0f7a0c195cbd4eb000b14dc3fd233dacd23a10f7", "shasum": "" }, "require": { @@ -10494,7 +9438,7 @@ }, "require-dev": { "laravel-lang/status-generator": "^1.19 || ^2.0", - "phpunit/phpunit": "^10.0", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", "symfony/var-dumper": "^6.0 || ^7.0" }, "type": "library", @@ -10538,9 +9482,9 @@ ], "support": { "issues": "https://github.com/Laravel-Lang/attributes/issues", - "source": "https://github.com/Laravel-Lang/attributes/tree/2.11.4" + "source": "https://github.com/Laravel-Lang/attributes/tree/2.13.5" }, - "time": "2025-01-06T14:39:45+00:00" + "time": "2025-06-23T09:39:20+00:00" }, { "name": "laravel-lang/common", @@ -10617,16 +9561,16 @@ }, { "name": "laravel-lang/http-statuses", - "version": "3.8.5", + "version": "3.10.4", "source": { "type": "git", "url": "https://github.com/Laravel-Lang/http-statuses.git", - "reference": "d5ddb3c6cfafadb3a2e9d2d5d96d8d11a9130544" + "reference": "97fdb638f95bf9ca8131cc887750d70980aa7be3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Lang/http-statuses/zipball/d5ddb3c6cfafadb3a2e9d2d5d96d8d11a9130544", - "reference": "d5ddb3c6cfafadb3a2e9d2d5d96d8d11a9130544", + "url": "https://api.github.com/repos/Laravel-Lang/http-statuses/zipball/97fdb638f95bf9ca8131cc887750d70980aa7be3", + "reference": "97fdb638f95bf9ca8131cc887750d70980aa7be3", "shasum": "" }, "require": { @@ -10636,7 +9580,7 @@ }, "require-dev": { "laravel-lang/status-generator": "^1.19 || ^2.0", - "phpunit/phpunit": "^10.0", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", "symfony/var-dumper": "^6.0 || ^7.0" }, "type": "library", @@ -10666,7 +9610,7 @@ "homepage": "https://github.com/Laravel-Lang" } ], - "description": "List of 126 languages for HTTP statuses", + "description": "List of 127 languages for HTTP statuses", "keywords": [ "http", "lang", @@ -10678,9 +9622,9 @@ ], "support": { "issues": "https://github.com/Laravel-Lang/http-statuses/issues", - "source": "https://github.com/Laravel-Lang/http-statuses/tree/3.8.5" + "source": "https://github.com/Laravel-Lang/http-statuses/tree/3.10.4" }, - "time": "2024-09-30T19:56:37+00:00" + "time": "2025-06-23T09:39:16+00:00" }, { "name": "laravel-lang/lang", @@ -10857,16 +9801,16 @@ }, { "name": "laravel/pint", - "version": "v1.19.0", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "8169513746e1bac70c85d6ea1524d9225d4886f0" + "reference": "9ab851dba4faa51a3c3223dd3d07044129021024" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/8169513746e1bac70c85d6ea1524d9225d4886f0", - "reference": "8169513746e1bac70c85d6ea1524d9225d4886f0", + "url": "https://api.github.com/repos/laravel/pint/zipball/9ab851dba4faa51a3c3223dd3d07044129021024", + "reference": "9ab851dba4faa51a3c3223dd3d07044129021024", "shasum": "" }, "require": { @@ -10874,15 +9818,15 @@ "ext-mbstring": "*", "ext-tokenizer": "*", "ext-xml": "*", - "php": "^8.1.0" + "php": "^8.2.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.66.0", - "illuminate/view": "^10.48.25", - "larastan/larastan": "^2.9.12", - "laravel-zero/framework": "^10.48.25", + "friendsofphp/php-cs-fixer": "^3.76.0", + "illuminate/view": "^11.45.1", + "larastan/larastan": "^3.5.0", + "laravel-zero/framework": "^11.45.0", "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^1.17.0", + "nunomaduro/termwind": "^2.3.1", "pestphp/pest": "^2.36.0" }, "bin": [ @@ -10890,6 +9834,9 @@ ], "type": "project", "autoload": { + "files": [ + "overrides/Runner/Parallel/ProcessFactory.php" + ], "psr-4": { "App\\": "app/", "Database\\Seeders\\": "database/seeders/", @@ -10919,32 +9866,32 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-12-30T16:20:10+00:00" + "time": "2025-07-03T10:37:47+00:00" }, { "name": "laravel/sail", - "version": "v1.39.1", + "version": "v1.43.1", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "1a3c7291bc88de983b66688919a4d298d68ddec7" + "reference": "3e7d899232a8c5e3ea4fc6dee7525ad583887e72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/1a3c7291bc88de983b66688919a4d298d68ddec7", - "reference": "1a3c7291bc88de983b66688919a4d298d68ddec7", + "url": "https://api.github.com/repos/laravel/sail/zipball/3e7d899232a8c5e3ea4fc6dee7525ad583887e72", + "reference": "3e7d899232a8c5e3ea4fc6dee7525ad583887e72", "shasum": "" }, "require": { - "illuminate/console": "^9.52.16|^10.0|^11.0", - "illuminate/contracts": "^9.52.16|^10.0|^11.0", - "illuminate/support": "^9.52.16|^10.0|^11.0", + "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0", "php": "^8.0", "symfony/console": "^6.0|^7.0", "symfony/yaml": "^6.0|^7.0" }, "require-dev": { - "orchestra/testbench": "^7.0|^8.0|^9.0", + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", "phpstan/phpstan": "^1.10" }, "bin": [ @@ -10982,7 +9929,7 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-11-27T15:42:28+00:00" + "time": "2025-05-19T13:19:21+00:00" }, { "name": "mockery/mockery", @@ -11069,16 +10016,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.1", + "version": "1.13.3", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" + "reference": "faed855a7b5f4d4637717c2b3863e277116beb36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", - "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/faed855a7b5f4d4637717c2b3863e277116beb36", + "reference": "faed855a7b5f4d4637717c2b3863e277116beb36", "shasum": "" }, "require": { @@ -11117,7 +10064,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.3" }, "funding": [ { @@ -11125,107 +10072,42 @@ "type": "tidelift" } ], - "time": "2024-11-08T17:47:46+00:00" - }, - { - "name": "myclabs/php-enum", - "version": "1.8.4", - "source": { - "type": "git", - "url": "https://github.com/myclabs/php-enum.git", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/a867478eae49c9f59ece437ae7f9506bfaa27483", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "1.*", - "vimeo/psalm": "^4.6.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "MyCLabs\\Enum\\": "src/" - }, - "classmap": [ - "stubs/Stringable.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP Enum contributors", - "homepage": "https://github.com/myclabs/php-enum/graphs/contributors" - } - ], - "description": "PHP Enum implementation", - "homepage": "http://github.com/myclabs/php-enum", - "keywords": [ - "enum" - ], - "support": { - "issues": "https://github.com/myclabs/php-enum/issues", - "source": "https://github.com/myclabs/php-enum/tree/1.8.4" - }, - "funding": [ - { - "url": "https://github.com/mnapoli", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum", - "type": "tidelift" - } - ], - "time": "2022-08-04T09:53:51+00:00" + "time": "2025-07-05T12:25:42+00:00" }, { "name": "nunomaduro/collision", - "version": "v7.11.0", + "version": "v8.5.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "994ea93df5d4132f69d3f1bd74730509df6e8a05" + "reference": "f5c101b929c958e849a633283adff296ed5f38f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/994ea93df5d4132f69d3f1bd74730509df6e8a05", - "reference": "994ea93df5d4132f69d3f1bd74730509df6e8a05", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/f5c101b929c958e849a633283adff296ed5f38f5", + "reference": "f5c101b929c958e849a633283adff296ed5f38f5", "shasum": "" }, "require": { "filp/whoops": "^2.16.0", - "nunomaduro/termwind": "^1.15.1", - "php": "^8.1.0", - "symfony/console": "^6.4.12" + "nunomaduro/termwind": "^2.1.0", + "php": "^8.2.0", + "symfony/console": "^7.1.5" }, "conflict": { - "laravel/framework": ">=11.0.0" + "laravel/framework": "<11.0.0 || >=12.0.0", + "phpunit/phpunit": "<10.5.1 || >=12.0.0" }, "require-dev": { - "brianium/paratest": "^7.3.1", - "laravel/framework": "^10.48.22", + "larastan/larastan": "^2.9.8", + "laravel/framework": "^11.28.0", "laravel/pint": "^1.18.1", "laravel/sail": "^1.36.0", - "laravel/sanctum": "^3.3.3", + "laravel/sanctum": "^4.0.3", "laravel/tinker": "^2.10.0", - "nunomaduro/larastan": "^2.9.8", - "orchestra/testbench-core": "^8.28.3", - "pestphp/pest": "^2.35.1", - "phpunit/phpunit": "^10.5.36", - "sebastian/environment": "^6.1.0", - "spatie/laravel-ignition": "^2.8.0" + "orchestra/testbench-core": "^9.5.3", + "pestphp/pest": "^2.36.0 || ^3.4.0", + "sebastian/environment": "^6.1.0 || ^7.2.0" }, "type": "library", "extra": { @@ -11233,6 +10115,9 @@ "providers": [ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" ] + }, + "branch-alias": { + "dev-8.x": "8.x-dev" } }, "autoload": { @@ -11284,7 +10169,7 @@ "type": "patreon" } ], - "time": "2024-10-15T15:12:40+00:00" + "time": "2024-10-15T16:06:32+00:00" }, { "name": "phar-io/manifest", @@ -11404,119 +10289,32 @@ }, "time": "2022-02-21T01:04:05+00:00" }, - { - "name": "phpmyadmin/sql-parser", - "version": "5.10.2", - "source": { - "type": "git", - "url": "https://github.com/phpmyadmin/sql-parser.git", - "reference": "72afbce7e4b421593b60d2eb7281e37a50734df8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/72afbce7e4b421593b60d2eb7281e37a50734df8", - "reference": "72afbce7e4b421593b60d2eb7281e37a50734df8", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "phpmyadmin/motranslator": "<3.0" - }, - "require-dev": { - "phpbench/phpbench": "^1.1", - "phpmyadmin/coding-standard": "^3.0", - "phpmyadmin/motranslator": "^4.0 || ^5.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.9.12", - "phpstan/phpstan-phpunit": "^1.3.3", - "phpunit/phpunit": "^8.5 || ^9.6", - "psalm/plugin-phpunit": "^0.16.1", - "vimeo/psalm": "^4.11", - "zumba/json-serializer": "~3.0.2" - }, - "suggest": { - "ext-mbstring": "For best performance", - "phpmyadmin/motranslator": "Translate messages to your favorite locale" - }, - "bin": [ - "bin/highlight-query", - "bin/lint-query", - "bin/sql-parser", - "bin/tokenize-query" - ], - "type": "library", - "autoload": { - "psr-4": { - "PhpMyAdmin\\SqlParser\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "description": "A validating SQL lexer and parser with a focus on MySQL dialect.", - "homepage": "https://github.com/phpmyadmin/sql-parser", - "keywords": [ - "analysis", - "lexer", - "parser", - "query linter", - "sql", - "sql lexer", - "sql linter", - "sql parser", - "sql syntax highlighter", - "sql tokenizer" - ], - "support": { - "issues": "https://github.com/phpmyadmin/sql-parser/issues", - "source": "https://github.com/phpmyadmin/sql-parser" - }, - "funding": [ - { - "url": "https://www.phpmyadmin.net/donate/", - "type": "other" - } - ], - "time": "2024-12-05T15:04:09+00:00" - }, { "name": "phpstan/phpdoc-parser", - "version": "1.33.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140" + "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/82a311fd3690fb2bf7b64d5c98f912b3dd746140", - "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", + "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "doctrine/annotations": "^2.0", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^5.3.0", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", "symfony/process": "^5.2" }, "type": "library", @@ -11534,22 +10332,22 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.33.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0" }, - "time": "2024-10-13T11:25:22+00:00" + "time": "2025-02-19T13:28:12+00:00" }, { "name": "phpstan/phpstan", - "version": "1.12.15", + "version": "1.12.27", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "c91d4e8bc056f46cf653656e6f71004b254574d1" + "reference": "3a6e423c076ab39dfedc307e2ac627ef579db162" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c91d4e8bc056f46cf653656e6f71004b254574d1", - "reference": "c91d4e8bc056f46cf653656e6f71004b254574d1", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3a6e423c076ab39dfedc307e2ac627ef579db162", + "reference": "3a6e423c076ab39dfedc307e2ac627ef579db162", "shasum": "" }, "require": { @@ -11594,7 +10392,7 @@ "type": "github" } ], - "time": "2025-01-05T16:40:22+00:00" + "time": "2025-05-21T20:51:45+00:00" }, { "name": "phpunit/php-code-coverage", @@ -11919,16 +10717,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.41", + "version": "10.5.47", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "e76586fa3d49714f230221734b44892e384109d7" + "reference": "3637b3e50d32ab3a0d1a33b3b6177169ec3d95a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e76586fa3d49714f230221734b44892e384109d7", - "reference": "e76586fa3d49714f230221734b44892e384109d7", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3637b3e50d32ab3a0d1a33b3b6177169ec3d95a3", + "reference": "3637b3e50d32ab3a0d1a33b3b6177169ec3d95a3", "shasum": "" }, "require": { @@ -11938,7 +10736,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.1", + "myclabs/deep-copy": "^1.13.1", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", @@ -12000,7 +10798,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.41" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.47" }, "funding": [ { @@ -12011,61 +10809,20 @@ "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": "2025-01-13T09:33:05+00:00" - }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" + "time": "2025-06-20T11:29:11+00:00" }, { "name": "sebastian/cli-parser", @@ -12985,32 +11742,32 @@ }, { "name": "slevomat/coding-standard", - "version": "8.15.0", + "version": "8.19.1", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "7d1d957421618a3803b593ec31ace470177d7817" + "reference": "458d665acd49009efebd7e0cb385d71ae9ac3220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/7d1d957421618a3803b593ec31ace470177d7817", - "reference": "7d1d957421618a3803b593ec31ace470177d7817", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/458d665acd49009efebd7e0cb385d71ae9ac3220", + "reference": "458d665acd49009efebd7e0cb385d71ae9ac3220", "shasum": "" }, "require": { "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0", - "php": "^7.2 || ^8.0", - "phpstan/phpdoc-parser": "^1.23.1", - "squizlabs/php_codesniffer": "^3.9.0" + "php": "^7.4 || ^8.0", + "phpstan/phpdoc-parser": "^2.1.0", + "squizlabs/php_codesniffer": "^3.13.0" }, "require-dev": { - "phing/phing": "2.17.4", - "php-parallel-lint/php-parallel-lint": "1.3.2", - "phpstan/phpstan": "1.10.60", - "phpstan/phpstan-deprecation-rules": "1.1.4", - "phpstan/phpstan-phpunit": "1.3.16", - "phpstan/phpstan-strict-rules": "1.5.2", - "phpunit/phpunit": "8.5.21|9.6.8|10.5.11" + "phing/phing": "3.0.1", + "php-parallel-lint/php-parallel-lint": "1.4.0", + "phpstan/phpstan": "2.1.17", + "phpstan/phpstan-deprecation-rules": "2.0.3", + "phpstan/phpstan-phpunit": "2.0.6", + "phpstan/phpstan-strict-rules": "2.0.4", + "phpunit/phpunit": "9.6.8|10.5.45|11.4.4|11.5.21|12.1.3" }, "type": "phpcodesniffer-standard", "extra": { @@ -13034,7 +11791,7 @@ ], "support": { "issues": "https://github.com/slevomat/coding-standard/issues", - "source": "https://github.com/slevomat/coding-standard/tree/8.15.0" + "source": "https://github.com/slevomat/coding-standard/tree/8.19.1" }, "funding": [ { @@ -13046,20 +11803,20 @@ "type": "tidelift" } ], - "time": "2024-03-09T15:20:58+00:00" + "time": "2025-06-09T17:53:57+00:00" }, { "name": "spatie/backtrace", - "version": "1.7.1", + "version": "1.7.4", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "0f2477c520e3729de58e061b8192f161c99f770b" + "reference": "cd37a49fce7137359ac30ecc44ef3e16404cccbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/0f2477c520e3729de58e061b8192f161c99f770b", - "reference": "0f2477c520e3729de58e061b8192f161c99f770b", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/cd37a49fce7137359ac30ecc44ef3e16404cccbe", + "reference": "cd37a49fce7137359ac30ecc44ef3e16404cccbe", "shasum": "" }, "require": { @@ -13097,7 +11854,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.7.1" + "source": "https://github.com/spatie/backtrace/tree/1.7.4" }, "funding": [ { @@ -13109,34 +11866,34 @@ "type": "other" } ], - "time": "2024-12-02T13:28:15+00:00" + "time": "2025-05-08T15:41:09+00:00" }, { "name": "spatie/error-solutions", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/spatie/error-solutions.git", - "reference": "d239a65235a1eb128dfa0a4e4c4ef032ea11b541" + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/error-solutions/zipball/d239a65235a1eb128dfa0a4e4c4ef032ea11b541", - "reference": "d239a65235a1eb128dfa0a4e4c4ef032ea11b541", + "url": "https://api.github.com/repos/spatie/error-solutions/zipball/e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", "shasum": "" }, "require": { "php": "^8.0" }, "require-dev": { - "illuminate/broadcasting": "^10.0|^11.0", - "illuminate/cache": "^10.0|^11.0", - "illuminate/support": "^10.0|^11.0", - "livewire/livewire": "^2.11|^3.3.5", + "illuminate/broadcasting": "^10.0|^11.0|^12.0", + "illuminate/cache": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "livewire/livewire": "^2.11|^3.5.20", "openai-php/client": "^0.10.1", - "orchestra/testbench": "^7.0|8.22.3|^9.0", - "pestphp/pest": "^2.20", - "phpstan/phpstan": "^1.11", + "orchestra/testbench": "8.22.3|^9.0|^10.0", + "pestphp/pest": "^2.20|^3.0", + "phpstan/phpstan": "^2.1", "psr/simple-cache": "^3.0", "psr/simple-cache-implementation": "^3.0", "spatie/ray": "^1.28", @@ -13175,7 +11932,7 @@ ], "support": { "issues": "https://github.com/spatie/error-solutions/issues", - "source": "https://github.com/spatie/error-solutions/tree/1.1.2" + "source": "https://github.com/spatie/error-solutions/tree/1.1.3" }, "funding": [ { @@ -13183,24 +11940,24 @@ "type": "github" } ], - "time": "2024-12-11T09:51:56+00:00" + "time": "2025-02-14T12:29:50+00:00" }, { "name": "spatie/flare-client-php", - "version": "1.10.0", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "140a42b2c5d59ac4ecf8f5b493386a4f2eb28272" + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/140a42b2c5d59ac4ecf8f5b493386a4f2eb28272", - "reference": "140a42b2c5d59ac4ecf8f5b493386a4f2eb28272", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f", + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f", "shasum": "" }, "require": { - "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^8.0", "spatie/backtrace": "^1.6.1", "symfony/http-foundation": "^5.2|^6.0|^7.0", @@ -13244,7 +12001,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.10.0" + "source": "https://github.com/spatie/flare-client-php/tree/1.10.1" }, "funding": [ { @@ -13252,20 +12009,20 @@ "type": "github" } ], - "time": "2024-12-02T14:30:06+00:00" + "time": "2025-02-14T13:42:06+00:00" }, { "name": "spatie/ignition", - "version": "1.15.0", + "version": "1.15.1", "source": { "type": "git", "url": "https://github.com/spatie/ignition.git", - "reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2" + "reference": "31f314153020aee5af3537e507fef892ffbf8c85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/e3a68e137371e1eb9edc7f78ffa733f3b98991d2", - "reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2", + "url": "https://api.github.com/repos/spatie/ignition/zipball/31f314153020aee5af3537e507fef892ffbf8c85", + "reference": "31f314153020aee5af3537e507fef892ffbf8c85", "shasum": "" }, "require": { @@ -13278,7 +12035,7 @@ "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "require-dev": { - "illuminate/cache": "^9.52|^10.0|^11.0", + "illuminate/cache": "^9.52|^10.0|^11.0|^12.0", "mockery/mockery": "^1.4", "pestphp/pest": "^1.20|^2.0", "phpstan/extension-installer": "^1.1", @@ -13335,27 +12092,27 @@ "type": "github" } ], - "time": "2024-06-12T14:55:22+00:00" + "time": "2025-02-21T14:31:39+00:00" }, { "name": "spatie/laravel-ignition", - "version": "2.9.0", + "version": "2.9.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "62042df15314b829d0f26e02108f559018e2aad0" + "reference": "1baee07216d6748ebd3a65ba97381b051838707a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/62042df15314b829d0f26e02108f559018e2aad0", - "reference": "62042df15314b829d0f26e02108f559018e2aad0", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/1baee07216d6748ebd3a65ba97381b051838707a", + "reference": "1baee07216d6748ebd3a65ba97381b051838707a", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "illuminate/support": "^10.0|^11.0", + "illuminate/support": "^10.0|^11.0|^12.0", "php": "^8.1", "spatie/ignition": "^1.15", "symfony/console": "^6.2.3|^7.0", @@ -13364,12 +12121,12 @@ "require-dev": { "livewire/livewire": "^2.11|^3.3.5", "mockery/mockery": "^1.5.1", - "openai-php/client": "^0.8.1", - "orchestra/testbench": "8.22.3|^9.0", - "pestphp/pest": "^2.34", + "openai-php/client": "^0.8.1|^0.10", + "orchestra/testbench": "8.22.3|^9.0|^10.0", + "pestphp/pest": "^2.34|^3.7", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan-deprecation-rules": "^1.1.1", - "phpstan/phpstan-phpunit": "^1.3.16", + "phpstan/phpstan-deprecation-rules": "^1.1.1|^2.0", + "phpstan/phpstan-phpunit": "^1.3.16|^2.0", "vlucas/phpdotenv": "^5.5" }, "suggest": { @@ -13426,20 +12183,20 @@ "type": "github" } ], - "time": "2024-12-02T08:43:31+00:00" + "time": "2025-02-20T13:13:55+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.11.2", + "version": "3.13.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079" + "reference": "5b5e3821314f947dd040c70f7992a64eac89025c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/1368f4a58c3c52114b86b1abe8f4098869cb0079", - "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5b5e3821314f947dd040c70f7992a64eac89025c", + "reference": "5b5e3821314f947dd040c70f7992a64eac89025c", "shasum": "" }, "require": { @@ -13504,13 +12261,17 @@ { "url": "https://opencollective.com/php_codesniffer", "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" } ], - "time": "2024-12-11T16:04:26+00:00" + "time": "2025-06-17T22:17:01+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", @@ -13566,7 +12327,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0" }, "funding": [ { @@ -13586,16 +12347,16 @@ }, { "name": "symfony/yaml", - "version": "v7.2.0", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "099581e99f557e9f16b43c5916c26380b54abb22" + "reference": "0c3555045a46ab3cd4cc5a69d161225195230edb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/099581e99f557e9f16b43c5916c26380b54abb22", - "reference": "099581e99f557e9f16b43c5916c26380b54abb22", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0c3555045a46ab3cd4cc5a69d161225195230edb", + "reference": "0c3555045a46ab3cd4cc5a69d161225195230edb", "shasum": "" }, "require": { @@ -13638,7 +12399,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.2.0" + "source": "https://github.com/symfony/yaml/tree/v7.3.1" }, "funding": [ { @@ -13654,26 +12415,26 @@ "type": "tidelift" } ], - "time": "2024-10-23T06:56:12+00:00" + "time": "2025-06-03T06:57:57+00:00" }, { "name": "thedoctor0/laravel-factory-generator", - "version": "1.4.3", + "version": "1.4.4", "source": { "type": "git", "url": "https://github.com/TheDoctor0/laravel-factory-generator.git", - "reference": "fed9260ab27522e3630bc379a14786b1880fa76d" + "reference": "adfff0e5444d3113e9c7b376fa32d3e589cc0ec9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TheDoctor0/laravel-factory-generator/zipball/fed9260ab27522e3630bc379a14786b1880fa76d", - "reference": "fed9260ab27522e3630bc379a14786b1880fa76d", + "url": "https://api.github.com/repos/TheDoctor0/laravel-factory-generator/zipball/adfff0e5444d3113e9c7b376fa32d3e589cc0ec9", + "reference": "adfff0e5444d3113e9c7b376fa32d3e589cc0ec9", "shasum": "" }, "require": { - "illuminate/console": "^10.0|^11.0", - "illuminate/filesystem": "^10.0|^11.0", - "illuminate/support": "^10.0|^11.0", + "illuminate/console": "^10.0|^11.0|^12.0", + "illuminate/filesystem": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", "php": "^8.1" }, "type": "library", @@ -13703,7 +12464,7 @@ ], "support": { "issues": "https://github.com/TheDoctor0/laravel-factory-generator/issues", - "source": "https://github.com/TheDoctor0/laravel-factory-generator/tree/1.4.3" + "source": "https://github.com/TheDoctor0/laravel-factory-generator/tree/1.4.4" }, "funding": [ { @@ -13715,7 +12476,7 @@ "type": "github" } ], - "time": "2024-05-14T06:51:07+00:00" + "time": "2025-02-22T18:52:08+00:00" }, { "name": "theseer/tokenizer", @@ -13770,13 +12531,11 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": { - "krlove/eloquent-model-generator": 20 - }, + "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.1" + "php": "^8.3" }, "platform-dev": {}, "plugin-api-version": "2.6.0" diff --git a/config/image-resizer.php b/config/image-resizer.php index cf6f387a..4c2527fa 100644 --- a/config/image-resizer.php +++ b/config/image-resizer.php @@ -24,8 +24,7 @@ return [ * Here the cache for images is * one hour */ - 'lifeTime' => 535680, - // 1 ans + 'lifetime' => 535680, /** * Format can specifiy to which format save the image @@ -35,17 +34,27 @@ return [ * For WebP support GD driver must be used with PHP 5 >= 5.5.0 or PHP 7 * in order to use imagewebp(). If Imagick is used, it must be compiled * with libwebp for WebP support. + * resize => will resize the image (boolean) + * fit => Combine cropping and resizing to format image in a smart way (boolean) + * keepRatio => will keep image ratio wile resizing (boolean) + * trim => boolean to trim the image using border color + * inCanvas => to make sure image boundarie is respected + * format => select tha wantd ouput form, yan can just convert images if you want * example : * 'small' => [ * 'height' => 500, * 'width' => 250, * 'inCanvas' => true, + * 'trim' => ['transparent', null, 10] * ], * 'smallWebp' => [ * 'height' => 500, * 'width' => 250, * 'inCanvas' => true, * 'format' => 'webp' + * ], + * 'justconvertImage' => [ + * 'format' => 'webp' * ] */ 'templates' => [ diff --git a/config/seo.php b/config/seo.php index 175d6b0c..1752199c 100644 --- a/config/seo.php +++ b/config/seo.php @@ -2,12 +2,13 @@ return [ 'bo_route_prefix' => 'bo.', - 'blade' => 'bo.pages.seo.index', - 'middlewares' => [ + 'fo_route_prefix' => '', + 'blade' => 'bo.pages.seo.index', + 'middlewares' => [ 'web', 'admin-secure', 'lang', 'auth:backend' ], - 'guard' => 'backend' + 'guard' => 'backend' ]; diff --git a/phpcs.xml b/phpcs.xml index 3e28d831..0d245372 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -29,8 +29,7 @@ - - + @@ -43,10 +42,8 @@ + - - - @@ -79,7 +76,6 @@ - From 385a408d831f9ab8e9e04b60b1fe668c7e92247d Mon Sep 17 00:00:00 2001 From: Alexis Gousseau Date: Thu, 10 Jul 2025 15:19:04 +0200 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=F0=9F=8E=A8=20format=20&=20clean=20?= =?UTF-8?q?code=20(models=20translations,=20methods'=20prototype,=20linter?= =?UTF-8?q?s=20errors)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Enums/Concepts/ColorsEnum.php | 8 +- app/Enums/InputType.php | 9 +- app/Enums/Products/CertificationsEnum.php | 12 +- app/Enums/Ranges/PictoEnum.php | 10 +- app/Http/Controllers/Bo/ConceptController.php | 14 +- app/Http/Controllers/Bo/HomeController.php | 5 +- app/Http/Controllers/Bo/ProductController.php | 15 +- app/Http/Controllers/Bo/RangeController.php | 11 +- app/Http/Controllers/Bo/RecipeController.php | 13 +- app/Http/Controllers/Bo/SliderController.php | 13 +- .../Controllers/Bo/StaticPageController.php | 5 +- app/Http/Controllers/Bo/StoreController.php | 13 +- .../Controllers/Bo/StoreGroupController.php | 13 +- .../Controllers/Bo/StoreRegionController.php | 13 +- .../Controllers/Bo/StoreTypeController.php | 13 +- app/Http/Controllers/Fo/ConceptController.php | 2 +- app/Http/Controllers/Fo/ContactController.php | 8 +- app/Http/Controllers/Fo/GroupController.php | 2 +- app/Http/Controllers/Fo/HomeController.php | 2 +- app/Http/Controllers/Fo/NewsController.php | 6 +- app/Http/Controllers/Fo/ProductController.php | 18 +- app/Http/Controllers/Fo/RecipeController.php | 8 +- app/Http/Controllers/Fo/RegionController.php | 2 +- app/Http/Controllers/Fo/StoreController.php | 6 +- app/Http/Requests/Bo/ChangeOrderRequest.php | 6 +- .../Bo/Concepts/StoreConceptRequest.php | 58 +- .../Bo/Concepts/UpdateConceptRequest.php | 2 +- .../Requests/Bo/Homes/UpdateHomeRequest.php | 78 ++- .../Requests/Bo/News/StoreNewsRequest.php | 63 +- .../Requests/Bo/News/UpdateNewsRequest.php | 2 +- .../Bo/Products/StoreProductRequest.php | 86 +-- .../Bo/Products/UpdateProductRequest.php | 2 +- .../Requests/Bo/Ranges/StoreRangeRequest.php | 28 +- .../Requests/Bo/Ranges/UpdateRangeRequest.php | 15 +- .../Bo/Recipes/StoreRecipeRequest.php | 72 +-- .../Bo/Recipes/UpdateRecipeRequest.php | 4 +- .../Bo/Sliders/StoreSliderRequest.php | 60 +- .../StaticPages/UpdateStaticPageRequest.php | 2 +- .../Bo/StoreGroups/StoreStoreGroupRequest.php | 8 +- .../StoreGroups/UpdateStoreGroupRequest.php | 2 +- .../StoreRegions/StoreStoreRegionRequest.php | 12 +- .../StoreRegions/UpdateStoreRegionRequest.php | 2 +- .../Bo/StoreTypes/StoreStoreTypeRequest.php | 6 +- .../Bo/StoreTypes/UpdateStoreTypeRequest.php | 2 +- .../Requests/Bo/Stores/StoreStoreRequest.php | 30 +- .../Requests/Bo/UpdateMiniCrudRequest.php | 10 +- app/Http/Requests/Fo/ContactRequest.php | 8 +- app/Http/Resources/StoreFinderResource.php | 14 +- app/Interfaces/Models/Publishable.php | 38 ++ app/Jobs/NewsStatusUpdate.php | 4 +- app/Lib/Helpers/ToolboxHelper.php | 4 +- app/Models/News.php | 35 +- app/Models/Recipe.php | 35 +- app/Models/StaticPage.php | 6 +- app/Traits/Controllers/UpdateModelStatus.php | 1 + app/Traits/Enums/BaseEnum.php | 2 +- app/Traits/Models/IsPublishable.php | 50 +- app/Traits/Requests/HasPicture.php | 4 +- config/app.php | 2 +- config/sentry.php | 2 +- resources/assets/images/logo.png | Bin 422 -> 0 bytes resources/lang/.gitkeep | 0 resources/lang/de/models.php | 26 +- resources/lang/en/models.php | 26 +- resources/ts/utilities/fontawesome.ts | 4 + resources/views/bo/auth/login.blade.php | 113 ++-- resources/views/bo/layouts/footer.blade.php | 2 +- resources/views/bo/layouts/head.blade.php | 14 +- resources/views/bo/layouts/header.blade.php | 63 +- resources/views/bo/layouts/nav-menu.blade.php | 134 +++-- .../bo/modules/table-col-sorter.blade.php | 132 +++-- .../views/bo/pages/concepts/create.blade.php | 54 +- .../views/bo/pages/concepts/edit.blade.php | 56 +- .../bo/pages/concepts/form-inputs.blade.php | 300 +++++----- .../bo/pages/concepts/index-list.blade.php | 34 +- .../views/bo/pages/concepts/index.blade.php | 69 +-- resources/views/bo/pages/homes/edit.blade.php | 47 +- .../bo/pages/homes/form-inputs.blade.php | 14 +- .../views/bo/pages/news/create.blade.php | 54 +- resources/views/bo/pages/news/edit.blade.php | 54 +- .../views/bo/pages/news/form-inputs.blade.php | 25 +- .../views/bo/pages/news/index-list.blade.php | 19 +- resources/views/bo/pages/news/index.blade.php | 64 +-- .../views/bo/pages/products/create.blade.php | 54 +- .../views/bo/pages/products/edit.blade.php | 56 +- .../bo/pages/products/form-inputs.blade.php | 28 +- .../bo/pages/products/index-list.blade.php | 21 +- .../views/bo/pages/products/index.blade.php | 68 +-- .../views/bo/pages/ranges/create.blade.php | 54 +- .../views/bo/pages/ranges/edit.blade.php | 56 +- .../bo/pages/ranges/form-inputs.blade.php | 12 +- .../bo/pages/ranges/index-list.blade.php | 35 +- .../views/bo/pages/ranges/index.blade.php | 68 +-- .../views/bo/pages/recipes/create.blade.php | 54 +- .../views/bo/pages/recipes/edit.blade.php | 56 +- .../bo/pages/recipes/form-inputs.blade.php | 26 +- .../bo/pages/recipes/index-list.blade.php | 33 +- .../views/bo/pages/recipes/index.blade.php | 68 +-- resources/views/bo/pages/seo/index.blade.php | 71 ++- .../views/bo/pages/sliders/create.blade.php | 54 +- .../views/bo/pages/sliders/edit.blade.php | 56 +- .../bo/pages/sliders/form-inputs.blade.php | 22 +- .../bo/pages/sliders/index-list.blade.php | 41 +- .../views/bo/pages/sliders/index.blade.php | 68 +-- .../bo/pages/static_pages/edit.blade.php | 30 +- .../pages/static_pages/form-inputs.blade.php | 50 +- .../pages/static_pages/index-list.blade.php | 21 +- .../bo/pages/static_pages/index.blade.php | 58 +- .../bo/pages/storegroups/create.blade.php | 53 +- .../views/bo/pages/storegroups/edit.blade.php | 24 +- .../pages/storegroups/form-inputs.blade.php | 10 +- .../bo/pages/storegroups/index-list.blade.php | 25 +- .../bo/pages/storegroups/index.blade.php | 68 +-- .../bo/pages/storeregions/create.blade.php | 53 +- .../bo/pages/storeregions/edit.blade.php | 54 +- .../pages/storeregions/form-inputs.blade.php | 16 +- .../pages/storeregions/index-list.blade.php | 25 +- .../bo/pages/storeregions/index.blade.php | 68 +-- .../views/bo/pages/stores/create.blade.php | 53 +- .../views/bo/pages/stores/edit.blade.php | 54 +- .../bo/pages/stores/form-inputs.blade.php | 36 +- .../bo/pages/stores/index-list.blade.php | 25 +- .../views/bo/pages/stores/index.blade.php | 68 +-- .../bo/pages/storetypes/create.blade.php | 53 +- .../views/bo/pages/storetypes/edit.blade.php | 54 +- .../bo/pages/storetypes/form-inputs.blade.php | 4 +- .../bo/pages/storetypes/index-list.blade.php | 25 +- .../views/bo/pages/storetypes/index.blade.php | 68 +-- .../views/fo/modules/pagination.blade.php | 12 +- resources/views/fo/pages/aboutus.blade.php | 215 +++---- .../views/fo/pages/concepts/bloc.blade.php | 5 +- .../views/fo/pages/concepts/concept.blade.php | 110 ++-- resources/views/fo/pages/contact.blade.php | 272 ++++----- resources/views/fo/pages/home.blade.php | 375 ++++++------ resources/views/fo/pages/legals.blade.php | 6 +- .../views/fo/pages/news/aside-news.blade.php | 66 +-- resources/views/fo/pages/news/bloc.blade.php | 16 +- .../views/fo/pages/news/header.blade.php | 21 +- resources/views/fo/pages/news/index.blade.php | 51 +- resources/views/fo/pages/news/show.blade.php | 172 +++--- resources/views/fo/pages/privacy.blade.php | 7 +- .../views/fo/pages/products/index.blade.php | 269 ++++----- .../views/fo/pages/products/show.blade.php | 25 +- .../views/fo/pages/recipes/index.blade.php | 44 +- .../views/fo/pages/recipes/show.blade.php | 176 +++--- .../views/fo/pages/storefinder.blade.php | 544 ++++++++---------- .../breadcrumbs/breadcrumb-body.blade.php | 15 +- .../breadcrumbs/breadcrumb-head.blade.php | 15 +- .../breadcrumbs/breadcrumb-layout.blade.php | 32 +- routes/breadcrumbs-bo.php | 48 +- 150 files changed, 3361 insertions(+), 3411 deletions(-) delete mode 100644 resources/assets/images/logo.png delete mode 100644 resources/lang/.gitkeep diff --git a/app/Enums/Concepts/ColorsEnum.php b/app/Enums/Concepts/ColorsEnum.php index 1640c21f..7196e1ea 100644 --- a/app/Enums/Concepts/ColorsEnum.php +++ b/app/Enums/Concepts/ColorsEnum.php @@ -18,11 +18,11 @@ enum ColorsEnum: int * Custom added colors definition */ private const COLORS = [ - self::redwine->name => 'rgb(165 25 60)', - self::orange->name => 'rgb(240 165 0)', - self::blue->name => 'rgb(95 155 210)', + self::redwine->name => 'rgb(165 25 60)', + self::orange->name => 'rgb(240 165 0)', + self::blue->name => 'rgb(95 155 210)', self::lightgreen->name => 'rgb(180 190 0)', - self::brown->name => 'rgb(95 40 45)', + self::brown->name => 'rgb(95 40 45)', ]; /** diff --git a/app/Enums/InputType.php b/app/Enums/InputType.php index 0b59d298..ad7c44bc 100644 --- a/app/Enums/InputType.php +++ b/app/Enums/InputType.php @@ -21,10 +21,7 @@ enum InputType: int case string = 11; case text = 12; case url = 13; - /** Vimeo only */ - case videoVimeo = 14; - /** Youtube only */ - case videoYoutube = 15; - /** Youtube or Vimeo. */ - case video = 16; + case videoVimeo = 14; + case videoYoutube = 15; + case video = 16; } diff --git a/app/Enums/Products/CertificationsEnum.php b/app/Enums/Products/CertificationsEnum.php index 19f08e52..7adf410b 100644 --- a/app/Enums/Products/CertificationsEnum.php +++ b/app/Enums/Products/CertificationsEnum.php @@ -23,12 +23,12 @@ enum CertificationsEnum: int private const IMAGES = [ self::haltungsform3->name => "haltungsform3.png", self::haltungsform4->name => "haltungsform4.png", - self::ecc->name => "ECC-Logo-green.svg", - self::nutriscoreA->name => "nutriscore-a.png", - self::nutriscoreB->name => "nutriscore-b.png", - self::nutriscoreC->name => "nutriscore-c.png", - self::nutriscoreD->name => "nutriscore-d.png", - self::nutriscoreE->name => "nutriscore-e.png", + self::ecc->name => "ECC-Logo-green.svg", + self::nutriscoreA->name => "nutriscore-a.png", + self::nutriscoreB->name => "nutriscore-b.png", + self::nutriscoreC->name => "nutriscore-c.png", + self::nutriscoreD->name => "nutriscore-d.png", + self::nutriscoreE->name => "nutriscore-e.png", ]; /** diff --git a/app/Enums/Ranges/PictoEnum.php b/app/Enums/Ranges/PictoEnum.php index e09ccc45..54c0caaa 100644 --- a/app/Enums/Ranges/PictoEnum.php +++ b/app/Enums/Ranges/PictoEnum.php @@ -19,12 +19,12 @@ enum PictoEnum : int * Custom added images definition */ private const IMAGES = [ - self::chicken->name => "chicken.png", - self::duck->name => "duck.png", - self::turkey->name => "turkey.png", + self::chicken->name => "chicken.png", + self::duck->name => "duck.png", + self::turkey->name => "turkey.png", self::soupchicken->name => "soupchicken.png", - self::guineafowl->name => "guineafowl.png", - self::goose->name => "goose.png", + self::guineafowl->name => "guineafowl.png", + self::goose->name => "goose.png", ]; /** diff --git a/app/Http/Controllers/Bo/ConceptController.php b/app/Http/Controllers/Bo/ConceptController.php index d5cbaf03..27074d04 100644 --- a/app/Http/Controllers/Bo/ConceptController.php +++ b/app/Http/Controllers/Bo/ConceptController.php @@ -61,7 +61,7 @@ class ConceptController extends Controller 'error', trans( 'You already created 8 :models. Please delete or edit an existing one.', - ['models' => trans('models.classes.concepts')] + ['models' => Str::of(trans('models.classes.concept'))->plural()] ) ); } @@ -90,14 +90,14 @@ class ConceptController extends Controller ->route('bo.concepts.edit', $concept) ->with('success', trans( 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.concepts'))] + ['model' => trans('models.classes.concept')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.concepts'))] + ['model' => trans('models.classes.concept')] )); }); } @@ -135,14 +135,14 @@ class ConceptController extends Controller ->route('bo.concepts.edit', $concept) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.concepts'))] + ['model' => trans('models.classes.concept')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.concepts'))] + ['model' => trans('models.classes.concept')] )); }); } @@ -160,14 +160,14 @@ class ConceptController extends Controller ->route('bo.concepts.index') ->with('success', trans( 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.concepts'))] + ['model' => trans('models.classes.concept')] )); } return redirect() ->back() ->with('error', trans( ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.concepts'))] + ['model' => trans('models.classes.concept')] )); } } diff --git a/app/Http/Controllers/Bo/HomeController.php b/app/Http/Controllers/Bo/HomeController.php index 0c5da4a4..9177e8d9 100644 --- a/app/Http/Controllers/Bo/HomeController.php +++ b/app/Http/Controllers/Bo/HomeController.php @@ -7,7 +7,6 @@ use App\Http\Requests\Bo\Homes\UpdateHomeRequest; use App\Models\Home; use App\Models\Product; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class HomeController extends Controller { @@ -41,12 +40,12 @@ class HomeController extends Controller ->route('bo.homes.edit', $home) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.homes'))] + ['model' => trans('models.classes.home')] )); } //end if return back()->with('success', trans( 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.homes'))] + ['model' => trans('models.classes.home')] )); }); } diff --git a/app/Http/Controllers/Bo/ProductController.php b/app/Http/Controllers/Bo/ProductController.php index 79e83c94..801dfc27 100644 --- a/app/Http/Controllers/Bo/ProductController.php +++ b/app/Http/Controllers/Bo/ProductController.php @@ -10,9 +10,8 @@ use App\Models\Product; use App\Models\Range; use App\Traits\Controllers\ChangesModelOrder; use App\Traits\Controllers\UpdateModelStatus; -use Illuminate\Contracts\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class ProductController extends Controller { @@ -88,14 +87,14 @@ class ProductController extends Controller ->route('bo.products.edit', $product) ->with('success', trans( 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.products'))] + ['model' => trans('models.classes.product')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.products'))] + ['model' => trans('models.classes.product')] )); }); } @@ -136,14 +135,14 @@ class ProductController extends Controller ->route('bo.products.edit', $product) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.products'))] + ['model' => trans('models.classes.product')] )); } //end if return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.products'))] + ['model' => trans('models.classes.product')] )); }); } @@ -163,14 +162,14 @@ class ProductController extends Controller ->route('bo.products.index') ->with('success', trans( 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.products'))] + ['model' => trans('models.classes.product')] )); } return redirect() ->back() ->with('error', trans( ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.products'))] + ['model' => trans('models.classes.product')] )); }); } diff --git a/app/Http/Controllers/Bo/RangeController.php b/app/Http/Controllers/Bo/RangeController.php index d48fa261..d03f495a 100644 --- a/app/Http/Controllers/Bo/RangeController.php +++ b/app/Http/Controllers/Bo/RangeController.php @@ -10,7 +10,6 @@ use App\Traits\Controllers\UpdateModelStatus; use App\Traits\Controllers\ChangesModelOrder; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class RangeController extends Controller { @@ -72,14 +71,14 @@ class RangeController extends Controller ->route('bo.ranges.edit', $range) ->with('success', trans( 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.ranges'))] + ['model' => trans('models.classes.range')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.ranges'))] + ['model' => trans('models.classes.range')] )); }); } @@ -111,7 +110,7 @@ class RangeController extends Controller ->route('bo.ranges.edit', $range) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.ranges'))] + ['model' => trans('models.classes.range')] )); } //end if return back(); @@ -131,14 +130,14 @@ class RangeController extends Controller ->route('bo.ranges.index') ->with('success', trans( 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.ranges'))] + ['model' => trans('models.classes.range')] )); } return redirect() ->back() ->with('error', trans( ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.ranges'))] + ['model' => trans('models.classes.range')] )); } } diff --git a/app/Http/Controllers/Bo/RecipeController.php b/app/Http/Controllers/Bo/RecipeController.php index e7a1c8a6..f2880ac4 100644 --- a/app/Http/Controllers/Bo/RecipeController.php +++ b/app/Http/Controllers/Bo/RecipeController.php @@ -11,7 +11,6 @@ use App\Traits\Controllers\UpdateModelStatus; use App\Traits\Controllers\ChangesModelOrder; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class RecipeController extends Controller { @@ -77,14 +76,14 @@ class RecipeController extends Controller ->route('bo.recipes.edit', $recipe) ->with('success', trans( 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.recipes'))] + ['model' => trans('models.classes.recipe')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.recipes'))] + ['model' => trans('models.classes.recipe')] )); }); } @@ -124,14 +123,14 @@ class RecipeController extends Controller ->route('bo.recipes.edit', $recipe) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.recipes'))] + ['model' => trans('models.classes.recipe')] )); } //end if return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.recipes'))] + ['model' => trans('models.classes.recipe')] )); }); } @@ -151,14 +150,14 @@ class RecipeController extends Controller ->route('bo.recipes.index') ->with('success', trans( 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.recipes'))] + ['model' => trans('models.classes.recipe')] )); } return redirect() ->back() ->with('error', trans( ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.recipes'))] + ['model' => trans('models.classes.recipe')] )); }); } diff --git a/app/Http/Controllers/Bo/SliderController.php b/app/Http/Controllers/Bo/SliderController.php index fc0d8c91..14f17673 100644 --- a/app/Http/Controllers/Bo/SliderController.php +++ b/app/Http/Controllers/Bo/SliderController.php @@ -10,7 +10,6 @@ use App\Traits\Controllers\UpdateModelStatus; use App\Traits\Controllers\ChangesModelOrder; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class SliderController extends Controller { @@ -73,14 +72,14 @@ class SliderController extends Controller ->route('bo.sliders.edit', $slider) ->with('success', trans( 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.sliders'))] + ['model' => trans('models.classes.slider')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.sliders'))] + ['model' => trans('models.classes.slider')] )); }); } @@ -115,14 +114,14 @@ class SliderController extends Controller ->route('bo.sliders.edit', $slider) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.sliders'))] + ['model' => trans('models.classes.slider')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.sliders'))] + ['model' => trans('models.classes.slider')] )); }); } @@ -140,14 +139,14 @@ class SliderController extends Controller ->route('bo.sliders.index') ->with('success', trans( 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.sliders'))] + ['model' => trans('models.classes.slider')] )); } return redirect() ->back() ->with('error', trans( ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.sliders'))] + ['model' => trans('models.classes.slider')] )); } } diff --git a/app/Http/Controllers/Bo/StaticPageController.php b/app/Http/Controllers/Bo/StaticPageController.php index 27ce12f3..3cde3287 100644 --- a/app/Http/Controllers/Bo/StaticPageController.php +++ b/app/Http/Controllers/Bo/StaticPageController.php @@ -7,7 +7,6 @@ use App\Http\Requests\Bo\StaticPages\UpdateStaticPageRequest; use App\Models\StaticPage; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class StaticPageController extends Controller { @@ -79,12 +78,12 @@ class StaticPageController extends Controller if ($static_page->saveOrFail()) { return redirect()->route('bo.static_pages.edit', $static_page) ->with('success', __('crud.messages.has_been_updated', [ - 'model' => Str::ucfirst(\trans_choice('models.classes.static_page', 1)) + 'model' => trans('models.classes.static_page') ])); } return redirect()->route('bo.static_pages.edit', $static_page) ->with('error', __('crud.messages.cannot_be_updated', [ - 'model' => Str::ucfirst(\trans_choice('models.classes.static_page', 1)) + 'model' => trans('models.classes.static_page') ])); }); } diff --git a/app/Http/Controllers/Bo/StoreController.php b/app/Http/Controllers/Bo/StoreController.php index f9f9b121..e12644a6 100644 --- a/app/Http/Controllers/Bo/StoreController.php +++ b/app/Http/Controllers/Bo/StoreController.php @@ -12,7 +12,6 @@ use App\Traits\Controllers\UpdateModelStatus; use App\Traits\Controllers\ChangesModelOrder; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class StoreController extends Controller { @@ -77,14 +76,14 @@ class StoreController extends Controller ->route('bo.stores.edit', $store) ->with('success', trans( 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.stores'))] + ['model' => trans('models.classes.store')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.stores'))] + ['model' => trans('models.classes.store')] )); }); } @@ -122,14 +121,14 @@ class StoreController extends Controller ->route('bo.stores.edit', $store) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.stores'))] + ['model' => trans('models.classes.store')] )); } //end if return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.stores'))] + ['model' => trans('models.classes.store')] )); }); } @@ -147,14 +146,14 @@ class StoreController extends Controller ->route('bo.stores.index') ->with('success', trans( 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.stores'))] + ['model' => trans('models.classes.store')] )); } return redirect() ->back() ->with('error', trans( ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.stores'))] + ['model' => trans('models.classes.store')] )); } } diff --git a/app/Http/Controllers/Bo/StoreGroupController.php b/app/Http/Controllers/Bo/StoreGroupController.php index 55eb6c65..9c33ed1d 100644 --- a/app/Http/Controllers/Bo/StoreGroupController.php +++ b/app/Http/Controllers/Bo/StoreGroupController.php @@ -10,7 +10,6 @@ use App\Traits\Controllers\UpdateModelStatus; use App\Traits\Controllers\ChangesModelOrder; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class StoreGroupController extends Controller { @@ -72,14 +71,14 @@ class StoreGroupController extends Controller ->route('bo.storegroups.edit', $storeGroup) ->with('success', trans( 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.storegroups'))] + ['model' => trans('models.classes.storegroup')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.storegroups'))] + ['model' => trans('models.classes.storegroup')] )); }); } @@ -111,14 +110,14 @@ class StoreGroupController extends Controller ->route('bo.storegroups.edit', $storegroup) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.storegroups'))] + ['model' => trans('models.classes.storegroup')] )); } //end if return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.storegroups'))] + ['model' => trans('models.classes.storegroup')] )); }); } @@ -143,14 +142,14 @@ class StoreGroupController extends Controller ->route('bo.storegroups.index') ->with('success', trans( 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.storegroups'))] + ['model' => trans('models.classes.storegroup')] )); } return redirect() ->back() ->with('error', trans( ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.storegroups'))] + ['model' => trans('models.classes.storegroup')] )); } } diff --git a/app/Http/Controllers/Bo/StoreRegionController.php b/app/Http/Controllers/Bo/StoreRegionController.php index af816b8b..1a6a9b23 100644 --- a/app/Http/Controllers/Bo/StoreRegionController.php +++ b/app/Http/Controllers/Bo/StoreRegionController.php @@ -11,7 +11,6 @@ use App\Traits\Controllers\UpdateModelStatus; use App\Traits\Controllers\ChangesModelOrder; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class StoreRegionController extends Controller { @@ -75,14 +74,14 @@ class StoreRegionController extends Controller ->route('bo.storeregions.edit', $storeregion) ->with('success', trans( 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.storeregions'))] + ['model' => trans('models.classes.storeregion')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.storeregions'))] + ['model' => trans('models.classes.storeregion')] )); }); } @@ -122,14 +121,14 @@ class StoreRegionController extends Controller ->route('bo.storeregions.edit', $storeregion) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.storeregions'))] + ['model' => trans('models.classes.storeregion')] )); } //end if return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.storeregions'))] + ['model' => trans('models.classes.storeregion')] )); }); } @@ -150,14 +149,14 @@ class StoreRegionController extends Controller ->route('bo.storeregions.index') ->with('success', trans( 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.storeregions'))] + ['model' => trans('models.classes.storeregion')] )); } return redirect() ->back() ->with('error', trans( ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.storeregions'))] + ['model' => trans('models.classes.storeregion')] )); } } diff --git a/app/Http/Controllers/Bo/StoreTypeController.php b/app/Http/Controllers/Bo/StoreTypeController.php index c1aa0aa2..2f3aae0c 100644 --- a/app/Http/Controllers/Bo/StoreTypeController.php +++ b/app/Http/Controllers/Bo/StoreTypeController.php @@ -10,7 +10,6 @@ use App\Traits\Controllers\UpdateModelStatus; use App\Traits\Controllers\ChangesModelOrder; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Str; class StoreTypeController extends Controller { @@ -72,14 +71,14 @@ class StoreTypeController extends Controller ->route('bo.storetypes.edit', $storetype) ->with('success', trans( 'crud.messages.has_been_created', - ['model' => Str::singular(trans('models.classes.storetypes'))] + ['model' => trans('models.classes.storetype')] )); } return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_created', - ['model' => Str::singular(trans('models.classes.storetypes'))] + ['model' => trans('models.classes.storetype')] )); }); } @@ -114,14 +113,14 @@ class StoreTypeController extends Controller ->route('bo.storetypes.edit', $storetype) ->with('success', trans( 'crud.messages.has_been_updated', - ['model' => Str::singular(trans('models.classes.storetypes'))] + ['model' => trans('models.classes.storetype')] )); } //end if return redirect() ->back() ->with('error', trans( 'crud.messages.cannot_be_updated', - ['model' => Str::singular(trans('models.classes.storetypes'))] + ['model' => trans('models.classes.storetype')] )); }); } @@ -142,14 +141,14 @@ class StoreTypeController extends Controller ->route('bo.storetypes.index') ->with('success', trans( 'crud.messages.has_been_deleted', - ['model' => Str::singular(trans('models.classes.storetypes'))] + ['model' => trans('models.classes.storetype')] )); } return redirect() ->back() ->with('error', trans( ':crud.messages.cannot_be_deleted', - ['model' => Str::singular(trans('models.classes.storetypes'))] + ['model' => trans('models.classes.storetype')] )); } } diff --git a/app/Http/Controllers/Fo/ConceptController.php b/app/Http/Controllers/Fo/ConceptController.php index 3b262b42..ee83bcec 100644 --- a/app/Http/Controllers/Fo/ConceptController.php +++ b/app/Http/Controllers/Fo/ConceptController.php @@ -13,7 +13,7 @@ class ConceptController extends Controller * @param \App\Models\Concept $concept * @return \Illuminate\Contracts\View\View */ - public function show(Concept $concept) + public function show(Concept $concept): \Illuminate\Contracts\View\View { return view('fo.pages.concepts.concept', ['conceptModel' => $concept]); } diff --git a/app/Http/Controllers/Fo/ContactController.php b/app/Http/Controllers/Fo/ContactController.php index 8e5340f8..8a829e17 100644 --- a/app/Http/Controllers/Fo/ContactController.php +++ b/app/Http/Controllers/Fo/ContactController.php @@ -12,23 +12,23 @@ use Illuminate\Support\Facades\Mail; class ContactController extends Controller { /** - * Show contact page + * Show contact page. * * @return \Illuminate\Contracts\View\View */ - public function contactForm() + public function contactForm(): \Illuminate\Contracts\View\View { $contactPage = StaticPage::query()->where('type', StaticPageType::contact)->first(); return view('fo.pages.contact', \compact('contactPage')); } /** - * Submit contact form + * Submit contact form. * * @param \App\Http\Requests\Fo\ContactRequest $request * @return \Illuminate\Http\RedirectResponse */ - public function sendContactForm(ContactRequest $request) + public function sendContactForm(ContactRequest $request): \Illuminate\Http\RedirectResponse { Mail::queue(new ContactMessageReceived( first_name: $request->first_name, diff --git a/app/Http/Controllers/Fo/GroupController.php b/app/Http/Controllers/Fo/GroupController.php index 72d01dfd..cbd59e7e 100644 --- a/app/Http/Controllers/Fo/GroupController.php +++ b/app/Http/Controllers/Fo/GroupController.php @@ -13,7 +13,7 @@ class GroupController extends Controller * @param integer $id * @return \App\Models\StoreGroup */ - public function show(int $id) + public function show(int $id): \App\Models\StoreGroup { return StoreGroup::query()->find($id); } diff --git a/app/Http/Controllers/Fo/HomeController.php b/app/Http/Controllers/Fo/HomeController.php index ef42f172..84b3a201 100644 --- a/app/Http/Controllers/Fo/HomeController.php +++ b/app/Http/Controllers/Fo/HomeController.php @@ -13,7 +13,7 @@ class HomeController extends Controller * * @return \Illuminate\Contracts\View\View */ - public function index() + public function index(): \Illuminate\Contracts\View\View { $currentLocale = app()->currentLocale(); $home = Home::query()->firstOrFail(); diff --git a/app/Http/Controllers/Fo/NewsController.php b/app/Http/Controllers/Fo/NewsController.php index 627b0b1d..130c752e 100644 --- a/app/Http/Controllers/Fo/NewsController.php +++ b/app/Http/Controllers/Fo/NewsController.php @@ -13,9 +13,9 @@ class NewsController extends Controller * News index * * @param \Illuminate\Http\Request $request - * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse + * @return \Illuminate\Contracts\View\View|\Illuminate\Http\JsonResponse */ - public function index(Request $request) + public function index(Request $request): \Illuminate\Contracts\View\View|\Illuminate\Http\JsonResponse { if ($request->wantsJson()) { $currentLocale = app()->currentLocale(); @@ -36,7 +36,7 @@ class NewsController extends Controller * @param \App\Models\News $publishedNews * @return \Illuminate\Contracts\View\View */ - public function show(News $publishedNews) + public function show(News $publishedNews): \Illuminate\Contracts\View\View { $currentLocale = app()->currentLocale(); $relatedNewsList = News::query() diff --git a/app/Http/Controllers/Fo/ProductController.php b/app/Http/Controllers/Fo/ProductController.php index 526a5798..a10a30b4 100644 --- a/app/Http/Controllers/Fo/ProductController.php +++ b/app/Http/Controllers/Fo/ProductController.php @@ -10,27 +10,27 @@ use Illuminate\Contracts\Database\Eloquent\Builder; class ProductController extends Controller { /** - * Products index + * Products index. * * @return \Illuminate\Contracts\View\View */ - public function index() + public function index(): \Illuminate\Contracts\View\View { - $ranges = Range::query()->where('status', true) - ->whereHas('products', fn (Builder $q) => $q->where('status', true)) - ->with('products', fn (Builder $q) => $q->where('status', true)->orderBy('order')) + $rangeModels = Range::query()->where('status', true) + ->whereHas('products', fn(Builder $q) => $q->where('status', true)) + ->with('products', fn(Builder $q) => $q->where('status', true)->orderBy('order')) ->orderBy('order') - ->get(); - return view('fo.pages.products.index', compact(['ranges'])); + ->get(); + return view('fo.pages.products.index', compact('rangeModels')); } /** - * Product show + * Product show. * * @param \App\Models\Product $publishedProduct * @return \Illuminate\Contracts\View\View */ - public function show(Product $publishedProduct) + public function show(Product $publishedProduct): \Illuminate\Contracts\View\View { return view('fo.pages.products.show', ['productModel' => $publishedProduct]); } diff --git a/app/Http/Controllers/Fo/RecipeController.php b/app/Http/Controllers/Fo/RecipeController.php index 740c7dbc..44563c16 100644 --- a/app/Http/Controllers/Fo/RecipeController.php +++ b/app/Http/Controllers/Fo/RecipeController.php @@ -13,13 +13,13 @@ class RecipeController extends Controller * * @return \Illuminate\Contracts\View\View */ - public function index() + public function index(): \Illuminate\Contracts\View\View { - $recipes = Recipe::query()->where('status', true) + $recipeModels = Recipe::query()->where('status', true) ->whereHas('range', fn (Builder $q) => $q->where('status', true)) ->orderBy('order') ->get(); - return view('fo.pages.recipes.index', compact('recipes')); + return view('fo.pages.recipes.index', compact('recipeModels')); } /** @@ -28,7 +28,7 @@ class RecipeController extends Controller * @param \App\Models\Recipe $publishedRecipe * @return \Illuminate\Contracts\View\View */ - public function show(Recipe $publishedRecipe) + public function show(Recipe $publishedRecipe): \Illuminate\Contracts\View\View { return view('fo.pages.recipes.show', ['recipeModel' => $publishedRecipe]); } diff --git a/app/Http/Controllers/Fo/RegionController.php b/app/Http/Controllers/Fo/RegionController.php index ac96eb17..7591109e 100644 --- a/app/Http/Controllers/Fo/RegionController.php +++ b/app/Http/Controllers/Fo/RegionController.php @@ -13,7 +13,7 @@ class RegionController extends Controller * @param integer $id * @return \App\Models\StoreRegion; */ - public function show(int $id) + public function show(int $id): \App\Models\StoreRegion { return StoreRegion::find($id); } diff --git a/app/Http/Controllers/Fo/StoreController.php b/app/Http/Controllers/Fo/StoreController.php index 1e8ef875..a06e6f1d 100644 --- a/app/Http/Controllers/Fo/StoreController.php +++ b/app/Http/Controllers/Fo/StoreController.php @@ -11,12 +11,12 @@ use Illuminate\Http\JsonResponse; class StoreController extends Controller { /** - * Store by city + * Store by city. * * @param \App\Http\Requests\Api\StoreFinderRequest $request - * @return \Illuminate\Http\JsonResponse; + * @return \Illuminate\Http\JsonResponse */ - public function city(StoreFinderRequest $request): JsonResponse + public function city(StoreFinderRequest $request): \Illuminate\Http\JsonResponse { return \response()->json(new StoreFinderResource(Store::query() ->where('city', 'LIKE', '%' . $request->input('city') . '%') diff --git a/app/Http/Requests/Bo/ChangeOrderRequest.php b/app/Http/Requests/Bo/ChangeOrderRequest.php index 547064e8..7ac5d066 100644 --- a/app/Http/Requests/Bo/ChangeOrderRequest.php +++ b/app/Http/Requests/Bo/ChangeOrderRequest.php @@ -11,7 +11,7 @@ class ChangeOrderRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -21,7 +21,7 @@ class ChangeOrderRequest extends FormRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->merge([ 'direction' => $this->direction === 'up' ? true : false @@ -33,7 +33,7 @@ class ChangeOrderRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { return [ 'direction' => 'required|boolean', diff --git a/app/Http/Requests/Bo/Concepts/StoreConceptRequest.php b/app/Http/Requests/Bo/Concepts/StoreConceptRequest.php index 2aeb7157..4a689741 100644 --- a/app/Http/Requests/Bo/Concepts/StoreConceptRequest.php +++ b/app/Http/Requests/Bo/Concepts/StoreConceptRequest.php @@ -25,7 +25,7 @@ class StoreConceptRequest extends UpdateMiniCrudRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return (auth('backend')->check() && Concept::count() < 9); } @@ -35,7 +35,7 @@ class StoreConceptRequest extends UpdateMiniCrudRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->merge([ 'slug' => Str::slug(strip_tags($this->input('name'))) @@ -48,25 +48,21 @@ class StoreConceptRequest extends UpdateMiniCrudRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ - 'seo_title' => 'required|min:3|max:70', - 'seo_description' => 'required|min:50|max:160', - - 'name' => 'required|min:3|max:70', - 'slug' => 'unique_translation:concepts', - 'title' => 'required|min:3|max:70', - 'title_background_color' => [ - 'required', new Enum(ColorsEnum::class) - ], - 'subtitle' => 'required|min:3|max:70', - 'description' => 'required|string|min:15', - 'data' => 'present|array', - 'data.*' => 'required|array', - - 'picture_alt' => 'required|min:3|max:255', - 'picture_title' => 'required|min:3|max:255', + 'seo_title' => 'required|min:3|max:70', + 'seo_description' => 'required|min:50|max:160', + 'name' => 'required|min:3|max:70', + 'slug' => 'unique_translation:concepts', + 'title' => 'required|min:3|max:70', + 'title_background_color' => ['required', new Enum(ColorsEnum::class)], + 'subtitle' => 'required|min:3|max:70', + 'description' => 'required|string|min:15', + 'data' => 'present|array', + 'data.*' => 'required|array', + 'picture_alt' => 'required|min:3|max:255', + 'picture_title' => 'required|min:3|max:255', ]; return \array_merge( parent::rules(), @@ -83,20 +79,18 @@ class StoreConceptRequest extends UpdateMiniCrudRequest public function attributes() { return [ - 'seo_title' => trans('titre') . ' seo', + 'seo_title' => trans('titre') . ' seo', 'seo_description' => trans('description') . ' seo', - - 'name' => trans('name of the concept'), - 'slug' => trans('slug of the concept'), - 'title' => trans('title of the concept'), - 'subtitle' => trans('subtitle of the concept'), - 'description' => trans('description of the concept'), - 'data' => trans('values of the data'), - 'data.*.value' => trans('value of the data'), - - 'picture' => trans('illustration'), - 'picture_alt' => trans('alt attribute of the image'), - 'picture_title' => trans('title attribute of the image'), + 'name' => trans('name of the concept'), + 'slug' => trans('slug of the concept'), + 'title' => trans('title of the concept'), + 'subtitle' => trans('subtitle of the concept'), + 'description' => trans('description of the concept'), + 'data' => trans('values of the data'), + 'data.*.value' => trans('value of the data'), + 'picture' => trans('illustration'), + 'picture_alt' => trans('alt attribute of the image'), + 'picture_title' => trans('title attribute of the image'), ]; } } diff --git a/app/Http/Requests/Bo/Concepts/UpdateConceptRequest.php b/app/Http/Requests/Bo/Concepts/UpdateConceptRequest.php index 2762d1ab..d6e31ebc 100644 --- a/app/Http/Requests/Bo/Concepts/UpdateConceptRequest.php +++ b/app/Http/Requests/Bo/Concepts/UpdateConceptRequest.php @@ -12,7 +12,7 @@ class UpdateConceptRequest extends StoreConceptRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ 'slug' => UniqueTranslationRule::for('concepts')->ignore($this->concept->id), diff --git a/app/Http/Requests/Bo/Homes/UpdateHomeRequest.php b/app/Http/Requests/Bo/Homes/UpdateHomeRequest.php index 625ba3e8..530b13e7 100644 --- a/app/Http/Requests/Bo/Homes/UpdateHomeRequest.php +++ b/app/Http/Requests/Bo/Homes/UpdateHomeRequest.php @@ -14,7 +14,7 @@ class UpdateHomeRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -24,7 +24,7 @@ class UpdateHomeRequest extends FormRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->mergePicture('part3_picture'); } @@ -34,28 +34,25 @@ class UpdateHomeRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ - 'seo_title' => 'required|min:3|max:70', - 'seo_description' => 'required|min:50|max:160', - - 'part1_title' => 'required|min:3|max:70', - 'part1_subtitle' => 'required|min:3|max:70', - 'part1_text_1' => 'required|string|min:15', - 'part1_text_2' => 'required|string|min:15', - 'part1_text_3' => 'required|string|min:15', - - 'part2_title' => 'required|min:3|max:70', - 'part2_subtitle' => 'required|min:3|max:70', - 'part2_text' => 'required|string|min:15', - 'part2_list' => 'present|array', - 'part2_list.*' => 'required|array', - 'part2_list.*.value' => 'required|string|min:3|max:255', - 'part2_product1_id' => 'required|exists:products,id', - 'part2_product2_id' => 'required|exists:products,id', - - 'part3_picture_alt' => 'required|min:3|max:255', + 'seo_title' => 'required|min:3|max:70', + 'seo_description' => 'required|min:50|max:160', + 'part1_title' => 'required|min:3|max:70', + 'part1_subtitle' => 'required|min:3|max:70', + 'part1_text_1' => 'required|string|min:15', + 'part1_text_2' => 'required|string|min:15', + 'part1_text_3' => 'required|string|min:15', + 'part2_title' => 'required|min:3|max:70', + 'part2_subtitle' => 'required|min:3|max:70', + 'part2_text' => 'required|string|min:15', + 'part2_list' => 'present|array', + 'part2_list.*' => 'required|array', + 'part2_list.*.value' => 'required|string|min:3|max:255', + 'part2_product1_id' => 'required|exists:products,id', + 'part2_product2_id' => 'required|exists:products,id', + 'part3_picture_alt' => 'required|min:3|max:255', 'part3_picture_title' => 'required|min:3|max:255', ]; return \array_merge( @@ -69,28 +66,25 @@ class UpdateHomeRequest extends FormRequest * * @return array */ - public function attributes() + public function attributes(): array { return [ - 'seo_title' => trans('titre') . ' seo', - 'seo_description' => trans('description') . ' seo', - - 'part1_title' => trans('title part.1'), - 'part1_subtitle' => trans('subtitle part.1'), - 'part1_text_1' => trans('text 1 part.1'), - 'part1_text_2' => trans('text 2 part.1'), - 'part1_text_3' => trans('text 3 part.1'), - - 'part2_title' => trans('title part.2'), - 'part2_subtitle' => trans('subtitle part.2'), - 'part2_text' => trans('text part.2'), - 'part2_list' => trans('values of the list part.2'), - 'part2_list.*.value' => trans('value of the list part.2'), - 'part2_product1_id' => trans('value of the first product part.2'), - 'part2_product2_id' => trans('value of the second product part.2'), - - 'part3_picture' => trans('illustration'), - 'part3_picture_alt' => trans('alt attribute of the image'), + 'seo_title' => trans('titre') . ' seo', + 'seo_description' => trans('description') . ' seo', + 'part1_title' => trans('title part.1'), + 'part1_subtitle' => trans('subtitle part.1'), + 'part1_text_1' => trans('text 1 part.1'), + 'part1_text_2' => trans('text 2 part.1'), + 'part1_text_3' => trans('text 3 part.1'), + 'part2_title' => trans('title part.2'), + 'part2_subtitle' => trans('subtitle part.2'), + 'part2_text' => trans('text part.2'), + 'part2_list' => trans('values of the list part.2'), + 'part2_list.*.value' => trans('value of the list part.2'), + 'part2_product1_id' => trans('value of the first product part.2'), + 'part2_product2_id' => trans('value of the second product part.2'), + 'part3_picture' => trans('illustration'), + 'part3_picture_alt' => trans('alt attribute of the image'), 'part3_picture_title' => trans('title attribute of the image'), ]; } diff --git a/app/Http/Requests/Bo/News/StoreNewsRequest.php b/app/Http/Requests/Bo/News/StoreNewsRequest.php index 4e0095bd..e4ad88ba 100644 --- a/app/Http/Requests/Bo/News/StoreNewsRequest.php +++ b/app/Http/Requests/Bo/News/StoreNewsRequest.php @@ -19,7 +19,7 @@ class StoreNewsRequest extends UpdateMiniCrudRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -29,14 +29,14 @@ class StoreNewsRequest extends UpdateMiniCrudRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->merge([ - 'slug' => Str::slug(strip_tags($this->input('name'))), - 'status' => $this->boolean('status'), - 'publish_at' => $this->date('publish_at'), + 'slug' => Str::slug(strip_tags($this->input('name'))), + 'status' => $this->boolean('status'), + 'publish_at' => $this->date('publish_at'), 'unpublish_at' => $this->date('unpublish_at'), - 'locales' => \collect($this->input('locales'))->filter()->unique()->all() + 'locales' => \collect($this->input('locales'))->filter()->unique()->all() ]); } @@ -45,25 +45,26 @@ class StoreNewsRequest extends UpdateMiniCrudRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ - 'seo_title' => 'required|min:3|max:70', - 'seo_description' => 'required|min:50|max:160', - - 'slug' => 'unique_translation:news', - 'title' => 'required|min:3|max:70', - 'subtitle' => 'required|min:3|max:70', - 'content' => 'required|string|min:15', - 'locales' => 'required|array', - 'locales.*' => ['required', \sprintf('in:%s', \implode(',', \config('app.locales')))], - 'data' => 'present|array', - 'data.*' => 'required|array', + 'seo_title' => 'required|min:3|max:70', + 'seo_description' => 'required|min:50|max:160', + 'slug' => 'unique_translation:news', + 'title' => 'required|min:3|max:70', + 'subtitle' => 'required|min:3|max:70', + 'content' => 'required|string|min:15', + 'locales' => 'required|array', + 'locales.*' => [ + 'required', + \sprintf('in:%s', \implode(',', \config('app.locales'))) + ], + 'data' => 'present|array', + 'data.*' => 'required|array', 'data.bloc_1_display_picture.value' => 'required|accepted', - - 'status' => 'required|boolean', - 'publish_at' => 'required|date', - 'unpublish_at' => 'sometimes|nullable|date' + 'status' => 'required|boolean', + 'publish_at' => 'required|date', + 'unpublish_at' => 'sometimes|nullable|date' ]; return \array_merge( parent::rules(), @@ -76,17 +77,17 @@ class StoreNewsRequest extends UpdateMiniCrudRequest * * @return array */ - public function attributes() + public function attributes(): array { return [ - 'seo_title' => trans('titre') . ' seo', - 'seo_description' => trans('description') . ' seo', - - 'slug' => trans('slug of the news'), - 'subtitle' => trans('subtitle of the news'), - 'content' => trans('content of the news'), - 'data' => trans('values of the data'), - 'data.*.value' => trans('value of the data'), + 'seo_title' => trans('titre') . ' seo', + 'seo_description' => trans('description') . ' seo', + 'slug' => trans('slug of the news'), + 'title' => trans('title of the news'), + 'subtitle' => trans('subtitle of the news'), + 'content' => trans('content of the news'), + 'data' => trans('values of the data'), + 'data.*.value' => trans('value of the data'), 'data.bloc_1_display_picture.value' => trans('visibility of the first picture') ]; } diff --git a/app/Http/Requests/Bo/News/UpdateNewsRequest.php b/app/Http/Requests/Bo/News/UpdateNewsRequest.php index 2ab8d5cf..42b98d19 100644 --- a/app/Http/Requests/Bo/News/UpdateNewsRequest.php +++ b/app/Http/Requests/Bo/News/UpdateNewsRequest.php @@ -12,7 +12,7 @@ class UpdateNewsRequest extends StoreNewsRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ 'slug' => UniqueTranslationRule::for('news')->ignore($this->news->id), diff --git a/app/Http/Requests/Bo/Products/StoreProductRequest.php b/app/Http/Requests/Bo/Products/StoreProductRequest.php index 23fd16ad..ecd7cbad 100644 --- a/app/Http/Requests/Bo/Products/StoreProductRequest.php +++ b/app/Http/Requests/Bo/Products/StoreProductRequest.php @@ -15,7 +15,7 @@ class StoreProductRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -25,14 +25,14 @@ class StoreProductRequest extends FormRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->merge([ - 'slug' => Str::slug(strip_tags($this->input('label'))), - 'status' => $this->boolean('status'), - 'list' => $this->input('list') ?? [], + 'slug' => Str::slug(strip_tags($this->input('label'))), + 'status' => $this->boolean('status'), + 'list' => $this->input('list') ?? [], 'nutritionnal_values' => $this->input('nutritionnal_values') ?? [], - 'certifications' => \collect($this->input('certifications'))->all(), + 'certifications' => \collect($this->input('certifications'))->all(), ]); $this->mergePicture('picture'); } @@ -42,22 +42,22 @@ class StoreProductRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ - 'seo_title' => 'required|min:3|max:70', - 'seo_description' => 'required|min:50|max:160', - 'label' => 'required|min:3|max:255', - 'slug' => 'unique_translation:products', - 'description' => 'required|string|min:15', - 'marinade' => 'nullable|string|min:15', - 'picture_alt' => 'required|min:3|max:255', - 'picture_title' => 'required|min:3|max:255', - 'picture_arrow_alt' => 'required_with:picture_arrow|min:3|max:255', - 'picture_arrow_title' => 'required_with:picture_arrow|min:3|max:255', - 'certifications' => 'present|array', - 'certifications.*' => 'required|integer', - 'list' => [ + 'seo_title' => 'required|min:3|max:70', + 'seo_description' => 'required|min:50|max:160', + 'label' => 'required|min:3|max:255', + 'slug' => 'unique_translation:products', + 'description' => 'required|string|min:15', + 'marinade' => 'nullable|string|min:15', + 'picture_alt' => 'required|min:3|max:255', + 'picture_title' => 'required|min:3|max:255', + 'picture_arrow_alt' => 'required_with:picture_arrow|min:3|max:255', + 'picture_arrow_title' => 'required_with:picture_arrow|min:3|max:255', + 'certifications' => 'present|array', + 'certifications.*' => 'required|integer', + 'list' => [ // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed 'present', 'array', function ($attribute, array $value, $fail) { if (1 > count($value)) { @@ -65,9 +65,9 @@ class StoreProductRequest extends FormRequest } } ], - 'list.*' => 'required|array', - 'list.*.value' => 'nullable|string|min:3|max:255', - 'nutritionnal_values' => [ + 'list.*' => 'required|array', + 'list.*.value' => 'nullable|string|min:3|max:255', + 'nutritionnal_values' => [ // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed 'present', 'array', function ($attribute, array $value, $fail) { if (1 > count($value)) { @@ -75,11 +75,11 @@ class StoreProductRequest extends FormRequest } } ], - 'nutritionnal_values.*' => 'required|array', + 'nutritionnal_values.*' => 'required|array', 'nutritionnal_values.*.label' => 'nullable|string|min:3|max:255', 'nutritionnal_values.*.value' => 'nullable|string|min:1|max:255', - 'range_id' => 'required|exists:ranges,id', - 'status' => 'required|boolean' + 'range_id' => 'required|exists:ranges,id', + 'status' => 'required|boolean' ]; return \array_merge( $rules, @@ -96,25 +96,25 @@ class StoreProductRequest extends FormRequest public function attributes(): array { return [ - 'seo_title' => trans('title') . ' seo', - 'seo_description' => trans('description') . ' seo', - 'label' => trans('label'), - 'slug' => trans('slug'), - 'description' => trans('description'), - 'marinade' => trans('marinade'), - 'picture_alt' => trans('picture_alt'), - 'picture_title' => trans('picture_title'), - 'picture_arrow' => trans('picture_arrow'), - 'picture_arrow_alt' => trans('picture_arrow_alt'), - 'picture_arrow_title' => trans('picture_arrow_title'), - 'certifications' => trans('certifications'), - 'certifications.*' => trans('value(s) of certifications'), - 'list' => trans('list'), - 'nutritionnal_values' => trans('nutritionnal_values'), + 'seo_title' => trans('title') . ' seo', + 'seo_description' => trans('description') . ' seo', + 'label' => trans('label'), + 'slug' => trans('slug'), + 'description' => trans('description'), + 'marinade' => trans('marinade'), + 'picture_alt' => trans('picture_alt'), + 'picture_title' => trans('picture_title'), + 'picture_arrow' => trans('picture_arrow'), + 'picture_arrow_alt' => trans('picture_arrow_alt'), + 'picture_arrow_title' => trans('picture_arrow_title'), + 'certifications' => trans('certifications'), + 'certifications.*' => trans('value(s) of certifications'), + 'list' => trans('list'), + 'nutritionnal_values' => trans('nutritionnal_values'), 'nutritionnal_values.*.label' => trans('label(s) of nutritionnal_values'), 'nutritionnal_values.*.value' => trans('value(s) of nutritionnal_values'), - 'range_id' => trans('range'), - 'status' => trans('publish'), + 'range_id' => trans('range'), + 'status' => trans('publish'), ]; } } diff --git a/app/Http/Requests/Bo/Products/UpdateProductRequest.php b/app/Http/Requests/Bo/Products/UpdateProductRequest.php index be514506..c59ef2f6 100644 --- a/app/Http/Requests/Bo/Products/UpdateProductRequest.php +++ b/app/Http/Requests/Bo/Products/UpdateProductRequest.php @@ -11,7 +11,7 @@ class UpdateProductRequest extends StoreProductRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ 'seo_title' => 'required|min:3|max:70', diff --git a/app/Http/Requests/Bo/Ranges/StoreRangeRequest.php b/app/Http/Requests/Bo/Ranges/StoreRangeRequest.php index 975a2a63..0777c6fd 100644 --- a/app/Http/Requests/Bo/Ranges/StoreRangeRequest.php +++ b/app/Http/Requests/Bo/Ranges/StoreRangeRequest.php @@ -17,7 +17,7 @@ class StoreRangeRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -27,10 +27,10 @@ class StoreRangeRequest extends FormRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->merge([ - 'slug' => Str::slug(strip_tags($this->input('label'))), + 'slug' => Str::slug(strip_tags($this->input('label'))), 'status' => $this->boolean('status'), ]); } @@ -40,15 +40,15 @@ class StoreRangeRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { return [ - 'seo_title' => 'required|min:3|max:70', + 'seo_title' => 'required|min:3|max:70', 'seo_description' => 'required|min:50|max:160', - 'label' => 'required|min:3|max:255', - 'slug' => 'unique_translation:ranges', - 'picto' => [new Enum(PictoEnum::class)], - 'status' => 'required|boolean' + 'label' => 'required|min:3|max:255', + 'slug' => 'unique_translation:ranges', + 'picto' => [new Enum(PictoEnum::class)], + 'status' => 'required|boolean' ]; } @@ -60,12 +60,12 @@ class StoreRangeRequest extends FormRequest public function attributes(): array { return [ - 'seo_title' => trans('title') . ' seo', + 'seo_title' => trans('title') . ' seo', 'seo_description' => trans('description') . ' seo', - 'label' => trans('label'), - 'picto' => trans('picto'), - 'slug' => trans('slug'), - 'status' => trans('publish') + 'label' => trans('label'), + 'picto' => trans('picto'), + 'slug' => trans('slug'), + 'status' => trans('publish') ]; } } diff --git a/app/Http/Requests/Bo/Ranges/UpdateRangeRequest.php b/app/Http/Requests/Bo/Ranges/UpdateRangeRequest.php index 2ecb9038..496b8844 100644 --- a/app/Http/Requests/Bo/Ranges/UpdateRangeRequest.php +++ b/app/Http/Requests/Bo/Ranges/UpdateRangeRequest.php @@ -2,9 +2,7 @@ namespace App\Http\Requests\Bo\Ranges; -use App\Enums\Ranges\PictoEnum; use CodeZero\UniqueTranslation\UniqueTranslationRule; -use Illuminate\Validation\Rules\Enum; class UpdateRangeRequest extends StoreRangeRequest { @@ -13,15 +11,14 @@ class UpdateRangeRequest extends StoreRangeRequest * * @return array */ - public function rules() + public function rules(): array { - return [ - 'seo_title' => 'required|min:3|max:70', - 'seo_description' => 'required|min:50|max:160', - 'label' => 'required|min:3|max:255', + $rules = [ 'slug' => UniqueTranslationRule::for('ranges')->ignore($this->range->id), - 'picto' => [new Enum(PictoEnum::class)], - 'status' => 'required|boolean' ]; + return \array_merge( + parent::rules(), + $rules, + ); } } diff --git a/app/Http/Requests/Bo/Recipes/StoreRecipeRequest.php b/app/Http/Requests/Bo/Recipes/StoreRecipeRequest.php index c00e6462..321be37a 100644 --- a/app/Http/Requests/Bo/Recipes/StoreRecipeRequest.php +++ b/app/Http/Requests/Bo/Recipes/StoreRecipeRequest.php @@ -17,7 +17,7 @@ class StoreRecipeRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -27,10 +27,10 @@ class StoreRecipeRequest extends FormRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->merge([ - 'slug' => Str::slug(strip_tags($this->input('name'))), + 'slug' => Str::slug(strip_tags($this->input('name'))), 'status' => $this->boolean('status'), ]); $this->mergePicture('picture'); @@ -42,18 +42,18 @@ class StoreRecipeRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ - 'seo_title' => 'required|min:3|max:70', - 'seo_description' => 'required|min:50|max:160', - 'name' => 'required|min:3|max:255', - 'slug' => 'unique_translation:recipes', - 'picture_alt' => 'required|min:3|max:255', - 'picture_title' => 'required|min:3|max:255', - 'picture_thumbnail_alt' => 'required|min:3|max:255', + 'seo_title' => 'required|min:3|max:70', + 'seo_description' => 'required|min:50|max:160', + 'name' => 'required|min:3|max:255', + 'slug' => 'unique_translation:recipes', + 'picture_alt' => 'required|min:3|max:255', + 'picture_title' => 'required|min:3|max:255', + 'picture_thumbnail_alt' => 'required|min:3|max:255', 'picture_thumbnail_title' => 'required|min:3|max:255', - 'ingredients' => [ + 'ingredients' => [ // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed 'present', 'array', function ($attribute, array $value, $fail) { if (1 > count($value)) { @@ -61,16 +61,16 @@ class StoreRecipeRequest extends FormRequest } } ], - 'ingredients.*' => 'nullable|array', - 'ingredients.*.header' => 'nullable|string|min:2|max:255', - 'ingredients.*.value' => 'string|min:2|max:255', - 'teaser' => 'required|min:50|max:160', - 'steps' => 'required|string|min:15', - 'difficulty' => [new Enum(DifficultyEnum::class)], - 'duration' => 'required|string|min:1|max:150', - 'tips' => 'nullable|string|min:15', - 'range_id' => 'required|exists:ranges,id', - 'status' => 'required|boolean' + 'ingredients.*' => 'nullable|array', + 'ingredients.*.header' => 'nullable|string|min:2|max:255', + 'ingredients.*.value' => 'string|min:2|max:255', + 'teaser' => 'required|min:50|max:160', + 'steps' => 'required|string|min:15', + 'difficulty' => [new Enum(DifficultyEnum::class)], + 'duration' => 'required|string|min:1|max:150', + 'tips' => 'nullable|string|min:15', + 'range_id' => 'required|exists:ranges,id', + 'status' => 'required|boolean' ]; return \array_merge( $rules, @@ -87,21 +87,21 @@ class StoreRecipeRequest extends FormRequest public function attributes(): array { return [ - 'seo_title' => trans('title') . ' seo', - 'seo_description' => trans('description') . ' seo', - 'name' => trans('name'), - 'slug' => trans('slug'), - 'ingredients' => trans('ingredients'), + 'seo_title' => trans('title') . ' seo', + 'seo_description' => trans('description') . ' seo', + 'name' => trans('name'), + 'slug' => trans('slug'), + 'ingredients' => trans('ingredients'), 'ingredients.*.header' => trans('header in the list of ingredients'), - 'ingredients.*.label' => trans('value of ingredients'), - 'ingredients.*.value' => trans('value of ingredients'), - 'teaser' => trans('teaser'), - 'steps' => trans('steps'), - 'difficulty' => trans('difficulty'), - 'duration' => trans('duration'), - 'tips' => trans('tips'), - 'range_id' => trans('range'), - 'status' => trans('publish') + 'ingredients.*.label' => trans('value of ingredients'), + 'ingredients.*.value' => trans('value of ingredients'), + 'teaser' => trans('teaser'), + 'steps' => trans('steps'), + 'difficulty' => trans('difficulty'), + 'duration' => trans('duration'), + 'tips' => trans('tips'), + 'range_id' => trans('range'), + 'status' => trans('publish') ]; } } diff --git a/app/Http/Requests/Bo/Recipes/UpdateRecipeRequest.php b/app/Http/Requests/Bo/Recipes/UpdateRecipeRequest.php index 1f6490be..8c78c038 100644 --- a/app/Http/Requests/Bo/Recipes/UpdateRecipeRequest.php +++ b/app/Http/Requests/Bo/Recipes/UpdateRecipeRequest.php @@ -11,7 +11,7 @@ class UpdateRecipeRequest extends StoreRecipeRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ 'slug' => UniqueTranslationRule::for('recipes')->ignore($this->recipe->id) @@ -19,8 +19,6 @@ class UpdateRecipeRequest extends StoreRecipeRequest return \array_merge( parent::rules(), $rules, - $this->pictureRules('picture', 1600, 900, 1600, 900, true), - $this->pictureRules('picture_thumbnail', 430, 242, 430, 242, true), ); } } diff --git a/app/Http/Requests/Bo/Sliders/StoreSliderRequest.php b/app/Http/Requests/Bo/Sliders/StoreSliderRequest.php index f6ce79bd..a1ca8ce7 100644 --- a/app/Http/Requests/Bo/Sliders/StoreSliderRequest.php +++ b/app/Http/Requests/Bo/Sliders/StoreSliderRequest.php @@ -23,7 +23,7 @@ class StoreSliderRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -33,16 +33,16 @@ class StoreSliderRequest extends FormRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->merge([ 'link_new_tab' => $this->boolean('link_new_tab'), - 'status' => $this->boolean('status'), - 'publish_at' => $this->input('publish_at') ? \str_replace('T', ' ', $this->input('publish_at')) : null, + 'status' => $this->boolean('status'), + 'publish_at' => $this->input('publish_at') ? \str_replace('T', ' ', $this->input('publish_at')) : null, 'unpublish_at' => $this->input('unpublish_at') ? \str_replace('T', ' ', $this->input('unpublish_at')) : null, - 'locales' => \collect($this->input('locales'))->filter()->unique()->all() + 'locales' => \collect($this->input('locales'))->filter()->unique()->all() ]); $this->mergePicture('picture'); } @@ -52,23 +52,23 @@ class StoreSliderRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ - 'type' => [new Enum(TypeEnum::class)], - 'title' => 'required|min:3|max:70', - 'subtitle' => 'required|min:3|max:70', - 'description' => 'required|string|min:15', - 'link' => 'required|url', - 'link_title' => 'required|min:3|max:255', - 'link_new_tab' => 'required|boolean', - 'picture_alt' => 'required|min:3|max:255', + 'type' => [new Enum(TypeEnum::class)], + 'title' => 'required|min:3|max:70', + 'subtitle' => 'required|min:3|max:70', + 'description' => 'required|string|min:15', + 'link' => 'required|url', + 'link_title' => 'required|min:3|max:255', + 'link_new_tab' => 'required|boolean', + 'picture_alt' => 'required|min:3|max:255', 'picture_title' => 'required|min:3|max:255', - 'status' => 'required|boolean', - 'locales' => 'required|array', - 'locales.*' => ['required', \sprintf('in:%s', \implode(',', \config('app.locales')))], - 'publish_at' => 'sometimes|nullable|date', - 'unpublish_at' => 'sometimes|nullable|date' + 'status' => 'required|boolean', + 'locales' => 'required|array', + 'locales.*' => ['required', \sprintf('in:%s', \implode(',', \config('app.locales')))], + 'publish_at' => 'sometimes|nullable|date', + 'unpublish_at' => 'sometimes|nullable|date' ]; return \array_merge( $rules, @@ -81,20 +81,20 @@ class StoreSliderRequest extends FormRequest * * @return array */ - public function attributes() + public function attributes(): array { return [ - 'type' => trans('type of slider'), - 'title' => trans('title of the slide'), - 'subtitle' => trans('subtitle of the slide'), - 'description' => trans('description of the slide'), - 'link' => trans('link of the slide'), - 'link_title' => trans('title of link'), - 'link_new_tab' => trans('open the link in the new tab'), - 'picture' => trans('illustration'), - 'picture_alt' => trans('alt attribute of the image'), + 'type' => trans('type of slider'), + 'title' => trans('title of the slide'), + 'subtitle' => trans('subtitle of the slide'), + 'description' => trans('description of the slide'), + 'link' => trans('link of the slide'), + 'link_title' => trans('title of link'), + 'link_new_tab' => trans('open the link in the new tab'), + 'picture' => trans('illustration'), + 'picture_alt' => trans('alt attribute of the image'), 'picture_title' => trans('title attribute of the image'), - 'status' => trans('status of the slide'), + 'status' => trans('status of the slide'), ]; } } diff --git a/app/Http/Requests/Bo/StaticPages/UpdateStaticPageRequest.php b/app/Http/Requests/Bo/StaticPages/UpdateStaticPageRequest.php index a309bc42..9d880008 100644 --- a/app/Http/Requests/Bo/StaticPages/UpdateStaticPageRequest.php +++ b/app/Http/Requests/Bo/StaticPages/UpdateStaticPageRequest.php @@ -26,7 +26,7 @@ class UpdateStaticPageRequest extends FormRequest public function prepareForValidation(): void { $this->merge([ - 'content' => (string)Str::of($this->input('content')) + 'content' => (string) Str::of($this->input('content')) ]); } diff --git a/app/Http/Requests/Bo/StoreGroups/StoreStoreGroupRequest.php b/app/Http/Requests/Bo/StoreGroups/StoreStoreGroupRequest.php index c8d17e5e..280bae01 100644 --- a/app/Http/Requests/Bo/StoreGroups/StoreStoreGroupRequest.php +++ b/app/Http/Requests/Bo/StoreGroups/StoreStoreGroupRequest.php @@ -14,7 +14,7 @@ class StoreStoreGroupRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -24,7 +24,7 @@ class StoreStoreGroupRequest extends FormRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->mergePicture('picture'); } @@ -34,7 +34,7 @@ class StoreStoreGroupRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ 'name' => 'required|min:3|max:255', @@ -50,7 +50,7 @@ class StoreStoreGroupRequest extends FormRequest * * @return array */ - public function attributes() + public function attributes(): array { return [ 'name' => trans('name'), diff --git a/app/Http/Requests/Bo/StoreGroups/UpdateStoreGroupRequest.php b/app/Http/Requests/Bo/StoreGroups/UpdateStoreGroupRequest.php index 328485b5..5e07a78e 100644 --- a/app/Http/Requests/Bo/StoreGroups/UpdateStoreGroupRequest.php +++ b/app/Http/Requests/Bo/StoreGroups/UpdateStoreGroupRequest.php @@ -12,7 +12,7 @@ class UpdateStoreGroupRequest extends StoreStoreGroupRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ 'name' => [ diff --git a/app/Http/Requests/Bo/StoreRegions/StoreStoreRegionRequest.php b/app/Http/Requests/Bo/StoreRegions/StoreStoreRegionRequest.php index 3f070a43..c0789931 100644 --- a/app/Http/Requests/Bo/StoreRegions/StoreStoreRegionRequest.php +++ b/app/Http/Requests/Bo/StoreRegions/StoreStoreRegionRequest.php @@ -14,7 +14,7 @@ class StoreStoreRegionRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -24,7 +24,7 @@ class StoreStoreRegionRequest extends FormRequest * * @return void */ - protected function prepareForValidation() + protected function prepareForValidation(): void { $this->mergePicture('picture'); } @@ -34,10 +34,10 @@ class StoreStoreRegionRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ - 'name' => 'required|min:3|max:255', + 'name' => 'required|min:3|max:255', 'group_id' => 'required|exists:store_groups,id', ]; return \array_merge( @@ -51,10 +51,10 @@ class StoreStoreRegionRequest extends FormRequest * * @return array */ - public function attributes() + public function attributes(): array { return [ - 'name' => trans('name'), + 'name' => trans('name'), 'group_id' => trans('group'), ]; } diff --git a/app/Http/Requests/Bo/StoreRegions/UpdateStoreRegionRequest.php b/app/Http/Requests/Bo/StoreRegions/UpdateStoreRegionRequest.php index e16af9bf..9011d84d 100644 --- a/app/Http/Requests/Bo/StoreRegions/UpdateStoreRegionRequest.php +++ b/app/Http/Requests/Bo/StoreRegions/UpdateStoreRegionRequest.php @@ -12,7 +12,7 @@ class UpdateStoreRegionRequest extends StoreStoreRegionRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ 'name' => [ diff --git a/app/Http/Requests/Bo/StoreTypes/StoreStoreTypeRequest.php b/app/Http/Requests/Bo/StoreTypes/StoreStoreTypeRequest.php index a819e571..4bbaa4b7 100644 --- a/app/Http/Requests/Bo/StoreTypes/StoreStoreTypeRequest.php +++ b/app/Http/Requests/Bo/StoreTypes/StoreStoreTypeRequest.php @@ -11,7 +11,7 @@ class StoreStoreTypeRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -21,7 +21,7 @@ class StoreStoreTypeRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ 'name' => 'required|min:3|max:255', @@ -36,7 +36,7 @@ class StoreStoreTypeRequest extends FormRequest * * @return array */ - public function attributes() + public function attributes(): array { return [ 'name' => trans('name'), diff --git a/app/Http/Requests/Bo/StoreTypes/UpdateStoreTypeRequest.php b/app/Http/Requests/Bo/StoreTypes/UpdateStoreTypeRequest.php index 9f7c6f88..daab39d5 100644 --- a/app/Http/Requests/Bo/StoreTypes/UpdateStoreTypeRequest.php +++ b/app/Http/Requests/Bo/StoreTypes/UpdateStoreTypeRequest.php @@ -12,7 +12,7 @@ class UpdateStoreTypeRequest extends StoreStoreTypeRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ 'name' => [ diff --git a/app/Http/Requests/Bo/Stores/StoreStoreRequest.php b/app/Http/Requests/Bo/Stores/StoreStoreRequest.php index d4a5d702..c8b5bf90 100644 --- a/app/Http/Requests/Bo/Stores/StoreStoreRequest.php +++ b/app/Http/Requests/Bo/Stores/StoreStoreRequest.php @@ -14,7 +14,7 @@ class StoreStoreRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -24,15 +24,15 @@ class StoreStoreRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { $rules = [ - 'state' => 'required|min:3|max:255', - 'type_id' => 'required|exists:store_types,id', - 'street' => 'required|min:3|max:255', - 'zipcode' => 'required|min:0|max:5', - 'city' => 'required|min:3|max:255', - 'latitude' => 'required|between:-90,90|decimal:0,8', + 'state' => 'required|min:3|max:255', + 'type_id' => 'required|exists:store_types,id', + 'street' => 'required|min:3|max:255', + 'zipcode' => 'required|min:0|max:5', + 'city' => 'required|min:3|max:255', + 'latitude' => 'required|between:-90,90|decimal:0,8', 'longitude' => 'required|between:-180,180|decimal:0,8', 'region_id' => 'required|exists:store_regions,id', ]; @@ -46,15 +46,15 @@ class StoreStoreRequest extends FormRequest * * @return array */ - public function attributes() + public function attributes(): array { return [ - 'state' => trans('State'), - 'type_id' => trans('Type'), - 'street' => trans('Street'), - 'zipcode' => trans('Zipcode'), - 'city' => trans('City'), - 'latitude' => trans('Latitude'), + 'state' => trans('State'), + 'type_id' => trans('Type'), + 'street' => trans('Street'), + 'zipcode' => trans('Zipcode'), + 'city' => trans('City'), + 'latitude' => trans('Latitude'), 'longitude' => trans('Longitude'), 'region_id' => trans('Region'), ]; diff --git a/app/Http/Requests/Bo/UpdateMiniCrudRequest.php b/app/Http/Requests/Bo/UpdateMiniCrudRequest.php index 32917970..d372576f 100644 --- a/app/Http/Requests/Bo/UpdateMiniCrudRequest.php +++ b/app/Http/Requests/Bo/UpdateMiniCrudRequest.php @@ -23,7 +23,7 @@ abstract class UpdateMiniCrudRequest extends FormRequest * * @return boolean */ - public function authorize() + public function authorize(): bool { return auth('backend')->check(); } @@ -36,7 +36,7 @@ abstract class UpdateMiniCrudRequest extends FormRequest * @phpcs:disable Generic.Metrics.NestingLevel.TooHigh * @phpcs:disable Generic.Metrics.CyclomaticComplexity.MaxExceeded */ - public function rules() + public function rules(): array { // phpcs:enable $rules = []; @@ -112,11 +112,11 @@ abstract class UpdateMiniCrudRequest extends FormRequest }) : $input['dimensions']; // * Adapt dimensions - $sizes = (object)[ + $sizes = (object) [ 'minHeight' => $dim['height'], 'maxHeight' => $dim['height'], - 'minWith' => $dim['width'], - 'maxWith' => $dim['width'], + 'minWith' => $dim['width'], + 'maxWith' => $dim['width'], ]; $rules = array_merge($rules, [ "data.$iptName.value" => $this->compileValidate( diff --git a/app/Http/Requests/Fo/ContactRequest.php b/app/Http/Requests/Fo/ContactRequest.php index 6324c8ea..d0f5748d 100644 --- a/app/Http/Requests/Fo/ContactRequest.php +++ b/app/Http/Requests/Fo/ContactRequest.php @@ -26,10 +26,10 @@ class ContactRequest extends FormRequest public function rules(): array { return [ - 'first_name' => 'required|min:1', - 'last_name' => 'required|min:1', - 'email' => 'required|email:rfc,spoof,dns,strict', - 'message' => 'required|string|min:10', + 'first_name' => 'required|min:1', + 'last_name' => 'required|min:1', + 'email' => 'required|email:rfc,spoof,dns,strict', + 'message' => 'required|string|min:10', // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed 'g-recaptcha-response' => function (string $attribute, mixed $value, \Closure $fail) { try { diff --git a/app/Http/Resources/StoreFinderResource.php b/app/Http/Resources/StoreFinderResource.php index 6a2a7126..af400a6d 100644 --- a/app/Http/Resources/StoreFinderResource.php +++ b/app/Http/Resources/StoreFinderResource.php @@ -19,14 +19,14 @@ class StoreFinderResource extends ResourceCollection { // phpcs:enable return $this->collection->map(fn (Store $store) => [ - 'name' => $store->storeRegion->storeGroup->name, - 'type' => $store->storeType->name, - 'street' => $store->street, - 'zipcode' => $store->zipcode, - 'city' => $store->city, - 'latitude' => $store->latitude, + 'name' => $store->storeRegion->storeGroup->name, + 'type' => $store->storeType->name, + 'street' => $store->street, + 'zipcode' => $store->zipcode, + 'city' => $store->city, + 'latitude' => $store->latitude, 'longitude' => $store->longitude, - 'picture' => $store->storeRegion->storeGroup->picture, + 'picture' => $store->storeRegion->storeGroup->picture, ])->all(); } } diff --git a/app/Interfaces/Models/Publishable.php b/app/Interfaces/Models/Publishable.php index 0e063bc1..30cd2cf7 100644 --- a/app/Interfaces/Models/Publishable.php +++ b/app/Interfaces/Models/Publishable.php @@ -4,10 +4,48 @@ namespace App\Interfaces\Models; interface Publishable { + /** + * Get status attribute. + * + * @return boolean + */ public function getStatus(): bool; + + /** + * Set status attribute. + * + * @param boolean $status + * @return void + */ public function setStatus(bool $status): void; + + /** + * Get publish_at attribute. + * + * @return \Carbon\Carbon|null + */ public function getPublishAt(): ?\Carbon\Carbon; + + /** + * Set publish_at attribute. + * + * @param \Carbon\Carbon|null $date + * @return void + */ public function setPublishAt(?\Carbon\Carbon $date): void; + + /** + * Get unpublish_at attribute. + * + * @return \Carbon\Carbon|null + */ public function getUnpublishAt(): ?\Carbon\Carbon; + + /** + * Set unpublish_at attribute. + * + * @param \Carbon\Carbon|null $date + * @return void + */ public function setUnpublishAt(?\Carbon\Carbon $date): void; } diff --git a/app/Jobs/NewsStatusUpdate.php b/app/Jobs/NewsStatusUpdate.php index ff779196..1d97a11d 100644 --- a/app/Jobs/NewsStatusUpdate.php +++ b/app/Jobs/NewsStatusUpdate.php @@ -24,7 +24,7 @@ class NewsStatusUpdate ->where('status', false)->get(); Log::debug(__CLASS__ . " news to publish " . $newsListToPublish->count()); foreach ($newsListToPublish as $news) { - $news->status = true; + $news->status = true; $news->saveOrFail(); } /** @var \Illuminate\Database\Eloquent\Collection */ @@ -32,7 +32,7 @@ class NewsStatusUpdate ->where('status', true)->get(); Log::debug(__CLASS__ . " news to unpublish " . $newsListToPublish->count()); foreach ($newsListToUnPublish as $news) { - $news->status = false; + $news->status = false; $news->saveOrFail(); } } diff --git a/app/Lib/Helpers/ToolboxHelper.php b/app/Lib/Helpers/ToolboxHelper.php index e3d03bae..903f980d 100644 --- a/app/Lib/Helpers/ToolboxHelper.php +++ b/app/Lib/Helpers/ToolboxHelper.php @@ -402,7 +402,7 @@ class ToolboxHelper if (!(is_object($input) or is_array($input))) { throw new \RuntimeException('Cannot handle $input of type ' . \gettype($input)); } - $ret = (array)$input; + $ret = (array) $input; foreach ($ret as &$item) { // Recursively process EACH element only if not scalar. $item = (is_object($item) or is_array($item)) ? @@ -425,7 +425,7 @@ class ToolboxHelper if (!(is_object($input) or is_array($input))) { throw new \RuntimeException('Cannot handle $input of type ' . \gettype($input)); } - $ret = (object)$input; + $ret = (object) $input; foreach ($ret as &$item) { // Recursively process EACH element only if not scalar. $item = (is_object($item) or is_array($item)) ? diff --git a/app/Models/News.php b/app/Models/News.php index 9f5e161d..b09aca7c 100644 --- a/app/Models/News.php +++ b/app/Models/News.php @@ -63,8 +63,11 @@ class News extends Model implements SeoInterface, Publishable * @var array */ protected $casts = [ - 'data' => 'object', - 'locales' => 'array', + 'data' => 'object', + 'locales' => 'array', + 'status' => 'bool', + 'publish_at' => 'datetime', + 'unpublish_at' => 'datetime' ]; /** @@ -139,8 +142,8 @@ class News extends Model implements SeoInterface, Publishable case InputType::text->value: FileStorageHelper::removeModelFilesOfHtml($input['text']); break; - } //end switch - } //end foreach + } + } } /** @@ -156,11 +159,11 @@ class News extends Model implements SeoInterface, Publishable ->groupBy(fn($value, $key) => \collect(\explode('_', $key))->take(2)->implode('_')) ->filter(fn(Collection $blocks) => \collect($blocks->first())->get('value')) ->map(function (Collection $blocks) { - $pictureBlock = (object)$blocks->last(); - return (object)[ + $pictureBlock = (object) $blocks->last(); + return (object) [ 'value' => $pictureBlock->value, 'title' => $pictureBlock->title, - 'alt' => $pictureBlock->alt + 'alt' => $pictureBlock->alt ]; })->values(); } @@ -258,19 +261,19 @@ class News extends Model implements SeoInterface, Publishable bool $required = false, ): array { $data["bloc_{$index}_display_picture"] = [ - 'label' => "Bloc {$index} - Display picture", + 'label' => "Bloc {$index} - Display picture", 'inputType' => InputType::boolean->value, - 'value' => $required + 'value' => $required ]; $data["bloc_{$index}_image"] = [ - 'label' => "Bloc {$index} - Image", + 'label' => "Bloc {$index} - Image", 'dimensions' => ['width' => 770, 'height' => 770], - 'inputType' => InputType::image->value, - 'alt' => $imgAlt, - 'title' => $imgTitle, - 'value' => $img, - 'validate' => "required_if:data.bloc_{$index}_display_picture.value,true|nullable", - 'required' => $required + 'inputType' => InputType::image->value, + 'alt' => $imgAlt, + 'title' => $imgTitle, + 'value' => $img, + 'validate' => "required_if:data.bloc_{$index}_display_picture.value,true|nullable", + 'required' => $required ]; return $data; diff --git a/app/Models/Recipe.php b/app/Models/Recipe.php index 2a53b492..2a8625bc 100644 --- a/app/Models/Recipe.php +++ b/app/Models/Recipe.php @@ -13,23 +13,23 @@ use Uwil\Seo\Laravel\Interfaces\SeoInterface; use Uwil\Seo\Laravel\Traits\SeoTrait; /** - * @property integer $range_id - * @property string $seo_title - * @property string $seo_description - * @property string $name - * @property string $slug - * @property string $picture - * @property string $picture_thumbnail - * @property array $ingredients - * @property string $teaser - * @property string $steps + * @property integer $range_id + * @property string $seo_title + * @property string $seo_description + * @property string $name + * @property string $slug + * @property string $picture + * @property string $picture_thumbnail + * @property array $ingredients + * @property string $teaser + * @property string $steps * @property \App\Enums\Recipes\DifficultyEnum $difficulty - * @property string $duration - * @property string $tips - * @property boolean $status - * @property integer $order - * @property string $created_at - * @property string $updated_at + * @property string $duration + * @property string $tips + * @property boolean $status + * @property integer $order + * @property string $created_at + * @property string $updated_at */ class Recipe extends Model implements SeoInterface { @@ -73,7 +73,7 @@ class Recipe extends Model implements SeoInterface */ protected $casts = [ 'ingredients' => 'array', - 'difficulty' => DifficultyEnum::class + 'difficulty' => DifficultyEnum::class, ]; /** @@ -137,6 +137,7 @@ class Recipe extends Model implements SeoInterface */ private static function manageFields(self $model) { + /** @var array $itemIngredients */ foreach ($model->ingredients as $itemIngredients) { if (isset($itemIngredients['header'])) { ToolboxHelper::assertNoInternalBoUrls('ingredients', $itemIngredients['header']); diff --git a/app/Models/StaticPage.php b/app/Models/StaticPage.php index f977e5fe..dc16ee0b 100644 --- a/app/Models/StaticPage.php +++ b/app/Models/StaticPage.php @@ -86,9 +86,9 @@ class StaticPage extends Model /** * Get the value of the model's route key. * - * @return mixed + * @return string|integer */ - public function getRouteKey() + public function getRouteKey(): string|int { /** @var \App\Enums\StaticPageType */ $enum = $this->getAttribute($this->getRouteKeyName()); @@ -117,7 +117,7 @@ class StaticPage extends Model * @return void * @throws \Illuminate\Validation\ValidationException If an actu title already exists. */ - private static function assertTitleIsUnique(string|null $title, ?int $id = null) + private static function assertTitleIsUnique(string|null $title, ?int $id = null): void { $table = (new self())->getTable(); ToolboxHelper::assertFieldIsUnique($table, 'title', $title, $id); diff --git a/app/Traits/Controllers/UpdateModelStatus.php b/app/Traits/Controllers/UpdateModelStatus.php index 57d03ceb..04d26b2c 100644 --- a/app/Traits/Controllers/UpdateModelStatus.php +++ b/app/Traits/Controllers/UpdateModelStatus.php @@ -30,6 +30,7 @@ trait UpdateModelStatus * * @param Model $model * @return \Illuminate\Http\RedirectResponse + * @throws \InvalidArgumentException Model must use IsPublishable trait. */ public function updatePublicationDate(Model $model) { diff --git a/app/Traits/Enums/BaseEnum.php b/app/Traits/Enums/BaseEnum.php index d6016cb7..a8734d1a 100644 --- a/app/Traits/Enums/BaseEnum.php +++ b/app/Traits/Enums/BaseEnum.php @@ -109,7 +109,7 @@ trait BaseEnum } $baseArray[$index] = $elements[$enum->name]; } - return [$enum->name => (object)$baseArray]; + return [$enum->name => (object) $baseArray]; })->all()); } return self::getCache('enums'); diff --git a/app/Traits/Models/IsPublishable.php b/app/Traits/Models/IsPublishable.php index 9c567141..144b746f 100644 --- a/app/Traits/Models/IsPublishable.php +++ b/app/Traits/Models/IsPublishable.php @@ -2,6 +2,8 @@ namespace App\Traits\Models; +use Carbon\Carbon; + /** * */ @@ -12,13 +14,13 @@ trait IsPublishable * * @return void */ - public function initializeIsPublishable() + public function initializeIsPublishable(): void { /** @var \Illuminate\Database\Eloquent\Model $this */ $this->mergeCasts([ - 'status' => 'string', - 'publish_at' => 'datetime', + 'status' => 'string', + 'publish_at' => 'datetime', 'unpublish_at' => 'datetime', ]); $this->mergeFillable([ @@ -72,32 +74,66 @@ trait IsPublishable } // * GETTERS / SETTERS (for PHPStan) + + /** + * Get status attribute. + * + * @return boolean + */ public function getStatus(): bool { return $this->status; } + /** + * Set status attribute. + * + * @param boolean $status + * @return void + */ public function setStatus(bool $status): void { $this->status = $status; } - public function getPublishAt(): ?\Carbon\Carbon + /** + * Get publish_at attribute. + * + * @return \Carbon\Carbon|null + */ + public function getPublishAt(): Carbon|null { return $this->publish_at; } - public function setPublishAt(?\Carbon\Carbon $date): void + /** + * Set publish_at attribute. + * + * @param \Carbon\Carbon|null $date + * @return void + */ + public function setPublishAt(Carbon|null $date): void { $this->publish_at = $date; } - public function getUnpublishAt(): ?\Carbon\Carbon + /** + * Get unpublish_at attribute. + * + * @return \Carbon\Carbon|null + */ + public function getUnpublishAt(): Carbon|null { return $this->unpublish_at; } - public function setUnpublishAt(?\Carbon\Carbon $date): void + /** + * Set unpublish_at attribute. + * + * @param \Carbon\Carbon|null $date + * @return void + */ + public function setUnpublishAt(Carbon|null $date): void { $this->unpublish_at = $date; } diff --git a/app/Traits/Requests/HasPicture.php b/app/Traits/Requests/HasPicture.php index 88806ad3..e48750b1 100644 --- a/app/Traits/Requests/HasPicture.php +++ b/app/Traits/Requests/HasPicture.php @@ -56,7 +56,7 @@ trait HasPicture ?int $maxHeight = null, bool $nullable = false ): array { - $sizes = (object)[ + $sizes = (object) [ 'minWith' => $minWith ?? $this->minWith, 'minHeight' => $minHeight ?? $this->minHeight, 'maxWith' => $maxWith ?? $this->maxWith, @@ -89,7 +89,7 @@ trait HasPicture ?int $maxWith = null, ?int $maxHeight = null ): array { - $sizes = (object)[ + $sizes = (object) [ 'minWith' => $minWith ?? $this->minWith, 'minHeight' => $minHeight ?? $this->minHeight, 'maxWith' => $maxWith ?? $this->maxWith, diff --git a/config/app.php b/config/app.php index bf9aef21..8fe79ceb 100644 --- a/config/app.php +++ b/config/app.php @@ -41,7 +41,7 @@ return [ | */ - 'debug' => (bool)env('APP_DEBUG', false), + 'debug' => (bool) env('APP_DEBUG', false), /* |-------------------------------------------------------------------------- diff --git a/config/sentry.php b/config/sentry.php index 29627fe9..2e475640 100644 --- a/config/sentry.php +++ b/config/sentry.php @@ -55,7 +55,7 @@ return [ 'send_default_pii' => env('SENTRY_SEND_DEFAULT_PII', false), // @see: https://docs.sentry.io/platforms/php/guides/laravel/configuration/options/#traces-sample-rate. - 'traces_sample_rate' => env('SENTRY_TRACES_SAMPLE_RATE') === null ? null : (float)env('SENTRY_TRACES_SAMPLE_RATE'), + 'traces_sample_rate' => env('SENTRY_TRACES_SAMPLE_RATE') === null ? null : (float) env('SENTRY_TRACES_SAMPLE_RATE'), 'before_send' => [\App\Lib\Helpers\ExceptionsHelper::class, 'sentryEventHandler'], ]; diff --git a/resources/assets/images/logo.png b/resources/assets/images/logo.png deleted file mode 100644 index d3ea0ec70fd76f8a1e3255dce96319b78d0bd447..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422 zcmV;X0a^ZuP)$`+js+3CKuCDE{8R|;J-P_)E2m4v2R`smqV3>nMzKu)1}@`hMlp}$Jc?-;qa8+f z7c!3iek|dH8(uoK>cBYtf>_T5wCl()y_cZpA1;*ud2n2ToXJ@LQXa3N?%cyxNE*_Jrbi>p6 zddMhlgdV>2@U@5E2v?+!8bYyehu>nvTrpvq$_3L QjQ{`u07*qoM6N<$f`?zc`Tzg` diff --git a/resources/lang/.gitkeep b/resources/lang/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/resources/lang/de/models.php b/resources/lang/de/models.php index 5af46349..35d06e4d 100644 --- a/resources/lang/de/models.php +++ b/resources/lang/de/models.php @@ -2,18 +2,18 @@ return [ 'classes' => [ - 'sliders' => 'Sliders', - 'homes' => 'Startseite', - 'ranges' => 'Bereiche', - 'news' => 'Aktuelles', - 'products' => 'Produkte', - 'concepts' => 'Konzepte', - 'recipes' => 'Rezepte', - 'stores' => 'Läden', - 'storegroups' => 'Groups', - 'storeregions' => 'Regions', - 'storetypes' => 'Types', - 'seo' => 'SEO', - 'static_page' => 'statische Seite|statische Seiten', + 'slider' => 'schieber', + 'home' => 'startseite', + 'range' => 'bereich', + 'news' => 'aktualität', + 'product' => 'produkt', + 'concept' => 'konzept', + 'recipe' => 'rezept', + 'store' => 'läden', + 'storegroup' => 'marktgrupp', + 'storeregion' => 'marktregion', + 'storetype' => 'markttyp', + 'seo' => 'SEO', + 'static_page' => 'statische seite', ] ]; diff --git a/resources/lang/en/models.php b/resources/lang/en/models.php index 32f303a3..84e04e4f 100644 --- a/resources/lang/en/models.php +++ b/resources/lang/en/models.php @@ -2,18 +2,18 @@ return [ 'classes' => [ - 'sliders' => 'Sliders', - 'homes' => 'Homepage', - 'ranges' => 'Ranges', - 'news' => 'News', - 'products' => 'Products', - 'concepts' => 'Concepts', - 'recipes' => 'Recipes', - 'stores' => 'Stores', - 'storegroups' => 'Store Groups', - 'storeregions' => 'Store Regions', - 'storetypes' => 'Store Types', - 'seo' => 'SEO', - 'static_page' => 'static page|static pages', + 'slider' => 'slider', + 'home' => 'homepage', + 'range' => 'range', + 'news' => 'news', + 'product' => 'product', + 'concept' => 'concept', + 'recipe' => 'recipe', + 'store' => 'store', + 'storegroup' => 'store group', + 'storeregion' => 'store region', + 'storetype' => 'store type', + 'seo' => 'SEO', + 'static_page' => 'static page', ] ]; diff --git a/resources/ts/utilities/fontawesome.ts b/resources/ts/utilities/fontawesome.ts index deae0506..011ff7cb 100644 --- a/resources/ts/utilities/fontawesome.ts +++ b/resources/ts/utilities/fontawesome.ts @@ -39,6 +39,8 @@ import { faHeader, faCircleCheck, faCog, + faGlobe, + faUser, } from "@fortawesome/free-solid-svg-icons"; import { faCircleXmark, @@ -79,6 +81,8 @@ library.add(faBars); library.add(faEllipsisVertical); library.add(faHeader); library.add(faAnglesRight); +library.add(faGlobe); +library.add(faUser); // Front library.add(faChevronLeft); diff --git a/resources/views/bo/auth/login.blade.php b/resources/views/bo/auth/login.blade.php index 1c2b4642..017f1c1e 100644 --- a/resources/views/bo/auth/login.blade.php +++ b/resources/views/bo/auth/login.blade.php @@ -4,63 +4,70 @@ @section('breadcrumb', 'no') @section('content') -
-
-
-
-
{{ __('Connection') }}
-
-
- @csrf -
- -
- - @error('email') - - {{ $message }} - - @enderror -
-
-
- -
- - @error('password') - - {{ $message }} - - @enderror -
-
-
-
-
- - +
+
+
+
+
{{ __('Connection') }}
+
+ + @csrf +
+ +
+ + @error('email') + + {{ $message }} + + @enderror
-
-
-
- - @if (Route::has('bo.password.request')) - - {{ __('Forgot password ?') }} - - @endif +
+ +
+ + @error('password') + + {{ $message }} + + @enderror +
-
- +
+
+
+ + +
+
+
+
+
+ + @if (Route::has('bo.password.request')) + + {{ __('Forgot password ?') }} + + @endif +
+
+ +
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/layouts/footer.blade.php b/resources/views/bo/layouts/footer.blade.php index ef3f1b2d..5fef331b 100644 --- a/resources/views/bo/layouts/footer.blade.php +++ b/resources/views/bo/layouts/footer.blade.php @@ -7,4 +7,4 @@ UWIL © {{ $cpsr_time }}
- \ No newline at end of file + diff --git a/resources/views/bo/layouts/head.blade.php b/resources/views/bo/layouts/head.blade.php index 26f6b7a6..41acf718 100644 --- a/resources/views/bo/layouts/head.blade.php +++ b/resources/views/bo/layouts/head.blade.php @@ -9,16 +9,16 @@ @hasSection('canonical') - + @else - + @endif @hasSection('metaIndex') - + @else - + @endif @@ -36,6 +36,8 @@ @vite(['resources/sass/bo/bo.scss']) -@if(config('app.debug')) - +@if (config('app.debug')) + @endif diff --git a/resources/views/bo/layouts/header.blade.php b/resources/views/bo/layouts/header.blade.php index 11c94c7a..7d7647dc 100644 --- a/resources/views/bo/layouts/header.blade.php +++ b/resources/views/bo/layouts/header.blade.php @@ -3,15 +3,16 @@ {{ config('app.name', 'Laravel') }} - - -
- \ No newline at end of file + diff --git a/resources/views/bo/layouts/nav-menu.blade.php b/resources/views/bo/layouts/nav-menu.blade.php index e5f6cea3..ed70f2d7 100644 --- a/resources/views/bo/layouts/nav-menu.blade.php +++ b/resources/views/bo/layouts/nav-menu.blade.php @@ -1,107 +1,117 @@ @auth('backend') - - @can('viewAny', \App\Models\StaticPage::class) @endcan - - - - +
@push('scripts') - + @endpush diff --git a/resources/views/bo/pages/concepts/index-list.blade.php b/resources/views/bo/pages/concepts/index-list.blade.php index 110db8f7..b2311154 100644 --- a/resources/views/bo/pages/concepts/index-list.blade.php +++ b/resources/views/bo/pages/concepts/index-list.blade.php @@ -1,16 +1,16 @@
- @php - $cols = [ + @include('bo.modules.table-col-sorter', [ + 'cols' => [ 'name' => __('validation.attributes.name'), 'title' => __('validation.attributes.title'), 'subtitle' => __('validation.attributes.subtitle'), 'order' => __('validation.attributes.order'), 'updated_at' => __('validation.attributes.updated_at'), - ]; - @endphp - @include('bo.modules.table-col-sorter', ['cols' => $cols, 'mobileHide' => ['status']]) + ], + 'mobileHide' => ['status'] + ]) @if ($conceptModels->count()) @@ -19,11 +19,7 @@ - @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request()->route()->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order') @endif diff --git a/resources/views/bo/pages/concepts/index.blade.php b/resources/views/bo/pages/concepts/index.blade.php index 89da165a..2cf87f66 100644 --- a/resources/views/bo/pages/concepts/index.blade.php +++ b/resources/views/bo/pages/concepts/index.blade.php @@ -1,48 +1,41 @@ @extends('bo.layout') -@section('title', __('crud.helpers.list_all', ['model' => __('models.classes.concepts')])) -@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.concepts')])) -@section('breadcrumb', request()->route()->getName()) +@section('title', __('crud.helpers.list_all', ['model' => str(__('models.classes.concept'))->plural()])) +@section('description', __('crud.helpers.list_all', ['model' => str(__('models.classes.concept'))->plural()])) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.concepts') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.concept'))->ucfirst()->plural() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $conceptModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.concepts.index-list') -
-
-
-
- {{ $conceptModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.concepts.index-list') +
+
+
+
+ {{ $conceptModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/homes/edit.blade.php b/resources/views/bo/pages/homes/edit.blade.php index 249d7a24..e75b89e6 100644 --- a/resources/views/bo/pages/homes/edit.blade.php +++ b/resources/views/bo/pages/homes/edit.blade.php @@ -1,33 +1,32 @@ @extends('bo.layout', ['brParam' => $homeModel]) -@section('title', sprintf('%s - %s %s', __('models.classes.homes'), Str::ucfirst(__('crud.actions.edit')), $homeModel->seo_title)) +@section('title', sprintf('%s - %s %s', str(__('models.classes.home'))->ucfirst(), str(__('crud.actions.edit'))->ucfirst(), $homeModel->seo_title)) @section('description', $homeModel->seo_description) - @section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-

- {{ __('models.classes.homes') }} {{ Str::ucfirst(__('crud.actions.edit')) }} -

-
+
+
+

+ {{ str(__('models.classes.home'))->ucfirst() }} + {{ str(__('crud.actions.edit'))->ucfirst() }} +

+
+
+ + @csrf + @method('PUT') + @include('bo.pages.homes.form-inputs', compact('homeModel')) +
+
+ +
+
-
-
- @csrf - @method('PUT') - @include('bo.pages.homes.form-inputs', compact('homeModel')) -
-
- -
- -
-
@endsection diff --git a/resources/views/bo/pages/homes/form-inputs.blade.php b/resources/views/bo/pages/homes/form-inputs.blade.php index a0e1374f..f82cfa44 100644 --- a/resources/views/bo/pages/homes/form-inputs.blade.php +++ b/resources/views/bo/pages/homes/form-inputs.blade.php @@ -7,13 +7,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'homeSeoTitle', - 'label' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.homes'))]), + 'label' => __('SEO title of the :model', ['model' => __('models.classes.home')]), 'hasWordCounter' => true, 'name' => 'seo_title', 'required' => true, 'model' => $homeModel, 'helper' => __('validation.between.string', [ - 'attribute' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.homes'))]), + 'attribute' => __('SEO title of the :model', ['model' => __('models.classes.home')]), 'min' => 3, 'max' => 255 ]), @@ -31,7 +31,7 @@
@include('bo.partials.inputs.varchar-multiline', [ 'id' => 'homeSeoDescription', - 'label' => __('SEO description of the :model', ['model' => Str::singular(__('models.classes.homes'))]), + 'label' => __('SEO description of the :model', ['model' => __('models.classes.home')]), 'name' => 'seo_description', 'model' => $homeModel ?? null, 'required' => true, @@ -105,7 +105,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'homePart1Text1', - 'label' => __('Text 1 of the part.1 of the :model', ['model' => Str::singular(__('models.classes.homes'))]), + 'label' => __('Text 1 of the part.1 of the :model', ['model' => __('models.classes.home')]), 'name' => 'part1_text_1', 'model' => $homeModel, 'required' => true, @@ -123,7 +123,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'homePart1Text2', - 'label' => __('Text 2 of the part.1 of the :model', ['model' => Str::singular(__('models.classes.homes'))]), + 'label' => __('Text 2 of the part.1 of the :model', ['model' => __('models.classes.home')]), 'name' => 'part1_text_2', 'model' => $homeModel, 'required' => true, @@ -141,7 +141,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'homePart1Text3', - 'label' => __('Text 3 of the part.1 of the :model', ['model' => Str::singular(__('models.classes.homes'))]), + 'label' => __('Text 3 of the part.1 of the :model', ['model' => __('models.classes.home')]), 'name' => 'part1_text_3', 'model' => $homeModel, 'required' => true, @@ -212,7 +212,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'homePart2Text', - 'label' => __('Text of the part.2 of the :model', ['model' => Str::singular(__('models.classes.homes'))]), + 'label' => __('Text of the part.2 of the :model', ['model' => __('models.classes.home')]), 'name' => 'part2_text', 'model' => $homeModel, 'required' => true, diff --git a/resources/views/bo/pages/news/create.blade.php b/resources/views/bo/pages/news/create.blade.php index bb7db434..e3c60a3a 100644 --- a/resources/views/bo/pages/news/create.blade.php +++ b/resources/views/bo/pages/news/create.blade.php @@ -1,36 +1,34 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', Str::singular(__('models.classes.news')), Str::ucfirst(__('create')))) +@section('title', sprintf('%s - %s', str(__('models.classes.news'))->ucfirst(), str(__('crud.actions.create'))->ucfirst())) @section('description', __('Creation of a new news.')) -@section('breadcrumb', request()->route()->getName()) - @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.news')) }} {{ Str::ucfirst(__('create')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.news'))->ucfirst() }} + {{ str(__('crud.actions.create'))->ucfirst() }} +

+
+
+
+ @csrf + @include('bo.pages.news.form-inputs') +
+
+ +
+
+
-
-
- @csrf - @include('bo.pages.news.form-inputs') -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/news/edit.blade.php b/resources/views/bo/pages/news/edit.blade.php index 9551bbd0..d8fe2bed 100644 --- a/resources/views/bo/pages/news/edit.blade.php +++ b/resources/views/bo/pages/news/edit.blade.php @@ -1,37 +1,35 @@ @extends('bo.layout', ['brParam' => $newsModel]) -@section('title', sprintf('%s - %s %s', Str::singular(__('models.classes.news')), Str::ucfirst(__('crud.actions.edit')), $newsModel->seo_title)) +@section('title', sprintf('%s - %s %s', str(__('models.classes.news'))->ucfirst(), str(__('crud.actions.edit'))->ucfirst(), $newsModel->seo_title)) @section('description', $newsModel->seo_description) - @section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.news')) }} {{ Str::ucfirst(__('crud.actions.edit')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.news'))->ucfirst() }} + {{ str(__('crud.actions.edit'))->ucfirst() }} +

+
+
+
+ @csrf + @method('PUT') + @include('bo.pages.news.form-inputs', ['model' => $newsModel]) +
+
+ +
+
+
-
-
- @csrf - @method('PUT') - @include('bo.pages.news.form-inputs', ['model' => $newsModel]) -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/news/form-inputs.blade.php b/resources/views/bo/pages/news/form-inputs.blade.php index 0bf91f4e..fbe988ed 100644 --- a/resources/views/bo/pages/news/form-inputs.blade.php +++ b/resources/views/bo/pages/news/form-inputs.blade.php @@ -7,13 +7,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'newsSeoTitle', - 'label' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.news'))]), + 'label' => __('SEO title of the :model', ['model' => __('models.classes.news')]), 'hasWordCounter' => true, 'name' => 'seo_title', 'required' => true, 'model' => $newsModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.news'))]), + 'attribute' => __('SEO title of the :model', ['model' => __('models.classes.news')]), 'min' => 3, 'max' => 255, ]), @@ -31,13 +31,13 @@
@include('bo.partials.inputs.varchar-multiline', [ 'id' => 'newsSeoDescription', - 'label' => __('SEO description of the :model', ['model' => Str::singular(__('models.classes.news'))]), + 'label' => __('SEO description of the :model', ['model' => __('models.classes.news')]), 'name' => 'seo_description', 'model' => $newsModel ?? null, 'required' => true, 'helper' => __('validation.between.string', [ 'attribute' => __('SEO description of the :model', [ - 'model' => Str::singular(__('models.classes.products')), + 'model' => __('models.classes.news'), ]), 'min' => 50, 'max' => 160, @@ -58,13 +58,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'newsTitle', - 'label' => __('Title of the :model', ['model' => Str::singular(__('models.classes.news'))]), + 'label' => __('Title of the :model', ['model' => __('models.classes.news')]), 'hasWordCounter' => true, 'name' => 'title', 'required' => true, 'model' => $newsModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Title of the :model', ['model' => Str::singular(__('models.classes.news'))]), + 'attribute' => __('Title of the :model', ['model' => __('models.classes.news')]), 'min' => 3, 'max' => 255, ]), @@ -82,13 +82,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'newsSubtitle', - 'label' => __('Subtitle of the :model', ['model' => Str::singular(__('models.classes.news'))]), + 'label' => __('Subtitle of the :model', ['model' => __('models.classes.news')]), 'hasWordCounter' => true, 'name' => 'subtitle', 'required' => true, 'model' => $newsModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Subtitle of the :model', ['model' => Str::singular(__('models.classes.news'))]), + 'attribute' => __('Subtitle of the :model', ['model' => __('models.classes.news')]), 'min' => 3, 'max' => 255, ]), @@ -106,7 +106,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'newContent', - 'label' => __('Description of the :model', ['model' => Str::singular(__('models.classes.news'))]), + 'label' => __('Description of the :model', ['model' => __('models.classes.news')]), 'name' => 'content', 'model' => $newsModel ?? null, 'required' => true, @@ -232,24 +232,19 @@ document.querySelector(`select[name="${name}"]`); inputs.push(input); }); - inputs.forEach((input) => { // * hide. if (!switchInput.checked) { input.closest('.minicrud-input ').classList.add('d-none'); } }); - switchInput.addEventListener('change', function() { inputs.forEach((input) => { // * Toggle hide. input.closest('.minicrud-input ').classList.toggle('d-none'); }); }); - }; - - const waitForLoaded = () => { setTimeout(() => { if (!document.querySelector(`input[name="${hasLoadedComponentsMarker}"]`)) { @@ -261,9 +256,7 @@ displayBloc(3); }, 300); }; - waitForLoaded(); - }); @endpush diff --git a/resources/views/bo/pages/news/index-list.blade.php b/resources/views/bo/pages/news/index-list.blade.php index 61065b30..28b4f894 100644 --- a/resources/views/bo/pages/news/index-list.blade.php +++ b/resources/views/bo/pages/news/index-list.blade.php @@ -23,19 +23,11 @@ @csrf - @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request()->route()->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order')
- @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request() ->route() ->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order') @endif diff --git a/resources/views/bo/pages/products/index.blade.php b/resources/views/bo/pages/products/index.blade.php index 78652d7a..e68f484a 100644 --- a/resources/views/bo/pages/products/index.blade.php +++ b/resources/views/bo/pages/products/index.blade.php @@ -1,48 +1,40 @@ @extends('bo.layout') -@section('title', __('crud.helpers.list_all', ['model' => __('models.classes.products')])) -@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.products')])) -@section('breadcrumb', request()->route()->getName()) +@section('title', __('crud.helpers.list_all', ['model' =>str(__('models.classes.product'))->plural()])) +@section('description', __('crud.helpers.list_all', ['model' =>str(__('models.classes.product'))->plural()])) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.products') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.product'))->plural()->ucfirst() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $productModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.products.index-list') -
-
-
-
- {{ $productModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.products.index-list') +
+
+
+
+ {{ $productModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/ranges/create.blade.php b/resources/views/bo/pages/ranges/create.blade.php index 9ce3d055..d09e1a56 100644 --- a/resources/views/bo/pages/ranges/create.blade.php +++ b/resources/views/bo/pages/ranges/create.blade.php @@ -1,36 +1,34 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', Str::singular(__('models.classes.ranges')), Str::ucfirst(__('create')))) +@section('title', sprintf('%s - %s', str(__('models.classes.range'))->ucfirst(), str(__('crud.actions.create'))->ucfirst())) @section('description', __('Creation of a new range.')) -@section('breadcrumb', request()->route()->getName()) - @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.ranges')) }} {{ Str::ucfirst(__('create')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.range'))->ucfirst()->plural() }} + {{ str(__('crud.actions.create'))->ucfirst() }} +

+
+
+ + @csrf + @include('bo.pages.ranges.form-inputs') +
+
+ +
+
+
-
-
- @csrf - @include('bo.pages.ranges.form-inputs') -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/ranges/edit.blade.php b/resources/views/bo/pages/ranges/edit.blade.php index 9a5b6d80..a4646591 100644 --- a/resources/views/bo/pages/ranges/edit.blade.php +++ b/resources/views/bo/pages/ranges/edit.blade.php @@ -1,37 +1,37 @@ @extends('bo.layout', ['brParam' => $rangeModel]) -@section('title', sprintf('%s - %s %s', Str::singular(__('models.classes.ranges')), Str::ucfirst(__('crud.actions.edit')), $rangeModel->seo_title)) +@section('title', sprintf('%s - %s %s', __('models.classes.range'), str(__('crud.actions.edit'))->ucfirst(), $rangeModel->seo_title)) @section('description', $rangeModel->seo_description) - @section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.ranges')) }} {{ Str::ucfirst(__('crud.actions.edit')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.range'))->ucfirst() }} + {{ str(__('crud.actions.edit'))->ucfirst() }} +

+
+
+
+ @csrf + @method('PUT') + @include('bo.pages.ranges.form-inputs', ['model' => $rangeModel]) +
+
+ +
+
+
-
-
- @csrf - @method('PUT') - @include('bo.pages.ranges.form-inputs', ['model' => $rangeModel]) -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/ranges/form-inputs.blade.php b/resources/views/bo/pages/ranges/form-inputs.blade.php index d36dcb9a..775abbb3 100644 --- a/resources/views/bo/pages/ranges/form-inputs.blade.php +++ b/resources/views/bo/pages/ranges/form-inputs.blade.php @@ -7,13 +7,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'rangeSeoTitle', - 'label' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.ranges'))]), + 'label' => __('SEO title of the :model', ['model' => __('models.classes.range')]), 'hasWordCounter' => true, 'name' => 'seo_title', 'required' => true, 'model' => $rangeModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('SEO title of the :model', ['model' => __('models.classes.range')]), 'min' => 3, 'max' => 255 ]), @@ -31,12 +31,12 @@
@include('bo.partials.inputs.varchar-multiline', [ 'id' => 'rangeSeoDescription', - 'label' => __('SEO description of the :model', ['model' => Str::singular(__('models.classes.ranges'))]), + 'label' => __('SEO description of the :model', ['model' => __('models.classes.range')]), 'name' => 'seo_description', 'model' => $rangeModel ?? null, 'required' => true, 'helper' => __('validation.between.string', [ - 'attribute' => __('SEO description of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('SEO description of the :model', ['model' => __('models.classes.range')]), 'min' => 50, 'max' => 160 ]), @@ -54,13 +54,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'rangeSeoTitle', - 'label' => __('Label of the :model', ['model' => Str::singular(__('models.classes.ranges'))]), + 'label' => __('Label of the :model', ['model' => __('models.classes.range')]), 'hasWordCounter' => true, 'name' => 'label', 'required' => true, 'model' => $rangeModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Label of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('Label of the :model', ['model' => __('models.classes.range')]), 'min' => 3, 'max' => 255 ]), diff --git a/resources/views/bo/pages/ranges/index-list.blade.php b/resources/views/bo/pages/ranges/index-list.blade.php index 588dc196..badef617 100644 --- a/resources/views/bo/pages/ranges/index-list.blade.php +++ b/resources/views/bo/pages/ranges/index-list.blade.php @@ -1,15 +1,15 @@
{{ $conceptModel->name }} {{ $conceptModel->title }} {{ $conceptModel->subtitle }} - {{ $conceptModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + + {{ $conceptModel->updated_at->isoFormat('LLLL') }} + - + + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.concept')]) }}"> @method('DELETE') @csrf
@@ -73,7 +71,9 @@ @else
- {{ __('crud.helpers.no_results', ['models' => __('models.classes.concepts')]) }} + + {{ __('crud.helpers.no_results', ['models' => str(__('models.classes.concept'))->plural()]) }} +
- {{ $newsModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + {{ $newsModel->updated_at->isoFormat('LLLL') }} + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.news')]) }}"> @method('DELETE') @csrf
diff --git a/resources/views/bo/pages/news/index.blade.php b/resources/views/bo/pages/news/index.blade.php index 0338990b..aade0a1b 100644 --- a/resources/views/bo/pages/news/index.blade.php +++ b/resources/views/bo/pages/news/index.blade.php @@ -2,47 +2,39 @@ @section('title', __('crud.helpers.list_all', ['model' => __('models.classes.news')])) @section('description', __('crud.helpers.list_all', ['model' => __('models.classes.news')])) -@section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.news') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.news'))->ucfirst() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $newsListModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.news.index-list') -
-
-
-
- {{ $newsListModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.news.index-list') +
+
+
+
+ {{ $newsListModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/products/create.blade.php b/resources/views/bo/pages/products/create.blade.php index e6bf4d9a..3bdb4eac 100644 --- a/resources/views/bo/pages/products/create.blade.php +++ b/resources/views/bo/pages/products/create.blade.php @@ -1,36 +1,34 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', Str::singular(__('models.classes.products')), Str::ucfirst(__('create')))) +@section('title', sprintf('%s - %s', str(__('models.classes.product'))->ucfirst(), str(__('crud.actions.create'))->ucfirst())) @section('description', __('Creation of a new product.')) -@section('breadcrumb', request()->route()->getName()) - @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.products')) }} {{ Str::ucfirst(__('create')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.product'))->ucfirst() }} {{ str(__('crud.actions.create'))->ucfirst() }} +

+
+
+ + @csrf + @include('bo.pages.products.form-inputs') +
+
+ +
+
+
-
-
- @csrf - @include('bo.pages.products.form-inputs') -
-
- -
-
-
-
-
@endsection diff --git a/resources/views/bo/pages/products/edit.blade.php b/resources/views/bo/pages/products/edit.blade.php index 8cb85cfd..c04fc2ba 100644 --- a/resources/views/bo/pages/products/edit.blade.php +++ b/resources/views/bo/pages/products/edit.blade.php @@ -1,37 +1,37 @@ @extends('bo.layout', ['brParam' => $productModel]) -@section('title', sprintf('%s - %s %s', Str::singular(__('models.classes.products')), Str::ucfirst(__('crud.actions.edit')), $productModel->seo_title)) +@section('title', sprintf('%s - %s %s', str(__('models.classes.product'))->ucfirst(), str(__('crud.actions.edit'))->ucfirst(), $productModel->seo_title)) @section('description', $productModel->seo_description) - @section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.products')) }} {{ Str::ucfirst(__('crud.actions.edit')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.product'))->ucfirst() }} {{ str(__('crud.actions.edit'))->ucfirst() }} +

+
+
+
+ @csrf + @method('PUT') + @include('bo.pages.products.form-inputs', ['model' => $productModel]) +
+
+ +
+
+
-
-
- @csrf - @method('PUT') - @include('bo.pages.products.form-inputs', ['model' => $productModel]) -
-
- -
-
-
-
-
@endsection diff --git a/resources/views/bo/pages/products/form-inputs.blade.php b/resources/views/bo/pages/products/form-inputs.blade.php index cc35141b..1285f364 100644 --- a/resources/views/bo/pages/products/form-inputs.blade.php +++ b/resources/views/bo/pages/products/form-inputs.blade.php @@ -7,13 +7,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'productSeoTitle', - 'label' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'label' => __('SEO title of the :model', ['model' => __('models.classes.product')]), 'hasWordCounter' => true, 'name' => 'seo_title', 'required' => true, 'model' => $productModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('SEO title of the :model', ['model' => __('models.classes.product')]), 'min' => 3, 'max' => 255 ]), @@ -31,12 +31,12 @@
@include('bo.partials.inputs.varchar-multiline', [ 'id' => 'productSeoDescription', - 'label' => __('SEO description of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'label' => __('SEO description of the :model', ['model' => __('models.classes.product')]), 'name' => 'seo_description', 'model' => $productModel ?? null, 'required' => true, 'helper' => __('validation.between.string', [ - 'attribute' => __('SEO description of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('SEO description of the :model', ['model' => __('models.classes.product')]), 'min' => 50, 'max' => 160 ]), @@ -54,13 +54,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'productSeoTitle', - 'label' => __('Label of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'label' => __('Label of the :model', ['model' => __('models.classes.product')]), 'hasWordCounter' => true, 'name' => 'label', 'required' => true, 'model' => $productModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Label of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('Label of the :model', ['model' => __('models.classes.product')]), 'min' => 3, 'max' => 255 ]), @@ -78,13 +78,13 @@
@include('bo.partials.inputs.bigint-foreign-id', [ 'id' => 'productRange', - 'label' => __(':model associated', ['model' => Str::singular(trans('models.classes.ranges'))]), + 'label' => __(':model associated', ['model' => str(trans('models.classes.range'))->ucfirst()]), 'name' => 'range_id', 'size' => 5, 'model' => $productModel ?? null, 'associatedModels' => $rangeModels, 'foreignLabel' => 'label', - 'helper' => __('Chose one :model among this list.', ['model' => Str::singular(trans('models.classes.ranges'))]), + 'helper' => __('Chose one :model among this list.', ['model' => trans('models.classes.range')]), ])
@@ -176,7 +176,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'productDescription', - 'label' => __('Description of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'label' => __('Description of the :model', ['model' => __('models.classes.product')]), 'name' => 'description', 'model' => $productModel ?? null, 'required' => true, @@ -194,7 +194,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'productMarinade', - 'label' => __('Marinade of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'label' => __('Marinade of the :model', ['model' => __('models.classes.product')]), 'name' => 'marinade', 'model' => $productModel ?? null, 'required' => false, @@ -213,7 +213,7 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'homePart3PictureAlt', - 'label' => __('Alt attribute of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'label' => __('Alt attribute of the :model', ['model' => __('models.classes.product')]), 'hasWordCounter' => true, 'name' => 'picture_alt', 'required' => true, @@ -225,7 +225,7 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'homePart3PictureTitle', - 'label' => __('Title attribute of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'label' => __('Title attribute of the :model', ['model' => __('models.classes.product')]), 'hasWordCounter' => true, 'name' => 'picture_title', 'required' => true, @@ -261,7 +261,7 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'productPictureArrowAlt', - 'label' => __('Alt attribute of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'label' => __('Alt attribute of the :model', ['model' => __('models.classes.product')]), 'hasWordCounter' => true, 'name' => 'picture_arrow_alt', 'required' => false, @@ -273,7 +273,7 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'productPictureArrowTitle', - 'label' => __('Title attribute of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'label' => __('Title attribute of the :model', ['model' => __('models.classes.product')]), 'hasWordCounter' => true, 'name' => 'picture_arrow_title', 'required' => false, diff --git a/resources/views/bo/pages/products/index-list.blade.php b/resources/views/bo/pages/products/index-list.blade.php index 1ebec902..38ac6fc3 100644 --- a/resources/views/bo/pages/products/index-list.blade.php +++ b/resources/views/bo/pages/products/index-list.blade.php @@ -21,19 +21,11 @@ @csrf
- {{ $productModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + {{ $productModel->updated_at->isoFormat('LLLL') }} + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.product')]) }}"> @method('DELETE') @csrf
@@ -83,7 +74,7 @@ @else
- {{ __('crud.helpers.no_results', ['models' => __('models.classes.products')]) }} + {{ __('crud.helpers.no_results', ['models' => str(__('models.classes.product'))->plural()]) }}
- @php - $cols = [ + @include('bo.modules.table-col-sorter', [ + 'cols' => [ 'label' => __('validation.attributes.label'), 'status' => __('validation.attributes.visibility'), 'order' => __('validation.attributes.order'), 'updated_at' => __('validation.attributes.updated_at'), - ]; - @endphp - @include('bo.modules.table-col-sorter', ['cols' => $cols, 'mobileHide' => ['status']]) + ], + 'mobileHide' => ['status'], + ]) @if ($rangeModels->count()) @@ -21,19 +21,11 @@ @csrf - @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request()->route()->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order') @endif diff --git a/resources/views/bo/pages/ranges/index.blade.php b/resources/views/bo/pages/ranges/index.blade.php index 220b9f73..64b4b2d8 100644 --- a/resources/views/bo/pages/ranges/index.blade.php +++ b/resources/views/bo/pages/ranges/index.blade.php @@ -1,48 +1,40 @@ @extends('bo.layout') -@section('title', __('crud.helpers.list_all', ['model' => __('models.classes.ranges')])) -@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.ranges')])) -@section('breadcrumb', request()->route()->getName()) +@section('title', __('crud.helpers.list_all', ['model' => str(__('models.classes.range'))->plural()])) +@section('description', __('crud.helpers.list_all', ['model' => str(__('models.classes.range'))->plural()])) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.ranges') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.range'))->ucfirst()->plural() }} + {{ Str::ucfirst(__('crud.helpers.list')) }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $rangeModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.ranges.index-list') -
-
-
-
- {{ $rangeModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.ranges.index-list') +
+
+
+
+ {{ $rangeModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/recipes/create.blade.php b/resources/views/bo/pages/recipes/create.blade.php index c7f919f5..c4016054 100644 --- a/resources/views/bo/pages/recipes/create.blade.php +++ b/resources/views/bo/pages/recipes/create.blade.php @@ -1,36 +1,34 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', Str::singular(__('models.classes.recipes')), Str::ucfirst(__('create')))) +@section('title', sprintf('%s - %s', str(__('models.classes.recipe'))->ucfirst(), str(__('crud.actions.create'))->ucfirst())) @section('description', __('Creation of a new recipe.')) -@section('breadcrumb', request()->route()->getName()) - @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.recipes')) }} {{ Str::ucfirst(__('create')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.recipe'))->ucfirst() }} + {{ str(__('crud.actions.create'))->ucfirst() }} +

+
+
+ + @csrf + @include('bo.pages.recipes.form-inputs') +
+
+ +
+
+
-
-
- @csrf - @include('bo.pages.recipes.form-inputs') -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/recipes/edit.blade.php b/resources/views/bo/pages/recipes/edit.blade.php index 83e23528..ebb37e61 100644 --- a/resources/views/bo/pages/recipes/edit.blade.php +++ b/resources/views/bo/pages/recipes/edit.blade.php @@ -1,37 +1,37 @@ @extends('bo.layout', ['brParam' => $recipeModel]) -@section('title', sprintf('%s - %s %s', Str::singular(__('models.classes.recipes')), Str::ucfirst(__('crud.actions.edit')), $recipeModel->seo_title)) +@section('title', sprintf('%s - %s %s', str(__('models.classes.recipe'))->ucfirst(), str(__('crud.actions.edit'))->ucfirst(), $recipeModel->seo_title)) @section('description', $recipeModel->seo_description) - @section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.recipes')) }} {{ Str::ucfirst(__('crud.actions.edit')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.recipe'))->ucfirst() }} + {{ str(__('crud.actions.edit'))->ucfirst() }} +

+
+
+
+ @csrf + @method('PUT') + @include('bo.pages.recipes.form-inputs', ['model' => $recipeModel]) +
+
+ +
+
+
-
-
- @csrf - @method('PUT') - @include('bo.pages.recipes.form-inputs', ['model' => $recipeModel]) -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/recipes/form-inputs.blade.php b/resources/views/bo/pages/recipes/form-inputs.blade.php index 4ef358f3..3ef7a9a5 100644 --- a/resources/views/bo/pages/recipes/form-inputs.blade.php +++ b/resources/views/bo/pages/recipes/form-inputs.blade.php @@ -7,13 +7,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'recipeSeoTitle', - 'label' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.recipes'))]), + 'label' => __('SEO title of the :model', ['model' => __('models.classes.recipe')]), 'hasWordCounter' => true, 'name' => 'seo_title', 'required' => true, 'model' => $recipeModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('SEO title of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('SEO title of the :model', ['model' => __('models.classes.recipe')]), 'min' => 3, 'max' => 255 ]), @@ -31,12 +31,12 @@
@include('bo.partials.inputs.varchar-multiline', [ 'id' => 'recipeSeoDescription', - 'label' => __('SEO description of the :model', ['model' => Str::singular(__('models.classes.recipes'))]), + 'label' => __('SEO description of the :model', ['model' => __('models.classes.recipe')]), 'name' => 'seo_description', 'model' => $recipeModel ?? null, 'required' => true, 'helper' => __('validation.between.string', [ - 'attribute' => __('SEO description of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('SEO description of the :model', ['model' => __('models.classes.recipe')]), 'min' => 50, 'max' => 160 ]), @@ -54,13 +54,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'recipeName', - 'label' => __('Name of the :model', ['model' => Str::singular(__('models.classes.recipes'))]), + 'label' => __('Name of the :model', ['model' => __('models.classes.recipe')]), 'hasWordCounter' => true, 'name' => 'name', 'required' => true, 'model' => $recipeModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Name of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('Name of the :model', ['model' => __('models.classes.recipe')]), 'min' => 3, 'max' => 255 ]), @@ -78,13 +78,13 @@
@include('bo.partials.inputs.bigint-foreign-id', [ 'id' => 'recipeRange', - 'label' => __(':model associated', ['model' => Str::singular(trans('models.classes.ranges'))]), + 'label' => __(':model associated', ['model' => str(trans('models.classes.range'))->ucfirst()]), 'name' => 'range_id', 'size' => 5, 'model' => $recipeModel ?? null, 'associatedModels' => $rangeModels, 'foreignLabel' => 'label', - 'helper' => __('Chose one :model among this list.', ['model' => Str::singular(trans('models.classes.ranges'))]), + 'helper' => __('Chose one :model among this list.', ['model' => trans('models.classes.range')]), ])
@@ -220,12 +220,12 @@
@include('bo.partials.inputs.varchar-multiline', [ 'id' => 'recipeTeaser', - 'label' => __('Catchphrase of the :model', ['model' => Str::singular(__('models.classes.recipes'))]), + 'label' => __('Catchphrase of the :model', ['model' => __('models.classes.recipe')]), 'name' => 'teaser', 'model' => $recipeModel ?? null, 'required' => true, 'helper' => __('validation.between.string', [ - 'attribute' => __('SEO description of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('SEO description of the :model', ['model' => __('models.classes.recipe')]), 'min' => 50, 'max' => 160 ]), @@ -243,7 +243,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'recipeSteps', - 'label' => __('Steps of the :model', ['model' => Str::singular(__('models.classes.recipes'))]), + 'label' => __('Steps of the :model', ['model' => __('models.classes.recipe')]), 'name' => 'steps', 'model' => $recipeModel ?? null, 'required' => true, @@ -261,7 +261,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'recipeTips', - 'label' => __('Tips of the :model', ['model' => Str::singular(__('models.classes.recipes'))]), + 'label' => __('Tips of the :model', ['model' => __('models.classes.recipe')]), 'name' => 'tips', 'model' => $recipeModel ?? null, 'required' => false, @@ -299,7 +299,7 @@ @include('bo.partials.inputs.varchar', [ 'id' => 'recipeDuration', 'hasWordCounter' => true, - 'label' => __('Time to complete the :model', ['model' => Str::singular(__('models.classes.recipes'))]), + 'label' => __('Time to complete the :model', ['model' => __('models.classes.recipe')]), 'name' => 'duration', 'model' => $recipeModel ?? null, 'min' => 0, diff --git a/resources/views/bo/pages/recipes/index-list.blade.php b/resources/views/bo/pages/recipes/index-list.blade.php index 8b056832..cdc587b8 100644 --- a/resources/views/bo/pages/recipes/index-list.blade.php +++ b/resources/views/bo/pages/recipes/index-list.blade.php @@ -1,15 +1,15 @@
- + + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.range')]) }}"> @method('DELETE') @csrf
@@ -83,7 +75,8 @@ @else
- {{ __('crud.helpers.no_results', ['models' => __('models.classes.ranges')]) }} + {{ __('crud.helpers.no_results', ['models' => str(__('models.classes.range'))->plural()]) }}
- @php - $cols = [ + @include('bo.modules.table-col-sorter', [ + 'cols' => [ 'name' => __('validation.attributes.name'), 'status' => __('crud.minicrud.visibility_label'), 'order' => __('validation.attributes.order'), 'updated_at' => __('validation.attributes.updated_at'), - ]; - @endphp - @include('bo.modules.table-col-sorter', ['cols' => $cols, 'mobileHide' => ['status']]) + ], + 'mobileHide' => ['status'] + ]) @if ($recipeModels->count()) @@ -21,19 +21,11 @@ @csrf - @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request()->route()->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order') @endif diff --git a/resources/views/bo/pages/recipes/index.blade.php b/resources/views/bo/pages/recipes/index.blade.php index d7159cb8..b00db3bf 100644 --- a/resources/views/bo/pages/recipes/index.blade.php +++ b/resources/views/bo/pages/recipes/index.blade.php @@ -1,48 +1,40 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', __('models.classes.recipes'), Str::ucfirst(__('crud.helpers.list')))) -@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.recipes')])) -@section('breadcrumb', request()->route()->getName()) +@section('title', sprintf('%s - %s', str(__('models.classes.recipe'))->plural(), Str::ucfirst(__('crud.helpers.list')))) +@section('description', __('crud.helpers.list_all', ['model' => str(__('models.classes.recipe'))->plural()])) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.recipes') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.recipe'))->plural()->ucfirst() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $recipeModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.recipes.index-list') -
-
-
-
- {{ $recipeModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.recipes.index-list') +
+
+
+
+ {{ $recipeModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/seo/index.blade.php b/resources/views/bo/pages/seo/index.blade.php index 8f0d2b77..4223149f 100644 --- a/resources/views/bo/pages/seo/index.blade.php +++ b/resources/views/bo/pages/seo/index.blade.php @@ -2,29 +2,29 @@ @section('title', __('crud.helpers.list_all', ['model' => __('models.classes.seo')])) @section('description', __('crud.helpers.list_all', ['model' => __('models.classes.seo')])) -@section('breadcrumb', request()->route()->getName()) @section('content') -
@push('scripts') - + @endpush
- {{ $recipeModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + + {{ $recipeModel->updated_at->isoFormat('LLLL') }} + + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.recipe')]) }}"> @method('DELETE') @csrf
@@ -83,7 +76,7 @@ @else
- {{ __('crud.helpers.no_results', ['models' => __('models.classes.recipes')]) }} + {{ __('crud.helpers.no_results', ['models' => str(__('models.classes.recipe'))->plural()]) }}
@@ -32,34 +32,35 @@ - + @foreach ($seoItemList as $seoItem) - - - - - - - + + + + + + + @endforeach
{{ __('Type') }} {{ __('SEO Title') }} {{ __('SEO Description') }}{{ __('Status') }}{{ __('Published') }}
{{ $seoItem->type }}{{ $seoItem->seo_title }}{{ $seoItem->seo_description }} - @if($seoItem->status) - - @else - - @endif - - - - - @if($seoItem->status && $seoItem->fo_url !== '#') - - - - @endif -
{{ $seoItem->type }}{{ $seoItem->seo_title }}{{ $seoItem->seo_description }} + + +
+ + + + @if ($seoItem->published && $seoItem->fo_url !== '#') + + + + @endif +
+
@@ -68,6 +69,4 @@ {{ $seoItemList->withQueryString()->onEachSide(1)->links() }}
-
- -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/sliders/create.blade.php b/resources/views/bo/pages/sliders/create.blade.php index 288a6ba4..520c0720 100644 --- a/resources/views/bo/pages/sliders/create.blade.php +++ b/resources/views/bo/pages/sliders/create.blade.php @@ -1,36 +1,34 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', Str::singular(__('models.classes.sliders')), Str::ucfirst(__('create')))) +@section('title', sprintf('%s - %s', __('models.classes.slider'), str(__('crud.actions.create'))->ucfirst())) @section('description', __('Creation of a new slider.')) -@section('breadcrumb', request()->route()->getName()) - @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.sliders')) }} {{ Str::ucfirst(__('create')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.slider'))->ucfirst() }} + {{ str(__('crud.actions.create'))->ucfirst() }} +

+
+
+
+ @csrf + @include('bo.pages.sliders.form-inputs') +
+
+ +
+
+
-
-
- @csrf - @include('bo.pages.sliders.form-inputs') -
-
- -
-
-
-
-
@endsection diff --git a/resources/views/bo/pages/sliders/edit.blade.php b/resources/views/bo/pages/sliders/edit.blade.php index 52c3a8a6..90ae369b 100644 --- a/resources/views/bo/pages/sliders/edit.blade.php +++ b/resources/views/bo/pages/sliders/edit.blade.php @@ -1,37 +1,37 @@ @extends('bo.layout', ['brParam' => $sliderModel]) -@section('title', sprintf('%s - %s %s', Str::singular(__('models.classes.sliders')), Str::ucfirst(__('crud.actions.edit')), $sliderModel->seo_title)) +@section('title', sprintf('%s - %s %s', __('models.classes.slider'), str(__('crud.actions.edit'))->ucfirst(), $sliderModel->seo_title)) @section('description', $sliderModel->seo_description) - @section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.sliders')) }} {{ Str::ucfirst(__('crud.actions.edit')) }} -

-
+
+
+

+ + + + {{ str(__('models.classes.slider'))->ucfirst() }} {{ str(__('crud.actions.edit'))->ucfirst() }} +

+
+
+
+ @csrf + @method('PUT') + @include('bo.pages.sliders.form-inputs', ['model' => $sliderModel]) +
+
+ +
+
+
-
-
- @csrf - @method('PUT') - @include('bo.pages.sliders.form-inputs', ['model' => $sliderModel]) -
-
- -
-
-
-
-
@endsection diff --git a/resources/views/bo/pages/sliders/form-inputs.blade.php b/resources/views/bo/pages/sliders/form-inputs.blade.php index 280df6b1..7fd34ae9 100644 --- a/resources/views/bo/pages/sliders/form-inputs.blade.php +++ b/resources/views/bo/pages/sliders/form-inputs.blade.php @@ -28,13 +28,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'sliderTitle', - 'label' => __('Title of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'label' => __('Title of the :model', ['model' => __('models.classes.slider')]), 'hasWordCounter' => true, 'name' => 'title', 'required' => true, 'model' => $sliderModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Title of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'attribute' => __('Title of the :model', ['model' => __('models.classes.slider')]), 'min' => 3, 'max' => 255 ]), @@ -52,13 +52,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'sliderSubtitle', - 'label' => __('Subtitle of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'label' => __('Subtitle of the :model', ['model' => __('models.classes.slider')]), 'hasWordCounter' => true, 'name' => 'subtitle', 'required' => true, 'model' => $sliderModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Subtitle of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'attribute' => __('Subtitle of the :model', ['model' => __('models.classes.slider')]), 'min' => 3, 'max' => 255 ]), @@ -76,7 +76,7 @@
@include('bo.partials.inputs.text-html', [ 'id' => 'sliderDescription', - 'label' => __('Description of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'label' => __('Description of the :model', ['model' => __('models.classes.slider')]), 'name' => 'description', 'model' => $sliderModel ?? null, 'required' => true, @@ -95,7 +95,7 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'sliderPictureAlt', - 'label' => __('Alt attribute of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'label' => __('Alt attribute of the :model', ['model' => __('models.classes.slider')]), 'hasWordCounter' => true, 'name' => 'picture_alt', 'required' => true, @@ -107,7 +107,7 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'sliderPictureTitle', - 'label' => __('Title attribute of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'label' => __('Title attribute of the :model', ['model' => __('models.classes.slider')]), 'hasWordCounter' => true, 'name' => 'picture_title', 'required' => true, @@ -142,13 +142,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'sliderLink', - 'label' => __('Link of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'label' => __('Link of the :model', ['model' => __('models.classes.slider')]), 'hasWordCounter' => false, 'name' => 'link', 'required' => true, 'model' => $sliderModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Link of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'attribute' => __('Link of the :model', ['model' => __('models.classes.slider')]), 'min' => 3, 'max' => 255 ]), @@ -158,13 +158,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'sliderLinkTitle', - 'label' => __('Title of the link of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'label' => __('Title of the link of the :model', ['model' => __('models.classes.slider')]), 'hasWordCounter' => true, 'name' => 'link_title', 'required' => true, 'model' => $sliderModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Title of the link of the :model', ['model' => Str::singular(__('models.classes.sliders'))]), + 'attribute' => __('Title of the link of the :model', ['model' => __('models.classes.slider')]), 'min' => 3, 'max' => 255 ]), diff --git a/resources/views/bo/pages/sliders/index-list.blade.php b/resources/views/bo/pages/sliders/index-list.blade.php index 225b11f9..e751dc0a 100644 --- a/resources/views/bo/pages/sliders/index-list.blade.php +++ b/resources/views/bo/pages/sliders/index-list.blade.php @@ -1,16 +1,16 @@
- @php - $cols = [ + @include('bo.modules.table-col-sorter', [ + 'cols' => [ 'title' => __('validation.attributes.title'), 'subtitle' => __('validation.attributes.subtitle'), 'status' => __('crud.minicrud.visibility_label'), 'order' => __('validation.attributes.order'), 'updated_at' => __('validation.attributes.updated_at'), - ]; - @endphp - @include('bo.modules.table-col-sorter', ['cols' => $cols, 'mobileHide' => ['status']]) + ], + 'mobileHide' => ['status'] + ]) @if ($sliderModels->count()) @@ -23,19 +23,11 @@ @csrf - @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request()->route()->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order') - @endif diff --git a/resources/views/bo/pages/sliders/index.blade.php b/resources/views/bo/pages/sliders/index.blade.php index 2e1acb66..8669f33d 100644 --- a/resources/views/bo/pages/sliders/index.blade.php +++ b/resources/views/bo/pages/sliders/index.blade.php @@ -1,48 +1,40 @@ @extends('bo.layout') -@section('title', __('crud.helpers.list_all', ['model' => __('models.classes.sliders')])) -@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.sliders')])) -@section('breadcrumb', request()->route()->getName()) +@section('title', __('crud.helpers.list_all', ['model' => str(__('models.classes.slider'))->plural()])) +@section('description', __('crud.helpers.list_all', ['model' => str(__('models.classes.slider'))->plural()])) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.sliders') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.slider'))->ucfirst()->plural() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $sliderModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.sliders.index-list') -
-
-
-
- {{ $sliderModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.sliders.index-list') +
+
+
+
+ {{ $sliderModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/static_pages/edit.blade.php b/resources/views/bo/pages/static_pages/edit.blade.php index 0ff83ffa..0c6f139e 100644 --- a/resources/views/bo/pages/static_pages/edit.blade.php +++ b/resources/views/bo/pages/static_pages/edit.blade.php @@ -1,27 +1,19 @@ @extends('bo.layout', ['brParam' => $staticPageModel]) -@section('title', sprintf('%s - %s %s', trans_choice('models.classes.static_page', 1), Str::ucfirst(__('crud.actions.edit')), - $staticPageModel->seo_title)) - -@section('breadcrumb', - request()->route()->getName()) +@section('title', sprintf('%s - %s %s', str(trans('models.classes.static_page'))->ucfirst(), str(__('crud.actions.edit'))->ucfirst(), $staticPageModel->seo_title)) +@section('breadcrumb', request()->route()->getName()) @section('content')
-
-
-

- - - - {{ Str::ucfirst(trans_choice('models.classes.static_page', 1)) }} {{ __('crud.actions.edit') }} -

-
-
+

+ + + + {{ str(trans('models.classes.static_page'))->ucfirst() }} + {{ str(__('crud.actions.edit'))->ucfirst() }} +

diff --git a/resources/views/bo/pages/static_pages/form-inputs.blade.php b/resources/views/bo/pages/static_pages/form-inputs.blade.php index 58c51da8..ec2a07ed 100644 --- a/resources/views/bo/pages/static_pages/form-inputs.blade.php +++ b/resources/views/bo/pages/static_pages/form-inputs.blade.php @@ -1,13 +1,13 @@
{{-- TYPE --}}
-
- {{ Str::ucfirst(__('validation.custom.static_page_type')) }} +
+ {{ str(__('validation.custom.static_page_type'))->ucfirst() }}
@include('bo.partials.inputs.tinyint-enum', [ 'id' => 'staticPageType', - 'label' => __('Type of the :model', ['model' => trans_choice('models.classes.static_page', 1)]), + 'label' => __('Type of the :model', ['model' => trans('models.classes.static_page')]), 'name' => 'type', 'model' => $staticPageModel ?? null, 'required' => false, @@ -22,19 +22,19 @@
{{-- TITLE --}}
-
- {{ Str::ucfirst(__('validation.attributes.title')) }} +
+ {{ str(__('validation.attributes.title'))->ucfirst() }}
@include('bo.partials.inputs.varchar', [ 'id' => 'userFirstname', - 'label' => __('Title of the :model', ['model' => trans_choice('models.classes.static_page', 1)]), + 'label' => __('Title of the :model', ['model' => trans('models.classes.static_page')]), 'hasWordCounter' => true, 'name' => 'title', 'required' => true, 'model' => $staticPageModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('title of the :model', ['model' => trans_choice('models.classes.static_page', 1)]), + 'attribute' => __('title of the :model', ['model' => trans('models.classes.static_page')]), 'min' => 3, 'max' => 255, ]), @@ -46,16 +46,16 @@
{{-- SEO_TITLE --}}
-
- {{ Str::ucfirst(__('validation.custom.seo_title')) }} +
+ {{ str(__('validation.custom.seo_title'))->ucfirst() }}
@include('bo.partials.inputs.varchar', [ 'id' => 'staticPagesSeoTitle', 'label' => __(':field :inter:model', [ - 'field' => Str::ucfirst(__('validation.custom.seo_title')), + 'field' => str(__('validation.custom.seo_title'))->ucfirst(), 'inter' => __('validation.custom.of_the.female'), - 'model' => trans_choice('models.classes.static_page', 1), + 'model' => trans('models.classes.static_page'), ]), 'hasWordCounter' => true, 'name' => 'seo_title', @@ -65,15 +65,15 @@ 'attribute' => __(':field :inter:model', [ 'field' => __('validation.custom.seo_title'), 'inter' => __('validation.custom.of_the.female'), - 'model' => trans_choice('models.classes.static_page', 1), + 'model' => trans('models.classes.static_page'), ]), 'min' => 45, 'max' => 70, ]), 'placeholder' => __(':field :inter:model', [ - 'field' => Str::ucfirst(__('validation.custom.seo_title')), + 'field' => str(__('validation.custom.seo_title'))->ucfirst(), 'inter' => __('validation.custom.of_the.female'), - 'model' => trans_choice('models.classes.static_page', 1), + 'model' => trans('models.classes.static_page'), ]), ])
@@ -82,16 +82,16 @@
{{-- SEO_DESCRIPTION --}}
-
- {{ Str::ucfirst(__('validation.custom.seo_description')) }} +
+ {{ str(__('validation.custom.seo_description'))->ucfirst() }}
@include('bo.partials.inputs.varchar-multiline', [ 'id' => 'staticPagesSeoDescription', 'label' => __(':field :inter:model', [ - 'field' => Str::ucfirst(__('validation.custom.seo_description')), + 'field' => str(__('validation.custom.seo_description'))->ucfirst(), 'inter' => __('validation.custom.of_the.female'), - 'model' => trans_choice('models.classes.static_page', 1), + 'model' => trans('models.classes.static_page'), ]), 'name' => 'seo_description', 'model' => $staticPageModel ?? null, @@ -100,15 +100,15 @@ 'attribute' => __(':field :inter:model', [ 'field' => __('validation.custom.seo_description'), 'inter' => __('validation.custom.of_the.female'), - 'model' => trans_choice('models.classes.static_page', 1), + 'model' => trans('models.classes.static_page'), ]), 'min' => 50, 'max' => 160, ]), 'placeholder' => __(':field :inter:model', [ - 'field' => Str::ucfirst(__('validation.custom.seo_description')), + 'field' => str(__('validation.custom.seo_description'))->ucfirst(), 'inter' => __('validation.custom.of_the.female'), - 'model' => trans_choice('models.classes.static_page', 1), + 'model' => trans('models.classes.static_page'), ]), ])
@@ -117,16 +117,16 @@
{{-- CONTENT --}}
-
- {{ Str::ucfirst(__('validation.attributes.content')) }} +
+ {{ str(__('validation.attributes.content'))->ucfirst() }}
@include('bo.partials.inputs.text-html', [ 'id' => 'articleContent', 'label' => __(':field :inter:model', [ - 'field' => Str::ucfirst(__('validation.attributes.content')), + 'field' => str(__('validation.attributes.content'))->ucfirst(), 'inter' => __('validation.custom.of_the.female'), - 'model' => trans_choice('models.classes.static_page', 1), + 'model' => trans('models.classes.static_page'), ]), 'name' => 'content', 'model' => $staticPageModel ?? null, diff --git a/resources/views/bo/pages/static_pages/index-list.blade.php b/resources/views/bo/pages/static_pages/index-list.blade.php index 204214be..4a156e03 100644 --- a/resources/views/bo/pages/static_pages/index-list.blade.php +++ b/resources/views/bo/pages/static_pages/index-list.blade.php @@ -1,14 +1,11 @@
- {{ $sliderModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + + {{ $sliderModel->updated_at->isoFormat('LLLL') }} + - + + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.slider')]) }}"> @method('DELETE') @csrf
@@ -84,8 +77,10 @@ @endforeach @else
- {{ __('crud.helpers.no_results', ['models' => __('models.classes.sliders')]) }} + + + {{ __('crud.helpers.no_results', ['models' => str(__('models.classes.slider'))->plural()]) }} +
- @php - $cols = [ - 'type' => Str::ucfirst(__('validation.custom.static_page_type')), - 'title' => Str::ucfirst(__('validation.attributes.title')), - 'updated_at' => Str::ucfirst(__('validation.attributes.updated_at')), - ]; - @endphp - @include('bo.modules.table-col-sorter', ['cols' => $cols]) + @include('bo.modules.table-col-sorter', ['cols' => [ + 'type' => Str::ucfirst(__('validation.custom.static_page_type')), + 'title' => Str::ucfirst(__('validation.attributes.title')), + 'updated_at' => Str::ucfirst(__('validation.attributes.updated_at')), + ]]) @if ($staticPageModels->count()) @@ -17,13 +14,12 @@ @@ -32,8 +28,7 @@ @else @endif diff --git a/resources/views/bo/pages/static_pages/index.blade.php b/resources/views/bo/pages/static_pages/index.blade.php index 3116e0da..ed1c10d1 100644 --- a/resources/views/bo/pages/static_pages/index.blade.php +++ b/resources/views/bo/pages/static_pages/index.blade.php @@ -1,42 +1,30 @@ @extends('bo.layout') -@section('title', __('crud.helpers.list_all', ['model' => Str::ucfirst(trans_choice('models.classes.static_page', 2))])) -@section('description', __('crud.helpers.list_all', ['model' => Str::ucfirst(trans_choice('models.classes.static_page', 2))])) -@section('breadcrumb', - request()->route()->getName()) +@section('title', __('crud.helpers.list_all', ['model' => str(trans('models.classes.static_page'))->ucfirst()->plural()])) +@section('description', __('crud.helpers.list_all', ['model' => str(trans('models.classes.static_page'))->ucfirst()->plural()])) @section('content') -
-
-
-
-
-
-
-

{{ Str::ucfirst(trans_choice('models.classes.static_page', 2)) }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
-
- @include('bo.modules.search-bar') -
-
- {{ $staticPageModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.static_pages.index-list') -
-
-
-
- {{ $staticPageModels->withQueryString()->onEachSide(1)->links() }} -
-
-
+
+
+
+
+

+ {{ str(trans('models.classes.static_page'))->ucfirst()->plural() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

+
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.static_pages.index-list') +
+
+
+
+ {{ $staticPageModels->withQueryString()->onEachSide(1)->links() }}
diff --git a/resources/views/bo/pages/storegroups/create.blade.php b/resources/views/bo/pages/storegroups/create.blade.php index d8e24829..87edacfc 100644 --- a/resources/views/bo/pages/storegroups/create.blade.php +++ b/resources/views/bo/pages/storegroups/create.blade.php @@ -1,36 +1,33 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', Str::singular(__('models.classes.storegroups')), Str::ucfirst(__('create')))) +@section('title', sprintf('%s - %s', str(__('models.classes.storegroup'))->ucfirst(), str(__('crud.actions.create'))->ucfirst())) @section('description', __('Creation of a new store group.')) -@section('breadcrumb', request()->route()->getName()) - @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.storegroups')) }} {{ __('create') }} -

-
+
+
+

+ + + + {{ str(__('models.classes.storegroup'))->ucfirst() }} + {{ str(__('crud.actions.create'))->ucfirst() }} +

+
+
+ + @csrf + @include('bo.pages.storegroups.form-inputs') +
+
+ +
+
+
-
-
- @csrf - @include('bo.pages.storegroups.form-inputs') -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/storegroups/edit.blade.php b/resources/views/bo/pages/storegroups/edit.blade.php index b0030508..54a016e8 100644 --- a/resources/views/bo/pages/storegroups/edit.blade.php +++ b/resources/views/bo/pages/storegroups/edit.blade.php @@ -1,22 +1,19 @@ @extends('bo.layout', ['brParam' => $storegroupModel]) -@section('title', sprintf('%s - %s %s', Str::singular(__('models.classes.storegroups')), Str::ucfirst(__('crud.actions.edit')), $storegroupModel->seo_title)) - +@section('title', sprintf('%s - %s %s', str(__('models.classes.storegroup'))->ucFirst(), str(__('crud.actions.edit'))->ucfirst(), $storegroupModel->seo_title)) @section('breadcrumb', request()->route()->getName()) @section('content')
-
-
-

- - - - {{ Str::singular(__('models.classes.storegroups')) }} {{ __('crud.actions.edit') }} -

-
-
+

+ + + + {{ str(__('models.classes.storegroup'))->ucfirst() }} + {{ str(__('crud.actions.edit'))->ucfirst() }} +

@@ -25,7 +22,8 @@ @include('bo.pages.storegroups.form-inputs', ['model' => $storegroupModel])
-
diff --git a/resources/views/bo/pages/storegroups/form-inputs.blade.php b/resources/views/bo/pages/storegroups/form-inputs.blade.php index a197b12d..b0939a0d 100644 --- a/resources/views/bo/pages/storegroups/form-inputs.blade.php +++ b/resources/views/bo/pages/storegroups/form-inputs.blade.php @@ -7,16 +7,16 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'storegroupeName', - 'label' => __('Name of the :model', ['model' => Str::singular(__('models.classes.storegroups'))]), + 'label' => __('Name of the :model', ['model' => __('models.classes.storegroup')]), 'hasWordCounter' => true, 'name' => 'name', 'required' => true, 'model' => $storegroupModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Name of the :model', ['model' => Str::singular(__('models.classes.products'))]), - 'min' => 3, - 'max' => 255 - ]), + 'attribute' => __('Name of the :model', ['model' => __('models.classes.storegroup')]), + 'min' => 3, + 'max' => 255, + ]), 'placeholder' => __('A beautiful name'), ])
diff --git a/resources/views/bo/pages/storegroups/index-list.blade.php b/resources/views/bo/pages/storegroups/index-list.blade.php index 9091819c..c586b321 100644 --- a/resources/views/bo/pages/storegroups/index-list.blade.php +++ b/resources/views/bo/pages/storegroups/index-list.blade.php @@ -1,25 +1,21 @@
{{ $staticPageModel->type->label() }} {{ $staticPageModel->title }} - {{ $staticPageModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + {{ $staticPageModel->updated_at->isoFormat('LLLL') }} + title="{{ __('crud.helpers.update_model', ['model' => trans('models.classes.static_page')]) }}">
- {{ __('crud.helpers.no_results', ['models' => trans_choice('models.classes.static_page', 1)]) }} + {{ __('crud.helpers.no_results', ['models' => str(trans('models.classes.static_page'))->plural()]) }}
- @php - $cols = [ + @include('bo.modules.table-col-sorter', [ + 'cols' => [ 'name' => __('validation.attributes.name'), 'order' => __('validation.attributes.order'), 'updated_at' => __('validation.attributes.updated_at'), - ]; - @endphp - @include('bo.modules.table-col-sorter', ['cols' => $cols, 'mobileHide' => ['status']]) + ], + 'mobileHide' => ['status'] + ]) @if ($storeGroupModels->count()) @foreach ($storeGroupModels as $storeGroupModel) - @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request()->route()->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order') @endif diff --git a/resources/views/bo/pages/storegroups/index.blade.php b/resources/views/bo/pages/storegroups/index.blade.php index b6d2df56..958ad587 100644 --- a/resources/views/bo/pages/storegroups/index.blade.php +++ b/resources/views/bo/pages/storegroups/index.blade.php @@ -1,48 +1,40 @@ @extends('bo.layout') -@section('title', __('crud.helpers.list_all', ['model' => __('models.classes.storegroups')])) -@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.storegroups')])) -@section('breadcrumb', request()->route()->getName()) +@section('title', __('crud.helpers.list_all', ['model' => str(__('models.classes.storegroup'))->plural()])) +@section('description', __('crud.helpers.list_all', ['model' => str(__('models.classes.storegroup'))->plural()])) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.storegroups') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.storegroup'))->ucfirst()->plural() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $storeGroupModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.storegroups.index-list') -
-
-
-
- {{ $storeGroupModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.storegroups.index-list') +
+
+
+
+ {{ $storeGroupModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/storeregions/create.blade.php b/resources/views/bo/pages/storeregions/create.blade.php index 9ee93f41..81b6095c 100644 --- a/resources/views/bo/pages/storeregions/create.blade.php +++ b/resources/views/bo/pages/storeregions/create.blade.php @@ -1,36 +1,33 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', Str::singular(__('models.classes.storeregions')), Str::ucfirst(__('create')))) +@section('title', sprintf('%s - %s', str(__('models.classes.storeregion'))->ucfirst(), str(__('crud.actions.create'))->ucfirst())) @section('description', __('Creation of a new store group.')) -@section('breadcrumb', request()->route()->getName()) - @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.storeregions')) }} {{ __('create') }} -

-
+
+
+

+ + + + {{ str(__('models.classes.storeregion'))->ucfirst() }} + {{ str(__('crud.actions.create'))->ucfirst() }} +

+
+
+ + @csrf + @include('bo.pages.storeregions.form-inputs') +
+
+ +
+
+
-
-
- @csrf - @include('bo.pages.storeregions.form-inputs') -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/storeregions/edit.blade.php b/resources/views/bo/pages/storeregions/edit.blade.php index 7e7d5b6a..44339152 100644 --- a/resources/views/bo/pages/storeregions/edit.blade.php +++ b/resources/views/bo/pages/storeregions/edit.blade.php @@ -1,36 +1,34 @@ @extends('bo.layout', ['brParam' => $storeregionModel]) -@section('title', sprintf('%s - %s %s', Str::singular(__('models.classes.storeregions')), Str::ucfirst(__('crud.actions.edit')), $storeregionModel->seo_title)) - +@section('title', sprintf('%s - %s %s', str(__('models.classes.storeregion'))->ucfirst(), str(__('crud.actions.edit'))->ucfirst(), $storeregionModel->seo_title)) @section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.storeregions')) }} {{ __('crud.actions.edit') }} -

-
+
+
+

+ + + + {{ str(__('models.classes.storeregion'))->ucfirst() }} + {{ str(__('crud.actions.edit'))->ucfirst() }} +

+
+
+
+ @csrf + @method('PUT') + @include('bo.pages.storeregions.form-inputs', ['model' => $storeregionModel]) +
+
+ +
+
+
-
-
- @csrf - @method('PUT') - @include('bo.pages.storeregions.form-inputs', ['model' => $storeregionModel]) -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/storeregions/form-inputs.blade.php b/resources/views/bo/pages/storeregions/form-inputs.blade.php index 02145302..6ec09d80 100644 --- a/resources/views/bo/pages/storeregions/form-inputs.blade.php +++ b/resources/views/bo/pages/storeregions/form-inputs.blade.php @@ -7,16 +7,16 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'storeregioneName', - 'label' => __('Name of the :model', ['model' => Str::singular(__('models.classes.storeregions'))]), + 'label' => __('Name of the :model', ['model' => trans('models.classes.storegroup')]), 'hasWordCounter' => true, 'name' => 'name', 'required' => true, 'model' => $storeregionModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Name of the :model', ['model' => Str::singular(__('models.classes.products'))]), - 'min' => 3, - 'max' => 255 - ]), + 'attribute' => __('Name of the :model', ['model' => trans('models.classes.storegroup')]), + 'min' => 3, + 'max' => 255 + ]), 'placeholder' => __('A beautiful name'), ])
@@ -26,18 +26,18 @@ {{-- GROUP_ID --}}
- {{ Str::singular(trans('models.classes.storegroups')) }} + {{ str(trans('models.classes.storegroup'))->ucfirst() }}
@include('bo.partials.inputs.bigint-foreign-id', [ 'id' => 'storeGroup', - 'label' => __(':model associated', ['model' => Str::singular(trans('models.classes.storegroups'))]), + 'label' => __(':model associated', ['model' => str(trans('models.classes.storegroup'))->ucfirst()]), 'name' => 'group_id', 'size' => 5, 'model' => $storeregionModel ?? null, 'associatedModels' => $storegroupModels, 'foreignLabel' => 'name', - 'helper' => __('Chose one :model among this list.', ['model' => Str::singular(trans('models.classes.storegroups'))]), + 'helper' => __('Chose one :model among this list.', ['model' => trans('models.classes.storegroup')]), ])
diff --git a/resources/views/bo/pages/storeregions/index-list.blade.php b/resources/views/bo/pages/storeregions/index-list.blade.php index e3c356eb..4e875f1d 100644 --- a/resources/views/bo/pages/storeregions/index-list.blade.php +++ b/resources/views/bo/pages/storeregions/index-list.blade.php @@ -1,25 +1,21 @@
{{ $storeGroupModel->name }} @endif - {{ $storeGroupModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + {{ $storeGroupModel->updated_at->isoFormat('LLLL') }} + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.storegroup')]) }}"> @method('DELETE') @csrf
@@ -69,7 +64,7 @@ @else
- {{ __('crud.helpers.no_results', ['models' => __('models.classes.storegroups')]) }} + {{ __('crud.helpers.no_results', ['models' => __('models.classes.storegroup')]) }}
- @php - $cols = [ + @include('bo.modules.table-col-sorter', [ + 'cols' => [ 'name' => __('validation.attributes.name'), 'order' => __('validation.attributes.order'), 'updated_at' => __('validation.attributes.updated_at'), - ]; - @endphp - @include('bo.modules.table-col-sorter', ['cols' => $cols, 'mobileHide' => ['status']]) + ], + 'mobileHide' => ['status'] + ]) @if ($storeRegionModels->count()) @foreach ($storeRegionModels as $storeRegionModel) - @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request()->route()->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order') @endif diff --git a/resources/views/bo/pages/storeregions/index.blade.php b/resources/views/bo/pages/storeregions/index.blade.php index 0f0ec659..07694e71 100644 --- a/resources/views/bo/pages/storeregions/index.blade.php +++ b/resources/views/bo/pages/storeregions/index.blade.php @@ -1,48 +1,40 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', __('models.classes.storeregions'), Str::ucfirst(__('crud.helpers.list')))) -@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.storeregions')])) -@section('breadcrumb', request()->route()->getName()) +@section('title', sprintf('%s - %s', str(__('models.classes.storeregion'))->ucfirst(), str(__('crud.helpers.list'))->ucfirst())) +@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.storeregion')])) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.storeregions') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.storeregion'))->ucfirst() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $storeRegionModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.storeregions.index-list') -
-
-
-
- {{ $storeRegionModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.storeregions.index-list') +
+
+
+
+ {{ $storeRegionModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/stores/create.blade.php b/resources/views/bo/pages/stores/create.blade.php index 19096e96..98058220 100644 --- a/resources/views/bo/pages/stores/create.blade.php +++ b/resources/views/bo/pages/stores/create.blade.php @@ -1,36 +1,33 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', Str::singular(__('models.classes.stores')), Str::ucfirst(__('create')))) +@section('title', sprintf('%s - %s', str(__('models.classes.store'))->ucfirst(), str(__('crud.actions.create'))->ucfirst())) @section('description', __('Creation of a new store.')) -@section('breadcrumb', request()->route()->getName()) - @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.stores')) }} {{ __('create') }} -

-
+
+
+

+ + + + {{ str(__('models.classes.store'))->ucfirst() }} + {{ str(__('crud.actions.create'))->ucfirst() }} +

+
+
+ + @csrf + @include('bo.pages.stores.form-inputs') +
+
+ +
+
+
-
-
- @csrf - @include('bo.pages.stores.form-inputs') -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/stores/edit.blade.php b/resources/views/bo/pages/stores/edit.blade.php index 5d8849e2..9ddf94f9 100644 --- a/resources/views/bo/pages/stores/edit.blade.php +++ b/resources/views/bo/pages/stores/edit.blade.php @@ -1,37 +1,35 @@ @extends('bo.layout', ['brParam' => $storeModel]) -@section('title', sprintf('%s - %s %s', Str::singular(__('models.classes.stores')), Str::ucfirst(__('crud.actions.edit')), $storeModel->seo_title)) +@section('title', sprintf('%s - %s %s', str(__('models.classes.store'))->ucfirst(), str(__('crud.actions.edit'))->ucfirst(), $storeModel->seo_title)) @section('description', $storeModel->seo_description) - @section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.stores')) }} {{ __('crud.actions.edit') }} -

-
+
+
+

+ + + + {{ str(__('models.classes.store'))->ucfirst() }} + {{ str(__('crud.actions.edit'))->ucfirst() }} +

+
+
+
+ @csrf + @method('PUT') + @include('bo.pages.stores.form-inputs', ['model' => $storeModel]) +
+
+ +
+
+
-
-
- @csrf - @method('PUT') - @include('bo.pages.stores.form-inputs', ['model' => $storeModel]) -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/stores/form-inputs.blade.php b/resources/views/bo/pages/stores/form-inputs.blade.php index c2f8708a..7e891b70 100644 --- a/resources/views/bo/pages/stores/form-inputs.blade.php +++ b/resources/views/bo/pages/stores/form-inputs.blade.php @@ -7,13 +7,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'storeState', - 'label' => __('State of the :model', ['model' => Str::singular(__('models.classes.stores'))]), + 'label' => __('State of the :model', ['model' => __('models.classes.store')]), 'hasWordCounter' => true, 'name' => 'state', 'required' => true, 'model' => $storeModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('State of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('State of the :model', ['model' => __('models.classes.store')]), 'min' => 3, 'max' => 255 ]), @@ -26,18 +26,18 @@ {{-- TYPE_ID --}}
- {{ Str::singular(trans('models.classes.storetypes')) }} + {{ str(trans('models.classes.storetype'))->ucfirst() }}
@include('bo.partials.inputs.bigint-foreign-id', [ 'id' => 'storeType', - 'label' => __(':model associated', ['model' => Str::singular(trans('models.classes.storetypes'))]), + 'label' => __(':model associated', ['model' => str(trans('models.classes.storetype'))->ucfirst()]), 'name' => 'type_id', 'size' => 5, 'model' => $storeModel ?? null, 'associatedModels' => $typeModels, 'foreignLabel' => 'name', - 'helper' => __('Chose one :model among this list.', ['model' => Str::singular(trans('models.classes.storetypes'))]), + 'helper' => __('Chose one :model among this list.', ['model' => trans('models.classes.storetype')]), ])
@@ -51,13 +51,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'storeStreet', - 'label' => __('Street of the :model', ['model' => Str::singular(__('models.classes.stores'))]), + 'label' => __('Street of the :model', ['model' => __('models.classes.store')]), 'hasWordCounter' => true, 'name' => 'street', 'required' => true, 'model' => $storeModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Street of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('Street of the :model', ['model' => __('models.classes.store')]), 'min' => 3, 'max' => 255 ]), @@ -75,13 +75,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'storeZipcode', - 'label' => __('Zipcode of the :model', ['model' => Str::singular(__('models.classes.stores'))]), + 'label' => __('Zipcode of the :model', ['model' => __('models.classes.store')]), 'hasWordCounter' => true, 'name' => 'zipcode', 'required' => true, 'model' => $storeModel ?? null, 'helper' => __('validation.digits', [ - 'attribute' => __('Zipcode of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('Zipcode of the :model', ['model' => __('models.classes.store')]), 'digits' => 5 ]), 'placeholder' => __('The zipcode like 00000'), @@ -98,13 +98,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'storeCity', - 'label' => __('City of the :model', ['model' => Str::singular(__('models.classes.stores'))]), + 'label' => __('City of the :model', ['model' => __('models.classes.store')]), 'hasWordCounter' => true, 'name' => 'city', 'required' => true, 'model' => $storeModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('City of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('City of the :model', ['model' => __('models.classes.store')]), 'min' => 3, 'max' => 255 ]), @@ -122,13 +122,13 @@
@include('bo.partials.inputs.int-number', [ 'id' => 'storeLatitude', - 'label' => __('Latitude of the :model', ['model' => Str::singular(__('models.classes.stores'))]), + 'label' => __('Latitude of the :model', ['model' => __('models.classes.store')]), 'hasWordCounter' => true, 'name' => 'latitude', 'required' => true, 'model' => $storeModel ?? null, 'helper' => __('validation.between.numeric', [ - 'attribute' => __('Latitude of the :model', ['model' => Str::singular(__('models.classes.stores'))]), + 'attribute' => __('Latitude of the :model', ['model' => __('models.classes.store')]), 'min' => '-90', 'max' => '90', ]) . '. '. __('Must have 8 decimal maximum. Can be found in Google Maps.'), @@ -147,13 +147,13 @@
@include('bo.partials.inputs.int-number', [ 'id' => 'storeLongitude', - 'label' => __('Longitude of the :model', ['model' => Str::singular(__('models.classes.stores'))]), + 'label' => __('Longitude of the :model', ['model' => __('models.classes.store')]), 'hasWordCounter' => true, 'name' => 'longitude', 'required' => true, 'model' => $storeModel ?? null, 'helper' => __('validation.between.numeric', [ - 'attribute' => __('Latitude of the :model', ['model' => Str::singular(__('models.classes.stores'))]), + 'attribute' => __('Latitude of the :model', ['model' => __('models.classes.store')]), 'min' => '-180', 'max' => '180', ]) . '. '. __('Must have 8 decimal maximum. Can be found in Google Maps.'), @@ -167,18 +167,18 @@ {{-- REGION_ID --}}
- {{ Str::singular(trans('models.classes.storeregions')) }} + {{ str(trans('models.classes.storeregion'))->ucfirst() }}
@include('bo.partials.inputs.bigint-foreign-id', [ 'id' => 'storeRegion', - 'label' => __(':model associated', ['model' => Str::singular(trans('models.classes.storeregions'))]), + 'label' => __(':model associated', ['model' => str(trans('models.classes.storeregion'))->ucfirst()]), 'name' => 'region_id', 'size' => 5, 'model' => $storeModel ?? null, 'associatedModels' => $regionModels, 'foreignLabel' => 'name', - 'helper' => __('Chose one :model among this list.', ['model' => Str::singular(trans('models.classes.storeregions'))]), + 'helper' => __('Chose one :model among this list.', ['model' => trans('models.classes.storeregion')]), ])
diff --git a/resources/views/bo/pages/stores/index-list.blade.php b/resources/views/bo/pages/stores/index-list.blade.php index bbe1797e..a466e78f 100644 --- a/resources/views/bo/pages/stores/index-list.blade.php +++ b/resources/views/bo/pages/stores/index-list.blade.php @@ -1,8 +1,8 @@
{{ $storeRegionModel->name }} - {{ $storeRegionModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + {{ $storeRegionModel->updated_at->isoFormat('LLLL') }} + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.storeregion')]) }}"> @method('DELETE') @csrf
@@ -69,7 +64,7 @@ @else
- {{ __('crud.helpers.no_results', ['models' => __('models.classes.storeregions')]) }} + {{ __('crud.helpers.no_results', ['models' => str(__('models.classes.storeregion'))->plural()]) }}
- @php - $cols = [ + @include('bo.modules.table-col-sorter', [ + 'cols' => [ 'state' => __('validation.attributes.state'), 'type_id' => __('validation.attributes.type'), 'street' => __('validation.attributes.street'), @@ -11,9 +11,9 @@ 'region_id' => __('validation.attributes.region'), 'order' => __('validation.attributes.order'), 'updated_at' => __('validation.attributes.updated_at'), - ]; - @endphp - @include('bo.modules.table-col-sorter', ['cols' => $cols, 'mobileHide' => ['status']]) + ], + 'mobileHide' => ['status'] + ]) @if ($storeModels->count()) @@ -33,11 +33,7 @@ {{ $storeModel->storeRegion->name }} - @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request()->route()->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order') @endif diff --git a/resources/views/bo/pages/stores/index.blade.php b/resources/views/bo/pages/stores/index.blade.php index 9d748b99..caa5e32f 100644 --- a/resources/views/bo/pages/stores/index.blade.php +++ b/resources/views/bo/pages/stores/index.blade.php @@ -1,48 +1,40 @@ @extends('bo.layout') -@section('title', __('crud.helpers.list_all', ['model' => __('models.classes.stores')])) -@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.stores')])) -@section('breadcrumb', request()->route()->getName()) +@section('title', __('crud.helpers.list_all', ['model' => str(__('models.classes.store'))->plural()])) +@section('description', __('crud.helpers.list_all', ['model' => str(__('models.classes.store'))->plural()])) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.stores') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.store'))->ucfirst()->plural() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $storeModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.stores.index-list') -
-
-
-
- {{ $storeModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.stores.index-list') +
+
+
+
+ {{ $storeModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/bo/pages/storetypes/create.blade.php b/resources/views/bo/pages/storetypes/create.blade.php index d3c5ead5..196c8392 100644 --- a/resources/views/bo/pages/storetypes/create.blade.php +++ b/resources/views/bo/pages/storetypes/create.blade.php @@ -1,36 +1,33 @@ @extends('bo.layout') -@section('title', sprintf('%s - %s', Str::singular(__('models.classes.storetypes')), Str::ucfirst(__('create')))) +@section('title', sprintf('%s - %s', str(__('models.classes.storetype'))->ucfirst(), str(__('crud.actions.create'))->ucfirst())) @section('description', __('Creation of a new store group.')) -@section('breadcrumb', request()->route()->getName()) - @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.storetypes')) }} {{ __('create') }} -

-
+
+
+

+ + + + {{ str(__('models.classes.storetype'))->ucfirst() }} + {{ str(__('crud.actions.create'))->ucfirst() }} +

+
+
+ + @csrf + @include('bo.pages.storetypes.form-inputs') +
+
+ +
+
+
-
-
- @csrf - @include('bo.pages.storetypes.form-inputs') -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/storetypes/edit.blade.php b/resources/views/bo/pages/storetypes/edit.blade.php index 710a8cd9..f6162b41 100644 --- a/resources/views/bo/pages/storetypes/edit.blade.php +++ b/resources/views/bo/pages/storetypes/edit.blade.php @@ -1,36 +1,34 @@ @extends('bo.layout', ['brParam' => $storetypeModel]) -@section('title', sprintf('%s - %s %s', Str::singular(__('models.classes.storetypes')), Str::ucfirst(__('crud.actions.edit')), $storetypeModel->seo_title)) - +@section('title', sprintf('%s - %s %s', str(__('models.classes.storetype'))->ucfirst(), str(__('crud.actions.edit'))->ucfirst(), $storetypeModel->seo_title)) @section('breadcrumb', request()->route()->getName()) @section('content') -
-
-
-
-

- - - - {{ Str::singular(__('models.classes.storetypes')) }} {{ __('crud.actions.edit') }} -

-
+
+
+

+ + + + {{ str(__('models.classes.storetype'))->ucfirst() }} + {{ str(__('crud.actions.edit'))->ucfirst() }} +

+
+
+
+ @csrf + @method('PUT') + @include('bo.pages.storetypes.form-inputs', ['model' => $storetypeModel]) +
+
+ +
+
+
-
-
- @csrf - @method('PUT') - @include('bo.pages.storetypes.form-inputs', ['model' => $storetypeModel]) -
-
- -
-
- -
-
@endsection diff --git a/resources/views/bo/pages/storetypes/form-inputs.blade.php b/resources/views/bo/pages/storetypes/form-inputs.blade.php index 5249430d..5f7ac865 100644 --- a/resources/views/bo/pages/storetypes/form-inputs.blade.php +++ b/resources/views/bo/pages/storetypes/form-inputs.blade.php @@ -7,13 +7,13 @@
@include('bo.partials.inputs.varchar', [ 'id' => 'storetypeeName', - 'label' => __('Name of the :model', ['model' => Str::singular(__('models.classes.storetypes'))]), + 'label' => __('Name of the :model', ['model' => __('models.classes.storetype')]), 'hasWordCounter' => true, 'name' => 'name', 'required' => true, 'model' => $storetypeModel ?? null, 'helper' => __('validation.between.string', [ - 'attribute' => __('Name of the :model', ['model' => Str::singular(__('models.classes.products'))]), + 'attribute' => __('Name of the :model', ['model' => __('models.classes.storetype')]), 'min' => 3, 'max' => 255 ]), diff --git a/resources/views/bo/pages/storetypes/index-list.blade.php b/resources/views/bo/pages/storetypes/index-list.blade.php index f103edc3..af773cd7 100644 --- a/resources/views/bo/pages/storetypes/index-list.blade.php +++ b/resources/views/bo/pages/storetypes/index-list.blade.php @@ -1,25 +1,21 @@
- {{ $storeModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + {{ $storeModel->updated_at->isoFormat('LLLL') }} + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.store')]) }}"> @method('DELETE') @csrf
@@ -87,7 +82,7 @@ @else
- {{ __('crud.helpers.no_results', ['models' => __('models.classes.stores')]) }} + {{ __('crud.helpers.no_results', ['models' => str(__('models.classes.store'))->plural()]) }}
- @php - $cols = [ + @include('bo.modules.table-col-sorter', [ + 'cols' => [ 'name' => __('validation.attributes.name'), 'order' => __('validation.attributes.order'), 'updated_at' => __('validation.attributes.updated_at'), - ]; - @endphp - @include('bo.modules.table-col-sorter', ['cols' => $cols, 'mobileHide' => ['status']]) + ], + 'mobileHide' => ['status'] + ]) @if ($storeTypeModels->count()) @foreach ($storeTypeModels as $storeTypeModel) - @php - $routeName = request() - ->route() - ->getName(); - @endphp + @php $routeName = request()->route()->getName(); @endphp @if (empty(request()->search) and empty($noOrder) and Session::get("$routeName.sort_col") === 'order') @endif diff --git a/resources/views/bo/pages/storetypes/index.blade.php b/resources/views/bo/pages/storetypes/index.blade.php index 883e247e..1ff5eb1c 100644 --- a/resources/views/bo/pages/storetypes/index.blade.php +++ b/resources/views/bo/pages/storetypes/index.blade.php @@ -1,48 +1,40 @@ @extends('bo.layout') -@section('title', __('crud.helpers.list_all', ['model' => __('models.classes.storetypes')])) -@section('description', __('crud.helpers.list_all', ['model' => __('models.classes.storetypes')])) -@section('breadcrumb', request()->route()->getName()) +@section('title', __('crud.helpers.list_all', ['model' => str(__('models.classes.storetype'))->plural()])) +@section('description', __('crud.helpers.list_all', ['model' => str(__('models.classes.storetype'))->plural()])) @section('content') -
-
-
-
-
-
-
-

{{ __('models.classes.storetypes') }} {{ Str::ucfirst(__('crud.helpers.list')) }}  

-
-
-
- - - -
-
-
+
+
+
+
+

+ {{ str(__('models.classes.storetype'))->ucfirst()->plural() }} + {{ str(__('crud.helpers.list'))->ucfirst() }} +

-
- @include('bo.modules.search-bar') -
-
- {{ $storeTypeModels->withQueryString()->onEachSide(1)->links() }} -
-
-
-
- @include('bo.pages.storetypes.index-list') -
-
-
-
- {{ $storeTypeModels->withQueryString()->onEachSide(1)->links() }} -
+
+
+
+ @include('bo.modules.search-bar') +
+
+ @include('bo.pages.storetypes.index-list') +
+
+
+
+ {{ $storeTypeModels->withQueryString()->onEachSide(1)->links() }} +
+
+
-
-@endsection \ No newline at end of file +@endsection diff --git a/resources/views/fo/modules/pagination.blade.php b/resources/views/fo/modules/pagination.blade.php index bfff399c..0901d131 100644 --- a/resources/views/fo/modules/pagination.blade.php +++ b/resources/views/fo/modules/pagination.blade.php @@ -3,13 +3,13 @@
    {{-- Previous Page Link --}} @if ($paginator->onFirstPage()) -
  • @else
  • -
  • @@ -27,13 +27,13 @@ @if (is_array($element)) @foreach ($element as $page => $url) @if ($page == $paginator->currentPage()) -
  • {{ $page }}
  • @else
  • - {{ $page }}
  • @@ -45,12 +45,12 @@ {{-- Next Page Link --}} @if ($paginator->hasMorePages())
  • -
  • @else -
  • diff --git a/resources/views/fo/pages/aboutus.blade.php b/resources/views/fo/pages/aboutus.blade.php index 5be50d30..bf162152 100644 --- a/resources/views/fo/pages/aboutus.blade.php +++ b/resources/views/fo/pages/aboutus.blade.php @@ -1,118 +1,123 @@ +{{-- FIXME: file not used. --}} + @extends('fo.layout-frame') -{{-- FIXME: Add titles here --}} + @section('title', __('About us')) @section('description', __('About us')) @section('content') - - -
    -
    - -
    -
    - - - - - - - - - - -
    - {{ __('Unser Konzept') }} + +
    +
    + +
    +
    + + + + + + + + + + +
    + {{ __('Unser Konzept') }} +
    -
    - - -
    - -
    -
    -

    - {{ __('Das Zuchtkonzept') }} {{ __('mit starken Engagements') }} -

    -

    {{ __('Es liegt uns am Herzen, Produkte anzubieten, die das ganze Jahr über gesund sind!') }}

    -
    - - -
    -
    - + +
    +
    -
    -
    -

    {{ __('Tierwohl liegt uns am Herzen') }}

    -

    {{ __('Nature & Respect engagiert sich für eine artgerechte Haltung und eine nachhaltige Landwirtschaft.') }}

    +
    +

    + {{ __('Das Zuchtkonzept') }} {{ __('mit starken Engagements') }} +

    +

    {{ __('Es liegt uns am Herzen, Produkte anzubieten, die das ganze Jahr über gesund sind!') }} +

    +
    +
    +
    + +
    +
    +
    +

    + {{ __('Tierwohl liegt uns am Herzen') }}

    +

    + {{ __('Nature & Respect engagiert sich für eine artgerechte Haltung und eine nachhaltige Landwirtschaft.') }} +

    +
    +
    +
    +
    +

    + {{ __('Mehr Zeit zum Heranwachsen') }}

    +

    + {{ __('Wir halten ausschließlich langsam wachsende Rassen mit einer deutlich längeren Zuchtdauer als konventionelle Betriebe. Bei Hähnchen dauert die Aufzucht mindestens 56 Tage und bei Enten sind es mindestens 49 Tage. Die Küken kommen von lieferberechtigen Brütereien.') }} +

    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    + {{ __('Verantwortliche Partner-Züchter im Umfeld der Tiere') }}

    +

    {{ __('Genau wie wir legen auch unsere Partner-Züchter größten Wert auf Tierwohl. Wir arbeiten mit zuverlässigen und passionierten bäuerlichen Familienbetrieben, die bei der Geflügelzucht aus Überzeugung auf Nachhaltigkeit setzen.') }} +

    +
    +
    +
    +
    +

    + {{ __('Im Einklang mit der Natur') }}

    +

    {{ __('Die Richtlinien zur Aufzucht entsprechen den EU-Vorgaben für Freilandhaltung Geflügel. Diese besagen, dass die Tiere zumindest die Hälfte ihrer Lebenszeit bei Tag ständigen Zugang zu begrünten Ausläufen haben.') }} +

    +
    +
    +
    + +
    +
    + +
    +
    +
    +

    + {{ __('Verbraucherschutz') }}

    +

    {{ __('Transparenz und Lebensmittelsicherheit stehen im Mittelpunkt unserer Produktionsmethoden. Denn es liegt uns am Herzen, Ihnen gesunde und schmackhafte Produkte mit maximaler Sicherheit anzubieten.') }} +

    +
    +
    +
    +
    +

    + {{ __('Eigen- & Externe Kontrollen') }}

    +

    {{ __('Wir lassen regelmässig Eigen- und externe Kontrollen durchführen. Die unabhängige Kontrollstelle CERTIPAQ zertifiziert alle Produktionsstufen.Jedes Geflügel-Herd wird mindestens einmal kontrolliert, um die größtmögliche Sicherheit garantieren zu können.') }} +

    +
    +
    +
    +
    - - -
    -
    -

    {{ __('Mehr Zeit zum Heranwachsen') }}

    -

    {{ __('Wir halten ausschließlich langsam wachsende Rassen mit einer deutlich längeren Zuchtdauer als konventionelle Betriebe. Bei Hähnchen dauert die Aufzucht mindestens 56 Tage und bei Enten sind es mindestens 49 Tage. Die Küken kommen von lieferberechtigen Brütereien.') }}

    -
    -
    - -
    - -
    - - -
    - -
    - -
    -
    -

    {{ __('Verantwortliche Partner-Züchter im Umfeld der Tiere') }}

    -

    {{ __('Genau wie wir legen auch unsere Partner-Züchter größten Wert auf Tierwohl. Wir arbeiten mit zuverlässigen und passionierten bäuerlichen Familienbetrieben, die bei der Geflügelzucht aus Überzeugung auf Nachhaltigkeit setzen.') }}

    -
    -
    - - -
    -
    -

    {{ __('Im Einklang mit der Natur') }}

    -

    {{ __('Die Richtlinien zur Aufzucht entsprechen den EU-Vorgaben für Freilandhaltung Geflügel. Diese besagen, dass die Tiere zumindest die Hälfte ihrer Lebenszeit bei Tag ständigen Zugang zu begrünten Ausläufen haben.') }}

    -
    -
    - -
    - -
    - - -
    - -
    - -
    -
    -

    {{ __('Verbraucherschutz') }}

    -

    {{ __('Transparenz und Lebensmittelsicherheit stehen im Mittelpunkt unserer Produktionsmethoden. Denn es liegt uns am Herzen, Ihnen gesunde und schmackhafte Produkte mit maximaler Sicherheit anzubieten.') }}

    -
    -
    - -
    -
    -

    {{ __('Eigen- & Externe Kontrollen') }}

    -

    {{ __('Wir lassen regelmässig Eigen- und externe Kontrollen durchführen. Die unabhängige Kontrollstelle CERTIPAQ zertifiziert alle Produktionsstufen.Jedes Geflügel-Herd wird mindestens einmal kontrolliert, um die größtmögliche Sicherheit garantieren zu können.') }}

    -
    -
    - -
    - -
    -
    - @endsection diff --git a/resources/views/fo/pages/concepts/bloc.blade.php b/resources/views/fo/pages/concepts/bloc.blade.php index 91c0ea74..75762604 100644 --- a/resources/views/fo/pages/concepts/bloc.blade.php +++ b/resources/views/fo/pages/concepts/bloc.blade.php @@ -34,7 +34,6 @@ } $wrapper_class = ['aspect-video', 'w-full']; @endphp -
    @if (!empty($video_value))
    @@ -57,7 +56,9 @@
    -

    {!! clean($conceptModel->data["bloc_{$number}_title"]['value']) !!}

    +

    + {!! clean($conceptModel->data["bloc_{$number}_title"]['value']) !!} +

    {!! clean($conceptModel->data["bloc_{$number}_text"]['value']) !!}
    diff --git a/resources/views/fo/pages/concepts/concept.blade.php b/resources/views/fo/pages/concepts/concept.blade.php index 74975dd4..04f2ea38 100644 --- a/resources/views/fo/pages/concepts/concept.blade.php +++ b/resources/views/fo/pages/concepts/concept.blade.php @@ -1,63 +1,63 @@ @extends('fo.layout-frame') -@section('title', $conceptModel->seo_title ) +@section('title', $conceptModel->seo_title) @section('description', $conceptModel->seo_description) @section('content') - -
    - {{ $conceptModel->picture_alt }} -
    -
    - - - @php - $color = \App\Enums\Concepts\ColorsEnum::make($conceptModel->title_background_color); - @endphp - - - - - - - - -
    - {{ $conceptModel->name }} + +
    + {{ $conceptModel->picture_alt }} +
    +
    + + + @php + $color = \App\Enums\Concepts\ColorsEnum::make($conceptModel->title_background_color); + @endphp + + + + + + + + +
    + {{ $conceptModel->name }} +
    -
    - - - -
    - -
    -
    -

    - {{ $conceptModel->title }} {{ $conceptModel->subtitle }} -

    -
    {!! clean($conceptModel->description) !!}
    -
    - - -
    - - @for ($blocNumber = 1; $blocNumber <= 6; $blocNumber++) - @if( - isset($conceptModel->data["bloc_{$blocNumber}_use_bloc"]['value']) and - empty($conceptModel->data["bloc_{$blocNumber}_use_bloc"]['value']) - ) - @continue - @endif - @include('fo.pages.concepts.bloc', [ - 'number' => $blocNumber - ]) - @endfor - -
    - + +
    + +
    +
    +

    + {{ $conceptModel->title }} + {{ $conceptModel->subtitle }} +

    +
    {!! clean($conceptModel->description) !!}
    +
    +
    + @for ($blocNumber = 1; $blocNumber <= 6; $blocNumber++) + @if (isset($conceptModel->data["bloc_{$blocNumber}_use_bloc"]['value']) and + empty($conceptModel->data["bloc_{$blocNumber}_use_bloc"]['value'])) + @continue + @endif + @include('fo.pages.concepts.bloc', [ + 'number' => $blocNumber, + ]) + @endfor +
    @endsection diff --git a/resources/views/fo/pages/contact.blade.php b/resources/views/fo/pages/contact.blade.php index a983ae96..52d54438 100644 --- a/resources/views/fo/pages/contact.blade.php +++ b/resources/views/fo/pages/contact.blade.php @@ -1,143 +1,143 @@ @extends('fo.layout-frame') -@section('title', $contactPage->seo_title) -@section('description', $contactPage->seo_description) +@section('title', $staticPageModel->seo_title) +@section('description', $staticPageModel->seo_description) @section('content') - - - - - - - -
    -
    -
    -

    {!! clean($contactPage->content) !!}

    -
    - - @if(Session::has('success')) -
    -

    {{ Session::get('success') }}

    -
    - @else -
    - @include('fo.partials.inline-cookie', [ - 'class' => ['d-flex-column'], - 'cookie_name' => 'recaptcha', - 'text_line_1' => __('You must accept reCaptcha cookies to use the forms.'), - 'text_line_2' => __('Accept this cookie to use the forms') - ]) -
    - - @csrf -
    - - @if ($errors->has('first_name')) -
    - {{ $errors->first('first_name') }} -
    - @endif -
    - -
    - - @if ($errors->has('last_name')) -
    - {{ $errors->first('last_name') }} -
    - @endif -
    - -
    - - @if ($errors->has('email')) -
    - {{ $errors->first('email') }} -
    - @endif -
    - -
    - -
    - @if ($errors->has('message')) -
    - {{ $errors->first('message') }} -
    - @endif -
    -
    - @if ($errors->has('g-recaptcha-response')) -
    - {{ $errors->first('g-recaptcha-response') }} -
    - @endif - -
    -

    {!! __('The information collected from this form is processed by the Data Controller to follow up on your contact request. To know about your rights, you can consult :start the Privacy Policy :end' ,[ - 'start' => '', - 'end' => '' - ]) !!}

    -
    - -
    -

    *{{ __('Required fields') }}

    -
    - -
    - - -
    - - - @php - Session::forget('success'); - @endphp - @endif - + + +
    +
    +
    +

    {!! clean($staticPageModel->content) !!}

    +
    + @if (Session::has('success')) +
    +

    {{ Session::get('success') }}

    +
    + @else +
    + @include('fo.partials.inline-cookie', [ + 'class' => ['d-flex-column'], + 'cookie_name' => 'recaptcha', + 'text_line_1' => __('You must accept reCaptcha cookies to use the forms.'), + 'text_line_2' => __('Accept this cookie to use the forms'), + ]) +
    +
    + @csrf +
    + + @if ($errors->has('first_name')) +
    + {{ $errors->first('first_name') }} +
    + @endif +
    +
    + + @if ($errors->has('last_name')) +
    + {{ $errors->first('last_name') }} +
    + @endif +
    +
    + + @if ($errors->has('email')) +
    + {{ $errors->first('email') }} +
    + @endif +
    +
    + +
    + @if ($errors->has('message')) +
    + {{ $errors->first('message') }} +
    + @endif +
    +
    + @if ($errors->has('g-recaptcha-response')) +
    + {{ $errors->first('g-recaptcha-response') }} +
    + @endif +
    +

    {!! __( + 'The information collected from this form is processed by the Data Controller to follow up on your contact request. To know about your rights, you can consult :start the Privacy Policy :end', + [ + 'start' => '', + 'end' => '', + ], + ) !!}

    +
    +
    +

    *{{ __('Required fields') }}

    +
    +
    + +
    + + @php + Session::forget('success'); + @endphp + @endif +
    -
    - @endsection @push('scripts') - -@endpush \ No newline at end of file + +@endpush diff --git a/resources/views/fo/pages/home.blade.php b/resources/views/fo/pages/home.blade.php index 6ca699bc..c772ade4 100644 --- a/resources/views/fo/pages/home.blade.php +++ b/resources/views/fo/pages/home.blade.php @@ -1,192 +1,213 @@ @extends('fo.layout-frame') + @section('title', $home->seo_title) @section('description', $home->seo_description) @section('content') - -
    -
    - -
    -
    - -{{-- PART 1 --}} -
    -

    - {{ $home->part1_title }} {{ $home->part1_subtitle }} -

    - -
    - @php - $concepts = \App\Models\Concept::query()->skip(1)->orderBy('name')->take(3)->get(); - $conceptPictureList = [ - (object)[ - 'slider' => Vite::asset('resources/assets/images/Bilder/home-freilandhaltung.png'), - 'iconEn' => Vite::asset('resources/assets/images/Icons/free-range-breeding.svg'), - 'iconDe' => Vite::asset('resources/assets/images/Icons/freilandhaltung.svg'), - 'model' => $concepts->get(0) - ], - (object)[ - 'slider' => Vite::asset('resources/assets/images/Bilder/home-langsameres-wachstum.png'), - 'iconEn' => Vite::asset('resources/assets/images/Icons/slow-groth.svg'), - 'iconDe' => Vite::asset('resources/assets/images/Icons/langsameres-wachstum.svg'), - 'model' => $concepts->get(1) - ], - (object)[ - 'slider' => Vite::asset('resources/assets/images/Bilder/home-baeuerliche-familienbetriebe.png'), - 'iconEn' => Vite::asset('resources/assets/images/Icons/family-farms.svg'), - 'iconDe' => Vite::asset('resources/assets/images/Icons/baeuerliche-familienbetriebe.svg'), - 'model' => $concepts->get(2) - ] - ]; - @endphp - @foreach($conceptPictureList as $index => $cptObj) - @if(!$cptObj->model) @continue @endif - - @endforeach -
    - -
    {!! clean($home->part1_text_1) !!}
    - - @php $concept = \App\Models\Concept::query()->where('id', 1)->select(['id', 'slug'])->first(); @endphp - @if($concept) - - - {{ __('Discover concept now') }} - - @endif - -
    - -

    - {{ __('For a better attitude') }} -

    - -
    {!! clean($home->part1_text_2) !!}
    -
    - - - - -
    -

    - ...{{ __('and more animal welfare') }} -

    -
    -
    {!! clean($home->part1_text_3) !!}
    - @if (app()->currentLocale() === 'de') -
    - - - -
    - @endif -
    -
    -{{-- END PART 1 --}} -{{-- PART 2 --}} -
    - -
    -
    -
    - - - - {{ $home->product1->picture_alt }} - - - {{ $home->product1->picture_alt }} - -
    -
    - -
    -

    - {{ $home->part2_title }} {{ $home->part2_subtitle }} -

    - -
    {!! clean($home->part2_text) !!}
    - -
      - @foreach ($home->part2_list as $element) -
    • {{ $element['value'] }}
    • + +
      +
      + - -
      - - - - - - +
      +
      + + {{-- PART 1 --}} +
      +

      + {{ $home->part1_title }} + {{ $home->part1_subtitle }} +

      +
      + @php + $concepts = \App\Models\Concept::query()->skip(1)->orderBy('name')->take(3)->get(); + $conceptPictureList = [ + (object) [ + 'slider' => Vite::asset('resources/assets/images/Bilder/home-freilandhaltung.png'), + 'iconEn' => Vite::asset('resources/assets/images/Icons/free-range-breeding.svg'), + 'iconDe' => Vite::asset('resources/assets/images/Icons/freilandhaltung.svg'), + 'model' => $concepts->get(0), + ], + (object) [ + 'slider' => Vite::asset('resources/assets/images/Bilder/home-langsameres-wachstum.png'), + 'iconEn' => Vite::asset('resources/assets/images/Icons/slow-groth.svg'), + 'iconDe' => Vite::asset('resources/assets/images/Icons/langsameres-wachstum.svg'), + 'model' => $concepts->get(1), + ], + (object) [ + 'slider' => Vite::asset('resources/assets/images/Bilder/home-baeuerliche-familienbetriebe.png'), + 'iconEn' => Vite::asset('resources/assets/images/Icons/family-farms.svg'), + 'iconDe' => Vite::asset('resources/assets/images/Icons/baeuerliche-familienbetriebe.svg'), + 'model' => $concepts->get(2), + ], + ]; + @endphp + @foreach ($conceptPictureList as $index => $cptObj) + @if (!$cptObj->model) + @continue + @endif + + @endforeach +
      +
      {!! clean($home->part1_text_1) !!}
      + @php $concept = \App\Models\Concept::query()->where('id', 1)->select(['id', 'slug'])->first(); @endphp + @if ($concept) + + + {{ __('Discover concept now') }} + + @endif +
      +

      + {{ __('For a better attitude') }} +

      +
      {!! clean($home->part1_text_2) !!}
      +
      + + + +
      +

      + ...{{ __('and more animal welfare') }} +

      - - - {{ __('Discover products') }} - - - - {{ __('Store Finder') }} - +
      {!! clean($home->part1_text_3) !!}
      + @if (app()->currentLocale() === 'de') +
      + + + +
      + @endif
      -
    -{{-- END PART 2 --}} -{{-- PART 3 --}} -
    - -
    -
    -

    {{ __('Feel like cooking?') }}

    -

    {{ __('Discover our colorful world of recipes full of inspiration around Nature & Respect! Our recipes range from classic to unusual, taste delicious and always succeed - whether beginner or professional!') }}

    - - - {{ __('Go to recipes') }} - + {{-- END PART 1 --}} + {{-- PART 2 --}} +
    +
    +
    +
    + + + + {{ $home->product1->picture_alt }} + + + {{ $home->product1->picture_alt }} + +
    +
    +
    +

    + {{ $home->part2_title }} {{ $home->part2_subtitle }} +

    +
    {!! clean($home->part2_text) !!}
    +
      + @foreach ($home->part2_list as $element) +
    • {{ $element['value'] }}
    • + @endforeach +
    +
    + + + + + + +
    + + {{ __('Discover products') }} + + + {{ __('Store Finder') }} + +
    - -
    -{{-- END PART 3 --}} + {{-- END PART 2 --}} + {{-- PART 3 --}} +
    +
    +
    +

    {{ __('Feel like cooking?') }}

    +

    + {{ __('Discover our colorful world of recipes full of inspiration around Nature & Respect! Our recipes range from classic to unusual, taste delicious and always succeed - whether beginner or professional!') }} +

    + + {{ __('Go to recipes') }} + +
    +
    +
    + {{-- END PART 3 --}} @endsection @push('scripts') - -@endpush \ No newline at end of file + +@endpush diff --git a/resources/views/fo/pages/legals.blade.php b/resources/views/fo/pages/legals.blade.php index e80997f3..05757808 100644 --- a/resources/views/fo/pages/legals.blade.php +++ b/resources/views/fo/pages/legals.blade.php @@ -3,17 +3,17 @@ @section('description', $staticPageModel->seo_description) @section('content') - @endsection diff --git a/resources/views/fo/pages/news/aside-news.blade.php b/resources/views/fo/pages/news/aside-news.blade.php index be28c75e..022f839e 100644 --- a/resources/views/fo/pages/news/aside-news.blade.php +++ b/resources/views/fo/pages/news/aside-news.blade.php @@ -1,35 +1,37 @@ @if ($relatedNewsList->count() > 0) - -@endif \ No newline at end of file + +@endif diff --git a/resources/views/fo/pages/news/bloc.blade.php b/resources/views/fo/pages/news/bloc.blade.php index 8d13906f..503a0363 100644 --- a/resources/views/fo/pages/news/bloc.blade.php +++ b/resources/views/fo/pages/news/bloc.blade.php @@ -1,17 +1,21 @@
    @if (count($pictures)) @php $picture = collect($pictures)->first(); @endphp - {{ $picture->alt }} + {{ $picture->alt }} @else - {{ $newsModel->title }} + {{ $newsModel->title }} @endif
    -
    {{ $newsModel->publish_at->formatLocalized('%d.%m.%Y') }}
    -

    {{ $newsModel->title }}

    + @if ($newsModel->publish_at) +
    {{ $newsModel->publish_at->isoFormat('DD.MM.YYYY') }}
    + @endif +

    + {{ $newsModel->title }} +

    {!! Str::limit(strip_tags($newsModel->content), 250) !!}
    diff --git a/resources/views/fo/pages/news/header.blade.php b/resources/views/fo/pages/news/header.blade.php index c88b7db0..0c996271 100644 --- a/resources/views/fo/pages/news/header.blade.php +++ b/resources/views/fo/pages/news/header.blade.php @@ -3,20 +3,23 @@
    - + - @php - $color = '#b4bd00'; - @endphp - + @php $color = '#b4bd00'; @endphp + - - - + + + -
    +
    {{ __('News') }}
    diff --git a/resources/views/fo/pages/news/index.blade.php b/resources/views/fo/pages/news/index.blade.php index d71cf4b4..bb4394a2 100644 --- a/resources/views/fo/pages/news/index.blade.php +++ b/resources/views/fo/pages/news/index.blade.php @@ -1,32 +1,29 @@ @extends('fo.layout-frame') -{{-- FIXME: Add titles here --}} + @section('title', __('News')) @section('description', __('News')) @section('content') - -@include('fo.pages.news.header') - -
    - -
    - -
    -

    - {{ __('Here we keep you') }} - - {{ __('up to date on the latest news around nature & respect.') }} - -

    -
    - -{{-- NEWS VUE JS --}} -
    -@endsection \ No newline at end of file + @include('fo.pages.news.header') + +
    + +
    +
    +

    + {{ __('Here we keep you') }} + + {{ __('up to date on the latest news around nature & respect.') }} + +

    +
    + {{-- NEWS VUE JS --}} +
    +@endsection diff --git a/resources/views/fo/pages/news/show.blade.php b/resources/views/fo/pages/news/show.blade.php index ba9813fa..fc249f11 100644 --- a/resources/views/fo/pages/news/show.blade.php +++ b/resources/views/fo/pages/news/show.blade.php @@ -3,88 +3,94 @@ @section('description', $newsModel->seo_description) @section('content') - -@include('fo.pages.news.header') - -
    - - - -
    -

    - {{ $newsModel->title }} - {{ - $newsModel->subtitle - }} -

    -
    - - @php $pictureList = $newsModel->picture_list; @endphp - @php $hasOnePicture = $pictureList->count() === 1; @endphp - @php $hasTwoPictures = $pictureList->count() === 2; @endphp - @php $hasMorePictures = $pictureList->count() > 2; @endphp - -
    -
    -
    - @if($hasOnePicture) - @php $picture = collect($pictureList)->first(); @endphp - {{ $picture->alt }} - @endif - {!! clean($newsModel->content) !!} -
    - @if($hasTwoPictures) -
    -
    - {{ $pictureList->get(0)->alt }} -
    -
    - {{ $pictureList->get(1)->alt }} -
    -
    - @endif - @if($hasMorePictures) -
    -
    -
      - @foreach ($pictureList as $picture) -
    • - {{ $picture->alt }} -
    • - @endforeach -
    -
    -
    - @push('scripts') - - @endpush - @endif + @include('fo.pages.news.header') +
    -
    - -@include('fo.pages.news.aside-news', ['relatedNewsList' => $relatedNewsList]) - +
    +

    + {{ $newsModel->title }} + {{ $newsModel->subtitle }} +

    +
    + @php + $pictureList = $newsModel->picture_list; + $hasOnePicture = $pictureList->count() === 1; + $hasTwoPictures = $pictureList->count() === 2; + $hasMorePictures = $pictureList->count() > 2; + @endphp +
    +
    +
    + @if ($hasOnePicture) + @php $picture = collect($pictureList)->first(); @endphp + {{ $picture->alt }} + @endif + {!! clean($newsModel->content) !!} +
    + @if ($hasTwoPictures) +
    +
    + {{ $pictureList->get(0)->alt }} +
    +
    + {{ $pictureList->get(1)->alt }} +
    +
    + @endif + @if ($hasMorePictures) +
    +
    +
      + @foreach ($pictureList as $picture) +
    • + {{ $picture->alt }} +
    • + @endforeach +
    +
    +
    + @push('scripts') + + @endpush + @endif +
    +
    + + @include('fo.pages.news.aside-news', ['relatedNewsList' => $relatedNewsList]) @endsection diff --git a/resources/views/fo/pages/privacy.blade.php b/resources/views/fo/pages/privacy.blade.php index 98d65677..20fd0881 100644 --- a/resources/views/fo/pages/privacy.blade.php +++ b/resources/views/fo/pages/privacy.blade.php @@ -3,15 +3,15 @@ @section('description', $staticPageModel->seo_description) @section('content') - - - @endsection diff --git a/resources/views/fo/pages/products/index.blade.php b/resources/views/fo/pages/products/index.blade.php index e14df992..0468a908 100644 --- a/resources/views/fo/pages/products/index.blade.php +++ b/resources/views/fo/pages/products/index.blade.php @@ -1,147 +1,148 @@ @extends('fo.layout-frame') -{{-- FIXME: Add titles here --}} + @section('title', __('Products')) @section('description', __('Products')) @section('content') - - -
    - -
    - - - - -
    - -
    - @foreach ($ranges as $range) -
    - - - - - - - - @include('fo.components.picto-range-image', [ - 'class' => 'w-6 ml-4', - 'title' => $range->picto->label(), - 'picto' => $range->picto - ]) - {{__($range->label)}} - -
    - @endforeach + +
    +
    - - -
    - -
    - -
    - -
    - - -
    - -
    - - -
    + + - - @push('styles') - - @endpush - - -
    - - @foreach($ranges as $range) -
    -
    - -

    {{ $range->label }}

    - - @if (count($range->products)) -
    - @foreach ($range->products as $item ) -
    - -
    - - {{ $item->picture_alt }} - - {{-- FIXME Pas de column 'special' en BDD, à enlever ? --}} - @if ($item['special'] == 1) - -
    -
    50% {{ __('crud.actions.save') }}*
    - -
    -
    - @endif - {{-- FIN FIXME Pas de column 'special' en BDD, à enlever ? --}} -
    - -

    {{ $item->label }}

    -
    - +
    + +
    + @foreach ($rangeModels as $range) +
    + + + + + + + + @include('fo.components.picto-range-image', [ + 'class' => 'w-6 ml-4', + 'title' => $range->picto->label(), + 'picto' => $range->picto, + ]) + {{ __($range->label) }} +
    - @endforeach + @endforeach +
    +
    +
    + +
    +
    + + +
    +
    + +
    - @else -

    {{ __('No product found') }}

    - @endif
    -
    - @endforeach -
    -
    + @push('styles') + + @endpush + +
    + @foreach ($rangeModels as $range) +
    +
    +

    {{ $range->label }}

    + @if (count($range->products)) +
    + @foreach ($range->products as $item) +
    +
    + + {{ $item->picture_alt }} + + {{-- FIXME Pas de column 'special' en BDD, à enlever ? --}} + @if ($item['special'] == 1) + +
    +
    50% + {{ __('crud.actions.save') }}*
    + +
    +
    + @endif + {{-- FIN FIXME Pas de column 'special' en BDD, à enlever ? --}} +
    + +

    {{ $item->label }}

    +
    +
    + @endforeach +
    + @else +

    {{ __('No product found') }} +

    + @endif +
    +
    + @endforeach +
    +
    + @push('scripts') + -@endpush + + @endpush @endsection diff --git a/resources/views/fo/pages/products/show.blade.php b/resources/views/fo/pages/products/show.blade.php index 1fdfde79..9f050585 100644 --- a/resources/views/fo/pages/products/show.blade.php +++ b/resources/views/fo/pages/products/show.blade.php @@ -3,29 +3,30 @@ @section('description', $productModel->seo_description) @section('content') - - -
    - +
    -

    {{ $productModel->label }}

    +

    + {{ $productModel->label }} +

    {!! clean($productModel->description) !!}
    - + {{ __('Store Finder') }}
    -
    @if ($productModel->picture_arrow)
    -
    -
    -

    {{ __('Nutritional values') }}

    +

    + {{ __('Nutritional values') }}

{{ $storeTypeModel->name }} - {{ $storeTypeModel->updated_at->formatLocalized('%d/%m/%Y à %H:%M') }} + {{ $storeTypeModel->updated_at->isoFormat('LLLL') }} + title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.storetype')]) }}"> @method('DELETE') @csrf
@@ -69,7 +64,7 @@ @else
- {{ __('crud.helpers.no_results', ['models' => __('models.classes.storetypes')]) }} + {{ __('crud.helpers.no_results', ['models' => __('models.classes.storetype')]) }}
@@ -76,7 +76,6 @@ @endforeach
{{ __('Nutritional information') }}
-

{{ __('Our Free-Range') . ' - ' . $productModel->range->picto->label() }}

@foreach ($productModel->list as $element) @@ -92,7 +91,5 @@ @endif
- - @endsection diff --git a/resources/views/fo/pages/recipes/index.blade.php b/resources/views/fo/pages/recipes/index.blade.php index 366c11dc..ea04b106 100644 --- a/resources/views/fo/pages/recipes/index.blade.php +++ b/resources/views/fo/pages/recipes/index.blade.php @@ -1,28 +1,28 @@ @extends('fo.layout-frame') -{{-- FIXME: Add titles here --}} + @section('title', __('Recipes')) @section('description', __('Recipes')) @section('content') - - -
- -
- - - - - -
- @foreach ($recipes as $recipe) - - @endforeach -
- + +
+ +
+ + + +
+ @foreach ($recipeModels as $recipeModel) + + @endforeach +
@endsection diff --git a/resources/views/fo/pages/recipes/show.blade.php b/resources/views/fo/pages/recipes/show.blade.php index 0b7478db..5cdebbd5 100644 --- a/resources/views/fo/pages/recipes/show.blade.php +++ b/resources/views/fo/pages/recipes/show.blade.php @@ -3,97 +3,91 @@ @section('description', $recipeModel->seo_description) @section('content') - - -
- - - @if ($recipeModel->product_id) - - @endif -
- - - - - - -
-

{{$recipeModel->name}}

-

{{ $recipeModel->teaser }}

- -
    -
  • {{ __($recipeModel->difficulty->label()) }}
  • -
  • -
  • {{$recipeModel->duration}}
  • -
-
- - - -
-
-
-

{{ __('Ingredients') }}

-
    - @foreach ($recipeModel->ingredients as $ingredient) - @if (isset($ingredient['header'])) -
- @if (!$loop->first) -
- @endif -

- - {{ $ingredient['header'] }} - -

-

 

-
    - @endif -
  • {{ $ingredient['value'] }}
  • - @endforeach -
-
- -
- -
-

{{ __('Preparation') }}

-
{!! clean($recipeModel->steps) !!}
- @if ($recipeModel->tips !== null) -
{!! clean($recipeModel->tips) !!}
+ +
+ + @if ($recipeModel->product_id) + @endif
- -
- - - - - - - + + +
+

{{ $recipeModel->name }}

+

{{ $recipeModel->teaser }}

+
    +
  • {{ __($recipeModel->difficulty->label()) }}
  • +
  • + +
  • +
  • {{ $recipeModel->duration }}
  • +
+
+
+
+
+

+ {{ __('Ingredients') }} +

+
    + @foreach ($recipeModel->ingredients as $ingredient) + @if (isset($ingredient['header'])) +
+ @if (!$loop->first) +
+ @endif +

+ + {{ $ingredient['header'] }} + +

+

 

+
    + @endif +
  • {{ $ingredient['value'] }}
  • + @endforeach +
+
+ +
+
+

{{ __('Preparation') }}

+
{!! clean($recipeModel->steps) !!}
+ @if ($recipeModel->tips !== null) +
{!! clean($recipeModel->tips) !!}
+ @endif +
+
+ + + @endsection diff --git a/resources/views/fo/pages/storefinder.blade.php b/resources/views/fo/pages/storefinder.blade.php index 3285c0cc..98e50b66 100644 --- a/resources/views/fo/pages/storefinder.blade.php +++ b/resources/views/fo/pages/storefinder.blade.php @@ -1,304 +1,264 @@ @extends('fo.layout-frame') -@section('title', __('Store Finder') ) +@section('title', __('Store Finder')) @section('content') - - - - - - -
- -
-
- -
-

{{ __('If you wish to view the map on this page, personal data is sent to the operator of the map and cookies are set by the operator.') }} - {{ __('Therefore, it is possible that the provider stores your accesses and can analyse your behaviour. You can find the privacy policy of Google Maps at') }}: https://policies.google.com/privacy -

- {{ __('Load Google Maps') }} + + -
- - -
-

{{ __('Market finder') }}

- -

{{ __('Work up an appetite? You can find Nature & Respect products in the following markets. Simply enter a town, a postcode or share your location and click on') }} {{ __('Store Finder') }} {{ __('click') }}!

- -
- - +
+
+
+
+

{{ __('If you wish to view the map on this page, personal data is sent to the operator of the map and cookies are set by the operator.') }} + {{ __('Therefore, it is possible that the provider stores your accesses and can analyse your behaviour. You can find the privacy policy of Google Maps at') }}: + https://policies.google.com/privacy +

+ {{ __('Load Google Maps') }} +
+
+
+

{{ __('Market finder') }}

+

+ {{ __('Work up an appetite? You can find Nature & Respect products in the following markets. Simply enter a town, a postcode or share your location and click on') }} + {{ __('Store Finder') }} {{ __('click') }}!

+
+ + +
+ + {{ __('Find markets') }} + +
+
    +
    +
    +
    +
    - - - {{ __('Find markets') }} - - -
    -
      -
      -
      -
      - -
      - -
      - - - - + return ""; + } + @endsection diff --git a/resources/views/modules/breadcrumbs/breadcrumb-body.blade.php b/resources/views/modules/breadcrumbs/breadcrumb-body.blade.php index 2f179741..51b36a85 100644 --- a/resources/views/modules/breadcrumbs/breadcrumb-body.blade.php +++ b/resources/views/modules/breadcrumbs/breadcrumb-body.blade.php @@ -1,12 +1,7 @@ @hasSection('breadcrumb') -@if(Breadcrumbs::exists(app()->view->getSections()['breadcrumb'])) -{{ call_user_func_array('Breadcrumbs::render', array_merge( - [app()->view->getSections()['breadcrumb']], - !empty($brParam) ? (is_array($brParam) ? $brParam : [$brParam]) : [] -)) }} -@endif -@elseif(request()->route() != null) -@if(Breadcrumbs::exists(request()->route()->getName())) -{{ Breadcrumbs::render(request()->route()->getName()) }} -@endif + @if (Breadcrumbs::exists(app()->view->getSections()['breadcrumb'])) + {{ call_user_func_array('Breadcrumbs::render', array_merge([app()->view->getSections()['breadcrumb']], Arr::wrap($brParam))) }} + @endif +@elseif(Breadcrumbs::exists(request()->route()->getName())) + {{ Breadcrumbs::render(request()->route()->getName()) }} @endif diff --git a/resources/views/modules/breadcrumbs/breadcrumb-head.blade.php b/resources/views/modules/breadcrumbs/breadcrumb-head.blade.php index b2d8502e..3a6317da 100644 --- a/resources/views/modules/breadcrumbs/breadcrumb-head.blade.php +++ b/resources/views/modules/breadcrumbs/breadcrumb-head.blade.php @@ -1,9 +1,10 @@ @hasSection('breadcrumb') -@if(Breadcrumbs::exists(app()->view->getSections()['breadcrumb'])) -{{ Breadcrumbs::view('breadcrumbs::json-ld', app()->view->getSections()['breadcrumb'], $brParam ?? null) }} -@endif -@elseif(request()->route() != null) -@if (Breadcrumbs::exists(request()->route()->getName())) -{{ Breadcrumbs::view('breadcrumbs::json-ld', request()->route()->getName()) }} -@endif + @if (Breadcrumbs::exists(app()->view->getSections()['breadcrumb'])) + {{ call_user_func_array( + 'Breadcrumbs::view', + array_merge(['breadcrumbs::json-ld', app()->view->getSections()['breadcrumb']], Arr::wrap($brParam)), + ) }} + @endif +@elseif(Breadcrumbs::exists(request()->route()->getName())) + {{ Breadcrumbs::view('breadcrumbs::json-ld', request()->route()->getName()) }} @endif diff --git a/resources/views/modules/breadcrumbs/breadcrumb-layout.blade.php b/resources/views/modules/breadcrumbs/breadcrumb-layout.blade.php index 507aa7a9..dd6c3717 100644 --- a/resources/views/modules/breadcrumbs/breadcrumb-layout.blade.php +++ b/resources/views/modules/breadcrumbs/breadcrumb-layout.blade.php @@ -1,17 +1,19 @@ @if (count($breadcrumbs)) - + @endif diff --git a/routes/breadcrumbs-bo.php b/routes/breadcrumbs-bo.php index 4f2c68a5..fba11376 100644 --- a/routes/breadcrumbs-bo.php +++ b/routes/breadcrumbs-bo.php @@ -1,17 +1,19 @@ push(trans('Homepage'), route('bo.homes.edit', $homeModel)); +Breadcrumbs::for('bo.homes.edit', function (Generator $trail) { + $trail->push(Str::of(trans('models.classes.home'))->ucfirst()); $trail->push(trans('crud.actions.edit')); }); // * CONCEPTS Breadcrumbs::for('bo.concepts.index', function (Generator $trail) { - $trail->push(trans('models.classes.concepts'), route('bo.concepts.index')); + $trail->push(Str::of(trans('models.classes.concept'))->ucfirst()->plural(), route('bo.concepts.index')); }); Breadcrumbs::for('bo.concepts.create', function (Generator $trail) { $trail->parent('bo.concepts.index'); @@ -39,7 +41,7 @@ Breadcrumbs::for('bo.concepts.edit', function (Generator $trail, Concept $concep // * RANGES Breadcrumbs::for('bo.ranges.index', function (Generator $trail) { - $trail->push(trans('models.classes.ranges'), route('bo.ranges.index')); + $trail->push(Str::of(trans('models.classes.range'))->ucfirst()->plural(), route('bo.ranges.index')); }); Breadcrumbs::for('bo.ranges.create', function (Generator $trail) { $trail->parent('bo.ranges.index'); @@ -52,7 +54,7 @@ Breadcrumbs::for('bo.ranges.edit', function (Generator $trail, Range $range) { // * PRODUCTS Breadcrumbs::for('bo.products.index', function (Generator $trail) { - $trail->push(trans('models.classes.products'), route('bo.products.index')); + $trail->push(Str::of(trans('models.classes.product'))->ucfirst()->plural(), route('bo.products.index')); }); Breadcrumbs::for('bo.products.create', function (Generator $trail) { $trail->parent('bo.products.index'); @@ -65,7 +67,7 @@ Breadcrumbs::for('bo.products.edit', function (Generator $trail, Product $produc // * RECIPES Breadcrumbs::for('bo.recipes.index', function (Generator $trail) { - $trail->push(trans('models.classes.recipes'), route('bo.recipes.index')); + $trail->push(Str::of(trans('models.classes.recipe'))->ucfirst()->plural(), route('bo.recipes.index')); }); Breadcrumbs::for('bo.recipes.create', function (Generator $trail) { $trail->parent('bo.recipes.index'); @@ -78,7 +80,7 @@ Breadcrumbs::for('bo.recipes.edit', function (Generator $trail, Recipe $recipe) // * SLIDERS Breadcrumbs::for('bo.sliders.index', function (Generator $trail) { - $trail->push(trans('models.classes.sliders'), route('bo.sliders.index')); + $trail->push(Str::of(trans('models.classes.slider'))->ucfirst()->plural(), route('bo.sliders.index')); }); Breadcrumbs::for('bo.sliders.create', function (Generator $trail) { $trail->parent('bo.sliders.index'); @@ -91,7 +93,7 @@ Breadcrumbs::for('bo.sliders.edit', function (Generator $trail, Slider $slider) // * STORES Breadcrumbs::for('bo.stores.index', function (Generator $trail) { - $trail->push(trans('models.classes.stores'), route('bo.stores.index')); + $trail->push(Str::of(trans('models.classes.store'))->ucfirst()->plural(), route('bo.stores.index')); }); Breadcrumbs::for('bo.stores.create', function (Generator $trail) { $trail->parent('bo.stores.index'); @@ -104,7 +106,7 @@ Breadcrumbs::for('bo.stores.edit', function (Generator $trail, Store $store) { // * STOREGROUPS Breadcrumbs::for('bo.storegroups.index', function (Generator $trail) { - $trail->push(trans('models.classes.storegroups'), route('bo.storegroups.index')); + $trail->push(Str::of(trans('models.classes.storegroup'))->ucfirst()->plural(), route('bo.storegroups.index')); }); Breadcrumbs::for('bo.storegroups.create', function (Generator $trail) { $trail->parent('bo.storegroups.index'); @@ -117,7 +119,7 @@ Breadcrumbs::for('bo.storegroups.edit', function (Generator $trail, StoreGroup $ // * STOREREGIONS Breadcrumbs::for('bo.storeregions.index', function (Generator $trail) { - $trail->push(trans('models.classes.storeregions'), route('bo.storeregions.index')); + $trail->push(Str::of(trans('models.classes.storeregion'))->ucfirst()->plural(), route('bo.storeregions.index')); }); Breadcrumbs::for('bo.storeregions.create', function (Generator $trail) { $trail->parent('bo.storeregions.index'); @@ -130,7 +132,7 @@ Breadcrumbs::for('bo.storeregions.edit', function (Generator $trail, StoreRegion // * STORETYPES Breadcrumbs::for('bo.storetypes.index', function (Generator $trail) { - $trail->push(trans('models.classes.storetypes'), route('bo.storetypes.index')); + $trail->push(Str::of(trans('models.classes.storetype'))->ucfirst()->plural(), route('bo.storetypes.index')); }); Breadcrumbs::for('bo.storetypes.create', function (Generator $trail) { $trail->parent('bo.storetypes.index'); @@ -140,3 +142,25 @@ Breadcrumbs::for('bo.storetypes.edit', function (Generator $trail, StoreType $st $trail->parent('bo.storetypes.index'); $trail->push(trans('crud.actions.edit'), route('bo.storetypes.edit', $storeType)); }); + +// * NEWS +Breadcrumbs::for('bo.news.index', function (Generator $trail) { + $trail->push(Str::of(trans('models.classes.news'))->ucfirst()->plural(), route('bo.news.index')); +}); +Breadcrumbs::for('bo.news.create', function (Generator $trail) { + $trail->parent('bo.news.index'); + $trail->push(trans('crud.actions.create'), route('bo.news.create')); +}); +Breadcrumbs::for('bo.news.edit', function (Generator $trail, News $news) { + $trail->parent('bo.news.index'); + $trail->push(trans('crud.actions.edit'), route('bo.news.edit', $news)); +}); + +// * STATIC PAGES +Breadcrumbs::for('bo.static_pages.index', function (Generator $trail) { + $trail->push(Str::of(trans('models.classes.static_page'))->ucfirst()->plural(), route('bo.static_pages.index')); +}); +Breadcrumbs::for('bo.static_pages.edit', function (Generator $trail, StaticPage $static_page) { + $trail->parent('bo.static_pages.index'); + $trail->push(trans('crud.actions.edit'), route('bo.static_pages.edit', $static_page)); +}); From 3df66b6874a17e5800b3a58ce6caab9b8db06111 Mon Sep 17 00:00:00 2001 From: Alexis Gousseau Date: Tue, 15 Jul 2025 15:59:36 +0200 Subject: [PATCH 3/3] feat: :sparkles: add schema org on needed models --- app/Enums/StaticPageType.php | 31 ++++ app/Http/Controllers/Fo/ConceptController.php | 5 +- app/Http/Controllers/Fo/ContactController.php | 4 +- app/Http/Controllers/Fo/HomeController.php | 19 +-- app/Http/Controllers/Fo/NewsController.php | 9 +- app/Http/Controllers/Fo/ProductController.php | 13 +- app/Http/Controllers/Fo/RecipeController.php | 13 +- .../Controllers/Fo/StaticPageController.php | 4 +- app/Http/Controllers/Fo/StoreController.php | 14 +- .../StaticPages/UpdateStaticPageRequest.php | 8 +- app/Models/News.php | 35 ++++- app/Models/Product.php | 67 ++++++--- app/Models/Range.php | 21 ++- app/Models/Recipe.php | 64 ++++++++- app/Models/StaticPage.php | 27 +++- composer.json | 4 +- composer.lock | 60 ++++---- config/schema-org.php | 136 ++++++++++++++++++ database/factories/HomeFactory.php | 2 - ...25_07_10_160534_set_static_pages_table.php | 79 ++++++++++ resources/lang/de/enums.php | 18 ++- resources/lang/de/schema-org.php | 14 ++ resources/lang/en/enums.php | 18 ++- resources/lang/en/schema-org.php | 12 ++ .../bo/pages/static_pages/edit.blade.php | 4 +- .../pages/static_pages/form-inputs.blade.php | 99 ++++++------- .../pages/static_pages/index-list.blade.php | 8 +- resources/views/fo/layout-minimal.blade.php | 37 ----- ...ayout-frame.blade.php => layout.blade.php} | 0 resources/views/fo/layouts/head.blade.php | 1 + resources/views/fo/pages/aboutus.blade.php | 46 +++--- .../views/fo/pages/concepts/concept.blade.php | 14 +- resources/views/fo/pages/contact.blade.php | 15 +- resources/views/fo/pages/home.blade.php | 14 +- resources/views/fo/pages/legals.blade.php | 16 +-- resources/views/fo/pages/news/index.blade.php | 19 +-- resources/views/fo/pages/news/show.blade.php | 21 +-- resources/views/fo/pages/privacy.blade.php | 14 +- .../views/fo/pages/products/index.blade.php | 18 +-- .../views/fo/pages/products/show.blade.php | 15 +- .../views/fo/pages/recipes/index.blade.php | 17 +-- .../views/fo/pages/recipes/show.blade.php | 17 +-- .../views/fo/pages/storefinder.blade.php | 18 +-- resources/views/vendor/errors/404.blade.php | 2 +- routes/breadcrumbs-fo.php | 101 +++++++++++++ routes/web-bo.php | 31 ++-- routes/web-fo.php | 46 +++--- 47 files changed, 838 insertions(+), 412 deletions(-) create mode 100644 config/schema-org.php create mode 100644 database/migrations/2025_07_10_160534_set_static_pages_table.php create mode 100644 resources/lang/de/schema-org.php create mode 100644 resources/lang/en/schema-org.php delete mode 100644 resources/views/fo/layout-minimal.blade.php rename resources/views/fo/{layout-frame.blade.php => layout.blade.php} (100%) diff --git a/app/Enums/StaticPageType.php b/app/Enums/StaticPageType.php index 5d8903d5..e18591b5 100644 --- a/app/Enums/StaticPageType.php +++ b/app/Enums/StaticPageType.php @@ -11,6 +11,15 @@ enum StaticPageType: int case contact = 1; case legals = 2; case confidentiality = 3; + case home = 4; + case products = 5; + case product = 6; + case recipes = 7; + case recipe = 8; + case newsPlural = 9; + case newsSingular = 10; + case concept = 11; + case store = 12; /** * Optionnal labels definition. @@ -21,5 +30,27 @@ enum StaticPageType: int self::contact->name => 'enums.static_page_type.contact', self::legals->name => 'enums.static_page_type.legals', self::confidentiality->name => 'enums.static_page_type.confidentiality', + self::home->name => 'enums.static_page_type.home', + self::products->name => 'enums.static_page_type.products', + self::product->name => 'enums.static_page_type.product', + self::recipes->name => 'enums.static_page_type.recipes', + self::recipe->name => 'enums.static_page_type.recipe', + self::newsPlural->name => 'enums.static_page_type.newsPlural', + self::newsSingular->name => 'enums.static_page_type.newsSingular', + self::concept->name => 'enums.static_page_type.concept', + self::store->name => 'enums.static_page_type.store', ]; + + /** + * Get all editable pages. + * + * @return array + */ + public static function getEditableContentPages(): array + { + return [ + self::legals, + self::confidentiality, + ]; + } } diff --git a/app/Http/Controllers/Fo/ConceptController.php b/app/Http/Controllers/Fo/ConceptController.php index ee83bcec..7a8bbc94 100644 --- a/app/Http/Controllers/Fo/ConceptController.php +++ b/app/Http/Controllers/Fo/ConceptController.php @@ -2,8 +2,10 @@ namespace App\Http\Controllers\Fo; +use App\Enums\StaticPageType; use App\Http\Controllers\Controller; use App\Models\Concept; +use App\Models\StaticPage; class ConceptController extends Controller { @@ -15,6 +17,7 @@ class ConceptController extends Controller */ public function show(Concept $concept): \Illuminate\Contracts\View\View { - return view('fo.pages.concepts.concept', ['conceptModel' => $concept]); + $staticPageModel = StaticPage::query()->where('type', StaticPageType::concept)->firstOrFail(); + return view('fo.pages.concepts.concept', ['staticPageModel' => $staticPageModel, 'conceptModel' => $concept]); } } diff --git a/app/Http/Controllers/Fo/ContactController.php b/app/Http/Controllers/Fo/ContactController.php index 8a829e17..0831fe50 100644 --- a/app/Http/Controllers/Fo/ContactController.php +++ b/app/Http/Controllers/Fo/ContactController.php @@ -18,8 +18,8 @@ class ContactController extends Controller */ public function contactForm(): \Illuminate\Contracts\View\View { - $contactPage = StaticPage::query()->where('type', StaticPageType::contact)->first(); - return view('fo.pages.contact', \compact('contactPage')); + $staticPageModel = StaticPage::query()->where('type', StaticPageType::contact)->firstOrFail(); + return view('fo.pages.contact', \compact('staticPageModel')); } /** diff --git a/app/Http/Controllers/Fo/HomeController.php b/app/Http/Controllers/Fo/HomeController.php index 84b3a201..b150363e 100644 --- a/app/Http/Controllers/Fo/HomeController.php +++ b/app/Http/Controllers/Fo/HomeController.php @@ -2,9 +2,11 @@ namespace App\Http\Controllers\Fo; +use App\Enums\StaticPageType; use App\Http\Controllers\Controller; use App\Models\Home; use App\Models\Slider; +use App\Models\StaticPage; class HomeController extends Controller { @@ -15,13 +17,14 @@ class HomeController extends Controller */ public function index(): \Illuminate\Contracts\View\View { - $currentLocale = app()->currentLocale(); - $home = Home::query()->firstOrFail(); - $sliders = Slider::query() - ->where('status', true) - ->orderBy('order') - ->whereJsonContains('locales', $currentLocale) - ->get(); - return view('fo.pages.home', compact('home', 'sliders')); + $staticPageModel = StaticPage::query()->where('type', StaticPageType::home)->firstOrFail(); + $currentLocale = app()->currentLocale(); + $home = Home::query()->firstOrFail(); + $sliders = Slider::query() + ->where('status', true) + ->orderBy('order') + ->whereJsonContains('locales', $currentLocale) + ->get(); + return view('fo.pages.home', compact('staticPageModel', 'home', 'sliders')); } } diff --git a/app/Http/Controllers/Fo/NewsController.php b/app/Http/Controllers/Fo/NewsController.php index 130c752e..0d066133 100644 --- a/app/Http/Controllers/Fo/NewsController.php +++ b/app/Http/Controllers/Fo/NewsController.php @@ -2,8 +2,10 @@ namespace App\Http\Controllers\Fo; +use App\Enums\StaticPageType; use App\Http\Controllers\Controller; use App\Models\News; +use App\Models\StaticPage; use Illuminate\Http\Request; use Illuminate\Support\Facades\Cache; @@ -17,6 +19,7 @@ class NewsController extends Controller */ public function index(Request $request): \Illuminate\Contracts\View\View|\Illuminate\Http\JsonResponse { + $staticPageModel = StaticPage::query()->where('type', StaticPageType::newsPlural)->firstOrFail(); if ($request->wantsJson()) { $currentLocale = app()->currentLocale(); $newsList = News::query() @@ -27,7 +30,7 @@ class NewsController extends Controller return \response()->json(\collect($newsList->items()) ->map(fn ($newsModel) => str($this->renderNews($newsModel))->toBase64())); } - return view('fo.pages.news.index'); + return view('fo.pages.news.index', compact('staticPageModel')); } /** @@ -38,6 +41,7 @@ class NewsController extends Controller */ public function show(News $publishedNews): \Illuminate\Contracts\View\View { + $staticPageModel = StaticPage::query()->where('type', StaticPageType::newsPlural)->firstOrFail(); $currentLocale = app()->currentLocale(); $relatedNewsList = News::query() ->where('id', '!=', $publishedNews->id) @@ -46,7 +50,8 @@ class NewsController extends Controller ->orderBy('order', 'DESC') ->limit(2)->get(); return view('fo.pages.news.show', [ - 'newsModel' => $publishedNews, + 'staticPageModel' => $staticPageModel, + 'newsModel' => $publishedNews, 'relatedNewsList' => $relatedNewsList ]); } diff --git a/app/Http/Controllers/Fo/ProductController.php b/app/Http/Controllers/Fo/ProductController.php index a10a30b4..e4bab789 100644 --- a/app/Http/Controllers/Fo/ProductController.php +++ b/app/Http/Controllers/Fo/ProductController.php @@ -2,9 +2,11 @@ namespace App\Http\Controllers\Fo; +use App\Enums\StaticPageType; use App\Http\Controllers\Controller; use App\Models\Product; use App\Models\Range; +use App\Models\StaticPage; use Illuminate\Contracts\Database\Eloquent\Builder; class ProductController extends Controller @@ -16,12 +18,13 @@ class ProductController extends Controller */ public function index(): \Illuminate\Contracts\View\View { - $rangeModels = Range::query()->where('status', true) + $staticPageModel = StaticPage::query()->where('type', StaticPageType::products)->firstOrFail(); + $rangeModels = Range::query()->where('status', true) ->whereHas('products', fn(Builder $q) => $q->where('status', true)) ->with('products', fn(Builder $q) => $q->where('status', true)->orderBy('order')) ->orderBy('order') ->get(); - return view('fo.pages.products.index', compact('rangeModels')); + return view('fo.pages.products.index', compact('staticPageModel', 'rangeModels')); } /** @@ -32,6 +35,10 @@ class ProductController extends Controller */ public function show(Product $publishedProduct): \Illuminate\Contracts\View\View { - return view('fo.pages.products.show', ['productModel' => $publishedProduct]); + $staticPageModel = StaticPage::query()->where('type', StaticPageType::product)->firstOrFail(); + return view('fo.pages.products.show', [ + 'staticPageModel' => $staticPageModel, + 'productModel' => $publishedProduct, + ]); } } diff --git a/app/Http/Controllers/Fo/RecipeController.php b/app/Http/Controllers/Fo/RecipeController.php index 44563c16..2e0dac96 100644 --- a/app/Http/Controllers/Fo/RecipeController.php +++ b/app/Http/Controllers/Fo/RecipeController.php @@ -2,8 +2,10 @@ namespace App\Http\Controllers\Fo; +use App\Enums\StaticPageType; use App\Http\Controllers\Controller; use App\Models\Recipe; +use App\Models\StaticPage; use Illuminate\Contracts\Database\Eloquent\Builder; class RecipeController extends Controller @@ -15,11 +17,12 @@ class RecipeController extends Controller */ public function index(): \Illuminate\Contracts\View\View { - $recipeModels = Recipe::query()->where('status', true) + $staticPageModel = StaticPage::query()->where('type', StaticPageType::recipes)->firstOrFail(); + $recipeModels = Recipe::query()->where('status', true) ->whereHas('range', fn (Builder $q) => $q->where('status', true)) ->orderBy('order') ->get(); - return view('fo.pages.recipes.index', compact('recipeModels')); + return view('fo.pages.recipes.index', compact('staticPageModel', 'recipeModels')); } /** @@ -30,6 +33,10 @@ class RecipeController extends Controller */ public function show(Recipe $publishedRecipe): \Illuminate\Contracts\View\View { - return view('fo.pages.recipes.show', ['recipeModel' => $publishedRecipe]); + $staticPageModel = StaticPage::query()->where('type', StaticPageType::recipe)->firstOrFail(); + return view('fo.pages.recipes.show', [ + 'staticPageModel' => $staticPageModel, + 'recipeModel' => $publishedRecipe, + ]); } } diff --git a/app/Http/Controllers/Fo/StaticPageController.php b/app/Http/Controllers/Fo/StaticPageController.php index 20fa3355..4dc0dca3 100644 --- a/app/Http/Controllers/Fo/StaticPageController.php +++ b/app/Http/Controllers/Fo/StaticPageController.php @@ -16,7 +16,7 @@ class StaticPageController extends Controller */ public function legals(StaticPage $legalPage) { - $legalPage = StaticPage::query()->where('type', StaticPageType::legals)->first(); + $legalPage = StaticPage::query()->where('type', StaticPageType::legals)->firstOrFail(); return view('fo.pages.legals', ['staticPageModel' => $legalPage]); } @@ -28,7 +28,7 @@ class StaticPageController extends Controller */ public function policies(StaticPage $policiesPage) { - $policiesPage = StaticPage::query()->where('type', StaticPageType::confidentiality)->first(); + $policiesPage = StaticPage::query()->where('type', StaticPageType::confidentiality)->firstOrFail(); return view('fo.pages.privacy', ['staticPageModel' => $policiesPage]); } } diff --git a/app/Http/Controllers/Fo/StoreController.php b/app/Http/Controllers/Fo/StoreController.php index a06e6f1d..f45c5f32 100644 --- a/app/Http/Controllers/Fo/StoreController.php +++ b/app/Http/Controllers/Fo/StoreController.php @@ -2,14 +2,26 @@ namespace App\Http\Controllers\Fo; +use App\Enums\StaticPageType; use App\Http\Controllers\Controller; use App\Http\Requests\Api\StoreFinderRequest; use App\Http\Resources\StoreFinderResource; +use App\Models\StaticPage; use App\Models\Store; -use Illuminate\Http\JsonResponse; class StoreController extends Controller { + /** + * Store page. + * + * @return \Illuminate\Contracts\View\View + */ + public function index(): \Illuminate\Contracts\View\View + { + $staticPageModel = StaticPage::query()->where('type', StaticPageType::store)->firstOrFail(); + return view('fo.pages.storefinder', compact('staticPageModel')); + } + /** * Store by city. * diff --git a/app/Http/Requests/Bo/StaticPages/UpdateStaticPageRequest.php b/app/Http/Requests/Bo/StaticPages/UpdateStaticPageRequest.php index 9d880008..a2d1c4a9 100644 --- a/app/Http/Requests/Bo/StaticPages/UpdateStaticPageRequest.php +++ b/app/Http/Requests/Bo/StaticPages/UpdateStaticPageRequest.php @@ -25,8 +25,12 @@ class UpdateStaticPageRequest extends FormRequest */ public function prepareForValidation(): void { + /** @var \App\Models\StaticPage $staticPageModel */ + $staticPageModel = request()->route()->parameter('static_page'); $this->merge([ - 'content' => (string) Str::of($this->input('content')) + 'content' => (in_array($staticPageModel->type, \App\Enums\StaticPageType::getEditableContentPages())) + ? Str::of($this->input('content'))->value() + : null ]); } @@ -41,7 +45,7 @@ class UpdateStaticPageRequest extends FormRequest 'seo_title' => 'required|min:45|max:70', 'seo_description' => 'required|min:50|max:160', 'title' => 'required|min:3|max:255', - 'content' => 'present', + 'content' => 'present|string|nullable' ]; } diff --git a/app/Models/News.php b/app/Models/News.php index b09aca7c..06620c9b 100644 --- a/app/Models/News.php +++ b/app/Models/News.php @@ -13,6 +13,9 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Collection; use Illuminate\Support\Str; +use Spatie\SchemaOrg\Schema; +use Uwil\SchemaOrg\Laravel\Interfaces\SchemaOrgInterface; +use Uwil\SchemaOrg\Laravel\Traits\SchemaOrgTrait; use Uwil\Seo\Laravel\Interfaces\SeoInterface; use Uwil\Seo\Laravel\Traits\SeoTrait; @@ -32,13 +35,14 @@ use Uwil\Seo\Laravel\Traits\SeoTrait; * @property \Carbon\Carbon $created_at * @property \Carbon\Carbon $updated_at */ -class News extends Model implements SeoInterface, Publishable +class News extends Model implements SeoInterface, Publishable, SchemaOrgInterface { use HasFactory; use HasTranslations; use MiniCrudModel; use SeoTrait; use IsPublishable; + use SchemaOrgTrait; /** * The attributes that are mass assignable. @@ -278,4 +282,33 @@ class News extends Model implements SeoInterface, Publishable return $data; } + + /** + * Create a SchemaOrg. + * + * @return \Spatie\SchemaOrg\NewsArticle + */ + public function toSchemaOrg(): \Spatie\SchemaOrg\NewsArticle + { + return Schema::NewsArticle() + ->headline($this->seo_title) + ->description($this->seo_description) + ->name($this->title) + ->inLanguage(config('schema-org.website.languages')[app()->currentLocale()]) + ->abstract($this->subtitle) + ->dateCreated($this->created_at) + ->dateModified($this->updated_at) + ->datePublished($this->publish_at) + ->articleBody(strip_tags($this->content)) + ->wordCount(str_word_count(strip_tags($this->content))) + ->url(route('news.show', $this)) + ->author($this->getOrganizationSchema()) + ->creator($this->getOrganizationSchema()) + ->copyrightYear($this->created_at->year) + ->image( + Schema::imageObject() + ->url(asset($this->data['bloc_1_image']['value'])) + ->headline($this->data['bloc_1_image']['title']) + ); + } } diff --git a/app/Models/Product.php b/app/Models/Product.php index ee299d68..e87fb045 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -10,29 +10,33 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; use Uwil\Seo\Laravel\Interfaces\SeoInterface; use Uwil\Seo\Laravel\Traits\SeoTrait; +use Spatie\SchemaOrg\Schema; +use Uwil\SchemaOrg\Laravel\Interfaces\SchemaOrgInterface; +use Uwil\SchemaOrg\Laravel\Traits\SchemaOrgTrait; /** - * @property integer $range_id - * @property string $seo_title - * @property string $seo_description - * @property string $label - * @property string $slug - * @property string $description - * @property string|null $marinade - * @property string $picture - * @property array $certifications - * @property array $nutritionnal_values - * @property array $list - * @property boolean $status - * @property integer $order - * @property string $created_at - * @property string $updated_at + * @property integer $range_id + * @property string $seo_title + * @property string $seo_description + * @property string $label + * @property string $slug + * @property string $description + * @property string|null $marinade + * @property string $picture + * @property array $certifications + * @property array $nutritionnal_values + * @property array $list + * @property boolean $status + * @property integer $order + * @property-read \Carbon\Carbon $created_at Created date. + * @property-read \Carbon\Carbon $updated_at Updated date. */ -class Product extends Model implements SeoInterface +class Product extends Model implements SeoInterface, SchemaOrgInterface { use HasFactory; use HasTranslations; use SeoTrait; + use SchemaOrgTrait; /** * The attributes that are mass assignable. @@ -182,6 +186,37 @@ class Product extends Model implements SeoInterface $model->order = \intval(self::query()->max('order')) + 1; } + /** + * Create a SchemaOrg. + * + * @return \Spatie\SchemaOrg\Product + */ + public function toSchemaOrg(): \Spatie\SchemaOrg\Product + { + $model = $this->load(['range']); + + // Main. + $schema = Schema::Product() + ->name($model->seo_title) + ->description($model->seo_description) + ->url(route('product.show', $model->slug)) + ->keywords('produit') + ->releaseDate($model->created_at) + ->image([ + Schema::imageObject() + ->url(asset($model->picture)) + ->headline($model->picture_title), + ]) + ->brand($model->getBrandSchema()); + + // Range associated. + if ($model->range->status) { + $schema->subjectOf($model->range->toSchemaOrg()->toArray()); + } + + return $schema; + } + // * RELATIONSHIPS /** diff --git a/app/Models/Range.php b/app/Models/Range.php index 1c47a3cf..cba5965c 100644 --- a/app/Models/Range.php +++ b/app/Models/Range.php @@ -8,6 +8,9 @@ use App\Traits\Models\HasTranslations; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; +use Spatie\SchemaOrg\Schema; +use Uwil\SchemaOrg\Laravel\Interfaces\SchemaOrgInterface; +use Uwil\SchemaOrg\Laravel\Traits\SchemaOrgTrait; use Uwil\Seo\Laravel\Interfaces\SeoInterface; use Uwil\Seo\Laravel\Objects\SeoItem; use Uwil\Seo\Laravel\Traits\SeoTrait; @@ -23,11 +26,12 @@ use Uwil\Seo\Laravel\Traits\SeoTrait; * @property string $created_at * @property string $updated_at */ -class Range extends Model implements SeoInterface +class Range extends Model implements SeoInterface, SchemaOrgInterface { use HasFactory; use HasTranslations; use SeoTrait; + use SchemaOrgTrait; /** * The attributes that are mass assignable. @@ -136,6 +140,21 @@ class Range extends Model implements SeoInterface $model->order = \intval(self::query()->max('order')) + 1; } + /** + * Create a SchemaOrg. + * + * @return \Spatie\SchemaOrg\DefinedTermSet + */ + public function toSchemaOrg(): \Spatie\SchemaOrg\DefinedTermSet + { + return Schema::definedTermSet() + ->hasDefinedTerm( + Schema::definedTerm() + ->name($this->seo_title) + ->description($this->seo_description) + ); + } + // * RELATIONSHIPS /** diff --git a/app/Models/Recipe.php b/app/Models/Recipe.php index 2a8625bc..7803f96e 100644 --- a/app/Models/Recipe.php +++ b/app/Models/Recipe.php @@ -11,6 +11,9 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; use Uwil\Seo\Laravel\Interfaces\SeoInterface; use Uwil\Seo\Laravel\Traits\SeoTrait; +use Spatie\SchemaOrg\Schema; +use Uwil\SchemaOrg\Laravel\Interfaces\SchemaOrgInterface; +use Uwil\SchemaOrg\Laravel\Traits\SchemaOrgTrait; /** * @property integer $range_id @@ -20,22 +23,23 @@ use Uwil\Seo\Laravel\Traits\SeoTrait; * @property string $slug * @property string $picture * @property string $picture_thumbnail - * @property array $ingredients + * @property array> $ingredients * @property string $teaser * @property string $steps * @property \App\Enums\Recipes\DifficultyEnum $difficulty - * @property string $duration + * @property integer $duration * @property string $tips * @property boolean $status * @property integer $order - * @property string $created_at - * @property string $updated_at + * @property-read \Illuminate\Support\Carbon $created_at Created date. + * @property-read \Illuminate\Support\Carbon $updated_at Updated date. */ -class Recipe extends Model implements SeoInterface +class Recipe extends Model implements SeoInterface, SchemaOrgInterface { use HasFactory; use HasTranslations; use SeoTrait; + use SchemaOrgTrait; /** * The attributes that are mass assignable. @@ -187,6 +191,56 @@ class Recipe extends Model implements SeoInterface ToolboxHelper::assertFieldIsUnique($table, $nameField, $valueField, $id); } + /** + * Create and return microdata. + * + * @return \Spatie\SchemaOrg\Recipe + */ + public function toSchemaOrg(): \Spatie\SchemaOrg\Recipe + { + $model = $this->load(['range']); + + $schema = Schema::Recipe() + ->name($model->seo_title) + ->description($model->seo_description) + ->url(route('recipe.show', $this)) + ->inLanguage(config('schema-org.website.languages')[app()->currentLocale()]) + ->keywords('recette') + ->recipeCategory([ + $model->difficulty->label(), + ]) + ->recipeCuisine("Française") + ->recipeInstructions($model->tips) + ->dateCreated($model->created_at) + ->dateModified($model->updated_at) + ->datePublished($model->created_at) + ->totalTime( + Schema::duration()->setProperty("@value", $model->formatDurationIso($model->duration)) + ) + ->steps($model->steps) + ->author($model->getOrganizationSchema()) + ->creator($model->getOrganizationSchema()) + ->image( + Schema::imageObject() + ->url(asset($model->picture)) + ->headline($model->picture_title) + ); + + // Ingredients. + $ingredientsList = []; + foreach ($this->ingredients as $ingredient) { + array_push($ingredientsList, $ingredient['value']); + }; + $schema->ingredients($ingredientsList); + + // Range associated. + if ($model->range->status) { + $schema->subjectOf($model->range->toSchemaOrg()->toArray()); + } + + return $schema; + } + // * RELATIONSHIPS /** diff --git a/app/Models/StaticPage.php b/app/Models/StaticPage.php index dc16ee0b..22bb402e 100644 --- a/app/Models/StaticPage.php +++ b/app/Models/StaticPage.php @@ -8,6 +8,9 @@ use App\Traits\Models\HasTranslations; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; +use Spatie\SchemaOrg\Schema; +use Uwil\SchemaOrg\Laravel\Interfaces\SchemaOrgInterface; +use Uwil\SchemaOrg\Laravel\Traits\SchemaOrgTrait; /** * @property \App\Enums\StaticPageType $type Page type (StaticPageEnum). @@ -19,10 +22,11 @@ use Illuminate\Support\Str; * @property-read \Illuminate\Support\Carbon $created_at Created date. * @property-read \Illuminate\Support\Carbon $updated_at Updated date. */ -class StaticPage extends Model +class StaticPage extends Model implements SchemaOrgInterface { use HasFactory; use HasTranslations; + use SchemaOrgTrait; /** * The attributes that are mass assignable. @@ -123,4 +127,25 @@ class StaticPage extends Model ToolboxHelper::assertFieldIsUnique($table, 'title', $title, $id); ToolboxHelper::assertFieldIsUnique($table, 'slug', Str::slug($title), $id); } + + /** + * Create a SchemaOrg. + * + * @return \Spatie\SchemaOrg\WebPage + */ + public function toSchemaOrg(): \Spatie\SchemaOrg\WebPage + { + return Schema::webPage() + ->name($this->seo_title) + ->description($this->seo_description) + ->headline($this->title) + ->isAccessibleForFree(true) + ->keywords(['page']) + ->dateCreated($this->created_at) + ->dateModified($this->updated_at) + ->reviewedBy($this->getOrganizationSchema()) + ->publisher($this->getOrganizationSchema()) + ->author($this->getOrganizationSchema()) + ->isPartOf($this->getWebsiteSchema()); + } } diff --git a/composer.json b/composer.json index fc21c6af..8c292f3b 100644 --- a/composer.json +++ b/composer.json @@ -21,8 +21,8 @@ "spatie/laravel-translatable": "^6.4", "uwil/admin-secure-laravel": "^4.0.0", "uwil/k8s-laravel": "^2.0.0", - "uwil/schema-org-laravel": "2.1.0", - "uwil/sitemap-generator": "4.0.0", + "uwil/schema-org-laravel": "^2.2.0", + "uwil/sitemap-generator": "^4.0.0", "uwil/seo-laravel": "^4.0.0" }, "require-dev": { diff --git a/composer.lock b/composer.lock index c2ac646e..e71ad82e 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": "c4795dee78f77dbc57d10ff1fd52bc3c", + "content-hash": "72619fa0d878ec15109b2f831a4ae4a5", "packages": [ { "name": "bacon/bacon-qr-code", @@ -5175,16 +5175,16 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.92.4", + "version": "1.92.6", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "d20b1969f836d210459b78683d85c9cd5c5f508c" + "reference": "afa90e37741a953d33728e7106a1f24a13fdd808" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/d20b1969f836d210459b78683d85c9cd5c5f508c", - "reference": "d20b1969f836d210459b78683d85c9cd5c5f508c", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/afa90e37741a953d33728e7106a1f24a13fdd808", + "reference": "afa90e37741a953d33728e7106a1f24a13fdd808", "shasum": "" }, "require": { @@ -5224,7 +5224,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.4" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.6" }, "funding": [ { @@ -5232,7 +5232,7 @@ "type": "github" } ], - "time": "2025-04-11T15:27:14+00:00" + "time": "2025-07-14T08:02:47+00:00" }, { "name": "spatie/laravel-sitemap", @@ -8218,16 +8218,16 @@ }, { "name": "uwil/schema-org-laravel", - "version": "2.1.0", + "version": "2.2.1", "source": { "type": "git", "url": "git@lab.s-web.fr:ldc-web/projets/schema-org-laravel.git", - "reference": "b3473db7c2bb423d030fac68dcaaee8d083e58f7" + "reference": "2e51854b0df3572117b41eff80fe8cc8a1a8faa0" }, "dist": { "type": "zip", - "url": "https://lab.s-web.fr/api/v4/projects/120/packages/composer/archives/uwil/schema-org-laravel.zip?sha=b3473db7c2bb423d030fac68dcaaee8d083e58f7", - "reference": "b3473db7c2bb423d030fac68dcaaee8d083e58f7", + "url": "https://lab.s-web.fr/api/v4/projects/120/packages/composer/archives/uwil/schema-org-laravel.zip?sha=2e51854b0df3572117b41eff80fe8cc8a1a8faa0", + "reference": "2e51854b0df3572117b41eff80fe8cc8a1a8faa0", "shasum": "" }, "require": { @@ -9801,16 +9801,16 @@ }, { "name": "laravel/pint", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "9ab851dba4faa51a3c3223dd3d07044129021024" + "reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/9ab851dba4faa51a3c3223dd3d07044129021024", - "reference": "9ab851dba4faa51a3c3223dd3d07044129021024", + "url": "https://api.github.com/repos/laravel/pint/zipball/0345f3b05f136801af8c339f9d16ef29e6b4df8a", + "reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a", "shasum": "" }, "require": { @@ -9821,7 +9821,7 @@ "php": "^8.2.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.76.0", + "friendsofphp/php-cs-fixer": "^3.82.2", "illuminate/view": "^11.45.1", "larastan/larastan": "^3.5.0", "laravel-zero/framework": "^11.45.0", @@ -9866,7 +9866,7 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2025-07-03T10:37:47+00:00" + "time": "2025-07-10T18:09:32+00:00" }, { "name": "laravel/sail", @@ -10291,16 +10291,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "2.1.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68" + "reference": "b9e61a61e39e02dd90944e9115241c7f7e76bfd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", - "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/b9e61a61e39e02dd90944e9115241c7f7e76bfd8", + "reference": "b9e61a61e39e02dd90944e9115241c7f7e76bfd8", "shasum": "" }, "require": { @@ -10332,9 +10332,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.2.0" }, - "time": "2025-02-19T13:28:12+00:00" + "time": "2025-07-13T07:04:09+00:00" }, { "name": "phpstan/phpstan", @@ -10717,16 +10717,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.47", + "version": "10.5.48", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3637b3e50d32ab3a0d1a33b3b6177169ec3d95a3" + "reference": "6e0a2bc39f6fae7617989d690d76c48e6d2eb541" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3637b3e50d32ab3a0d1a33b3b6177169ec3d95a3", - "reference": "3637b3e50d32ab3a0d1a33b3b6177169ec3d95a3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/6e0a2bc39f6fae7617989d690d76c48e6d2eb541", + "reference": "6e0a2bc39f6fae7617989d690d76c48e6d2eb541", "shasum": "" }, "require": { @@ -10736,7 +10736,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.1", + "myclabs/deep-copy": "^1.13.3", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", @@ -10798,7 +10798,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.47" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.48" }, "funding": [ { @@ -10822,7 +10822,7 @@ "type": "tidelift" } ], - "time": "2025-06-20T11:29:11+00:00" + "time": "2025-07-11T04:07:17+00:00" }, { "name": "sebastian/cli-parser", diff --git a/config/schema-org.php b/config/schema-org.php new file mode 100644 index 00000000..95d607d6 --- /dev/null +++ b/config/schema-org.php @@ -0,0 +1,136 @@ + [ + /** + * App name. + * type: string + */ + 'name' => env('APP_NAME', 'Laravel'), + + /** + * Description (can be a translation key). + * type: string + */ + 'description' => 'schema-org.description', + + /** + * Logo path. + * type: string + * ex: 'resources/assets/images/logo.png + */ + 'logo' => 'resources/assets/images/Icons/logo-nature-respect.svg', + + /** + * Slogan (can be a translation key). + * type: string + */ + 'slogan' => 'schema-org.slogan', + ], + 'organization' => [ + /** + * Name. + * type: string + */ + 'name' => env('APP_NAME', 'Laravel'), + + /** + * Description (can be a translation key). + * type: string + */ + 'description' => 'schema-org.description', + + /** + * Logo path. + * type: string + */ + 'logo' => 'resources/assets/images/Icons/logo-nature-respect.svg', + + /** + * Slogan (can be a translation key). + * type: string + */ + 'slogan' => 'schema-org.slogan', + + /** + * Url associated. + * type: string|string[] + * ex: 'url' || ['url] + */ + 'sameAs' => [ + 'https://www.instagram.com/nature_and_respect/', + 'https://de.pinterest.com/natureandrespect/', + ], + + /** + * Place associated. + * type: [] + * ex: [ + * 'address' => '', + * 'keywords' => '' (can be a translation key), + * ] + */ + 'place' => [ + 'address' => 'Zone Industrielle Saint-Laurent 72300 Sablé-sur-Sarthe', + 'keywords' => 'schema-org.place', + ], + ], + 'website' => [ + /** + * About (can be a translation key). + * type: string + */ + 'about' => 'schema-org.website', + + /** + * Description (can be a translation key). + * type: string + */ + 'description' => 'schema-org.website', + + /** + * Genre (can be a translation key). + * type: string + */ + 'genre' => 'schema-org.genre', + + /** + * Created date. + * type: string + * ex: '2025-06-12' + */ + 'created_at' => '2018-03-19', + + /** + * Published date. + * type: string + * ex: '2025-06-12' + */ + 'published_at' => '2018-03-19', + + /** + * Locales codes (RFC 4647 - "Matching of Language Tags": 'language-range'). + * link: https://datatracker.ietf.org/doc/html/rfc4647 + * type: string[] + * ex: ['fr' => 'fr-FR'] + */ + 'languages' => [ + 'en' => 'en-US', + 'de' => 'de-DE' + ], + + /** + * Keywords (can be a translation key). + * type: string|string[] + * ex: 'volaille' || ['volaille', 'élevage'] + */ + 'keywords' => 'schema-org.keywords', + + /** + * Search path with parameters. + * type: string|null + * ex: '/recherche?texte={search_term_string}' + */ + 'search' => null + ] +]; diff --git a/database/factories/HomeFactory.php b/database/factories/HomeFactory.php index 5646b6c8..92ab556e 100644 --- a/database/factories/HomeFactory.php +++ b/database/factories/HomeFactory.php @@ -33,8 +33,6 @@ final class HomeFactory extends Factory } return [ - 'seo_title' => fake()->word, - 'seo_description' => fake()->text(160), 'part1_title' => fake()->word, 'part1_subtitle' => fake()->word, 'part1_text_1' => fake()->text, diff --git a/database/migrations/2025_07_10_160534_set_static_pages_table.php b/database/migrations/2025_07_10_160534_set_static_pages_table.php new file mode 100644 index 00000000..54546486 --- /dev/null +++ b/database/migrations/2025_07_10_160534_set_static_pages_table.php @@ -0,0 +1,79 @@ +string('seo_title')->comment('Static page SEO title.')->change(); + $table->string('seo_description')->comment('Static page SEO description.')->change(); + $table->string('title')->comment('Static page title.')->change(); + $table->text('content')->nullable()->comment('Static page content.')->change(); + }); + foreach (StaticPageType::toArray() as $enum) { + $staticPageModel = StaticPage::query()->where('type', $enum->value)->first(); + if (is_null($staticPageModel)) { + $staticPageModel = new StaticPage(); + $staticPageModel->type = $enum->value; + $staticPageModel->seo_title = sprintf('Seo title pour la page %s', $enum->label); + $staticPageModel->seo_description = sprintf('Seo description pour la page %s', $enum->label); + $staticPageModel->title = $enum->label; + $staticPageModel->content = \clean(\fake()->randomHtml(6, 7)); + $staticPageModel->saveOrFail(); + } + } + + // Home table clean. + $staticPageModel = StaticPage::query()->where('type', StaticPageType::home)->firstOrFail(); + $homeModel = Home::query()->first(); + $staticPageModel->seo_title = $homeModel->seo_title ?? ""; + $staticPageModel->seo_description = $homeModel->seo_description ?? ""; + $staticPageModel->saveOrFail(); + + Schema::table('homes', function (Blueprint $table) { + $table->dropColumn(['seo_title', 'seo_description']); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down(): void + { + Schema::table('static_pages', function (Blueprint $table) { + $table->string('seo_title')->nullable(false)->comment('Seo title about 70 chars as recommended')->change(); + $table->string('seo_description')->nullable(false) + ->comment('Seo description about 160 chars as recommended')->change(); + $table->string('title')->nullable(false)->comment('Title for the page')->change(); + $table->text('content')->nullable(false)->comment('WYSIWYG text content using ckeditor')->change(); + }); + + Schema::table('homes', function (Blueprint $table) { + $table->json('seo_title')->comment('Utilisé pour la balise title de la page') + ->after('id'); + $table->json('seo_description')->comment('Utilisé pour la balise méta description de la page') + ->after('seo_title'); + }); + + $staticPageModel = StaticPage::query()->where('type', StaticPageType::home)->firstOrFail(); + $homeModel = Home::query()->first(); + $homeModel->seo_title = $staticPageModel->seo_title; + $homeModel->seo_description = $staticPageModel->seo_description; + $homeModel->saveOrFail(); + } +}; diff --git a/resources/lang/de/enums.php b/resources/lang/de/enums.php index d8ef6124..29cbae25 100644 --- a/resources/lang/de/enums.php +++ b/resources/lang/de/enums.php @@ -1,14 +1,18 @@ [ - 'easy' => 'leicht', - 'medium' => 'mittlere', - 'hard' => 'hart', - ], 'static_page_type' => [ - 'contact' => 'Kontakt Us', - 'legals' => 'Bedingungen und Konditionen', + 'contact' => 'Kontakt Us', + 'legals' => 'Bedingungen und Konditionen', 'confidentiality' => 'Datenschutzbestimmungen', + 'home' => 'Startseite', + 'products' => 'Produkte', + 'product' => 'Produkt', + 'recipes' => 'Rezepte', + 'recipe' => 'Rezept', + 'newsPlural' => 'Nachrichten', + 'newsSingular' => 'Nachricht', + 'concept' => 'Konzept', + 'store' => 'Geschäft', ] ]; diff --git a/resources/lang/de/schema-org.php b/resources/lang/de/schema-org.php new file mode 100644 index 00000000..08b133ea --- /dev/null +++ b/resources/lang/de/schema-org.php @@ -0,0 +1,14 @@ + 'Nature & Respect bietet seine Expertise in der Freilandgeflügelzucht auf dem + internationalen Markt an. Geflügel, das mit 100 % pflanzlichem, gentechnikfreiem Futter ernährt + wird. Es wird unter Achtung des Tierwohls auf kleinen Höfen aufgezogen, die eine enge Beziehung + zwischen Züchter und Tier fördern.', + 'slogan' => 'Unser Geflügel aus Freilandhaltung', + 'website' => 'Website der Marke Nature & Respect mit Präsentation ihrer Produkte, Rezepte, + Neuigkeiten und mehr.', + 'place' => ['anschrift', 'platz'], + 'genre' => 'Präsentationswebsite', + 'keywords' => ['Produkte', 'Rezepte', 'Neuigkeiten'], +]; diff --git a/resources/lang/en/enums.php b/resources/lang/en/enums.php index e0c9ddd2..39e05c09 100644 --- a/resources/lang/en/enums.php +++ b/resources/lang/en/enums.php @@ -1,14 +1,18 @@ [ - 'easy' => 'easy', - 'medium' => 'medium', - 'hard' => 'hard', - ], 'static_page_type' => [ - 'contact' => 'Contact Us', - 'legals' => 'Terms & Conditions', + 'contact' => 'Contact Us', + 'legals' => 'Terms & Conditions', 'confidentiality' => 'Privacy policy', + 'home' => 'Home', + 'products' => 'Products', + 'product' => 'Product', + 'recipes' => 'Recipes', + 'recipe' => 'Recipe', + 'newsPlural' => 'News list', + 'newsSingular' => 'News', + 'concept' => 'Concept', + 'store' => 'Store', ] ]; diff --git a/resources/lang/en/schema-org.php b/resources/lang/en/schema-org.php new file mode 100644 index 00000000..ac1e228a --- /dev/null +++ b/resources/lang/en/schema-org.php @@ -0,0 +1,12 @@ + 'Nature & Respect offers its expertise in outdoor poultry production to the international + market. Poultry fed on 100% plant-based, GMO-free feed. They are raised with respect for the animal\'s + well-being, on small-scale farms that promote close proximity between breeder and animal.', + 'slogan' => 'Our poultry raised on outdoor runs', + 'website' => 'Nature & Respect brand website presenting its products, recipes, news and more.', + 'place' => ['address', 'place'], + 'genre' => 'showcase website', + 'keywords' => ['products', 'recipes', 'news'], +]; diff --git a/resources/views/bo/pages/static_pages/edit.blade.php b/resources/views/bo/pages/static_pages/edit.blade.php index 0c6f139e..8a8ddd4b 100644 --- a/resources/views/bo/pages/static_pages/edit.blade.php +++ b/resources/views/bo/pages/static_pages/edit.blade.php @@ -12,11 +12,11 @@ {{ str(trans('models.classes.static_page'))->ucfirst() }} - {{ str(__('crud.actions.edit'))->ucfirst() }} + {{ sprintf('%s (%s)', str(__('crud.actions.edit'))->ucfirst(), $staticPageModel->type->label()) }}
      -
      @csrf @method('PUT') diff --git a/resources/views/bo/pages/static_pages/form-inputs.blade.php b/resources/views/bo/pages/static_pages/form-inputs.blade.php index ec2a07ed..a7e798a0 100644 --- a/resources/views/bo/pages/static_pages/form-inputs.blade.php +++ b/resources/views/bo/pages/static_pages/form-inputs.blade.php @@ -1,49 +1,4 @@
      - {{-- TYPE --}} -
      -
      - {{ str(__('validation.custom.static_page_type'))->ucfirst() }} -
      -
      - @include('bo.partials.inputs.tinyint-enum', [ - 'id' => 'staticPageType', - 'label' => __('Type of the :model', ['model' => trans('models.classes.static_page')]), - 'name' => 'type', - 'model' => $staticPageModel ?? null, - 'required' => false, - 'disabled' => true, - 'value' => optional(optional($staticPageModel ?? null)->type)->value(), - 'associatedModels' => \App\Enums\StaticPageType::toArray(), - 'helper' => '', - ]) -
      -
      -
      -
      - {{-- TITLE --}} -
      -
      - {{ str(__('validation.attributes.title'))->ucfirst() }} -
      -
      - @include('bo.partials.inputs.varchar', [ - 'id' => 'userFirstname', - 'label' => __('Title of the :model', ['model' => trans('models.classes.static_page')]), - 'hasWordCounter' => true, - 'name' => 'title', - 'required' => true, - 'model' => $staticPageModel ?? null, - 'helper' => __('validation.between.string', [ - 'attribute' => __('title of the :model', ['model' => trans('models.classes.static_page')]), - 'min' => 3, - 'max' => 255, - ]), - 'placeholder' => __('A beautiful title'), - ]) -
      -
      -
      -
      {{-- SEO_TITLE --}}
      @@ -115,28 +70,54 @@
      - {{-- CONTENT --}} -
      + {{-- TITLE --}} +
      - {{ str(__('validation.attributes.content'))->ucfirst() }} -
      + {{ str(__('validation.attributes.title'))->ucfirst() }} +
      - @include('bo.partials.inputs.text-html', [ - 'id' => 'articleContent', - 'label' => __(':field :inter:model', [ - 'field' => str(__('validation.attributes.content'))->ucfirst(), - 'inter' => __('validation.custom.of_the.female'), - 'model' => trans('models.classes.static_page'), - ]), - 'name' => 'content', - 'model' => $staticPageModel ?? null, + @include('bo.partials.inputs.varchar', [ + 'id' => 'userFirstname', + 'label' => __('Title of the :model', ['model' => trans('models.classes.static_page')]), + 'hasWordCounter' => true, + 'name' => 'title', 'required' => true, - 'helper' => __('crud.minicrud.text_warning'), + 'model' => $staticPageModel ?? null, + 'helper' => __('validation.between.string', [ + 'attribute' => __('title of the :model', ['model' => trans('models.classes.static_page')]), + 'min' => 3, + 'max' => 255, + ]), + 'placeholder' => __('A beautiful title'), ])
      + @if(in_array($staticPageModel->type, \App\Enums\StaticPageType::getEditableContentPages())) + {{-- CONTENT --}} +
      +
      + {{ str(__('validation.attributes.content'))->ucfirst() }} +
      +
      + @include('bo.partials.inputs.text-html', [ + 'id' => 'articleContent', + 'label' => __(':field :inter:model', [ + 'field' => str(__('validation.attributes.content'))->ucfirst(), + 'inter' => __('validation.custom.of_the.female'), + 'model' => trans('models.classes.static_page'), + ]), + 'name' => 'content', + 'model' => $staticPageModel ?? null, + 'required' => true, + 'helper' => __('crud.minicrud.text_warning'), + ]) +
      +
      +
      +
      + @endif

      {{ __('* Champs obligatoires') }}

      diff --git a/resources/views/bo/pages/static_pages/index-list.blade.php b/resources/views/bo/pages/static_pages/index-list.blade.php index 4a156e03..129d4d9a 100644 --- a/resources/views/bo/pages/static_pages/index-list.blade.php +++ b/resources/views/bo/pages/static_pages/index-list.blade.php @@ -2,7 +2,6 @@ @include('bo.modules.table-col-sorter', ['cols' => [ - 'type' => Str::ucfirst(__('validation.custom.static_page_type')), 'title' => Str::ucfirst(__('validation.attributes.title')), 'updated_at' => Str::ucfirst(__('validation.attributes.updated_at')), ]]) @@ -11,14 +10,13 @@ @if ($staticPageModels->count()) @foreach ($staticPageModels as $staticPageModel) - - - +
      {{ $staticPageModel->type->label() }}{{ $staticPageModel->title }} + {{ $staticPageModel->title }} {{ $staticPageModel->updated_at->isoFormat('LLLL') }} diff --git a/resources/views/fo/layout-minimal.blade.php b/resources/views/fo/layout-minimal.blade.php deleted file mode 100644 index 8fa5bff3..00000000 --- a/resources/views/fo/layout-minimal.blade.php +++ /dev/null @@ -1,37 +0,0 @@ - - - - - @include('fo.layouts.head') - - - - - - - @include('fo.layouts.header') - - @yield('content') - - @include('fo.layouts.footer') - @include('fo.layouts.navigation') - - - @include('fo.vendor.ldcweb-cookies') - @stack('scripts-constants') - @include('modules.script-constants') - @stack('scripts') - @vite(['resources/ts/fo.ts']) - - - - diff --git a/resources/views/fo/layout-frame.blade.php b/resources/views/fo/layout.blade.php similarity index 100% rename from resources/views/fo/layout-frame.blade.php rename to resources/views/fo/layout.blade.php diff --git a/resources/views/fo/layouts/head.blade.php b/resources/views/fo/layouts/head.blade.php index 7d2c9bb7..00b93ce6 100644 --- a/resources/views/fo/layouts/head.blade.php +++ b/resources/views/fo/layouts/head.blade.php @@ -38,6 +38,7 @@ @else @endif +@include('modules.breadcrumbs.breadcrumb-head') @vite(['resources/sass/fo/fo.scss']) diff --git a/resources/views/fo/pages/aboutus.blade.php b/resources/views/fo/pages/aboutus.blade.php index bf162152..d339745a 100644 --- a/resources/views/fo/pages/aboutus.blade.php +++ b/resources/views/fo/pages/aboutus.blade.php @@ -1,35 +1,33 @@ {{-- FIXME: file not used. --}} -@extends('fo.layout-frame') +@extends('fo.layout') @section('title', __('About us')) @section('description', __('About us')) @section('content') -
      -
      - -
      -
      - - - - - - - - - - -
      - {{ __('Unser Konzept') }} -
      +
      + +
      +
      + + + + + + + + + + +
      + {{ __('Unser Konzept') }}
      diff --git a/resources/views/fo/pages/concepts/concept.blade.php b/resources/views/fo/pages/concepts/concept.blade.php index 04f2ea38..37d42aa5 100644 --- a/resources/views/fo/pages/concepts/concept.blade.php +++ b/resources/views/fo/pages/concepts/concept.blade.php @@ -1,6 +1,8 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $conceptModel]) + @section('title', $conceptModel->seo_title) @section('description', $conceptModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') @@ -33,15 +35,6 @@
      - -
      - -

      {{ $conceptModel->title }} @@ -60,4 +53,5 @@ ]) @endfor

      + @endsection diff --git a/resources/views/fo/pages/contact.blade.php b/resources/views/fo/pages/contact.blade.php index 52d54438..d49fb451 100644 --- a/resources/views/fo/pages/contact.blade.php +++ b/resources/views/fo/pages/contact.blade.php @@ -1,20 +1,14 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $staticPageModel]) + @section('title', $staticPageModel->seo_title) @section('description', $staticPageModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') - -
      -

      {!! clean($staticPageModel->content) !!}

      +

      {!! clean($staticPageModel->title) !!}

      @if (Session::has('success'))
      @@ -104,6 +98,7 @@ @endif
      + @endsection @push('scripts') diff --git a/resources/views/fo/pages/home.blade.php b/resources/views/fo/pages/home.blade.php index c772ade4..018e04c3 100644 --- a/resources/views/fo/pages/home.blade.php +++ b/resources/views/fo/pages/home.blade.php @@ -1,7 +1,8 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $staticPageModel]) -@section('title', $home->seo_title) -@section('description', $home->seo_description) +@section('title', $staticPageModel->seo_title) +@section('description', $staticPageModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') @@ -18,8 +19,10 @@ class="sm:col-span-2 bg-hellgruen text-weiss p-6 py-5 pb-12 sm:pb-5 sm:pl-2 sm:pr-6 md:pl-5 md:pr-10 lg:pl-8 lg:pr-16 flex items-center">

      - {{ $slide->title }}

      -

      {{ $slide->subtitle }} + {{ $slide->title }} +

      +

      + {{ $slide->subtitle }}

      {!! clean($slide->description) !!}

      @if (!empty($slide->link)) @@ -196,6 +199,7 @@
      {{-- END PART 3 --}} + @endsection @push('scripts') diff --git a/resources/views/fo/pages/legals.blade.php b/resources/views/fo/pages/legals.blade.php index 05757808..b7c14f8c 100644 --- a/resources/views/fo/pages/legals.blade.php +++ b/resources/views/fo/pages/legals.blade.php @@ -1,19 +1,13 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $staticPageModel]) + @section('title', $staticPageModel->seo_title) @section('description', $staticPageModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') - - + @endsection diff --git a/resources/views/fo/pages/news/index.blade.php b/resources/views/fo/pages/news/index.blade.php index bb4394a2..263dd76d 100644 --- a/resources/views/fo/pages/news/index.blade.php +++ b/resources/views/fo/pages/news/index.blade.php @@ -1,21 +1,11 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $staticPageModel]) -@section('title', __('News')) -@section('description', __('News')) +@section('title', $staticPageModel->seo_title) +@section('description', $staticPageModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') @include('fo.pages.news.header') - -
      - -

      {{ __('Here we keep you') }} @@ -26,4 +16,5 @@

      {{-- NEWS VUE JS --}}
      + @endsection diff --git a/resources/views/fo/pages/news/show.blade.php b/resources/views/fo/pages/news/show.blade.php index fc249f11..ec65b942 100644 --- a/resources/views/fo/pages/news/show.blade.php +++ b/resources/views/fo/pages/news/show.blade.php @@ -1,26 +1,12 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $newsModel]) + @section('title', $newsModel->seo_title) @section('description', $newsModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') @include('fo.pages.news.header') @include('fo.pages.news.aside-news', ['relatedNewsList' => $relatedNewsList]) + @endsection diff --git a/resources/views/fo/pages/privacy.blade.php b/resources/views/fo/pages/privacy.blade.php index 20fd0881..6d873af4 100644 --- a/resources/views/fo/pages/privacy.blade.php +++ b/resources/views/fo/pages/privacy.blade.php @@ -1,17 +1,10 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $staticPageModel]) + @section('title', $staticPageModel->seo_title) @section('description', $staticPageModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') - - + @endsection diff --git a/resources/views/fo/pages/products/index.blade.php b/resources/views/fo/pages/products/index.blade.php index 0468a908..fd941f1c 100644 --- a/resources/views/fo/pages/products/index.blade.php +++ b/resources/views/fo/pages/products/index.blade.php @@ -1,22 +1,14 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $staticPageModel]) -@section('title', __('Products')) -@section('description', __('Products')) +@section('title', $staticPageModel->seo_title) +@section('description', $staticPageModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content')
      - -
      @@ -75,7 +67,6 @@ .stoerer:hover .text-stoerer { display: none; } - .stoerer:hover .text-stoerer-hover { display: block; font-size: 14px; @@ -145,4 +136,5 @@ } @endpush + @endsection diff --git a/resources/views/fo/pages/products/show.blade.php b/resources/views/fo/pages/products/show.blade.php index 9f050585..b0acacf7 100644 --- a/resources/views/fo/pages/products/show.blade.php +++ b/resources/views/fo/pages/products/show.blade.php @@ -1,18 +1,10 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $productModel]) + @section('title', $productModel->seo_title) @section('description', $productModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') - -
      @@ -92,4 +84,5 @@
      + @endsection diff --git a/resources/views/fo/pages/recipes/index.blade.php b/resources/views/fo/pages/recipes/index.blade.php index ea04b106..9d0c4a6f 100644 --- a/resources/views/fo/pages/recipes/index.blade.php +++ b/resources/views/fo/pages/recipes/index.blade.php @@ -1,7 +1,8 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $staticPageModel]) -@section('title', __('Recipes')) -@section('description', __('Recipes')) +@section('title', $staticPageModel->seo_title) +@section('description', $staticPageModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') @@ -9,15 +10,6 @@
      - -
      @@ -25,4 +17,5 @@ @endforeach
      + @endsection diff --git a/resources/views/fo/pages/recipes/show.blade.php b/resources/views/fo/pages/recipes/show.blade.php index 5cdebbd5..c34c73a9 100644 --- a/resources/views/fo/pages/recipes/show.blade.php +++ b/resources/views/fo/pages/recipes/show.blade.php @@ -1,6 +1,8 @@ -@extends('fo.layout-frame') +@extends('fo.layout', ['brParam' => $recipeModel]) + @section('title', $recipeModel->seo_title) @section('description', $recipeModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') @@ -10,18 +12,6 @@ @endif
      - -

      {{ $recipeModel->name }}

      {{ $recipeModel->teaser }}

      @@ -90,4 +80,5 @@
      + @endsection diff --git a/resources/views/fo/pages/storefinder.blade.php b/resources/views/fo/pages/storefinder.blade.php index 98e50b66..ac67f6ab 100644 --- a/resources/views/fo/pages/storefinder.blade.php +++ b/resources/views/fo/pages/storefinder.blade.php @@ -1,17 +1,10 @@ -@extends('fo.layout-frame') -@section('title', __('Store Finder')) +@extends('fo.layout', ['brParam' => $staticPageModel]) + +@section('title', $staticPageModel->seo_title) +@section('description', $staticPageModel->seo_description) +@section('breadcrumb', request()->route()->getName()) @section('content') - -
      @@ -261,4 +254,5 @@ return ""; } + @endsection diff --git a/resources/views/vendor/errors/404.blade.php b/resources/views/vendor/errors/404.blade.php index a6ad8138..f00a6df7 100644 --- a/resources/views/vendor/errors/404.blade.php +++ b/resources/views/vendor/errors/404.blade.php @@ -1,5 +1,5 @@ @php $nonce = $nonce ?? uniqid(); @endphp -@extends('fo.layout-minimal') +@extends('fo.layout') @section('title', __('Not Found')) @section('code', '404') diff --git a/routes/breadcrumbs-fo.php b/routes/breadcrumbs-fo.php index b3d9bbc7..a63e47d8 100644 --- a/routes/breadcrumbs-fo.php +++ b/routes/breadcrumbs-fo.php @@ -1 +1,102 @@ currentLocale()), function (Generator $trail) { + $trail->push(Str::ucfirst(trans('homepage')), route('home')); +}); + +// * LEGALS +Breadcrumbs::for(sprintf('%s.legals', app()->currentLocale()), function (Generator $trail, StaticPage $static_page) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($static_page->title, route('legals')); +}); + +// * PRIVACY +Breadcrumbs::for(sprintf('%s.privacy', app()->currentLocale()), function (Generator $trail, StaticPage $static_page) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($static_page->title, route('privacy')); +}); + +// * STORE FINDER +Breadcrumbs::for( + sprintf('%s.storefinder.index', app()->currentLocale()), + function (Generator $trail, StaticPage $static_page) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($static_page->title, route('storefinder.index')); + } +); + +// * CONTACT +Breadcrumbs::for( + sprintf('%s.contact-form', app()->currentLocale()), + function (Generator $trail, StaticPage $static_page) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($static_page->title, route('contact-form')); + } +); + +// * RECIPES +Breadcrumbs::for( + sprintf('%s.recipes.index', app()->currentLocale()), + function (Generator $trail, StaticPage $static_page) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($static_page->title, route('recipes.index')); + } +); +Breadcrumbs::for( + sprintf('%s.recipe.show', app()->currentLocale()), + function (Generator $trail, Recipe $publishedRecipe) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($publishedRecipe->name, route('recipe.show', $publishedRecipe)); + } +); + +// * PRODUCTS +Breadcrumbs::for( + sprintf('%s.products.index', app()->currentLocale()), + function (Generator $trail, StaticPage $static_page) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($static_page->title, route('products.index')); + } +); +Breadcrumbs::for( + sprintf('%s.product.show', app()->currentLocale()), + function (Generator $trail, Product $publishedProduct) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($publishedProduct->label, route('product.show', $publishedProduct)); + } +); + +// * NEWS +Breadcrumbs::for( + sprintf('%s.news.index', app()->currentLocale()), + function (Generator $trail, StaticPage $static_page) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($static_page->title, route('news.index')); + } +); +Breadcrumbs::for( + sprintf('%s.news.show', app()->currentLocale()), + function (Generator $trail, News $publishedNews) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($publishedNews->title, route('news.show', $publishedNews)); + } +); + +// * CONCEPTS +Breadcrumbs::for( + sprintf('%s.concept.show', app()->currentLocale()), + function (Generator $trail, Concept $concept) { + $trail->parent(sprintf('%s.home', app()->currentLocale())); + $trail->push($concept->name, route('concept.show', $concept)); + } +); diff --git a/routes/web-bo.php b/routes/web-bo.php index 564aa185..cd6de00a 100644 --- a/routes/web-bo.php +++ b/routes/web-bo.php @@ -57,7 +57,8 @@ Route::prefix('bo') Route::resource('homes', HomeController::class)->except(['show']) ->withoutMiddleware('htmlsanitize') ->middleware(['htmlsanitize:part1_text_1,part1_text_2,part1_text_3,part2_text']); - // * STATICPAGES + + // * STATIC_PAGES Route::resource('pages', StaticPageController::class) ->names([ 'index' => 'static_pages.index', @@ -67,7 +68,6 @@ Route::prefix('bo') ->withoutMiddleware('htmlsanitize') ->only(['index', 'edit', 'update']); - // * NEWS Route::resource('news', NewsController::class)->except(['show']) ->withoutMiddleware('htmlsanitize') @@ -122,30 +122,21 @@ Route::prefix('bo') // * STORE GROUPS Route::resource('storegroups', StoreGroupController::class)->except(['show']); - Route::post( - '/storegroups/{storegroup}/change-order/{direction}', - [StoreGroupController::class, 'changeOrder'] - ) - ->where('direction', 'up|down') - ->name('storegroups.change-order'); + Route::post('/storegroups/{storegroup}/change-order/{direction}', [ + StoreGroupController::class, 'changeOrder' + ])->where('direction', 'up|down')->name('storegroups.change-order'); // * STORE REGIONS Route::resource('storeregions', StoreRegionController::class)->except(['show']); - Route::post( - '/storeregions/{storeregion}/change-order/{direction}', - [StoreRegionController::class, 'changeOrder'] - ) - ->where('direction', 'up|down') - ->name('storeregions.change-order'); + Route::post('/storeregions/{storeregion}/change-order/{direction}', [ + StoreRegionController::class, 'changeOrder' + ])->where('direction', 'up|down')->name('storeregions.change-order'); // * STORE TYPES Route::resource('storetypes', StoreTypeController::class)->except(['show']); - Route::post( - '/storetypes/{storetype}/change-order/{direction}', - [StoreTypeController::class, 'changeOrder'] - ) - ->where('direction', 'up|down') - ->name('storetypes.change-order'); + Route::post('/storetypes/{storetype}/change-order/{direction}', [ + StoreTypeController::class, 'changeOrder' + ])->where('direction', 'up|down')->name('storetypes.change-order'); // * SLIDERS Route::resource('sliders', SliderController::class)->except(['show']) diff --git a/routes/web-fo.php b/routes/web-fo.php index a3450e7b..09df292b 100644 --- a/routes/web-fo.php +++ b/routes/web-fo.php @@ -11,7 +11,6 @@ use App\Http\Controllers\Fo\StoreController; use Illuminate\Support\Facades\Route; Route::namespace('\App\Http\Controllers\Fo')->middleware(['throttle:credentials'])->group(function () { - // * API Route. Route::get('stores', [StoreController::class, 'city'])->name('stores.city'); @@ -20,49 +19,36 @@ Route::namespace('\App\Http\Controllers\Fo')->middleware(['throttle:credentials' ->where('frame', '[a-z]+')->name('front.frame'); Route::localized(function () { - Route::get('/', [HomeController::class, 'index'])->name('home'); - - /** @var \Illuminate\Translation\Translator */ + /** @var \Illuminate\Translation\Translator $trans */ $trans = trans(); + // * PRODUCTS Route::get($trans->uri('products'), [ProductController::class, 'index'])->name('products.index'); - - Route::get( - $trans->uri('product/{publishedProduct:slug}'), - [ProductController::class, 'show'] - )->name('product.show'); + Route::get($trans->uri('product/{publishedProduct:slug}'), [ProductController::class, 'show']) + ->name('product.show'); // * NEWS Route::get($trans->uri('news'), [NewsController::class, 'index'])->name('news.index'); - Route::get( - $trans->uri('news/{publishedNews:slug}'), - [NewsController::class, 'show'] - )->name('news.show'); + Route::get($trans->uri('news/{publishedNews:slug}'), [NewsController::class, 'show'])->name('news.show'); + // * RECIPES Route::get($trans->uri('recipes'), [RecipeController::class, 'index'])->name('recipes.index'); + Route::get($trans->uri('recipes/{publishedRecipe:slug}'), [RecipeController::class, 'show']) + ->name('recipe.show'); - Route::get( - $trans->uri('recipes/{publishedRecipe:slug}'), - [RecipeController::class, 'show'] - )->name('recipe.show'); - - Route::get($trans->uri('storefinder'), function () { - return view('fo.pages.storefinder'); - })->name('storefinder.index'); + // * STORES + Route::get($trans->uri('storefinder'), [StoreController::class, 'index'])->name('storefinder.index'); + // * CONTACT Route::get($trans->uri('contact-us'), [ContactController::class, 'contactForm'])->name('contact-form'); - Route::post( - $trans->uri('contact-us'), - [ContactController::class, 'sendContactForm'] - )->name('contact-form.send'); + Route::post($trans->uri('contact-us'), [ContactController::class, 'sendContactForm']) + ->name('contact-form.send'); + // * OTHERS + Route::get('/', [HomeController::class, 'index'])->name('home'); Route::get($trans->uri('legals'), [StaticPageController::class, 'legals'])->name('legals'); Route::get($trans->uri('privacy'), [StaticPageController::class, 'policies'])->name('privacy'); - - Route::get( - $trans->uri('concept/{concept:slug}'), - [ConceptController::class, 'show'] - )->name('concept.show'); + Route::get($trans->uri('concept/{concept:slug}'), [ConceptController::class, 'show'])->name('concept.show'); }); });