From ed6ac380e0a0e1a16ad95ee622663a6e9be867a1 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Fri, 21 Jul 2023 18:54:21 +0200 Subject: [PATCH] wip #6108 @1.5 --- app/Fields/HorizontalAlign.php | 23 +++++++ app/Fields/ThemeBackgroundSize.php | 26 ++++++++ app/Fields/VerticalAlign.php | 23 +++++++ app/Models/FluidbookPublication.php | 17 ++---- app/Models/FluidbookTheme.php | 30 ++------- app/Models/QuizTheme.php | 81 +++++++++++++++++------- composer.lock | 95 ++++++++++++++++------------- 7 files changed, 192 insertions(+), 103 deletions(-) create mode 100644 app/Fields/HorizontalAlign.php create mode 100644 app/Fields/ThemeBackgroundSize.php create mode 100644 app/Fields/VerticalAlign.php diff --git a/app/Fields/HorizontalAlign.php b/app/Fields/HorizontalAlign.php new file mode 100644 index 000000000..6100a2fb3 --- /dev/null +++ b/app/Fields/HorizontalAlign.php @@ -0,0 +1,23 @@ + __('Centré'), + self::LEFT => __('Gauche'), + self::RIGHT => __('Droite'), + ]; + } +} diff --git a/app/Fields/ThemeBackgroundSize.php b/app/Fields/ThemeBackgroundSize.php new file mode 100644 index 000000000..a25d13c28 --- /dev/null +++ b/app/Fields/ThemeBackgroundSize.php @@ -0,0 +1,26 @@ + __('Étirer'), + self::RATIO => __('Étirer le fond en conservant les proportions'), + self::REPEAT => __('Répéter'), + self::NONE => __('Ne pas répéter ni étirer'), + ]; + } +} diff --git a/app/Fields/VerticalAlign.php b/app/Fields/VerticalAlign.php new file mode 100644 index 000000000..d02bc3765 --- /dev/null +++ b/app/Fields/VerticalAlign.php @@ -0,0 +1,23 @@ + __('Milieu'), + self::TOP => __('Haut'), + self::BOTTOM => __('Bas'), + ]; + } +} diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index d928c89d1..9261817dc 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -3,18 +3,14 @@ namespace App\Models; -use App\Console\Commands\WorkshopMigration; -use App\Fields\CubedesignersTeamMember; use App\Fields\FluidbookChapters; use App\Fields\FluidbookComposition; -use App\Fields\FluidbookID; use App\Fields\FluidbookIDOptionnal; use App\Fields\FluidbookLocale; use App\Fields\FluidbookProjectManager; use App\Fields\FluidbookStatus; use App\Fields\FluidbookV3ID; use App\Fields\User; -use App\Fluidbook\Compiler\Compiler; use App\Fluidbook\Farm; use App\Fluidbook\Link\Link; use App\Fluidbook\Link\LinksData; @@ -34,7 +30,6 @@ use App\Http\Controllers\Admin\Operations\FluidbookPublication\UpgradeOperation; use App\Jobs\FluidbookImagesPreprocess; use App\Jobs\FluidbookSocialImage; use App\Jobs\GenerateDeliveryThumbnailsPreview; -use App\Jobs\GenerateSecondPagePreview; use App\Models\Base\ToolboxSettingsModel; use App\Models\Traits\CheckHash; use App\Models\Traits\PublicationSettings; @@ -42,16 +37,13 @@ use App\Models\Traits\PublicationTags; use App\Models\Traits\SCORMVersionTrait; use App\Slack\Slack; use App\SubForms\Link\Base; -use Cubist\Backpack\CubistBackpackServiceProvider; use Cubist\Backpack\Magic\Fields\Checkbox; use Cubist\Backpack\Magic\Fields\FormBigSection; -use Cubist\Backpack\Magic\Fields\FormSeparator; use Cubist\Backpack\Magic\Fields\FormSuperSection; use Cubist\Backpack\Magic\Fields\Hidden; use Cubist\Backpack\Magic\Fields\Integer; use Cubist\Backpack\Magic\Fields\SelectFromArray; use Cubist\Backpack\Magic\Operations\CreateOperation; -use Cubist\Excel\Excel; use Cubist\Excel\ExcelToArray; use Cubist\Util\ArrayUtil; use Cubist\Util\Files\Files; @@ -62,7 +54,6 @@ use Datetime; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; // __('!!Paramètres des fluidbooks') @@ -975,9 +966,9 @@ class FluidbookPublication extends ToolboxSettingsModel if ($mobileFirst) { if ($sync) { - (new GenerateDeliveryThumbnailsPreview($mobileFirst, 'mobile'))->handle(); + (new GenerateDeliveryThumbnailsPreview($mobileFirst, 'mobile'))->handle(); } else { - dispatch(new GenerateDeliveryThumbnailsPreview($mobileFirst, 'mobile'))->onQueue('theme'); + dispatch(new GenerateDeliveryThumbnailsPreview($mobileFirst, 'mobile'))->onQueue('theme'); } } @@ -985,8 +976,8 @@ class FluidbookPublication extends ToolboxSettingsModel (new GenerateDeliveryThumbnailsPreview($this))->handle(); (new GenerateDeliveryThumbnailsPreview($this, 'mobile'))->handle(); } else { - dispatch(new GenerateDeliveryThumbnailsPreview($this, ))->onQueue('theme'); - dispatch(new GenerateDeliveryThumbnailsPreview($this, 'mobile'))->onQueue('theme'); + dispatch(new GenerateDeliveryThumbnailsPreview($this,))->onQueue('theme'); + dispatch(new GenerateDeliveryThumbnailsPreview($this, 'mobile'))->onQueue('theme'); } } diff --git a/app/Models/FluidbookTheme.php b/app/Models/FluidbookTheme.php index fe9ae4d35..74ca20064 100644 --- a/app/Models/FluidbookTheme.php +++ b/app/Models/FluidbookTheme.php @@ -5,6 +5,9 @@ namespace App\Models; use App\Fields\FluidbookFont; use App\Fields\FluidbookThemeImage; +use App\Fields\HorizontalAlign; +use App\Fields\ThemeBackgroundSize; +use App\Fields\VerticalAlign; use App\Http\Controllers\Admin\Operations\ChangeownerOperation; use App\Jobs\GenerateSecondPagePreview; use App\Jobs\GenerateThemePreview; @@ -425,41 +428,20 @@ class FluidbookTheme extends ToolboxSettingsModel ]); $this->addField([ 'name' => 'repeat', - 'type' => 'SelectFromArray', - 'options' => [ - 0 => 'Etirer', - 2 => 'Etirer le fond en conservant les proportions', - 1 => 'Répéter', - 3 => 'Ne pas répéter ni étirer', - ], + 'type' => ThemeBackgroundSize::class, 'label' => __('Affichage du fond'), - 'default' => 0, 'translatable' => false, ]); $this->addField([ 'name' => 'backgroundHAlign', - 'type' => 'SelectFromArray', - 'options' => [ - 4 => 'Centré', - 5 => 'Gauche', - 6 => 'Droite', - ], + 'type' => HorizontalAlign::class, 'label' => __('Alignement Horizontal'), - 'default' => 4, - 'translatable' => false, ]); $this->addField([ 'name' => 'backgroundVAlign', - 'type' => 'SelectFromArray', - 'options' => [ - 7 => 'Milieu', - 8 => 'Haut', - 9 => 'Bas', - ], + 'type' => VerticalAlign::class, 'label' => __('Alignement Vertical'), - 'default' => 7, - 'translatable' => false, ]); $this->addField([ diff --git a/app/Models/QuizTheme.php b/app/Models/QuizTheme.php index c534a0753..425f332cc 100644 --- a/app/Models/QuizTheme.php +++ b/app/Models/QuizTheme.php @@ -3,9 +3,16 @@ namespace App\Models; use App\Fields\FluidbookThemeImage; +use App\Fields\HorizontalAlign; +use App\Fields\ThemeBackgroundSize; +use App\Fields\VerticalAlign; use App\Models\Base\ToolboxModel; +use Cubist\Backpack\Magic\Fields\Checkbox; use Cubist\Backpack\Magic\Fields\Color; use Cubist\Backpack\Magic\Fields\FormSection; +use Cubist\Backpack\Magic\Fields\FormSectionDescription; +use Cubist\Backpack\Magic\Fields\FormSeparator; +use League\Glide\Manipulators\Background; class QuizTheme extends ToolboxModel { @@ -31,7 +38,6 @@ class QuizTheme extends ToolboxModel $this->addField('name', 'Text', __('Nom'), ['column' => true]); //$this->addField('preview', 'NoValue', __('Preview'), ['column_escape' => false, 'column' => true, 'column_type' => 'model_function', 'column_function_name' => 'getPreviewImage', 'column_limit' => -1]); - $this->setSettingsFields(); } @@ -48,12 +54,7 @@ class QuizTheme extends ToolboxModel protected function _colors() { - $this->addField([ - 'name' => 'section_colors', - 'type' => FormSection::class, - 'label' => __('Couleurs principales'), - ]); - + $this->addField('sectionColors', FormSection::class, __('Couleurs principales')); $this->addField('mainColor', Color::class, __('Couleur d\'accent'), ['hint' => __('Couleur du bouton principal et des éléments d\'accents du thème')]); $this->addField('neutralColor', Color::class, __('Couleur neutre principale'), ['hint' => __('Couleur des éléments d\'habillage du thème (privilégier une couleur foncée)')]); $this->addField('okColor', Color::class, __('Couleur OK'), ['hint' => __('Couleur générale affectée aux bonnes réponses (habituellement vert)')]); @@ -63,41 +64,77 @@ class QuizTheme extends ToolboxModel protected function _logo() { - $this->addField('section_logo', FormSection::class, __('Logo')); - - $this->addField([ - 'name' => 'logo', - 'type' => FluidbookThemeImage::class, - 'accept' => '.svg,.png,.jpg', - 'label' => __('Logo'), - 'hint' => __('Hauteur 40px'), - ]); - + $this->addField('sectionLogo', FormSection::class, __('Logo')); + $this->addField('logo', FluidbookThemeImage::class, __('Logo'), ['accept' => '.svg,.png,.jpg', 'hint' => __('Hauteur 40px')]); $this->addField('favicon', FluidbookThemeImage::class, __('Icône pour favicon et apps'), ['hint' => 'Carré de 512x512px']); } protected function _background() { - + $this->addField('sectionBackground', FormSection::class, __('Fond')); + $this->addField('sectionBackgroundDesc', FormSectionDescription::class, __('Par défaut, le fond utilisé est celui pour desktop.') . ' ' . __('Chargez un fichier dans la partie Mobile pour affecter un fond personnalisé pour Mobile.')); + $this->addField('backgroundColor', Color::class, __('Couleur de fond')); + $this->addField('', FormSeparator::class); + $this->addField('backgroundCustom', Checkbox::class, __('Définir un fond personnalisé ou animé')); + $this->addField('backgroundImage', FluidbookThemeImage::class, __('Image ou animation'), ['hint' => __('Taille recommandée : :size', ['size' => '1200 x 680px']), 'when' => ['backgroundCustom' => 1]]); + $this->addField('backgroundSize', ThemeBackgroundSize::class, __('Affichage du fond'), ['when' => ['backgroundCustom' => 1]]); + $this->addField('backgroundHorizontalAlign', HorizontalAlign::class, __('Alignement horizontal'), ['when' => ['backgroundCustom' => 1]]); + $this->addField('backgroundVerticalAlign', VerticalAlign::class, __('Alignement vertical'), ['when' => ['backgroundCustom' => 1]]); + $this->addField('', FormSeparator::class, '', ['when' => ['backgroundCustom' => 1]]); + $this->addField('backgroundCustomMobile', Checkbox::class, __('Définir un fond spécifique sur mobile'), ['when' => ['backgroundCustom' => 1]]); + $this->addField('backgroundImageMobile', FluidbookThemeImage::class, __('Image ou animation'), ['hint' => __('Taille recommandée : :size', ['size' => '390 x 844px']), 'when' => ['backgroundCustom' => 1, 'backgroundCustomMobile' => 1]]); + $this->addField('backgroundSizeMobile', ThemeBackgroundSize::class, __('Affichage du fond'), ['when' => ['backgroundCustom' => 1, 'backgroundCustomMobile' => 1]]); + $this->addField('backgroundHorizontalAlignMobile', HorizontalAlign::class, __('Alignement horizontal'), ['when' => ['backgroundCustom' => 1, 'backgroundCustomMobile' => 1]]); + $this->addField('backgroundVerticalAlignMobile', VerticalAlign::class, __('Alignement vertical'), ['when' => ['backgroundCustom' => 1, 'backgroundCustomMobile' => 1]]); } + protected function _intro() { - + $this->addField('sectionIntro', FormSection::class, __('Page d\'introduction')); + $this->addField('introColor', Color::class, __('Couleur et transparence du bloc'), ['hint' => __('Par défaut, la couleur neutre du thème'), 'allows_empty' => true]); + $this->addField('', FormSeparator::class, ''); + $this->addField('introCustom', Checkbox::class, __('Définir une forme personnalisée')); + $this->addField('introImage', FluidbookThemeImage::class, __('Desktop'), ['hint' => __('Taille recommandée : :size', ['size' => '1200 x 680px']), 'when' => ['introCustom' => 1]]); + $this->addField('introImageMobile', FluidbookThemeImage::class, __('Mobile'), ['hint' => __('Taille recommandée : :size', ['size' => '390 x 844px']), 'when' => ['introCustom' => 1]]); } protected function _standardQuestions() { - + $this->addField('sectionStandard', FormSection::class, __('Questions standards')); + $this->addField('standardColor', Color::class, __('Couleur et transparence du bloc'), ['hint' => __('Par défaut, la couleur neutre du thème'), 'allows_empty' => true]); + $this->addField('', FormSeparator::class, ''); + $this->addField('standardCustom', Checkbox::class, __('Définir une forme personnalisée')); + $this->addField('standardImage', FluidbookThemeImage::class, __('Desktop'), ['hint' => __('Taille recommandée : :size', ['size' => '1200 x 160px']), 'when' => ['standardCustom' => 1]]); + $this->addField('standardImageMobile', FluidbookThemeImage::class, __('Mobile'), ['hint' => __('Taille recommandée : :size', ['size' => '390 x 174px']), 'when' => ['standardCustom' => 1]]); } protected function _draganddropQuestions() { - + $areas = [1 => 150, 2 => 210]; + + $this->addField('sectionDraganddrop', FormSection::class, __('Questions "drag & drop"')); + foreach ($areas as $i => $h) { + $this->addField('draganddropArea' . $i . 'Color', Color::class, __('Couleur et transparence du bloc de la zone :zone', ['zone' => $i]), ['hint' => __('Par défaut, la couleur neutre du thème'), 'allows_empty' => true]); + } + $this->addField('', FormSeparator::class, ''); + $this->addField('draganddropCustom', Checkbox::class, __('Définir une forme personnalisée')); + foreach ($areas as $i => $h) { + $this->addField('draganddropArea' . $i . 'Image', FluidbookThemeImage::class, __('Desktop Zone :zone', ['zone' => $i]), ['hint' => __('Taille recommandée : :size', ['size' => '260 x 680px']), 'when' => ['draganddropCustom' => 1]]); + $this->addField('draganddropArea' . $i . 'ImageMobile', FluidbookThemeImage::class, __('Mobile Zone :zone', ['zone' => $i]), ['hint' => __('Taille recommandée : :size', ['size' => '390 x ' . $h . 'px']), 'when' => ['draganddropCustom' => 1]]); + } } protected function _outro() { - + $this->addField('sectionStandard', FormSection::class, __('Conclusion')); + $this->addField('outroColor', Color::class, __('Couleur et transparence du bloc'), ['hint' => __('Par défaut, la couleur neutre du thème'), 'allows_empty' => true]); + $this->addField('', FormSeparator::class, ''); + $this->addField('outroCustom', Checkbox::class, __('Définir une forme personnalisée')); + $this->addField('outroImage', FluidbookThemeImage::class, __('Desktop'), ['hint' => __('Taille recommandée : :size', ['size' => '1200 x 680px']), 'when' => ['outroCustom' => 1]]); + $this->addField('outroImageMobile', FluidbookThemeImage::class, __('Mobile'), ['hint' => __('Taille recommandée : :size', ['size' => '390 x 844px']), 'when' => ['outroCustom' => 1]]); + $this->addField('', FormSeparator::class, ''); + $this->addField('outroSuccessAnimation', FluidbookThemeImage::class, __('Animation de réussite'), ['hint' => __('390 x390px')]); + $this->addField('outroFailAnimation', FluidbookThemeImage::class, __('Animation d\'échec'), ['hint' => __('390 x390px')]); } } diff --git a/composer.lock b/composer.lock index 6f051f235..bc8a13e54 100644 --- a/composer.lock +++ b/composer.lock @@ -1507,13 +1507,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/cubist_cms-back.git", - "reference": "afafc713f7bcdcdfd078a721dd5eeb322c62fba0" + "reference": "bb86b6e8055bda05e532dd9c0c71d8abd9acdde5" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-backpack5-c212b2.tar", - "reference": "afafc713f7bcdcdfd078a721dd5eeb322c62fba0", - "shasum": "3000d0d7b37fb32615096d7338b015fea4fa1f72" + "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-backpack5-2c6aee.tar", + "reference": "bb86b6e8055bda05e532dd9c0c71d8abd9acdde5", + "shasum": "91b965a0be0d8747fed8d1f186fa362bc5ee6afe" }, "require": { "backpack/backupmanager": "^v3.0.9", @@ -1592,7 +1592,7 @@ } ], "description": "Cubist Backpack extension", - "time": "2023-07-18T11:00:07+00:00" + "time": "2023-07-21T15:51:26+00:00" }, { "name": "cubist/cms-front", @@ -1850,20 +1850,20 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/cubist_matomo.git", - "reference": "4bad38868a2e4952139caa90d27fe580deee5a0e" + "reference": "844205b4bcbaf6ef6e506fce1adc7854d9ff8096" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/cubist/matomo/cubist-matomo-dev-master-e4acfb.tar", - "reference": "4bad38868a2e4952139caa90d27fe580deee5a0e", - "shasum": "2812094bac5fadc46f85afe338ca8dea4b09103c" + "url": "https://composer.cubedesigners.com/dist/cubist/matomo/cubist-matomo-dev-master-c547e8.tar", + "reference": "844205b4bcbaf6ef6e506fce1adc7854d9ff8096", + "shasum": "2dd931f80f658a750d181e8cebd0823978dd227e" }, "require": { "ext-json": "*", "guzzlehttp/guzzle": "^7.7", "illuminate/cache": ">=5", "nesbot/carbon": "^2.66", - "php": ">=8.0" + "php": "^7.2|>=8.0" }, "default-branch": true, "type": "library", @@ -1882,7 +1882,7 @@ } ], "description": "Matomo API", - "time": "2023-06-22T17:53:11+00:00" + "time": "2023-07-19T07:57:42+00:00" }, { "name": "cubist/net", @@ -3666,13 +3666,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/fluidbook_tools.git", - "reference": "193c9fcaf778b4264e4cc4fe1f1d06a1820e8bd9" + "reference": "11805633c4889c52caf60385f5ad7be9162a0326" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-2a5f0d.tar", - "reference": "193c9fcaf778b4264e4cc4fe1f1d06a1820e8bd9", - "shasum": "e9b5d0a0a7564b2c0330eb614ade6ebe9f734797" + "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-6c830d.tar", + "reference": "11805633c4889c52caf60385f5ad7be9162a0326", + "shasum": "40748f61b5acdbd50c10b784d846e38611d1a8d3" }, "require": { "barryvdh/laravel-debugbar": "*", @@ -3706,7 +3706,7 @@ } ], "description": "Fluidbook Tools", - "time": "2023-07-10T11:10:35+00:00" + "time": "2023-07-20T09:47:44+00:00" }, { "name": "fruitcake/php-cors", @@ -9297,16 +9297,16 @@ }, { "name": "spatie/laravel-honeypot", - "version": "4.3.3", + "version": "4.3.4", "source": { "type": "git", "url": "https://github.com/spatie/laravel-honeypot.git", - "reference": "fa303f537e0f2119861ab75efaa9b5ef792da12d" + "reference": "a888d2d7a7c841c4f0578b4f41c5d714e34c51fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-honeypot/zipball/fa303f537e0f2119861ab75efaa9b5ef792da12d", - "reference": "fa303f537e0f2119861ab75efaa9b5ef792da12d", + "url": "https://api.github.com/repos/spatie/laravel-honeypot/zipball/a888d2d7a7c841c4f0578b4f41c5d714e34c51fb", + "reference": "a888d2d7a7c841c4f0578b4f41c5d714e34c51fb", "shasum": "" }, "require": { @@ -9361,7 +9361,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-honeypot/tree/4.3.3" + "source": "https://github.com/spatie/laravel-honeypot/tree/4.3.4" }, "funding": [ { @@ -9369,7 +9369,7 @@ "type": "custom" } ], - "time": "2023-07-17T20:02:47+00:00" + "time": "2023-07-19T19:23:12+00:00" }, { "name": "spatie/laravel-medialibrary", @@ -9698,16 +9698,16 @@ }, { "name": "spatie/laravel-translatable", - "version": "6.5.2", + "version": "6.5.3", "source": { "type": "git", "url": "https://github.com/spatie/laravel-translatable.git", - "reference": "29d08d2088bda0d2b05452a348a7af2e81f9c668" + "reference": "1906a3f1492c4b4b99d9f150b67cca4b697d85d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/29d08d2088bda0d2b05452a348a7af2e81f9c668", - "reference": "29d08d2088bda0d2b05452a348a7af2e81f9c668", + "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/1906a3f1492c4b4b99d9f150b67cca4b697d85d7", + "reference": "1906a3f1492c4b4b99d9f150b67cca4b697d85d7", "shasum": "" }, "require": { @@ -9768,7 +9768,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-translatable/issues", - "source": "https://github.com/spatie/laravel-translatable/tree/6.5.2" + "source": "https://github.com/spatie/laravel-translatable/tree/6.5.3" }, "funding": [ { @@ -9776,7 +9776,7 @@ "type": "github" } ], - "time": "2023-06-20T18:08:15+00:00" + "time": "2023-07-19T19:21:38+00:00" }, { "name": "spatie/pdf-to-image", @@ -14525,37 +14525,33 @@ }, { "name": "mockery/mockery", - "version": "1.6.2", + "version": "1.6.4", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "13a7fa2642c76c58fa2806ef7f565344c817a191" + "reference": "d1413755e26fe56a63455f7753221c86cbb88f66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/13a7fa2642c76c58fa2806ef7f565344c817a191", - "reference": "13a7fa2642c76c58fa2806ef7f565344c817a191", + "url": "https://api.github.com/repos/mockery/mockery/zipball/d1413755e26fe56a63455f7753221c86cbb88f66", + "reference": "d1413755e26fe56a63455f7753221c86cbb88f66", "shasum": "" }, "require": { "hamcrest/hamcrest-php": "^2.0.1", "lib-pcre": ">=7.0", - "php": "^7.4 || ^8.0" + "php": ">=7.4,<8.3" }, "conflict": { "phpunit/phpunit": "<8.0" }, "require-dev": { "phpunit/phpunit": "^8.5 || ^9.3", - "psalm/plugin-phpunit": "^0.18", - "vimeo/psalm": "^5.9" + "psalm/plugin-phpunit": "^0.18.4", + "symplify/easy-coding-standard": "^11.5.0", + "vimeo/psalm": "^5.13.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.6.x-dev" - } - }, "autoload": { "files": [ "library/helpers.php", @@ -14573,12 +14569,20 @@ { "name": "Pádraic Brady", "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" + "homepage": "https://github.com/padraic", + "role": "Author" }, { "name": "Dave Marshall", "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" } ], "description": "Mockery is a simple yet flexible PHP mock object framework", @@ -14596,10 +14600,13 @@ "testing" ], "support": { + "docs": "https://docs.mockery.io/", "issues": "https://github.com/mockery/mockery/issues", - "source": "https://github.com/mockery/mockery/tree/1.6.2" + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" }, - "time": "2023-06-07T09:07:52+00:00" + "time": "2023-07-19T15:51:02+00:00" }, { "name": "myclabs/deep-copy", -- 2.39.5