diff --git a/.env.example b/.env.example
index c2d42f5..c08856c 100644
--- a/.env.example
+++ b/.env.example
@@ -40,3 +40,16 @@ LOCK_DSN=flock
###< symfony/lock ###
UPLOAD_FOLDER=uploads
+
+# Mollie settings
+MOLLIE_API_KEY=
+MOLLIE_PARTNER_ID=
+MOLLIE_PROFILE_ID=
+MOLLIE_REDIRECT_BASE_URL=
+
+# Resend.com API key (for two-factor authentication)
+RESEND_API_KEY=
+
+###> sentry/sentry-symfony ###
+SENTRY_DSN=
+###< sentry/sentry-symfony ###
diff --git a/.env.test b/.env.test
index 9f350de..29d1478 100644
--- a/.env.test
+++ b/.env.test
@@ -1,6 +1,6 @@
# define your env variables for the test env here
APP_VERSION=0.0.1
-APP_ENV=test
+APP_ENV=dev
KERNEL_CLASS='App\Kernel'
APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
diff --git a/.github/workflows/php_build_and_qa_test.yml b/.github/workflows/php_build_and_qa_test.yml
new file mode 100644
index 0000000..2cecac4
--- /dev/null
+++ b/.github/workflows/php_build_and_qa_test.yml
@@ -0,0 +1,99 @@
+name: PHP Build QA and Test
+
+on:
+ push:
+ branches: [ "master", "development" ]
+ pull_request:
+ branches: [ "master" ]
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: shivammathur/setup-php@2cb9b829437ee246e9b3cac53555a39208ca6d28
+ with:
+ php-version: '8.2'
+
+ - uses: actions/checkout@v3
+
+ - name: Copy .env.test.local
+ run: php -r "file_exists('.env.test.local') || copy('.env.test', '.env.test.local');"
+
+ - name: Copy .env
+ run: php -r "file_exists('.env') || copy('.env.test', '.env');"
+
+ ## —— Composer ———————————————————————————————————————————————————————————
+
+ - name: Validate composer.json and composer.lock
+ run: composer validate --strict
+
+ - name: Cache Composer packages
+ id: composer-cache
+ uses: actions/cache@v3
+ with:
+ path: vendor
+ key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-php-
+
+ - name: Install dependencies
+ run: composer install --prefer-dist --no-progress
+
+ ## —— Database & cache ——————————————————————————————————————————————————
+
+ - name: Create Database
+ run: |
+ touch var/data.db
+
+ - name: Create cache directory
+ run: |
+ chmod 777 ./bin/console
+ mkdir -p var/cache
+ chmod 777 var/cache
+ ./bin/console cache:clear
+
+ ## —— PHP QA ———————————————————————————————————————————————————————————
+
+ - name: QA CS
+ run: ./vendor/bin/php-cs-fixer check
+
+ - name: QA STAN
+ run: ./vendor/bin/phpstan analyse -c phpstan.neon application
+
+ - name: QA Lint Container
+ run: ./bin/console lint:container
+
+ - name: QA Lint Twig
+ run: ./bin/console lint:twig
+
+ - name: QA PSALM
+ run: ./vendor/bin/psalm
+
+ ## —— Yarn ————————————————————————————————————————————————————————————
+
+ - name: Nodejs install
+ uses: actions/setup-node@v2
+ with:
+ node-version: '21'
+
+ - run: yarn install
+
+ - name: Yarn build
+ run: yarn run encore production
+
+ ## —— Frontend MemberModule ——————————————————————————————————————————
+
+ - name: Build Member Module Application
+ run: |
+ cd frontends/member_module/
+ npm install
+ npm run build-only
+
+## —— Testing ————————————————————————————————————————————————————————————
+# - name: Execute tests (Unit & Integration Tests) via PestPHP
+# run: ./vendor/bin/pest
diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php
index 3788194..cd059ef 100644
--- a/.php-cs-fixer.dist.php
+++ b/.php-cs-fixer.dist.php
@@ -3,6 +3,21 @@
$finder = (new PhpCsFixer\Finder())
->in(__DIR__)
->exclude('var')
+ ->exclude('vendor')
+ ->exclude('node_modules')
+ ->exclude('public')
+ ->exclude('uploads')
+ ->exclude('frontends')
+ ->exclude('migrations')
+ ->exclude('docker')
+ ->exclude('config')
+ ->exclude('assets')
+ ->exclude('.git')
+ ->exclude('.github')
+ ->exclude('_temp')
+ ->exclude('cypress')
+ ->exclude('translations')
+ ->exclude('bin')
;
return (new PhpCsFixer\Config())
diff --git a/LICENSE b/LICENSE
index 2d0df68..21e765c 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2023 Yoshi-Kan by Koen Caerels
+Copyright (c) 2023-2024 Yoshi-Kan by Koen Caerels
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/application/YoshiKan/Application/Command/Common/EmailValidator.php b/application/YoshiKan/Application/Command/Common/EmailValidator.php
new file mode 100644
index 0000000..8d0c0c2
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Common/EmailValidator.php
@@ -0,0 +1,35 @@
+validate($email, [
+ new Email([
+ 'message' => 'The email address is not valid.',
+ ]),
+ ]);
+
+ return 0 === count($errors);
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Common/SubscriptionItemsFactory.php b/application/YoshiKan/Application/Command/Common/SubscriptionItemsFactory.php
index aa93e8e..c274208 100644
--- a/application/YoshiKan/Application/Command/Common/SubscriptionItemsFactory.php
+++ b/application/YoshiKan/Application/Command/Common/SubscriptionItemsFactory.php
@@ -1,5 +1,16 @@
setLoadSheetsOnly(['Gegevens']);
+ $spreadsheet = $reader->load($this->srcFile);
+
+ $worksheet = $spreadsheet->getActiveSheet();
+ $highestRow = $worksheet->getHighestRow();
+ $highestColumn = $worksheet->getHighestColumn();
+ $highestColumnIndex = Coordinate::columnIndexFromString($highestColumn);
+
+ for ($row = 2; $row <= $highestRow; ++$row) {
+ $isNewMember = false;
+
+ $dto = new \stdClass();
+ $dto->firstName = (string) $worksheet->getCellByColumnAndRow(2, $row)->getValue();
+ $dto->lastName = mb_strtoupper($worksheet->getCellByColumnAndRow(1, $row)->getValue());
+ $dto->dateOfBirth = Date::excelToDateTimeObject($worksheet->getCellByColumnAndRow(4, $row)->getValue())->format(\DateTimeInterface::ATOM);
+ $dto->nationalNumber = (string) $worksheet->getCellByColumnAndRow(5, $row)->getValue();
+ $dto->street = (string) $worksheet->getCellByColumnAndRow(3, $row)->getValue();
+ $dto->city = $worksheet->getCellByColumnAndRow(6, $row)->getValue();
+ $dto->postalCode = (string) $worksheet->getCellByColumnAndRow(7, $row)->getValue();
+ $dto->contactPhone = (string) $worksheet->getCellByColumnAndRow(8, $row)->getValue();
+ $dto->contactEmail = (string) $worksheet->getCellByColumnAndRow(9, $row)->getValue();
+ $dto->gender = Gender::X;
+ $dto->location = $this->locationRepository->getById(LocationMapping::getLocationId($worksheet->getCellByColumnAndRow(26, $row)->getValue()));
+ $dto->grade = $this->gradeRepository->getById(GradeMapping::getGradeId($worksheet->getCellByColumnAndRow(25, $row)->getValue()));
+ $dto->sporta = (bool) $worksheet->getCellByColumnAndRow(23, $row)->getValue();
+ $dto->jv = (bool) $worksheet->getCellByColumnAndRow(24, $row)->getValue();
+ if ($dto->sporta) {
+ $dto->federation = $this->federationRepository->getById(2);
+ } else {
+ $dto->federation = $this->federationRepository->getById(1);
+ }
+
+ $dto->memberShipStartMM = (int) $worksheet->getCellByColumnAndRow(10, $row)->getValue();
+ $dto->memberShipStartYY = (int) $worksheet->getCellByColumnAndRow(11, $row)->getValue();
+ $dto->memberShipEndMM = (int) $worksheet->getCellByColumnAndRow(12, $row)->getValue();
+ $dto->memberShipEndYY = (int) $worksheet->getCellByColumnAndRow(13, $row)->getValue();
+ $dto->memberShipAmount = (float) $worksheet->getCellByColumnAndRow(14, $row)->getValue();
+ $dto->memberShipIsPayed = (bool) $worksheet->getCellByColumnAndRow(15, $row)->getValue();
+
+ $dto->memberShipStart = new \DateTimeImmutable(sprintf('%s-%s-01', $dto->memberShipStartYY, $dto->memberShipStartMM));
+ $dto->memberShipEnd = new \DateTimeImmutable(sprintf('%s-%s-01', $dto->memberShipEndYY, $dto->memberShipEndMM));
+
+ $dto->licenseStartMM = (int) $worksheet->getCellByColumnAndRow(16, $row)->getValue();
+ $dto->licenseStartYY = (int) $worksheet->getCellByColumnAndRow(17, $row)->getValue();
+ $dto->licenseEndMM = (int) $worksheet->getCellByColumnAndRow(18, $row)->getValue();
+ $dto->licenseEndYY = (int) $worksheet->getCellByColumnAndRow(19, $row)->getValue();
+ $dto->licenseAmount = (float) $worksheet->getCellByColumnAndRow(20, $row)->getValue();
+ $dto->licenseIsPayed = (bool) $worksheet->getCellByColumnAndRow(21, $row)->getValue();
+ $dto->licenseShipStart = new \DateTimeImmutable(sprintf('%s-%s-01', $dto->licenseStartYY, $dto->licenseStartMM));
+ $dto->licenseShipEnd = new \DateTimeImmutable(sprintf('%s-%s-01', $dto->licenseEndYY, $dto->licenseEndMM));
+
+ // -- determine subscription type -----------------------------------
+
+ $subscriptionType = SubscriptionType::RENEWAL_FULL;
+ $dto->newMemberShipAmount = $dto->memberShipAmount;
+ $dto->newLicenseAmount = $dto->licenseAmount;
+ $dto->licenseIsPartSubscription = true;
+ $dto->memberSubscriptionIsPartSubscription = true;
+
+ if ($dto->memberShipIsPayed && !$dto->licenseIsPayed) {
+ $dto->newMemberShipAmount = 0;
+ $subscriptionType = SubscriptionType::RENEWAL_LICENSE;
+ $dto->memberSubscriptionIsPartSubscription = false;
+ }
+ if (!$dto->memberShipIsPayed && $dto->licenseIsPayed) {
+ $dto->newLicenseAmount = 0;
+ $subscriptionType = SubscriptionType::RENEWAL_MEMBERSHIP;
+ $dto->licenseIsPartSubscription = false;
+ }
+
+ // -- determine number of training sessions ------------------------
+
+ $interval = $dto->memberShipEnd->diff($dto->memberShipStart);
+ if ($interval->days > 360) {
+ $dto->memberSubscriptionIsHalfYear = false;
+ } else {
+ $dto->memberSubscriptionIsHalfYear = true;
+ }
+ if ($dto->memberShipAmount >= 275) {
+ $dto->numberOfTrainingSessions = 3;
+ } elseif ($dto->memberShipAmount >= 140) {
+ $dto->numberOfTrainingSessions = 2;
+ } else {
+ $dto->numberOfTrainingSessions = 1;
+ }
+
+ echo ' '.$dto->firstName.' '.$dto->lastName;
+
+ // -- search for existing member -----------------------------------
+
+ $member = $this->memberRepository->findByNameAndDateOfBirth($dto->firstName, $dto->lastName, new \DateTimeImmutable($dto->dateOfBirth));
+ if (true === is_null($member)) {
+ $isNewMember = true;
+ $member = Member::make(
+ uuid: $this->memberRepository->nextIdentity(),
+ firstname: ucfirst(mb_strtolower($dto->firstName)),
+ lastname: mb_strtoupper($dto->lastName),
+ dateOfBirth: new \DateTimeImmutable($dto->dateOfBirth),
+ gender: $dto->gender,
+ grade: $dto->grade,
+ location: $dto->location,
+ federation: $dto->federation,
+ email: $dto->contactEmail,
+ nationalRegisterNumber: $dto->nationalNumber,
+ addressStreet: $dto->street,
+ addressNumber: '',
+ addressBox: '',
+ addressZip: $dto->postalCode,
+ addressCity: $dto->city,
+ numberOfTraining: $dto->numberOfTrainingSessions,
+ );
+ }
+
+ // -- sync member subscription details ----------------------------
+
+ $member->syncFromSubscription(
+ federation: $dto->federation,
+ numberOfTraining: $dto->numberOfTrainingSessions,
+ isHalfYearSubscription: $dto->memberSubscriptionIsHalfYear,
+ );
+
+ $member->changeGrade($dto->grade);
+ $member->setContactInformation(
+ contactFirstname: ucfirst(mb_strtolower($dto->firstName)),
+ contactLastname: mb_strtoupper($dto->lastName),
+ contactEmail: $dto->contactEmail,
+ contactPhone: $dto->contactPhone,
+ );
+ $member->setSubscriptionDates(
+ start: $dto->memberShipStart,
+ end: $dto->memberShipEnd,
+ isHalfYearSubscription: $dto->memberSubscriptionIsHalfYear
+ );
+ if ($dto->memberShipIsPayed) {
+ $member->markSubscriptionAsPayed();
+ }
+ $member->setLicenseDates(
+ start: $dto->licenseShipStart,
+ end: $dto->licenseShipEnd,
+ );
+ if ($dto->licenseIsPayed) {
+ $member->markLicenseAsPayed();
+ }
+ $member->activate();
+ $this->memberRepository->save($member);
+ $this->entityManager->flush();
+
+ echo '-> member created / saved ->'.$member->getUuidAsString();
+
+ $subscription = $this->subscriptionRepository->findByMemberAndDatesAndAmounts(
+ member: $member,
+ memberStartDate: $dto->memberShipStart,
+ memberEndDate: $dto->memberShipEnd,
+ licenseStartDate: $dto->licenseShipStart,
+ licenseEndDate: $dto->licenseShipEnd,
+ memberShipAmount: $dto->memberShipAmount,
+ licenseAmount: $dto->licenseAmount,
+ );
+
+ // -- create a subscription ----------------------------------------
+
+ $settings = $this->settingsRepository->findByCode(SettingsCode::ACTIVE->value);
+
+ if (true === is_null($subscription)) {
+ $subscription = Subscription::make(
+ uuid: $this->subscriptionRepository->nextIdentity(),
+ contactFirstname: ucfirst(mb_strtolower($dto->firstName)),
+ contactLastname: mb_strtoupper($dto->lastName),
+ contactEmail: $dto->contactEmail,
+ contactPhone: $dto->contactPhone,
+ firstname: ucfirst(mb_strtolower($dto->firstName)),
+ lastname: mb_strtoupper($dto->lastName),
+ dateOfBirth: new \DateTimeImmutable($dto->dateOfBirth),
+ gender: $dto->gender,
+ type: $subscriptionType,
+ numberOfTraining: $dto->numberOfTrainingSessions,
+ isExtraTraining: false,
+ isNewMember: $isNewMember,
+ isReductionFamily: false,
+ isJudogiBelt: false,
+ remarks: 'Active subscription',
+ location: $dto->location,
+ settings: json_decode(json_encode(SettingsReadModel::hydrateFromModel($settings)), true),
+ federation: $dto->federation,
+ memberSubscriptionStart: $dto->memberShipStart,
+ memberSubscriptionEnd: $dto->memberShipEnd,
+ memberSubscriptionTotal: $dto->newMemberShipAmount,
+ memberSubscriptionIsPartSubscription: $dto->memberSubscriptionIsPartSubscription,
+ memberSubscriptionIsHalfYear: $dto->memberSubscriptionIsHalfYear,
+ memberSubscriptionIsPayed: $dto->memberShipIsPayed,
+ licenseStart: $dto->licenseShipStart,
+ licenseEnd: $dto->licenseShipEnd,
+ licenseTotal: $dto->newLicenseAmount,
+ licenseIsPartSubscription: $dto->licenseIsPartSubscription,
+ licenseIsPayed: $dto->licenseIsPayed,
+ );
+ } else {
+ $subscription->fullChange(
+ contactFirstname: ucfirst(mb_strtolower($dto->firstName)),
+ contactLastname: mb_strtoupper($dto->lastName),
+ contactEmail: $dto->contactEmail,
+ contactPhone: $dto->contactPhone,
+ firstname: ucfirst(mb_strtolower($dto->firstName)),
+ lastname: mb_strtoupper($dto->lastName),
+ dateOfBirth: new \DateTimeImmutable($dto->dateOfBirth),
+ gender: $dto->gender,
+ type: $subscriptionType,
+ numberOfTraining: $dto->numberOfTrainingSessions,
+ isExtraTraining: (3 === $dto->numberOfTrainingSessions),
+ isNewMember: false,
+ isReductionFamily: false,
+ isJudogiBelt: false,
+ remarks: 'Active subscription on import',
+ location: $dto->location,
+ federation: $dto->federation,
+ memberSubscriptionStart: $dto->memberShipStart,
+ memberSubscriptionEnd: $dto->memberShipEnd,
+ memberSubscriptionTotal: $dto->newMemberShipAmount,
+ memberSubscriptionIsPartSubscription: $dto->memberSubscriptionIsPartSubscription,
+ memberSubscriptionIsHalfYear: $dto->memberSubscriptionIsHalfYear,
+ memberSubscriptionIsPayed: $dto->memberShipIsPayed,
+ licenseStart: $dto->licenseShipStart,
+ licenseEnd: $dto->licenseShipEnd,
+ licenseTotal: $dto->newLicenseAmount,
+ licenseIsPartSubscription: $dto->licenseIsPartSubscription,
+ licenseIsPayed: $dto->licenseIsPayed,
+ );
+ }
+
+ // make awaiting payment subscription
+ $subscription->setMember($member);
+ $subscription->setTotal($dto->newMemberShipAmount + $dto->newLicenseAmount);
+ $subscription->changeStatus(SubscriptionStatus::AWAITING_PAYMENT);
+ $subscription->updateSettings(json_decode(json_encode(SettingsReadModel::hydrateFromModel($settings)), true));
+ $this->subscriptionRepository->save($subscription);
+
+ if ($dto->memberShipIsPayed && $dto->licenseIsPayed) {
+ $subscription->changeStatus(SubscriptionStatus::PAYED);
+ }
+
+ // -- make some subscription lines -------------------------------------------------------------------------
+
+ $subscriptionItemFactory = new SubscriptionItemsFactory(
+ $this->subscriptionRepository,
+ $this->subscriptionItemRepository
+ );
+ $resultItems = $subscriptionItemFactory->saveItemsFromSubscription(
+ $subscription,
+ $dto->federation,
+ $settings,
+ );
+
+ $this->entityManager->flush();
+ echo '-> subscription saved / updated ->'.$subscription->getUuidAsString();
+ ob_flush();
+ flush();
+ }
+
+ echo ' Done';
+ exit;
+
+ return true;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Import/ImportSubscriptionArchive/ImportSubscriptionArchiveHandler.php b/application/YoshiKan/Application/Command/Import/ImportSubscriptionArchive/ImportSubscriptionArchiveHandler.php
new file mode 100644
index 0000000..669c006
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Import/ImportSubscriptionArchive/ImportSubscriptionArchiveHandler.php
@@ -0,0 +1,330 @@
+setLoadSheetsOnly(['Logging']);
+ $spreadsheet = $reader->load($this->srcFile);
+
+ $worksheet = $spreadsheet->getActiveSheet();
+ $highestRow = $worksheet->getHighestRow();
+
+ echo ' '.$highestRow;
+
+ $highestColumn = $worksheet->getHighestColumn();
+ $highestColumnIndex = Coordinate::columnIndexFromString($highestColumn);
+
+ // $highestRow = 20;
+ $startRow = 9000;
+
+ for ($row = $startRow; $row <= $highestRow; ++$row) {
+ $dto = new \stdClass();
+ $dto->firstName = (string) $worksheet->getCellByColumnAndRow(2, $row)->getValue();
+ $dto->lastName = mb_strtoupper((string) $worksheet->getCellByColumnAndRow(1, $row)->getValue());
+ $dto->dateOfBirth = Date::excelToDateTimeObject($worksheet->getCellByColumnAndRow(3, $row)->getValue())->format(\DateTimeInterface::ATOM);
+
+ $dto->street = (string) $worksheet->getCellByColumnAndRow(5, $row)->getValue();
+ $dto->city = (string) $worksheet->getCellByColumnAndRow(6, $row)->getValue();
+ $dto->postalCode = (string) $worksheet->getCellByColumnAndRow(7, $row)->getValue();
+ $dto->contactPhone = (string) $worksheet->getCellByColumnAndRow(8, $row)->getValue();
+ $dto->contactEmail = (string) $worksheet->getCellByColumnAndRow(9, $row)->getValue();
+ $dto->gender = Gender::X;
+ $dto->location = $this->locationRepository->getById(LocationMapping::getLocationId((string) $worksheet->getCellByColumnAndRow(26, $row)->getValue()));
+ $dto->grade = $this->gradeRepository->getById(GradeMapping::getGradeId((string) $worksheet->getCellByColumnAndRow(25, $row)->getValue()));
+ $dto->sporta = (bool) $worksheet->getCellByColumnAndRow(23, $row)->getValue();
+ $dto->jv = (bool) $worksheet->getCellByColumnAndRow(24, $row)->getValue();
+ if ($dto->sporta) {
+ $dto->federation = $this->federationRepository->getById(2);
+ } else {
+ $dto->federation = $this->federationRepository->getById(1);
+ }
+
+ $dto->memberShipStartMM = (int) $worksheet->getCellByColumnAndRow(10, $row)->getValue();
+ $dto->memberShipStartYY = (int) $worksheet->getCellByColumnAndRow(11, $row)->getValue();
+ $dto->memberShipEndMM = (int) $worksheet->getCellByColumnAndRow(12, $row)->getValue();
+ $dto->memberShipEndYY = (int) $worksheet->getCellByColumnAndRow(13, $row)->getValue();
+ $dto->memberShipAmount = (float) $worksheet->getCellByColumnAndRow(14, $row)->getValue();
+ $dto->memberShipIsPayed = (bool) $worksheet->getCellByColumnAndRow(15, $row)->getValue();
+
+ if (0 === $dto->memberShipStartMM) {
+ $dto->memberShipStart = new \DateTimeImmutable('2000-01-01');
+ $dto->memberShipEnd = new \DateTimeImmutable('2001-01-01');
+ } else {
+ try {
+ $dto->memberShipStart = new \DateTimeImmutable(sprintf('%s-%s-01', $dto->memberShipStartYY, $dto->memberShipStartMM));
+ $dto->memberShipEnd = new \DateTimeImmutable(sprintf('%s-%s-01', $dto->memberShipEndYY, $dto->memberShipEndMM));
+ } catch (\Exception $e) {
+ $dto->memberShipStart = new \DateTimeImmutable('2000-01-01');
+ $dto->memberShipEnd = new \DateTimeImmutable('2001-01-01');
+ }
+ }
+
+ $dto->licenseStartMM = (int) $worksheet->getCellByColumnAndRow(16, $row)->getValue();
+ $dto->licenseStartYY = (int) $worksheet->getCellByColumnAndRow(17, $row)->getValue();
+ $dto->licenseEndMM = (int) $worksheet->getCellByColumnAndRow(18, $row)->getValue();
+ $dto->licenseEndYY = (int) $worksheet->getCellByColumnAndRow(19, $row)->getValue();
+ $dto->licenseAmount = (float) $worksheet->getCellByColumnAndRow(20, $row)->getValue();
+ $dto->licenseIsPayed = (bool) $worksheet->getCellByColumnAndRow(21, $row)->getValue();
+
+ if (0 === $dto->licenseStartMM) {
+ $dto->licenseShipStart = new \DateTimeImmutable('2000-01-01');
+ $dto->licenseShipEnd = new \DateTimeImmutable('2001-01-01');
+ } else {
+ try {
+ $dto->licenseShipStart = new \DateTimeImmutable(sprintf('%s-%s-01', $dto->licenseStartYY, $dto->licenseStartMM));
+ $dto->licenseShipEnd = new \DateTimeImmutable(sprintf('%s-%s-01', $dto->licenseEndYY, $dto->licenseEndMM));
+ } catch (\Exception $e) {
+ $dto->licenseShipStart = new \DateTimeImmutable('2000-01-01');
+ $dto->licenseShipEnd = new \DateTimeImmutable('2001-01-01');
+ }
+ }
+
+ $interval = $dto->memberShipEnd->diff($dto->memberShipStart);
+ if ($interval->days > 360) {
+ $dto->memberSubscriptionIsHalfYear = false;
+ } else {
+ $dto->memberSubscriptionIsHalfYear = true;
+ }
+ if ($dto->memberShipAmount >= 275) {
+ $dto->numberOfTrainingSessions = 3;
+ } elseif ($dto->memberShipAmount >= 140) {
+ $dto->numberOfTrainingSessions = 2;
+ } else {
+ $dto->numberOfTrainingSessions = 1;
+ }
+
+ echo ' '.$dto->firstName.' '.$dto->lastName;
+ ob_flush();
+ flush();
+
+ $dateOfBirthCheck = new \DateTimeImmutable($dto->dateOfBirth);
+ if ('19700101' === $dateOfBirthCheck->format('Ymd')) {
+ echo '-> skipped';
+ continue;
+ }
+
+ $member = $this->memberRepository->findByNameAndDateOfBirth($dto->firstName, $dto->lastName, new \DateTimeImmutable($dto->dateOfBirth));
+ if (true === is_null($member)) {
+ $member = Member::make(
+ uuid: $this->memberRepository->nextIdentity(),
+ firstname: ucfirst(mb_strtolower($dto->firstName)),
+ lastname: mb_strtoupper($dto->lastName),
+ dateOfBirth: new \DateTimeImmutable($dto->dateOfBirth),
+ gender: $dto->gender,
+ grade: $dto->grade,
+ location: $dto->location,
+ federation: $dto->federation,
+ email: $dto->contactEmail,
+ nationalRegisterNumber: '',
+ addressStreet: $dto->street,
+ addressNumber: '',
+ addressBox: '',
+ addressZip: $dto->postalCode,
+ addressCity: $dto->city,
+ numberOfTraining: $dto->numberOfTrainingSessions,
+ );
+ } else {
+ $member->changeDetails(
+ firstname: ucfirst(mb_strtolower($dto->firstName)),
+ lastname: mb_strtoupper($dto->lastName),
+ gender: $dto->gender,
+ dateOfBirth: new \DateTimeImmutable($dto->dateOfBirth),
+ status: MemberStatus::ACTIVE,
+ location: $dto->location,
+ nationalRegisterNumber: '',
+ email: $dto->contactEmail,
+ addressStreet: $dto->street,
+ addressNumber: '',
+ addressBox: '',
+ addressZip: $dto->postalCode,
+ addressCity: $dto->city,
+ contactFirstname: ucfirst(mb_strtolower($dto->firstName)),
+ contactLastname: mb_strtoupper($dto->lastName),
+ contactEmail: $dto->contactEmail,
+ contactPhone: $dto->contactPhone,
+ );
+ }
+ // set some member properties
+
+ $member->changeGrade($dto->grade);
+ $member->setContactInformation(
+ contactFirstname: ucfirst(mb_strtolower($dto->firstName)),
+ contactLastname: mb_strtoupper($dto->lastName),
+ contactEmail: $dto->contactEmail,
+ contactPhone: $dto->contactPhone,
+ );
+ $member->setSubscriptionDates(
+ start: $dto->memberShipStart,
+ end: $dto->memberShipEnd,
+ isHalfYearSubscription: $dto->memberSubscriptionIsHalfYear
+ );
+ $member->markSubscriptionAsPayed();
+ $member->setLicenseDates(
+ start: $dto->licenseShipStart,
+ end: $dto->licenseShipEnd,
+ );
+ $member->markLicenseAsPayed();
+ $member->deactivate();
+ $this->memberRepository->save($member);
+ $this->entityManager->flush();
+
+ echo '-> member saved ->'.$member->getUuidAsString();
+ ob_flush();
+ flush();
+
+ $subscription = $this->subscriptionRepository->findByMemberAndDatesAndAmounts(
+ member: $member,
+ memberStartDate: $dto->memberShipStart,
+ memberEndDate: $dto->memberShipEnd,
+ licenseStartDate: $dto->licenseShipStart,
+ licenseEndDate: $dto->licenseShipEnd,
+ memberShipAmount: $dto->memberShipAmount,
+ licenseAmount: $dto->licenseAmount,
+ );
+ if (true === is_null($subscription)) {
+ $subscription = Subscription::make(
+ uuid: $this->subscriptionRepository->nextIdentity(),
+ contactFirstname: ucfirst(mb_strtolower($dto->firstName)),
+ contactLastname: mb_strtoupper($dto->lastName),
+ contactEmail: $dto->contactEmail,
+ contactPhone: $dto->contactPhone,
+ firstname: ucfirst(mb_strtolower($dto->firstName)),
+ lastname: mb_strtoupper($dto->lastName),
+ dateOfBirth: new \DateTimeImmutable($dto->dateOfBirth),
+ gender: $dto->gender,
+ type: SubscriptionType::RENEWAL_FULL,
+ numberOfTraining: $dto->numberOfTrainingSessions,
+ isExtraTraining: false,
+ isNewMember: false,
+ isReductionFamily: false,
+ isJudogiBelt: false,
+ remarks: 'archive import',
+ location: $dto->location,
+ settings: [],
+ federation: $dto->federation,
+ memberSubscriptionStart: $dto->memberShipStart,
+ memberSubscriptionEnd: $dto->memberShipEnd,
+ memberSubscriptionTotal: $dto->memberShipAmount,
+ memberSubscriptionIsPartSubscription: true,
+ memberSubscriptionIsHalfYear: $dto->memberSubscriptionIsHalfYear,
+ memberSubscriptionIsPayed: false,
+ licenseStart: $dto->licenseShipStart,
+ licenseEnd: $dto->licenseShipEnd,
+ licenseTotal: $dto->licenseAmount,
+ licenseIsPartSubscription: true,
+ licenseIsPayed: false,
+ );
+ }
+
+ // make archive subscription
+ $subscription->setMember($member);
+ $subscription->changeStatus(SubscriptionStatus::ARCHIVED);
+ $this->subscriptionRepository->save($subscription);
+ $this->entityManager->flush();
+ echo '-> subscription saved / updated ->'.$subscription->getUuidAsString();
+ ob_flush();
+ flush();
+ }
+
+ echo ' Done';
+ exit;
+
+ return true;
+ }
+
+ public function importGrades(): bool
+ {
+ $reader = new Xlsx();
+ $reader->setLoadSheetsOnly(['Logging']);
+ $spreadsheet = $reader->load($this->srcFile);
+ $worksheet = $spreadsheet->getActiveSheet();
+ $highestRow = $worksheet->getHighestRow();
+
+ echo ' '.$highestRow;
+
+ $highestColumn = $worksheet->getHighestColumn();
+ $highestColumnIndex = Coordinate::columnIndexFromString($highestColumn);
+
+ // $highestRow = 20;
+ $startRow = 2;
+
+ for ($row = $startRow; $row <= $highestRow; ++$row) {
+ $dto = new \stdClass();
+ $dto->firstName = (string) $worksheet->getCellByColumnAndRow(2, $row)->getValue();
+ $dto->lastName = mb_strtoupper((string) $worksheet->getCellByColumnAndRow(1, $row)->getValue());
+ $dto->dateOfBirth = Date::excelToDateTimeObject($worksheet->getCellByColumnAndRow(3, $row)->getValue())->format(\DateTimeInterface::ATOM);
+ $dto->grade = $this->gradeRepository->getById(GradeMapping::getGradeId((string) $worksheet->getCellByColumnAndRow(25, $row)->getValue()));
+
+ echo ' '.$dto->firstName.' '.$dto->lastName;
+ ob_flush();
+ flush();
+
+ $dateOfBirthCheck = new \DateTimeImmutable($dto->dateOfBirth);
+ if ('19700101' === $dateOfBirthCheck->format('Ymd')) {
+ echo '-> skipped';
+ continue;
+ }
+
+ $member = $this->memberRepository->findByNameAndDateOfBirth($dto->firstName, $dto->lastName, new \DateTimeImmutable($dto->dateOfBirth));
+ if (false === is_null($member)) {
+ if (1 !== $dto->grade->getId()) {
+ $member->changeGrade($dto->grade);
+ $this->memberRepository->save($member);
+ $this->entityManager->flush();
+ echo '-> GC -> '.$dto->grade->getName();
+ ob_flush();
+ flush();
+ }
+ }
+ }
+
+ echo ' Done';
+ exit;
+
+ return true;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Import/Mapping/GradeMapping.php b/application/YoshiKan/Application/Command/Import/Mapping/GradeMapping.php
new file mode 100644
index 0000000..c00cf66
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Import/Mapping/GradeMapping.php
@@ -0,0 +1,53 @@
+code),
diff --git a/application/YoshiKan/Application/Command/Member/AddFederation/add_federation.php b/application/YoshiKan/Application/Command/Member/AddFederation/AddFederationTrait.php
similarity index 93%
rename from application/YoshiKan/Application/Command/Member/AddFederation/add_federation.php
rename to application/YoshiKan/Application/Command/Member/AddFederation/AddFederationTrait.php
index ee83c74..f1cec22 100644
--- a/application/YoshiKan/Application/Command/Member/AddFederation/add_federation.php
+++ b/application/YoshiKan/Application/Command/Member/AddFederation/AddFederationTrait.php
@@ -9,9 +9,11 @@
* file that was distributed with this source code.
*/
+declare(strict_types=1);
+
namespace App\YoshiKan\Application\Command\Member\AddFederation;
-trait add_federation
+trait AddFederationTrait
{
public function addFederation(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/AddGrade/AddGrade.php b/application/YoshiKan/Application/Command/Member/AddGrade/AddGrade.php
index 47d01c1..99f41fb 100644
--- a/application/YoshiKan/Application/Command/Member/AddGrade/AddGrade.php
+++ b/application/YoshiKan/Application/Command/Member/AddGrade/AddGrade.php
@@ -28,7 +28,7 @@ private function __construct(
// —————————————————————————————————————————————————————————————————————————
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->code,
diff --git a/application/YoshiKan/Application/Command/Member/AddGrade/add_grade.php b/application/YoshiKan/Application/Command/Member/AddGrade/AddGradeTrait.php
similarity index 97%
rename from application/YoshiKan/Application/Command/Member/AddGrade/add_grade.php
rename to application/YoshiKan/Application/Command/Member/AddGrade/AddGradeTrait.php
index f8f8890..40436fb 100644
--- a/application/YoshiKan/Application/Command/Member/AddGrade/add_grade.php
+++ b/application/YoshiKan/Application/Command/Member/AddGrade/AddGradeTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\AddGrade;
-trait add_grade
+trait AddGradeTrait
{
public function addGrade(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/AddGroup/AddGroup.php b/application/YoshiKan/Application/Command/Member/AddGroup/AddGroup.php
index 96c5f8b..dc138b5 100644
--- a/application/YoshiKan/Application/Command/Member/AddGroup/AddGroup.php
+++ b/application/YoshiKan/Application/Command/Member/AddGroup/AddGroup.php
@@ -31,7 +31,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->code,
diff --git a/application/YoshiKan/Application/Command/Member/AddGroup/add_group.php b/application/YoshiKan/Application/Command/Member/AddGroup/AddGroupTrait.php
similarity index 97%
rename from application/YoshiKan/Application/Command/Member/AddGroup/add_group.php
rename to application/YoshiKan/Application/Command/Member/AddGroup/AddGroupTrait.php
index bfd22d7..8b33332 100644
--- a/application/YoshiKan/Application/Command/Member/AddGroup/add_group.php
+++ b/application/YoshiKan/Application/Command/Member/AddGroup/AddGroupTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\AddGroup;
-trait add_group
+trait AddGroupTrait
{
public function addGroup(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/AddLocation/AddLocation.php b/application/YoshiKan/Application/Command/Member/AddLocation/AddLocation.php
index fafeacf..7a3e22d 100644
--- a/application/YoshiKan/Application/Command/Member/AddLocation/AddLocation.php
+++ b/application/YoshiKan/Application/Command/Member/AddLocation/AddLocation.php
@@ -29,7 +29,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->code,
diff --git a/application/YoshiKan/Application/Command/Member/AddLocation/add_location.php b/application/YoshiKan/Application/Command/Member/AddLocation/AddLocationTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/AddLocation/add_location.php
rename to application/YoshiKan/Application/Command/Member/AddLocation/AddLocationTrait.php
index 77c8bd1..5931b21 100644
--- a/application/YoshiKan/Application/Command/Member/AddLocation/add_location.php
+++ b/application/YoshiKan/Application/Command/Member/AddLocation/AddLocationTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\AddLocation;
-trait add_location
+trait AddLocationTrait
{
public function addLocation(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/AddPeriod/AddPeriod.php b/application/YoshiKan/Application/Command/Member/AddPeriod/AddPeriod.php
index e97d525..9ece24b 100644
--- a/application/YoshiKan/Application/Command/Member/AddPeriod/AddPeriod.php
+++ b/application/YoshiKan/Application/Command/Member/AddPeriod/AddPeriod.php
@@ -31,7 +31,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->code,
diff --git a/application/YoshiKan/Application/Command/Member/AddPeriod/add_period.php b/application/YoshiKan/Application/Command/Member/AddPeriod/AddPeriodTrait.php
similarity index 97%
rename from application/YoshiKan/Application/Command/Member/AddPeriod/add_period.php
rename to application/YoshiKan/Application/Command/Member/AddPeriod/AddPeriodTrait.php
index a2e0b11..d68d9bd 100644
--- a/application/YoshiKan/Application/Command/Member/AddPeriod/add_period.php
+++ b/application/YoshiKan/Application/Command/Member/AddPeriod/AddPeriodTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\AddPeriod;
-trait add_period
+trait AddPeriodTrait
{
public function addPeriod(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/ChangeFederation/ChangeFederation.php b/application/YoshiKan/Application/Command/Member/ChangeFederation/ChangeFederation.php
index af5c3e7..490358c 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeFederation/ChangeFederation.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeFederation/ChangeFederation.php
@@ -30,7 +30,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->id,
diff --git a/application/YoshiKan/Application/Command/Member/ChangeFederation/change_federation.php b/application/YoshiKan/Application/Command/Member/ChangeFederation/ChangeFederationTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/ChangeFederation/change_federation.php
rename to application/YoshiKan/Application/Command/Member/ChangeFederation/ChangeFederationTrait.php
index 918cb26..58d8621 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeFederation/change_federation.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeFederation/ChangeFederationTrait.php
@@ -11,7 +11,7 @@
namespace App\YoshiKan\Application\Command\Member\ChangeFederation;
-trait change_federation
+trait ChangeFederationTrait
{
public function changeFederation(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/ChangeGrade/ChangeGrade.php b/application/YoshiKan/Application/Command/Member/ChangeGrade/ChangeGrade.php
index 4c94c1e..fc5f896 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeGrade/ChangeGrade.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeGrade/ChangeGrade.php
@@ -31,7 +31,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->id,
diff --git a/application/YoshiKan/Application/Command/Member/ChangeGrade/change_grade.php b/application/YoshiKan/Application/Command/Member/ChangeGrade/ChangeGradeTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/ChangeGrade/change_grade.php
rename to application/YoshiKan/Application/Command/Member/ChangeGrade/ChangeGradeTrait.php
index a2788fa..58e2b86 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeGrade/change_grade.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeGrade/ChangeGradeTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\ChangeGrade;
-trait change_grade
+trait ChangeGradeTrait
{
public function changeGrade(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/ChangeGroup/ChangeGroup.php b/application/YoshiKan/Application/Command/Member/ChangeGroup/ChangeGroup.php
index 0a0de37..818499b 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeGroup/ChangeGroup.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeGroup/ChangeGroup.php
@@ -32,7 +32,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->id,
diff --git a/application/YoshiKan/Application/Command/Member/ChangeGroup/change_group.php b/application/YoshiKan/Application/Command/Member/ChangeGroup/ChangeGroupTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/ChangeGroup/change_group.php
rename to application/YoshiKan/Application/Command/Member/ChangeGroup/ChangeGroupTrait.php
index 0d02a5b..cf92e0e 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeGroup/change_group.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeGroup/ChangeGroupTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\ChangeGroup;
-trait change_group
+trait ChangeGroupTrait
{
public function changeGroup(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/ChangeLocation/ChangeLocation.php b/application/YoshiKan/Application/Command/Member/ChangeLocation/ChangeLocation.php
index 9992305..7a66e9f 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeLocation/ChangeLocation.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeLocation/ChangeLocation.php
@@ -30,7 +30,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->id,
diff --git a/application/YoshiKan/Application/Command/Member/ChangeLocation/change_location.php b/application/YoshiKan/Application/Command/Member/ChangeLocation/ChangeLocationTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/ChangeLocation/change_location.php
rename to application/YoshiKan/Application/Command/Member/ChangeLocation/ChangeLocationTrait.php
index 3445612..56d15c2 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeLocation/change_location.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeLocation/ChangeLocationTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\ChangeLocation;
-trait change_location
+trait ChangeLocationTrait
{
public function changeLocation(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/ChangeMemberDetails/ChangeMemberDetails.php b/application/YoshiKan/Application/Command/Member/ChangeMemberDetails/ChangeMemberDetails.php
index b46e952..0f16890 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeMemberDetails/ChangeMemberDetails.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeMemberDetails/ChangeMemberDetails.php
@@ -45,7 +45,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->id,
diff --git a/application/YoshiKan/Application/Command/Member/ChangeMemberDetails/change_member_details.php b/application/YoshiKan/Application/Command/Member/ChangeMemberDetails/ChangeMemberDetailsTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/ChangeMemberDetails/change_member_details.php
rename to application/YoshiKan/Application/Command/Member/ChangeMemberDetails/ChangeMemberDetailsTrait.php
index d117fa9..7a60d97 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeMemberDetails/change_member_details.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeMemberDetails/ChangeMemberDetailsTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\ChangeMemberDetails;
-trait change_member_details
+trait ChangeMemberDetailsTrait
{
public function changeMemberDetails(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/ChangeMemberGrade/ChangeMemberGrade.php b/application/YoshiKan/Application/Command/Member/ChangeMemberGrade/ChangeMemberGrade.php
index e9a5144..b947361 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeMemberGrade/ChangeMemberGrade.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeMemberGrade/ChangeMemberGrade.php
@@ -30,7 +30,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->id,
diff --git a/application/YoshiKan/Application/Command/Member/ChangeMemberGrade/change_member_grade.php b/application/YoshiKan/Application/Command/Member/ChangeMemberGrade/ChangeMemberGradeTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/ChangeMemberGrade/change_member_grade.php
rename to application/YoshiKan/Application/Command/Member/ChangeMemberGrade/ChangeMemberGradeTrait.php
index 5f9a2b0..d2e921f 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeMemberGrade/change_member_grade.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeMemberGrade/ChangeMemberGradeTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\ChangeMemberGrade;
-trait change_member_grade
+trait ChangeMemberGradeTrait
{
public function changeMemberGrade(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/ChangeMemberRemarks.php b/application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/ChangeMemberRemarks.php
index ce3159f..e0df705 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/ChangeMemberRemarks.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/ChangeMemberRemarks.php
@@ -29,7 +29,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->id,
diff --git a/application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/change_member_remarks.php b/application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/ChangeMemberRemarksTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/change_member_remarks.php
rename to application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/ChangeMemberRemarksTrait.php
index d4e2f07..7d804a9 100644
--- a/application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/change_member_remarks.php
+++ b/application/YoshiKan/Application/Command/Member/ChangeMemberRemarks/ChangeMemberRemarksTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\ChangeMemberRemarks;
-trait change_member_remarks
+trait ChangeMemberRemarksTrait
{
public function changeMemberRemarks(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/ChangePeriod/ChangePeriod.php b/application/YoshiKan/Application/Command/Member/ChangePeriod/ChangePeriod.php
index 8fae455..49f93e2 100644
--- a/application/YoshiKan/Application/Command/Member/ChangePeriod/ChangePeriod.php
+++ b/application/YoshiKan/Application/Command/Member/ChangePeriod/ChangePeriod.php
@@ -33,7 +33,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->id,
diff --git a/application/YoshiKan/Application/Command/Member/ChangePeriod/change_period.php b/application/YoshiKan/Application/Command/Member/ChangePeriod/ChangePeriodTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/ChangePeriod/change_period.php
rename to application/YoshiKan/Application/Command/Member/ChangePeriod/ChangePeriodTrait.php
index c81b1f2..88666a4 100644
--- a/application/YoshiKan/Application/Command/Member/ChangePeriod/change_period.php
+++ b/application/YoshiKan/Application/Command/Member/ChangePeriod/ChangePeriodTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\ChangePeriod;
-trait change_period
+trait ChangePeriodTrait
{
public function changePeriod(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/ConfirmMemberWebSubscription/ConfirmMemberWebSubscription.php b/application/YoshiKan/Application/Command/Member/ConfirmMemberWebSubscription/ConfirmMemberWebSubscription.php
new file mode 100644
index 0000000..92c49dd
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/ConfirmMemberWebSubscription/ConfirmMemberWebSubscription.php
@@ -0,0 +1,338 @@
+subscriptionId),
+ intval($json->memberId),
+ trim($json->type),
+ intval($json->federationId),
+ intval($json->locationId),
+ trim($json->contactFirstname),
+ trim($json->contactLastname),
+ trim($json->contactEmail),
+ trim($json->contactPhone),
+ trim($json->addressStreet),
+ trim($json->addressNumber),
+ trim($json->addressBox),
+ trim($json->addressZip),
+ trim($json->addressCity),
+ trim($json->firstname),
+ trim($json->lastname),
+ trim($json->email),
+ trim($json->nationalRegisterNumber),
+ new \DateTimeImmutable($json->dateOfBirth),
+ trim($json->gender),
+ new \DateTimeImmutable($json->memberSubscriptionStart),
+ trim($json->memberSubscriptionStartMM),
+ trim($json->memberSubscriptionStartYY),
+ new \DateTimeImmutable($json->memberSubscriptionEnd),
+ floatval($json->memberSubscriptionTotal),
+ boolval($json->memberSubscriptionIsPartSubscription),
+ boolval($json->memberSubscriptionIsHalfYear),
+ boolval($json->memberSubscriptionIsPayed),
+ new \DateTimeImmutable($json->licenseStart),
+ trim($json->licenseStartMM),
+ trim($json->licenseStartYY),
+ new \DateTimeImmutable($json->licenseEnd),
+ floatval($json->licenseTotal),
+ boolval($json->licenseIsPartSubscription),
+ boolval($json->licenseIsPayed),
+ intval($json->numberOfTraining),
+ boolval($json->isExtraTraining),
+ boolval($json->isReductionFamily),
+ floatval($json->total),
+ trim($json->remarks),
+ boolval($json->isJudogiBelt),
+ );
+ }
+
+ // —————————————————————————————————————————————————————————————————————————
+ // Getters
+ // —————————————————————————————————————————————————————————————————————————
+
+ public function getType(): string
+ {
+ return $this->type;
+ }
+
+ public function getFederationId(): int
+ {
+ return $this->federationId;
+ }
+
+ public function getLocationId(): int
+ {
+ return $this->locationId;
+ }
+
+ public function getContactFirstname(): string
+ {
+ return $this->contactFirstname;
+ }
+
+ public function getContactLastname(): string
+ {
+ return $this->contactLastname;
+ }
+
+ public function getContactEmail(): string
+ {
+ return $this->contactEmail;
+ }
+
+ public function getContactPhone(): string
+ {
+ return $this->contactPhone;
+ }
+
+ public function getAddressStreet(): string
+ {
+ return $this->addressStreet;
+ }
+
+ public function getAddressNumber(): string
+ {
+ return $this->addressNumber;
+ }
+
+ public function getAddressBox(): string
+ {
+ return $this->addressBox;
+ }
+
+ public function getAddressZip(): string
+ {
+ return $this->addressZip;
+ }
+
+ public function getAddressCity(): string
+ {
+ return $this->addressCity;
+ }
+
+ public function getFirstname(): string
+ {
+ return $this->firstname;
+ }
+
+ public function getLastname(): string
+ {
+ return $this->lastname;
+ }
+
+ public function getEmail(): string
+ {
+ return $this->email;
+ }
+
+ public function getNationalRegisterNumber(): string
+ {
+ return $this->nationalRegisterNumber;
+ }
+
+ public function getDateOfBirth(): \DateTimeImmutable
+ {
+ return $this->dateOfBirth;
+ }
+
+ public function getGender(): string
+ {
+ return $this->gender;
+ }
+
+ public function getMemberSubscriptionStart(): \DateTimeImmutable
+ {
+ return $this->memberSubscriptionStart;
+ }
+
+ public function getMemberSubscriptionStartMM(): string
+ {
+ return $this->memberSubscriptionStartMM;
+ }
+
+ public function getMemberSubscriptionStartYY(): string
+ {
+ return $this->memberSubscriptionStartYY;
+ }
+
+ public function getMemberSubscriptionEnd(): \DateTimeImmutable
+ {
+ return $this->memberSubscriptionEnd;
+ }
+
+ public function getMemberSubscriptionTotal(): float
+ {
+ return $this->memberSubscriptionTotal;
+ }
+
+ public function getLicenseStart(): \DateTimeImmutable
+ {
+ return $this->licenseStart;
+ }
+
+ public function getLicenseStartMM(): string
+ {
+ return $this->licenseStartMM;
+ }
+
+ public function getLicenseStartYY(): string
+ {
+ return $this->licenseStartYY;
+ }
+
+ public function getLicenseEnd(): \DateTimeImmutable
+ {
+ return $this->licenseEnd;
+ }
+
+ public function getLicenseTotal(): float
+ {
+ return $this->licenseTotal;
+ }
+
+ public function isLicenseIsPartSubscription(): bool
+ {
+ return $this->licenseIsPartSubscription;
+ }
+
+ public function isLicenseIsPayed(): bool
+ {
+ return $this->licenseIsPayed;
+ }
+
+ public function getNumberOfTraining(): int
+ {
+ return $this->numberOfTraining;
+ }
+
+ public function isExtraTraining(): bool
+ {
+ return $this->isExtraTraining;
+ }
+
+ public function isReductionFamily(): bool
+ {
+ return $this->isReductionFamily;
+ }
+
+ public function getTotal(): float
+ {
+ return $this->total;
+ }
+
+ public function getRemarks(): string
+ {
+ return $this->remarks;
+ }
+
+ public function isJudogiBelt(): bool
+ {
+ return $this->isJudogiBelt;
+ }
+
+ public function isMemberSubscriptionIsPartSubscription(): bool
+ {
+ return $this->memberSubscriptionIsPartSubscription;
+ }
+
+ public function isMemberSubscriptionIsHalfYear(): bool
+ {
+ return $this->memberSubscriptionIsHalfYear;
+ }
+
+ public function isMemberSubscriptionIsPayed(): bool
+ {
+ return $this->memberSubscriptionIsPayed;
+ }
+
+ public function getSubscriptionId(): int
+ {
+ return $this->subscriptionId;
+ }
+
+ public function getMemberId(): int
+ {
+ return $this->memberId;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/ConfirmMemberWebSubscription/ConfirmMemberWebSubscriptionHandler.php b/application/YoshiKan/Application/Command/Member/ConfirmMemberWebSubscription/ConfirmMemberWebSubscriptionHandler.php
new file mode 100644
index 0000000..4c71ec1
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/ConfirmMemberWebSubscription/ConfirmMemberWebSubscriptionHandler.php
@@ -0,0 +1,192 @@
+federationRepository->getById($command->getFederationId());
+ $location = $this->locationRepository->getById($command->getLocationId());
+ $settings = $this->settingsRepository->findByCode(SettingsCode::ACTIVE->value);
+ $subscription = $this->subscriptionRepository->getById($command->getSubscriptionId());
+
+ // -- validate the command ----------------------------------------
+ $commandIsValid = $this->isCommandValid($command, $settings);
+ if (!$commandIsValid) {
+ throw new \Exception('Membership extension command is not valid.');
+ }
+
+ // -- update the subscription ------------------------------------
+
+ if (0 === $command->getMemberId()) {
+ $isNewMember = true;
+ } else {
+ $isNewMember = false;
+ }
+
+ $subscription->fullChange(
+ contactFirstname: $command->getContactFirstname(),
+ contactLastname: $command->getContactLastname(),
+ contactEmail: $command->getContactEmail(),
+ contactPhone: $command->getContactPhone(),
+ firstname: $command->getFirstname(),
+ lastname: $command->getLastname(),
+ dateOfBirth: $command->getDateOfBirth(),
+ gender: Gender::from($command->getGender()),
+ type: SubscriptionType::from($command->getType()),
+ numberOfTraining: $command->getNumberOfTraining(),
+ isExtraTraining: $command->isExtraTraining(),
+ isNewMember: $isNewMember,
+ isReductionFamily: $command->isReductionFamily(),
+ isJudogiBelt: $command->isJudogiBelt(),
+ remarks: $command->getRemarks(),
+ location: $location,
+ federation: $federation,
+ memberSubscriptionStart: $command->getMemberSubscriptionStart(),
+ memberSubscriptionEnd: $command->getMemberSubscriptionEnd(),
+ memberSubscriptionTotal: $command->getMemberSubscriptionTotal(),
+ memberSubscriptionIsPartSubscription: $command->isMemberSubscriptionIsPartSubscription(),
+ memberSubscriptionIsHalfYear: $command->isMemberSubscriptionIsHalfYear(),
+ memberSubscriptionIsPayed: $command->isMemberSubscriptionIsPayed(),
+ licenseStart: $command->getLicenseStart(),
+ licenseEnd: $command->getLicenseEnd(),
+ licenseTotal: $command->getLicenseTotal(),
+ licenseIsPartSubscription: $command->isLicenseIsPartSubscription(),
+ licenseIsPayed: $command->isLicenseIsPayed(),
+ );
+ $subscription->setNewMemberFields(
+ nationalRegisterNumber: $command->getNationalRegisterNumber(),
+ addressStreet: $command->getAddressStreet(),
+ addressNumber: $command->getAddressNumber(),
+ addressBox: $command->getAddressBox(),
+ addressZip: $command->getAddressZip(),
+ addressCity: $command->getAddressCity(),
+ );
+
+ $this->subscriptionRepository->save($subscription);
+ $this->entityManager->flush();
+
+ if ($isNewMember) {
+ // -- create a member from a subscription ---------------------
+ $createMemberCommand = new CreateMemberFromSubscription(
+ id: $subscription->getId(),
+ memberEmail: $command->getEmail()
+ );
+ $createMemberCommandHandler = new CreateMemberFromSubscriptionHandler(
+ $this->subscriptionRepository,
+ $this->memberRepository,
+ $this->gradeRepository
+ );
+ $createMemberCommandHandler->go($createMemberCommand);
+ } else {
+ // -- update the member fields --------------------------------
+ $member = $this->memberRepository->getById($command->getMemberId());
+
+ // -- set contact info
+ $member->setContactInformation(
+ contactFirstname: $subscription->getContactFirstname(),
+ contactLastname: $subscription->getContactLastname(),
+ contactEmail: $subscription->getContactEmail(),
+ contactPhone: $subscription->getContactPhone()
+ );
+ // -- set subscription dates
+ $member->setSubscriptionDates(
+ start: $subscription->getMemberSubscriptionStart(),
+ end: $subscription->getMemberSubscriptionEnd(),
+ isHalfYearSubscription: $subscription->isMemberSubscriptionIsHalfYear()
+ );
+ // -- set license dates
+ $member->setLicenseDates(
+ start: $subscription->getLicenseStart(),
+ end: $subscription->getLicenseEnd()
+ );
+
+ // -- save and connect the member
+ $this->memberRepository->save($member);
+ $subscription->setMember($member);
+ $this->subscriptionRepository->save($subscription);
+ }
+
+ // -- make some subscription lines ---------------------------------
+ $subscriptionItemFactory = new SubscriptionItemsFactory(
+ $this->subscriptionRepository,
+ $this->subscriptionItemRepository
+ );
+ $resultItems = $subscriptionItemFactory->saveItemsFromSubscription(
+ $subscription,
+ $federation,
+ $settings
+ );
+
+ // -- set correct status for the subscription ----------------------
+ $this->entityManager->flush();
+ $subscription->changeStatus(SubscriptionStatus::AWAITING_PAYMENT);
+ $this->subscriptionRepository->save($subscription);
+ $this->entityManager->flush();
+
+ // -- compile a result class for giving feedback --------------------
+ $result = new \stdClass();
+ $result->id = $subscription->getId();
+ $result->reference = 'YKS-'.$subscription->getId().': '.$command->getFirstName().' '.$command->getLastName();
+
+ return $result;
+ }
+
+ private function isCommandValid(ConfirmMemberWebSubscription $command, Settings $settings): bool
+ {
+ // todo
+
+ return true;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/ConfirmMemberWebSubscription/ConfirmMemberWebSubscriptionTrait.php b/application/YoshiKan/Application/Command/Member/ConfirmMemberWebSubscription/ConfirmMemberWebSubscriptionTrait.php
new file mode 100644
index 0000000..a57adee
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/ConfirmMemberWebSubscription/ConfirmMemberWebSubscriptionTrait.php
@@ -0,0 +1,43 @@
+permission->CheckRole(['ROLE_DEVELOPER', 'ROLE_ADMIN', 'ROLE_CHIEF_EDITOR']);
+
+ $handler = new ConfirmMemberWebSubscriptionHandler(
+ $this->federationRepository,
+ $this->locationRepository,
+ $this->settingsRepository,
+ $this->memberRepository,
+ $this->gradeRepository,
+ $this->subscriptionRepository,
+ $this->subscriptionItemRepository,
+ $this->entityManager,
+ );
+
+ $result = $handler->go($command);
+ $this->entityManager->flush();
+
+ return $result;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/CreateMemberFromSubscription/create_member_from_subscription.php b/application/YoshiKan/Application/Command/Member/CreateMemberFromSubscription/CreateMemberFromSubscriptionTrait.php
similarity index 95%
rename from application/YoshiKan/Application/Command/Member/CreateMemberFromSubscription/create_member_from_subscription.php
rename to application/YoshiKan/Application/Command/Member/CreateMemberFromSubscription/CreateMemberFromSubscriptionTrait.php
index 398d86e..eca82ec 100644
--- a/application/YoshiKan/Application/Command/Member/CreateMemberFromSubscription/create_member_from_subscription.php
+++ b/application/YoshiKan/Application/Command/Member/CreateMemberFromSubscription/CreateMemberFromSubscriptionTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\CreateMemberFromSubscription;
-trait create_member_from_subscription
+trait CreateMemberFromSubscriptionTrait
{
public function createMemberFromSubscription(int $id): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/CreateMolliePaymentLink/CreateMolliePaymentLink.php b/application/YoshiKan/Application/Command/Member/CreateMolliePaymentLink/CreateMolliePaymentLink.php
new file mode 100644
index 0000000..4595e48
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/CreateMolliePaymentLink/CreateMolliePaymentLink.php
@@ -0,0 +1,47 @@
+subscriptionId;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/CreateMolliePaymentLink/CreateMolliePaymentLinkHandler.php b/application/YoshiKan/Application/Command/Member/CreateMolliePaymentLink/CreateMolliePaymentLinkHandler.php
new file mode 100644
index 0000000..57a83ef
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/CreateMolliePaymentLink/CreateMolliePaymentLinkHandler.php
@@ -0,0 +1,94 @@
+subscriptionRepository->getById($command->getSubscriptionId());
+
+ // -- link already created
+ if (!(0 === mb_strlen($subscription->getPaymentId()))) {
+ return false;
+ }
+
+ $paymentId = hash('SHA256', $subscription->getUuidAsString().'*'.$_SERVER['APP_SECRET']);
+ $redirectUrl = $this->mollieConfig->getRedirectBaseUrl().'lidgeld/betaling/'.$paymentId;
+ $webhookUrl = $this->mollieConfig->getRedirectBaseUrl().'lidgeld/betaling/'.$paymentId.'/webhook';
+
+ // -- compile description for payment link -----------------------------
+ $description = 'YKS-'.$subscription->getId().': ';
+ $hasLicense = false;
+ $hasMembership = false;
+
+ foreach ($subscription->getItems() as $item) {
+ if (SubscriptionItemType::LICENSE === $item->getType()) {
+ $hasLicense = true;
+ }
+ if (SubscriptionItemType::MEMBERSHIP === $item->getType()) {
+ $hasMembership = true;
+ }
+ }
+
+ // -- create payment link -----------------------------------------------
+
+ if ($hasLicense && $hasMembership) {
+ $description .= 'Lidgeld (tot '.$subscription->getMemberSubscriptionEnd()->format('m/Y')
+ .') en vergunning (tot '.$subscription->getLicenseEnd()->format('m/Y').') ';
+ } elseif ($hasLicense) {
+ $description .= 'Vergunning (tot '.$subscription->getMemberSubscriptionEnd()->format('m/Y').') ';
+ } elseif ($hasMembership) {
+ $description .= 'Lidgeld (tot '.$subscription->getLicenseEnd()->format('m/Y').') ';
+ } else {
+ $description .= 'Lidgeld ';
+ }
+ $description .= 'voor '.mb_strtoupper($subscription->getLastname()).' '.$subscription->getFirstname();
+
+ $formattedAmount = number_format($subscription->getTotal(), 2, '.', '');
+
+ if (0 !== strlen($this->mollieConfig->getApiKey())) {
+ $mollie = new \Mollie\Api\MollieApiClient();
+ $mollie->setApiKey($this->mollieConfig->getApiKey());
+ $paymentLink = $mollie->paymentLinks->create([
+ 'amount' => [
+ 'currency' => 'EUR',
+ 'value' => $formattedAmount,
+ ],
+ 'description' => $description,
+ 'redirectUrl' => $redirectUrl,
+ 'webhookUrl' => $webhookUrl,
+ ]);
+ $subscription->setMolliePaymentInfo(
+ paymentId: $paymentId,
+ paymentLink: $paymentLink->getCheckoutUrl(),
+ paymentLinkId: $paymentLink->id,
+ );
+ }
+
+ $this->subscriptionRepository->save($subscription);
+
+ return true;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/CreateMolliePaymentLink/CreateMolliePaymentLinkTrait.php b/application/YoshiKan/Application/Command/Member/CreateMolliePaymentLink/CreateMolliePaymentLinkTrait.php
new file mode 100644
index 0000000..9c1c892
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/CreateMolliePaymentLink/CreateMolliePaymentLinkTrait.php
@@ -0,0 +1,33 @@
+permission->CheckRole(['ROLE_DEVELOPER', 'ROLE_ADMIN', 'ROLE_CHIEF_EDITOR']);
+
+ $command = CreateMolliePaymentLink::make($subscriptionId);
+ $handler = new CreateMolliePaymentLinkHandler(
+ $this->subscriptionRepository,
+ $this->mollieConfig,
+ );
+
+ $result = $handler->create($command);
+ $this->entityManager->flush();
+
+ return $result;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/DeleteMemberImage/DeleteMemberImage.php b/application/YoshiKan/Application/Command/Member/DeleteMemberImage/DeleteMemberImage.php
index 8ef89b2..dee2634 100644
--- a/application/YoshiKan/Application/Command/Member/DeleteMemberImage/DeleteMemberImage.php
+++ b/application/YoshiKan/Application/Command/Member/DeleteMemberImage/DeleteMemberImage.php
@@ -1,5 +1,16 @@
id,
@@ -37,4 +51,9 @@ public function getId(): int
{
return $this->id;
}
+
+ public function isCancelMember(): bool
+ {
+ return $this->cancelMember;
+ }
}
diff --git a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/MarkSubscriptionAsCanceledHandler.php b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/MarkSubscriptionAsCanceledHandler.php
index 0910515..ce2b805 100644
--- a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/MarkSubscriptionAsCanceledHandler.php
+++ b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/MarkSubscriptionAsCanceledHandler.php
@@ -1,7 +1,19 @@
changeStatus(SubscriptionStatus::CANCELED);
$this->subscriptionRepository->save($subscription);
$result = true;
+
+ $member = $subscription->getMember();
+ if (false === is_null($member) && $command->isCancelMember()) {
+ $member->deactivate();
+ $this->memberRepository->save($member);
+ }
}
return $result;
diff --git a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/mark_subscription_as_canceled.php b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/MarkSubscriptionAsCanceledTrait.php
similarity index 51%
rename from application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/mark_subscription_as_canceled.php
rename to application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/MarkSubscriptionAsCanceledTrait.php
index 426b98d..042358a 100644
--- a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/mark_subscription_as_canceled.php
+++ b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsCanceled/MarkSubscriptionAsCanceledTrait.php
@@ -1,8 +1,19 @@
permission->CheckRole(['ROLE_DEVELOPER', 'ROLE_ADMIN', 'ROLE_CHIEF_EDITOR']);
- $handler = new MarkSubscriptionAsCanceledHandler($this->subscriptionRepository);
+ $handler = new MarkSubscriptionAsCanceledHandler(
+ subscriptionRepository: $this->subscriptionRepository,
+ memberRepository: $this->memberRepository,
+ );
$result = $handler->go($command);
$this->entityManager->flush();
diff --git a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsFinished/MarkSubscriptionAsFinished.php b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsFinished/MarkSubscriptionAsFinished.php
index 99a4b68..6512dde 100644
--- a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsFinished/MarkSubscriptionAsFinished.php
+++ b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsFinished/MarkSubscriptionAsFinished.php
@@ -1,5 +1,16 @@
id,
diff --git a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsFinished/MarkSubscriptionAsFinishedHandler.php b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsFinished/MarkSubscriptionAsFinishedHandler.php
index 84b4e3c..300df66 100644
--- a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsFinished/MarkSubscriptionAsFinishedHandler.php
+++ b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsFinished/MarkSubscriptionAsFinishedHandler.php
@@ -1,5 +1,16 @@
id,
diff --git a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayed/MarkSubscriptionAsPayedHandler.php b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayed/MarkSubscriptionAsPayedHandler.php
index f98c9b0..7e7a12f 100644
--- a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayed/MarkSubscriptionAsPayedHandler.php
+++ b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayed/MarkSubscriptionAsPayedHandler.php
@@ -1,10 +1,22 @@
getStatus()) {
$subscription->changeStatus(SubscriptionStatus::PAYED);
+ $subscription->setPaymentTypeInfo(SubscriptionPaymentType::TRANSFER);
$this->subscriptionRepository->save($subscription);
$result = true;
}
// mark the subscription and license as paid on the actual member
- if ($result && !is_null($subscription->getMember())) {
- $member = $subscription->getMember();
+ $member = $subscription->getMember();
+ if ($result && !is_null($member)) {
if ($subscription->isMemberSubscriptionIsPartSubscription()) {
$member->markSubscriptionAsPayed();
}
if ($subscription->isLicenseIsPartSubscription()) {
$member->markLicenseAsPayed();
}
+ // -- sync the federation from the subscription to the member
+ $member->syncFromSubscription(
+ $subscription->getFederation(),
+ (int) $subscription->getNumberOfTraining(),
+ $subscription->isMemberSubscriptionIsHalfYear(),
+ );
+
$this->memberRepository->save($member);
}
// cancel all other pending subscriptions for this member
if ($result && !is_null($subscription->getMember())) {
- $cancelHandler = new MarkSubscriptionAsCanceledHandler($this->subscriptionRepository);
+ $cancelHandler = new MarkSubscriptionAsCanceledHandler($this->subscriptionRepository, $this->memberRepository);
$subscriptions = $this->subscriptionRepository->getByMember($subscription->getMember());
foreach ($subscriptions as $subscription) {
if ($subscription->getId() !== $command->getId()) {
- $cancelCommand = MarkSubscriptionAsCanceled::make($subscription->getId());
+ $cancelCommand = MarkSubscriptionAsCanceled::make($subscription->getId(), false);
$cancelHandler->go($cancelCommand);
}
}
diff --git a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayedFromMollie/MarkSubscriptionAsPayedFromMollie.php b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayedFromMollie/MarkSubscriptionAsPayedFromMollie.php
new file mode 100644
index 0000000..2a0ce2d
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayedFromMollie/MarkSubscriptionAsPayedFromMollie.php
@@ -0,0 +1,51 @@
+paymentId,
+ );
+ }
+
+ // —————————————————————————————————————————————————————————————————————————
+ // Getters
+ // —————————————————————————————————————————————————————————————————————————
+
+ public function getPaymentId(): string
+ {
+ return $this->paymentId;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayedFromMollie/MarkSubscriptionAsPayedFromMollieHandler.php b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayedFromMollie/MarkSubscriptionAsPayedFromMollieHandler.php
new file mode 100644
index 0000000..2490f16
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayedFromMollie/MarkSubscriptionAsPayedFromMollieHandler.php
@@ -0,0 +1,83 @@
+subscriptionRepository->findByPaymentId($command->getPaymentId());
+ if (true === is_null($subscription)) {
+ return 0;
+ }
+
+ if (SubscriptionStatus::AWAITING_PAYMENT === $subscription->getStatus()) {
+ $subscription->changeStatus(SubscriptionStatus::PAYED);
+ $subscription->setPaymentTypeInfo(SubscriptionPaymentType::MOLLIE);
+ $this->subscriptionRepository->save($subscription);
+ $result = true;
+ }
+
+ // -- mark the subscription and license as paid on the actual member ------------
+ $member = $subscription->getMember();
+ if ($result && !is_null($member)) {
+ if ($subscription->isMemberSubscriptionIsPartSubscription()) {
+ $member->markSubscriptionAsPayed();
+ }
+ if ($subscription->isLicenseIsPartSubscription()) {
+ $member->markLicenseAsPayed();
+ }
+ $this->memberRepository->save($member);
+ }
+
+ // -- cancel all other pending subscriptions for this member --------------------
+ if ($result && !is_null($member)) {
+ $cancelHandler = new MarkSubscriptionAsCanceledHandler(
+ subscriptionRepository: $this->subscriptionRepository,
+ memberRepository: $this->memberRepository
+ );
+ $subscriptions = $this->subscriptionRepository->getByMember($member);
+ foreach ($subscriptions as $subscriptionEntity) {
+ if ($subscriptionEntity->getId() !== $subscription->getId()) {
+ $cancelCommand = MarkSubscriptionAsCanceled::make($subscription->getId(), false);
+ $cancelHandler->go($cancelCommand);
+ }
+ }
+ }
+
+ return $subscription->getId();
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayedFromMollie/MarkSubscriptionAsPayedFromMollieTrait.php b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayedFromMollie/MarkSubscriptionAsPayedFromMollieTrait.php
new file mode 100644
index 0000000..6dba8c1
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/MarkSubscriptionAsPayedFromMollie/MarkSubscriptionAsPayedFromMollieTrait.php
@@ -0,0 +1,32 @@
+subscriptionRepository,
+ memberRepository: $this->memberRepository,
+ );
+ $subscriptionId = $handler->go($command);
+ $this->entityManager->flush();
+ $resultObject = new \stdClass();
+ $resultObject->subscriptionId = $subscriptionId;
+
+ return $resultObject;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/MemberExtendSubscription/MemberExtendSubscription.php b/application/YoshiKan/Application/Command/Member/MemberExtendSubscription/MemberExtendSubscription.php
index 3a138e7..28adc75 100644
--- a/application/YoshiKan/Application/Command/Member/MemberExtendSubscription/MemberExtendSubscription.php
+++ b/application/YoshiKan/Application/Command/Member/MemberExtendSubscription/MemberExtendSubscription.php
@@ -66,7 +66,7 @@ private function __construct(
/**
* @throws \Exception
*/
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
intval($json->memberId),
diff --git a/application/YoshiKan/Application/Command/Member/MemberExtendSubscription/member_extend_subscription.php b/application/YoshiKan/Application/Command/Member/MemberExtendSubscription/MemberExtendSubscriptionTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/MemberExtendSubscription/member_extend_subscription.php
rename to application/YoshiKan/Application/Command/Member/MemberExtendSubscription/MemberExtendSubscriptionTrait.php
index 574699b..a1855b4 100644
--- a/application/YoshiKan/Application/Command/Member/MemberExtendSubscription/member_extend_subscription.php
+++ b/application/YoshiKan/Application/Command/Member/MemberExtendSubscription/MemberExtendSubscriptionTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\MemberExtendSubscription;
-trait member_extend_subscription
+trait MemberExtendSubscriptionTrait
{
public function memberExtendSubscription(\stdClass $jsonCommand): \stdClass
{
diff --git a/application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/MemberExtendSubscriptionMailHandler.php b/application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/MemberExtendSubscriptionMailHandler.php
index 7b64e59..79aefea 100644
--- a/application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/MemberExtendSubscriptionMailHandler.php
+++ b/application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/MemberExtendSubscriptionMailHandler.php
@@ -13,6 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\MemberExtendSubscriptionMail;
+use App\YoshiKan\Application\Command\Common\EmailValidator;
use App\YoshiKan\Domain\Model\Member\FederationRepository;
use App\YoshiKan\Domain\Model\Member\LocationRepository;
use App\YoshiKan\Domain\Model\Member\MemberRepository;
@@ -72,17 +73,21 @@ public function go(MemberExtendSubscriptionMail $command): bool
]
);
- // -- send email -----------------------------------------------------------------------------------------------
+ // -- send email -------------------------------------------------
- $message = (new Email())
- ->subject($subject)
- ->from(new Address($command->getFromEmail(), $command->getFromName()))
- ->to(new Address($subscription->getContactEmail(), $subscription->getContactFirstname().' '.$subscription->getContactLastname()))
- ->html($mailTemplate);
+ if (EmailValidator::isValid($subscription->getContactEmail())) {
+ $message = (new Email())
+ ->subject($subject)
+ ->from(new Address($command->getFromEmail(), $command->getFromName()))
+ ->to(new Address($subscription->getContactEmail(), $subscription->getContactFirstname().' '.$subscription->getContactLastname()))
+ ->html($mailTemplate);
- $this->mailer->send($message);
+ if ('true' === $_SERVER['ENABLE_SENDING_EMAILS']) {
+ $this->mailer->send($message);
+ }
+ }
- // -- record message and flag as send --------------------------------------------------------------------------
+ // -- record message and flag as send ----------------------------
$message = Message::make(
$this->messageRepository->nextIdentity(),
@@ -98,8 +103,10 @@ public function go(MemberExtendSubscriptionMail $command): bool
$message->setSubscription($subscription);
$this->messageRepository->save($message);
- $subscription->flagPaymentOverviewMailSend();
- $this->subscriptionRepository->save($subscription);
+ if (EmailValidator::isValid($subscription->getContactEmail())) {
+ $subscription->flagPaymentOverviewMailSend();
+ $this->subscriptionRepository->save($subscription);
+ }
return true;
}
diff --git a/application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/member_extend_subscription_mail.php b/application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/MemberExtendSubscriptionMailTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/member_extend_subscription_mail.php
rename to application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/MemberExtendSubscriptionMailTrait.php
index 9920944..de6881a 100644
--- a/application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/member_extend_subscription_mail.php
+++ b/application/YoshiKan/Application/Command/Member/MemberExtendSubscriptionMail/MemberExtendSubscriptionMailTrait.php
@@ -15,7 +15,7 @@
use App\YoshiKan\Application\Settings;
-trait member_extend_subscription_mail
+trait MemberExtendSubscriptionMailTrait
{
public function sendMemberExtendSubscriptionMail(int $subscriptionId): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/NewMemberSubscription/NewMemberSubscription.php b/application/YoshiKan/Application/Command/Member/NewMemberSubscription/NewMemberSubscription.php
index 5328995..485038b 100644
--- a/application/YoshiKan/Application/Command/Member/NewMemberSubscription/NewMemberSubscription.php
+++ b/application/YoshiKan/Application/Command/Member/NewMemberSubscription/NewMemberSubscription.php
@@ -78,7 +78,7 @@ private function __construct(
/**
* @throws \Exception
*/
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
trim($json->type),
diff --git a/application/YoshiKan/Application/Command/Member/NewMemberSubscription/new_member_subscription.php b/application/YoshiKan/Application/Command/Member/NewMemberSubscription/NewMemberSubscriptionTrait.php
similarity index 97%
rename from application/YoshiKan/Application/Command/Member/NewMemberSubscription/new_member_subscription.php
rename to application/YoshiKan/Application/Command/Member/NewMemberSubscription/NewMemberSubscriptionTrait.php
index 81e8f22..536d20b 100644
--- a/application/YoshiKan/Application/Command/Member/NewMemberSubscription/new_member_subscription.php
+++ b/application/YoshiKan/Application/Command/Member/NewMemberSubscription/NewMemberSubscriptionTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\NewMemberSubscription;
-trait new_member_subscription
+trait NewMemberSubscriptionTrait
{
/**
* @throws \Exception
diff --git a/application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/NewMemberSubscriptionMailHandler.php b/application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/NewMemberSubscriptionMailHandler.php
index 18cb13b..507f932 100644
--- a/application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/NewMemberSubscriptionMailHandler.php
+++ b/application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/NewMemberSubscriptionMailHandler.php
@@ -13,6 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\NewMemberSubscriptionMail;
+use App\YoshiKan\Application\Command\Common\EmailValidator;
use App\YoshiKan\Domain\Model\Member\FederationRepository;
use App\YoshiKan\Domain\Model\Member\LocationRepository;
use App\YoshiKan\Domain\Model\Member\MemberRepository;
@@ -66,17 +67,21 @@ public function go(NewMemberSubscriptionMail $command): bool
]
);
- // -- send email -----------------------------------------------------------------------------------------------
+ // -- send email ----------------------------------------------------------
- $message = (new Email())
- ->subject($subject)
- ->from(new Address($command->getFromEmail(), $command->getFromName()))
- ->to(new Address($subscription->getContactEmail(), $subscription->getContactFirstname().' '.$subscription->getContactLastname()))
- ->html($mailTemplate);
+ if (EmailValidator::isValid($subscription->getContactEmail())) {
+ $message = (new Email())
+ ->subject($subject)
+ ->from(new Address($command->getFromEmail(), $command->getFromName()))
+ ->to(new Address($subscription->getContactEmail(), $subscription->getContactFirstname().' '.$subscription->getContactLastname()))
+ ->html($mailTemplate);
- $this->mailer->send($message);
+ if ('true' === $_SERVER['ENABLE_SENDING_EMAILS']) {
+ $this->mailer->send($message);
+ }
+ }
- // -- record message and flag as send --------------------------------------------------------------------------
+ // -- record message and flag as send -------------------------------------
$message = Message::make(
$this->messageRepository->nextIdentity(),
@@ -92,8 +97,10 @@ public function go(NewMemberSubscriptionMail $command): bool
$message->setSubscription($subscription);
$this->messageRepository->save($message);
- $subscription->flagPaymentOverviewMailSend();
- $this->subscriptionRepository->save($subscription);
+ if (EmailValidator::isValid($subscription->getContactEmail())) {
+ $subscription->flagPaymentOverviewMailSend();
+ $this->subscriptionRepository->save($subscription);
+ }
return true;
}
diff --git a/application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/new_member_subscription_mail.php b/application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/NewMemberSubscriptionMailTrait.php
similarity index 97%
rename from application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/new_member_subscription_mail.php
rename to application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/NewMemberSubscriptionMailTrait.php
index 74465db..0c1131b 100644
--- a/application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/new_member_subscription_mail.php
+++ b/application/YoshiKan/Application/Command/Member/NewMemberSubscriptionMail/NewMemberSubscriptionMailTrait.php
@@ -15,7 +15,7 @@
use App\YoshiKan\Application\Settings;
-trait new_member_subscription_mail
+trait NewMemberSubscriptionMailTrait
{
public function sendMemberNewSubscriptionMail(int $subscriptionId): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/NewMemberWebSubscription.php b/application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/NewMemberWebSubscription.php
index 76b3d17..8003523 100644
--- a/application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/NewMemberWebSubscription.php
+++ b/application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/NewMemberWebSubscription.php
@@ -62,7 +62,7 @@ private function __construct(
/**
* @throws \Exception
*/
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
trim($json->type),
diff --git a/application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/new_member_web_subscription.php b/application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/NewMemberWebSubscriptionTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/new_member_web_subscription.php
rename to application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/NewMemberWebSubscriptionTrait.php
index 2f46a59..ff72338 100644
--- a/application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/new_member_web_subscription.php
+++ b/application/YoshiKan/Application/Command/Member/NewMemberWebSubscription/NewMemberWebSubscriptionTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\NewMemberWebSubscription;
-trait new_member_web_subscription
+trait NewMemberWebSubscriptionTrait
{
public function newMemberWebSubscription(\stdClass $jsonCommand): \stdClass
{
diff --git a/application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/NewMemberWebSubscriptionMailHandler.php b/application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/NewMemberWebSubscriptionMailHandler.php
index 565773f..b6fedb5 100644
--- a/application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/NewMemberWebSubscriptionMailHandler.php
+++ b/application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/NewMemberWebSubscriptionMailHandler.php
@@ -13,6 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\NewMemberWebSubscriptionMail;
+use App\YoshiKan\Application\Command\Common\EmailValidator;
use App\YoshiKan\Domain\Model\Member\SubscriptionRepository;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Address;
@@ -31,7 +32,7 @@ public function __construct(
public function go(NewMemberWebSubscriptionMail $command): bool
{
$subscription = $this->subscriptionRepository->getById($command->getSubscriptionId());
- $subject = 'Yoshi-Kan: bevestiging inschrijving '.$subscription->getFirstname().' '.$subscription->getLastname();
+ $subject = 'JC Yoshi-Kan: bevestiging inschrijving '.$subscription->getFirstname().' '.$subscription->getLastname();
$mailTemplate = $this->twig->render(
'mail/web_confirmation_mail.html.twig',
@@ -42,14 +43,18 @@ public function go(NewMemberWebSubscriptionMail $command): bool
]
);
- $message = (new Email())
- ->subject($subject)
- ->from(new Address($command->getFromEmail(), $command->getFromName()))
- ->to(new Address($subscription->getContactEmail(), $subscription->getContactFirstname().' '.$subscription->getContactLastname()))
- ->bcc(new Address($command->getContactEmail(), $command->getFromName()))
- ->html($mailTemplate);
-
- $this->mailer->send($message);
+ if (EmailValidator::isValid($subscription->getContactEmail())) {
+ $message = (new Email())
+ ->subject($subject)
+ ->from(new Address($command->getFromEmail(), $command->getFromName()))
+ ->to(new Address($subscription->getContactEmail(), $subscription->getContactFirstname().' '.$subscription->getContactLastname()))
+ ->bcc(new Address('judo.yoshikan@gmail.com', $command->getFromName()))
+ ->html($mailTemplate);
+
+ if ('true' === $_SERVER['ENABLE_SENDING_EMAILS']) {
+ $this->mailer->send($message);
+ }
+ }
return true;
}
diff --git a/application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/new_member_web_subscription_mail.php b/application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/NewMemberWebSubscriptionMailTrait.php
similarity index 95%
rename from application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/new_member_web_subscription_mail.php
rename to application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/NewMemberWebSubscriptionMailTrait.php
index 3ca6325..b49c6f7 100644
--- a/application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/new_member_web_subscription_mail.php
+++ b/application/YoshiKan/Application/Command/Member/NewMemberWebSubscriptionMail/NewMemberWebSubscriptionMailTrait.php
@@ -15,7 +15,7 @@
use App\YoshiKan\Application\Settings;
-trait new_member_web_subscription_mail
+trait NewMemberWebSubscriptionMailTrait
{
/**
* @throws \Exception
diff --git a/application/YoshiKan/Application/Command/Member/OrderFederation/OrderFederation.php b/application/YoshiKan/Application/Command/Member/OrderFederation/OrderFederation.php
index 9b24d11..05bcb65 100644
--- a/application/YoshiKan/Application/Command/Member/OrderFederation/OrderFederation.php
+++ b/application/YoshiKan/Application/Command/Member/OrderFederation/OrderFederation.php
@@ -1,5 +1,16 @@
sequence);
}
diff --git a/application/YoshiKan/Application/Command/Member/OrderFederation/OrderFederationHandler.php b/application/YoshiKan/Application/Command/Member/OrderFederation/OrderFederationHandler.php
index c7441c6..39475db 100644
--- a/application/YoshiKan/Application/Command/Member/OrderFederation/OrderFederationHandler.php
+++ b/application/YoshiKan/Application/Command/Member/OrderFederation/OrderFederationHandler.php
@@ -1,5 +1,16 @@
sequence);
}
diff --git a/application/YoshiKan/Application/Command/Member/OrderGrade/order_grade.php b/application/YoshiKan/Application/Command/Member/OrderGrade/OrderGradeTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/OrderGrade/order_grade.php
rename to application/YoshiKan/Application/Command/Member/OrderGrade/OrderGradeTrait.php
index 749cd7d..9bae2c9 100644
--- a/application/YoshiKan/Application/Command/Member/OrderGrade/order_grade.php
+++ b/application/YoshiKan/Application/Command/Member/OrderGrade/OrderGradeTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\OrderGrade;
-trait order_grade
+trait OrderGradeTrait
{
public function orderGrade(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/OrderGroup/OrderGroup.php b/application/YoshiKan/Application/Command/Member/OrderGroup/OrderGroup.php
index c2a446f..d3f5e0e 100644
--- a/application/YoshiKan/Application/Command/Member/OrderGroup/OrderGroup.php
+++ b/application/YoshiKan/Application/Command/Member/OrderGroup/OrderGroup.php
@@ -27,7 +27,7 @@ public function __construct(protected array $sequence)
// Hydration
// ———————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self($json->sequence);
}
diff --git a/application/YoshiKan/Application/Command/Member/OrderGroup/order_group.php b/application/YoshiKan/Application/Command/Member/OrderGroup/OrderGroupTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/OrderGroup/order_group.php
rename to application/YoshiKan/Application/Command/Member/OrderGroup/OrderGroupTrait.php
index b6f7677..ce4369e 100644
--- a/application/YoshiKan/Application/Command/Member/OrderGroup/order_group.php
+++ b/application/YoshiKan/Application/Command/Member/OrderGroup/OrderGroupTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\OrderGroup;
-trait order_group
+trait OrderGroupTrait
{
public function orderGroup(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/OrderLocation/OrderLocation.php b/application/YoshiKan/Application/Command/Member/OrderLocation/OrderLocation.php
index 418b08f..7ab3179 100644
--- a/application/YoshiKan/Application/Command/Member/OrderLocation/OrderLocation.php
+++ b/application/YoshiKan/Application/Command/Member/OrderLocation/OrderLocation.php
@@ -27,7 +27,7 @@ public function __construct(protected array $sequence)
// Hydration
// ———————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self($json->sequence);
}
diff --git a/application/YoshiKan/Application/Command/Member/OrderLocation/order_location.php b/application/YoshiKan/Application/Command/Member/OrderLocation/OrderLocationTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/OrderLocation/order_location.php
rename to application/YoshiKan/Application/Command/Member/OrderLocation/OrderLocationTrait.php
index 7120f93..fd555b8 100644
--- a/application/YoshiKan/Application/Command/Member/OrderLocation/order_location.php
+++ b/application/YoshiKan/Application/Command/Member/OrderLocation/OrderLocationTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\OrderLocation;
-trait order_location
+trait OrderLocationTrait
{
public function orderLocation(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/OrderPeriod/OrderPeriod.php b/application/YoshiKan/Application/Command/Member/OrderPeriod/OrderPeriod.php
index 9b7115f..03fe387 100644
--- a/application/YoshiKan/Application/Command/Member/OrderPeriod/OrderPeriod.php
+++ b/application/YoshiKan/Application/Command/Member/OrderPeriod/OrderPeriod.php
@@ -27,7 +27,7 @@ public function __construct(protected array $sequence)
// Hydration
// ———————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self($json->sequence);
}
diff --git a/application/YoshiKan/Application/Command/Member/OrderPeriod/order_period.php b/application/YoshiKan/Application/Command/Member/OrderPeriod/OrderPeriodTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/OrderPeriod/order_period.php
rename to application/YoshiKan/Application/Command/Member/OrderPeriod/OrderPeriodTrait.php
index 4f4ef78..2834fc7 100644
--- a/application/YoshiKan/Application/Command/Member/OrderPeriod/order_period.php
+++ b/application/YoshiKan/Application/Command/Member/OrderPeriod/OrderPeriodTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\OrderPeriod;
-trait order_period
+trait OrderPeriodTrait
{
public function orderPeriod(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/SaveSettings/SaveSettings.php b/application/YoshiKan/Application/Command/Member/SaveSettings/SaveSettings.php
index 0d08305..f0ea582 100644
--- a/application/YoshiKan/Application/Command/Member/SaveSettings/SaveSettings.php
+++ b/application/YoshiKan/Application/Command/Member/SaveSettings/SaveSettings.php
@@ -35,7 +35,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->code,
diff --git a/application/YoshiKan/Application/Command/Member/SaveSettings/save_settings.php b/application/YoshiKan/Application/Command/Member/SaveSettings/SaveSettingsTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/SaveSettings/save_settings.php
rename to application/YoshiKan/Application/Command/Member/SaveSettings/SaveSettingsTrait.php
index eb7347f..3115719 100644
--- a/application/YoshiKan/Application/Command/Member/SaveSettings/save_settings.php
+++ b/application/YoshiKan/Application/Command/Member/SaveSettings/SaveSettingsTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\SaveSettings;
-trait save_settings
+trait SaveSettingsTrait
{
public function saveSettings(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/SendPaymentReceivedConfirmationMail/SendPaymentReceivedConfirmationMail.php b/application/YoshiKan/Application/Command/Member/SendPaymentReceivedConfirmationMail/SendPaymentReceivedConfirmationMail.php
new file mode 100644
index 0000000..418c7ba
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/SendPaymentReceivedConfirmationMail/SendPaymentReceivedConfirmationMail.php
@@ -0,0 +1,46 @@
+subscriptionId;
+ }
+
+ public function getFromName(): string
+ {
+ return $this->fromName;
+ }
+
+ public function getFromEmail(): string
+ {
+ return $this->fromEmail;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/SendPaymentReceivedConfirmationMail/SendPaymentReceivedConfirmationMailHandler.php b/application/YoshiKan/Application/Command/Member/SendPaymentReceivedConfirmationMail/SendPaymentReceivedConfirmationMailHandler.php
new file mode 100644
index 0000000..2fe86d5
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/SendPaymentReceivedConfirmationMail/SendPaymentReceivedConfirmationMailHandler.php
@@ -0,0 +1,82 @@
+subscriptionRepository->getById($command->getSubscriptionId());
+ $subject = 'JC Yoshi-Kan: betaling goed ontvangen: YKS-'.$subscription->getId();
+ $mailTemplate = $this->twig->render(
+ 'mail/payment_confirmation_mail.html.twig',
+ [
+ 'subject' => $subject,
+ 'subscription' => $subscription,
+ 'url' => $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'],
+ ]
+ );
+
+ // -- send email ------------------------------------------------
+
+ if (EmailValidator::isValid($subscription->getContactEmail())) {
+ $message = (new Email())
+ ->subject($subject)
+ ->from(new Address($command->getFromEmail(), $command->getFromName()))
+ ->to(new Address($subscription->getContactEmail(), $subscription->getContactFirstname().' '.$subscription->getContactLastname()))
+ ->html($mailTemplate);
+
+ if ('true' === $_SERVER['ENABLE_SENDING_EMAILS']) {
+ $this->mailer->send($message);
+ }
+ }
+
+ // -- record message --------------------------------------------
+
+ $message = Message::make(
+ uuid: $this->messageRepository->nextIdentity(),
+ sendOn: new \DateTimeImmutable(),
+ fromName: $command->getFromName(),
+ fromEmail: $command->getFromEmail(),
+ toName: $subscription->getContactFirstname().' '.$subscription->getContactLastname(),
+ toEmail: $subscription->getContactEmail(),
+ subject: $subject,
+ message: $mailTemplate,
+ );
+ $message->setMember($subscription->getMember());
+ $message->setSubscription($subscription);
+ $this->messageRepository->save($message);
+
+ return true;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/SendPaymentReceivedConfirmationMail/SendPaymentReceivedConfirmationMailTrait.php b/application/YoshiKan/Application/Command/Member/SendPaymentReceivedConfirmationMail/SendPaymentReceivedConfirmationMailTrait.php
new file mode 100644
index 0000000..3c2916a
--- /dev/null
+++ b/application/YoshiKan/Application/Command/Member/SendPaymentReceivedConfirmationMail/SendPaymentReceivedConfirmationMailTrait.php
@@ -0,0 +1,41 @@
+value,
+ Settings::FROM_EMAIL->value,
+ );
+ $handler = new SendPaymentReceivedConfirmationMailHandler(
+ subscriptionRepository: $this->subscriptionRepository,
+ memberRepository: $this->memberRepository,
+ messageRepository: $this->messageRepository,
+ twig: $this->twig,
+ mailer: $this->mailer,
+ );
+ $handler->send($command);
+ $this->entityManager->flush();
+ $resultObject = new \stdClass();
+ $resultObject->subscriptionId = $subscriptionId;
+
+ return $resultObject;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/Member/SetupConfiguration/SetupConfiguration.php b/application/YoshiKan/Application/Command/Member/SetupConfiguration/SetupConfiguration.php
index ec26789..ed16d83 100644
--- a/application/YoshiKan/Application/Command/Member/SetupConfiguration/SetupConfiguration.php
+++ b/application/YoshiKan/Application/Command/Member/SetupConfiguration/SetupConfiguration.php
@@ -27,7 +27,7 @@ public function __construct(protected string $code)
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self($json->code);
}
diff --git a/application/YoshiKan/Application/Command/Member/SetupConfiguration/setup_configuration.php b/application/YoshiKan/Application/Command/Member/SetupConfiguration/SetupConfigurationTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Member/SetupConfiguration/setup_configuration.php
rename to application/YoshiKan/Application/Command/Member/SetupConfiguration/SetupConfigurationTrait.php
index 0fe266a..9cfae96 100644
--- a/application/YoshiKan/Application/Command/Member/SetupConfiguration/setup_configuration.php
+++ b/application/YoshiKan/Application/Command/Member/SetupConfiguration/SetupConfigurationTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Member\SetupConfiguration;
-trait setup_configuration
+trait SetupConfigurationTrait
{
public function setupConfiguration(): bool
{
diff --git a/application/YoshiKan/Application/Command/Member/UploadMemberImage/UploadMemberImage.php b/application/YoshiKan/Application/Command/Member/UploadMemberImage/UploadMemberImage.php
index 9347727..e2d5e28 100644
--- a/application/YoshiKan/Application/Command/Member/UploadMemberImage/UploadMemberImage.php
+++ b/application/YoshiKan/Application/Command/Member/UploadMemberImage/UploadMemberImage.php
@@ -1,5 +1,16 @@
getRealPath());
- if ($filesize > 3000000) {
+ if ($filesize > 30000000000) {
throw new \Exception('Could not save the uploaded file');
return false;
diff --git a/application/YoshiKan/Application/Command/Member/UploadMemberImage/upload_member_image.php b/application/YoshiKan/Application/Command/Member/UploadMemberImage/UploadMemberImageTrait.php
similarity index 66%
rename from application/YoshiKan/Application/Command/Member/UploadMemberImage/upload_member_image.php
rename to application/YoshiKan/Application/Command/Member/UploadMemberImage/UploadMemberImageTrait.php
index 4107f3c..67b7b04 100644
--- a/application/YoshiKan/Application/Command/Member/UploadMemberImage/upload_member_image.php
+++ b/application/YoshiKan/Application/Command/Member/UploadMemberImage/UploadMemberImageTrait.php
@@ -1,8 +1,19 @@
messageId),
diff --git a/application/YoshiKan/Application/Command/Message/ResendMessage/ResendMessageHandler.php b/application/YoshiKan/Application/Command/Message/ResendMessage/ResendMessageHandler.php
index b01fc65..c33e6dc 100644
--- a/application/YoshiKan/Application/Command/Message/ResendMessage/ResendMessageHandler.php
+++ b/application/YoshiKan/Application/Command/Message/ResendMessage/ResendMessageHandler.php
@@ -1,7 +1,19 @@
messageRepository->getById($command->getMessageId());
- $message = (new Email())
- ->subject($originalMessage->getSubject())
- ->from(new Address($command->getFromEmail(), $command->getFromName()))
- ->to(new Address($command->getToEmail(), $originalMessage->getToName()))
- ->html($originalMessage->getMessage());
-
- $this->mailer->send($message);
-
- return true;
+ if (EmailValidator::isValid($command->getToEmail())) {
+ $message = (new Email())
+ ->subject($originalMessage->getSubject())
+ ->from(new Address($command->getFromEmail(), $command->getFromName()))
+ ->to(new Address($command->getToEmail(), $originalMessage->getToName()))
+ ->html($originalMessage->getMessage());
+
+ if ('true' === $_SERVER['ENABLE_SENDING_EMAILS']) {
+ $this->mailer->send($message);
+ }
+
+ return true;
+ } else {
+ return false;
+ }
}
}
diff --git a/application/YoshiKan/Application/Command/Message/ResendMessage/resend_message.php b/application/YoshiKan/Application/Command/Message/ResendMessage/ResendMessageTrait.php
similarity index 68%
rename from application/YoshiKan/Application/Command/Message/ResendMessage/resend_message.php
rename to application/YoshiKan/Application/Command/Message/ResendMessage/ResendMessageTrait.php
index f6dda2c..59f38de 100644
--- a/application/YoshiKan/Application/Command/Message/ResendMessage/resend_message.php
+++ b/application/YoshiKan/Application/Command/Message/ResendMessage/ResendMessageTrait.php
@@ -1,8 +1,19 @@
code),
diff --git a/application/YoshiKan/Application/Command/Product/AddJudogi/add_judogi.php b/application/YoshiKan/Application/Command/Product/AddJudogi/AddJudogiTrait.php
similarity index 97%
rename from application/YoshiKan/Application/Command/Product/AddJudogi/add_judogi.php
rename to application/YoshiKan/Application/Command/Product/AddJudogi/AddJudogiTrait.php
index d492da7..ecdbb9c 100644
--- a/application/YoshiKan/Application/Command/Product/AddJudogi/add_judogi.php
+++ b/application/YoshiKan/Application/Command/Product/AddJudogi/AddJudogiTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Product\AddJudogi;
-trait add_judogi
+trait AddJudogiTrait
{
public function addJudogi(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Product/ChangeJudogi/ChangeJudogi.php b/application/YoshiKan/Application/Command/Product/ChangeJudogi/ChangeJudogi.php
index db8eabc..b75f646 100644
--- a/application/YoshiKan/Application/Command/Product/ChangeJudogi/ChangeJudogi.php
+++ b/application/YoshiKan/Application/Command/Product/ChangeJudogi/ChangeJudogi.php
@@ -32,7 +32,7 @@ private function __construct(
// Hydrate from a json command
// —————————————————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self(
$json->id,
diff --git a/application/YoshiKan/Application/Command/Product/ChangeJudogi/change_judogi.php b/application/YoshiKan/Application/Command/Product/ChangeJudogi/ChangeJudogiTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Product/ChangeJudogi/change_judogi.php
rename to application/YoshiKan/Application/Command/Product/ChangeJudogi/ChangeJudogiTrait.php
index de5888e..47a0e50 100644
--- a/application/YoshiKan/Application/Command/Product/ChangeJudogi/change_judogi.php
+++ b/application/YoshiKan/Application/Command/Product/ChangeJudogi/ChangeJudogiTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Product\ChangeJudogi;
-trait change_judogi
+trait ChangeJudogiTrait
{
public function changeJudogi(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/Product/OrderJudogi/OrderJudogi.php b/application/YoshiKan/Application/Command/Product/OrderJudogi/OrderJudogi.php
index 2f94bbd..b9a6383 100644
--- a/application/YoshiKan/Application/Command/Product/OrderJudogi/OrderJudogi.php
+++ b/application/YoshiKan/Application/Command/Product/OrderJudogi/OrderJudogi.php
@@ -27,7 +27,7 @@ public function __construct(protected array $sequence)
// Hydration
// ———————————————————————————————————————————————————————————————
- public static function hydrateFromJson($json): self
+ public static function hydrateFromJson(\stdClass $json): self
{
return new self($json->sequence);
}
diff --git a/application/YoshiKan/Application/Command/Product/OrderJudogi/order_judogi.php b/application/YoshiKan/Application/Command/Product/OrderJudogi/OrderJudogiTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Command/Product/OrderJudogi/order_judogi.php
rename to application/YoshiKan/Application/Command/Product/OrderJudogi/OrderJudogiTrait.php
index 3134ebc..49c57ec 100644
--- a/application/YoshiKan/Application/Command/Product/OrderJudogi/order_judogi.php
+++ b/application/YoshiKan/Application/Command/Product/OrderJudogi/OrderJudogiTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Command\Product\OrderJudogi;
-trait order_judogi
+trait OrderJudogiTrait
{
public function orderJudogi(\stdClass $jsonCommand): bool
{
diff --git a/application/YoshiKan/Application/Command/TwoFactor/GenerateAndSendMemberAccessCode/GenerateAndSendMemberAccessCode.php b/application/YoshiKan/Application/Command/TwoFactor/GenerateAndSendMemberAccessCode/GenerateAndSendMemberAccessCode.php
new file mode 100644
index 0000000..087d477
--- /dev/null
+++ b/application/YoshiKan/Application/Command/TwoFactor/GenerateAndSendMemberAccessCode/GenerateAndSendMemberAccessCode.php
@@ -0,0 +1,51 @@
+userId;
+ }
+
+ public function getFromName(): string
+ {
+ return $this->fromName;
+ }
+
+ public function getFromEmail(): string
+ {
+ return $this->fromEmail;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/TwoFactor/GenerateAndSendMemberAccessCode/GenerateAndSendMemberAccessCodeHandler.php b/application/YoshiKan/Application/Command/TwoFactor/GenerateAndSendMemberAccessCode/GenerateAndSendMemberAccessCodeHandler.php
new file mode 100644
index 0000000..b3db5ea
--- /dev/null
+++ b/application/YoshiKan/Application/Command/TwoFactor/GenerateAndSendMemberAccessCode/GenerateAndSendMemberAccessCodeHandler.php
@@ -0,0 +1,77 @@
+userRepository->findOneBy(['id' => $command->getUserId()]);
+ if (true === is_null($user)) {
+ return false;
+ }
+
+ $subject = 'Yoshi-Kan - Toegangscode';
+ $verificationCode = rand(100000, 999999);
+ $hashedCode = hash('SHA256', (string) $verificationCode.'*'.$_SERVER['APP_SECRET']);
+ $memberAccessCode = MemberAccessCode::make(
+ user: $user,
+ uuid: $this->memberAccessCodeRepository->nextIdentity(),
+ code: $hashedCode,
+ );
+
+ $this->memberAccessCodeRepository->save($memberAccessCode);
+
+ // -- make template ---------------------------------------------
+ $magicLink = $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].'/beheer/leden#/login/'.$verificationCode;
+ $mailTemplate = $this->twig->render(
+ 'mail/member_access_code_mail.html.twig',
+ [
+ 'subject' => $subject,
+ 'user' => $user,
+ 'code' => $verificationCode,
+ 'url' => $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'],
+ 'magicLink' => $magicLink,
+ ]
+ );
+
+ // -- send email via resend ---------------------------------------
+
+ $resend = \Resend::client($_SERVER['RESEND_API_KEY']);
+ $resend->emails->send([
+ 'from' => $command->getFromName().' <'.$command->getFromEmail().'>',
+ 'to' => [$user->getEmail()],
+ 'subject' => $subject,
+ 'html' => $mailTemplate,
+ ]);
+
+ return true;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/TwoFactor/GenerateAndSendMemberAccessCode/GenerateAndSendMemberAccessCodeTrait.php b/application/YoshiKan/Application/Command/TwoFactor/GenerateAndSendMemberAccessCode/GenerateAndSendMemberAccessCodeTrait.php
new file mode 100644
index 0000000..3ebdc87
--- /dev/null
+++ b/application/YoshiKan/Application/Command/TwoFactor/GenerateAndSendMemberAccessCode/GenerateAndSendMemberAccessCodeTrait.php
@@ -0,0 +1,42 @@
+permission->CheckRole(['ROLE_DEVELOPER', 'ROLE_ADMIN', 'ROLE_CHIEF_EDITOR']);
+
+ $command = GenerateAndSendMemberAccessCode::make(
+ $userId,
+ Settings::FROM_NAME->value,
+ Settings::FROM_EMAIL->value,
+ );
+
+ $handler = new GenerateAndSendMemberAccessCodeHandler(
+ $this->userRepository,
+ $this->memberAccessCodeRepository,
+ $this->twig,
+ $this->mailer,
+ );
+
+ $result = $handler->generateAndSend($command);
+ $this->entityManager->flush();
+
+ return $result;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/TwoFactor/ValidateMemberAccessCode/ValidateMemberAccessCode.php b/application/YoshiKan/Application/Command/TwoFactor/ValidateMemberAccessCode/ValidateMemberAccessCode.php
new file mode 100644
index 0000000..597d93f
--- /dev/null
+++ b/application/YoshiKan/Application/Command/TwoFactor/ValidateMemberAccessCode/ValidateMemberAccessCode.php
@@ -0,0 +1,38 @@
+accessCode;
+ }
+
+ public function getUserId(): int
+ {
+ return $this->userId;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/TwoFactor/ValidateMemberAccessCode/ValidateMemberAccessCodeHandler.php b/application/YoshiKan/Application/Command/TwoFactor/ValidateMemberAccessCode/ValidateMemberAccessCodeHandler.php
new file mode 100644
index 0000000..beb5b72
--- /dev/null
+++ b/application/YoshiKan/Application/Command/TwoFactor/ValidateMemberAccessCode/ValidateMemberAccessCodeHandler.php
@@ -0,0 +1,60 @@
+userRepository->findOneBy(['id' => $command->getUserId()]);
+ if (true === is_null($user)) {
+ return false;
+ }
+
+ $hashedCode = hash('SHA256', (string) $command->getAccessCode().'*'.$_SERVER['APP_SECRET']);
+ $memberAccessCode = $this->memberAccessCodeRepository->findByCode($hashedCode);
+ if (true === is_null($memberAccessCode)) {
+ return false;
+ }
+ if ($memberAccessCode->getUser()->getId() !== $user->getId()) {
+ return false;
+ }
+ if (false === $memberAccessCode->isActive()) {
+ return false;
+ }
+
+ // -- use the code
+ $memberAccessCode->use();
+ $this->memberAccessCodeRepository->save($memberAccessCode);
+
+ // -- invalidate all other codes for that user
+ $memberAccessCodes = $this->memberAccessCodeRepository->getByActiveUser($user);
+ foreach ($memberAccessCodes as $memberAccessCodeEntity) {
+ $memberAccessCodeEntity->invalidate();
+ $this->memberAccessCodeRepository->save($memberAccessCodeEntity);
+ }
+
+ return true;
+ }
+}
diff --git a/application/YoshiKan/Application/Command/TwoFactor/ValidateMemberAccessCode/ValidateMemberAccessCodeTrait.php b/application/YoshiKan/Application/Command/TwoFactor/ValidateMemberAccessCode/ValidateMemberAccessCodeTrait.php
new file mode 100644
index 0000000..433c654
--- /dev/null
+++ b/application/YoshiKan/Application/Command/TwoFactor/ValidateMemberAccessCode/ValidateMemberAccessCodeTrait.php
@@ -0,0 +1,33 @@
+permission->CheckRole(['ROLE_DEVELOPER', 'ROLE_ADMIN', 'ROLE_CHIEF_EDITOR']);
+
+ $command = ValidateMemberAccessCode::make($accessCode, $userId);
+ $handler = new ValidateMemberAccessCodeHandler(
+ $this->userRepository,
+ $this->memberAccessCodeRepository,
+ );
+
+ $result = $handler->validate($command);
+ $this->entityManager->flush();
+
+ return $result;
+ }
+}
diff --git a/application/YoshiKan/Application/CommandBus.php b/application/YoshiKan/Application/CommandBus.php
index 9c9b5cc..6b86801 100644
--- a/application/YoshiKan/Application/CommandBus.php
+++ b/application/YoshiKan/Application/CommandBus.php
@@ -13,8 +13,10 @@
namespace App\YoshiKan\Application;
-use App\YoshiKan\Application\Command\Member\NewMemberWebSubscription\new_member_web_subscription;
-use App\YoshiKan\Application\Command\Member\NewMemberWebSubscriptionMail\new_member_web_subscription_mail;
+use App\YoshiKan\Application\Command\Member\MarkSubscriptionAsPayedFromMollie\MarkSubscriptionAsPayedFromMollieTrait;
+use App\YoshiKan\Application\Command\Member\NewMemberWebSubscription\NewMemberWebSubscriptionTrait;
+use App\YoshiKan\Application\Command\Member\NewMemberWebSubscriptionMail\NewMemberWebSubscriptionMailTrait;
+use App\YoshiKan\Application\Command\Member\SendPaymentReceivedConfirmationMail\SendPaymentReceivedConfirmationMailTrait;
use App\YoshiKan\Application\Security\BasePermissionService;
use App\YoshiKan\Domain\Model\Member\FederationRepository;
use App\YoshiKan\Domain\Model\Member\LocationRepository;
@@ -23,6 +25,7 @@
use App\YoshiKan\Domain\Model\Member\SettingsRepository;
use App\YoshiKan\Domain\Model\Member\SubscriptionItemRepository;
use App\YoshiKan\Domain\Model\Member\SubscriptionRepository;
+use App\YoshiKan\Domain\Model\Message\MessageRepository;
use App\YoshiKan\Domain\Model\Product\JudogiRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Mailer\MailerInterface;
@@ -35,8 +38,10 @@ class CommandBus
// —— Traits
// ——————————————————————————————————————————————————————————————————————————
- use new_member_web_subscription;
- use new_member_web_subscription_mail;
+ use NewMemberWebSubscriptionTrait;
+ use NewMemberWebSubscriptionMailTrait;
+ use MarkSubscriptionAsPayedFromMollieTrait;
+ use SendPaymentReceivedConfirmationMailTrait;
// ——————————————————————————————————————————————————————————————————————————
// —— Security
@@ -62,7 +67,8 @@ public function __construct(
protected JudogiRepository $judogiRepository,
protected SettingsRepository $settingsRepository,
protected MemberRepository $memberRepository,
- protected FederationRepository $federationRepository
+ protected FederationRepository $federationRepository,
+ protected MessageRepository $messageRepository,
) {
$this->permission = new BasePermissionService(
$security->getUser(),
diff --git a/application/YoshiKan/Application/MemberCommandBus.php b/application/YoshiKan/Application/MemberCommandBus.php
index 8a8f0ae..745e816 100644
--- a/application/YoshiKan/Application/MemberCommandBus.php
+++ b/application/YoshiKan/Application/MemberCommandBus.php
@@ -13,40 +13,46 @@
namespace App\YoshiKan\Application;
-use App\YoshiKan\Application\Command\Member\AddFederation\add_federation;
-use App\YoshiKan\Application\Command\Member\AddGrade\add_grade;
-use App\YoshiKan\Application\Command\Member\AddGroup\add_group;
-use App\YoshiKan\Application\Command\Member\AddLocation\add_location;
-use App\YoshiKan\Application\Command\Member\AddPeriod\add_period;
-use App\YoshiKan\Application\Command\Member\ChangeFederation\change_federation;
-use App\YoshiKan\Application\Command\Member\ChangeGrade\change_grade;
-use App\YoshiKan\Application\Command\Member\ChangeGroup\change_group;
-use App\YoshiKan\Application\Command\Member\ChangeLocation\change_location;
-use App\YoshiKan\Application\Command\Member\ChangeMemberDetails\change_member_details;
-use App\YoshiKan\Application\Command\Member\ChangeMemberGrade\change_member_grade;
-use App\YoshiKan\Application\Command\Member\ChangeMemberRemarks\change_member_remarks;
-use App\YoshiKan\Application\Command\Member\ChangePeriod\change_period;
-use App\YoshiKan\Application\Command\Member\DeleteMemberImage\delete_member_image;
-use App\YoshiKan\Application\Command\Member\MarkSubscriptionAsCanceled\mark_subscription_as_canceled;
-use App\YoshiKan\Application\Command\Member\MarkSubscriptionAsFinished\mark_subscription_as_finished;
-use App\YoshiKan\Application\Command\Member\MarkSubscriptionAsPayed\mark_subscription_as_paid;
-use App\YoshiKan\Application\Command\Member\MemberExtendSubscription\member_extend_subscription;
-use App\YoshiKan\Application\Command\Member\MemberExtendSubscriptionMail\member_extend_subscription_mail;
-use App\YoshiKan\Application\Command\Member\NewMemberSubscription\new_member_subscription;
-use App\YoshiKan\Application\Command\Member\NewMemberSubscriptionMail\new_member_subscription_mail;
-use App\YoshiKan\Application\Command\Member\OrderFederation\order_federation;
-use App\YoshiKan\Application\Command\Member\OrderGrade\order_grade;
-use App\YoshiKan\Application\Command\Member\OrderGroup\order_group;
-use App\YoshiKan\Application\Command\Member\OrderLocation\order_location;
-use App\YoshiKan\Application\Command\Member\OrderPeriod\order_period;
-use App\YoshiKan\Application\Command\Member\SaveSettings\save_settings;
-use App\YoshiKan\Application\Command\Member\SetupConfiguration\setup_configuration;
-use App\YoshiKan\Application\Command\Member\UploadMemberImage\upload_member_image;
-use App\YoshiKan\Application\Command\Member\UploadProfileImage\upload_profile_image;
-use App\YoshiKan\Application\Command\Message\ResendMessage\resend_message;
-use App\YoshiKan\Application\Command\Product\AddJudogi\add_judogi;
-use App\YoshiKan\Application\Command\Product\ChangeJudogi\change_judogi;
-use App\YoshiKan\Application\Command\Product\OrderJudogi\order_judogi;
+use App\YoshiKan\Application\Command\Member\AddFederation\AddFederationTrait;
+use App\YoshiKan\Application\Command\Member\AddGrade\AddGradeTrait;
+use App\YoshiKan\Application\Command\Member\AddGroup\AddGroupTrait;
+use App\YoshiKan\Application\Command\Member\AddLocation\AddLocationTrait;
+use App\YoshiKan\Application\Command\Member\AddPeriod\AddPeriodTrait;
+use App\YoshiKan\Application\Command\Member\ChangeFederation\ChangeFederationTrait;
+use App\YoshiKan\Application\Command\Member\ChangeGrade\ChangeGradeTrait;
+use App\YoshiKan\Application\Command\Member\ChangeGroup\ChangeGroupTrait;
+use App\YoshiKan\Application\Command\Member\ChangeLocation\ChangeLocationTrait;
+use App\YoshiKan\Application\Command\Member\ChangeMemberDetails\ChangeMemberDetailsTrait;
+use App\YoshiKan\Application\Command\Member\ChangeMemberGrade\ChangeMemberGradeTrait;
+use App\YoshiKan\Application\Command\Member\ChangeMemberRemarks\ChangeMemberRemarksTrait;
+use App\YoshiKan\Application\Command\Member\ChangePeriod\ChangePeriodTrait;
+use App\YoshiKan\Application\Command\Member\ConfirmMemberWebSubscription\ConfirmMemberWebSubscriptionTrait;
+use App\YoshiKan\Application\Command\Member\CreateMolliePaymentLink\CreateMolliePaymentLinkTrait;
+use App\YoshiKan\Application\Command\Member\DeleteMemberImage\DeleteMemberImageTrait;
+use App\YoshiKan\Application\Command\Member\MarkSubscriptionAsCanceled\MarkSubscriptionAsCanceledTrait;
+use App\YoshiKan\Application\Command\Member\MarkSubscriptionAsFinished\MarkSubscriptionAsFinishedTrait;
+use App\YoshiKan\Application\Command\Member\MarkSubscriptionAsPayed\MarkSubscriptionAsPaidTrait;
+use App\YoshiKan\Application\Command\Member\MemberExtendSubscription\MemberExtendSubscriptionTrait;
+use App\YoshiKan\Application\Command\Member\MemberExtendSubscriptionMail\MemberExtendSubscriptionMailTrait;
+use App\YoshiKan\Application\Command\Member\NewMemberSubscription\NewMemberSubscriptionTrait;
+use App\YoshiKan\Application\Command\Member\NewMemberSubscriptionMail\NewMemberSubscriptionMailTrait;
+use App\YoshiKan\Application\Command\Member\NewMemberWebSubscriptionMail\NewMemberWebSubscriptionMailTrait;
+use App\YoshiKan\Application\Command\Member\OrderFederation\OrderFederationTrait;
+use App\YoshiKan\Application\Command\Member\OrderGrade\OrderGradeTrait;
+use App\YoshiKan\Application\Command\Member\OrderGroup\OrderGroupTrait;
+use App\YoshiKan\Application\Command\Member\OrderLocation\OrderLocationTrait;
+use App\YoshiKan\Application\Command\Member\OrderPeriod\OrderPeriodTrait;
+use App\YoshiKan\Application\Command\Member\SaveSettings\SaveSettingsTrait;
+use App\YoshiKan\Application\Command\Member\SendPaymentReceivedConfirmationMail\SendPaymentReceivedConfirmationMailTrait;
+use App\YoshiKan\Application\Command\Member\SetupConfiguration\SetupConfigurationTrait;
+use App\YoshiKan\Application\Command\Member\UploadMemberImage\UploadMemberImageTrait;
+use App\YoshiKan\Application\Command\Member\UploadProfileImage\UploadProfileImageTrait;
+use App\YoshiKan\Application\Command\Message\ResendMessage\ResendMessageTrait;
+use App\YoshiKan\Application\Command\Product\AddJudogi\AddJudogiTrait;
+use App\YoshiKan\Application\Command\Product\ChangeJudogi\ChangeJudogiTrait;
+use App\YoshiKan\Application\Command\Product\OrderJudogi\OrderJudogiTrait;
+use App\YoshiKan\Application\Command\TwoFactor\GenerateAndSendMemberAccessCode\GenerateAndSendMemberAccessCodeTrait;
+use App\YoshiKan\Application\Command\TwoFactor\ValidateMemberAccessCode\ValidateMemberAccessCodeTrait;
use App\YoshiKan\Application\Security\BasePermissionService;
use App\YoshiKan\Domain\Model\Member\FederationRepository;
use App\YoshiKan\Domain\Model\Member\GradeLogRepository;
@@ -61,6 +67,9 @@
use App\YoshiKan\Domain\Model\Member\SubscriptionRepository;
use App\YoshiKan\Domain\Model\Message\MessageRepository;
use App\YoshiKan\Domain\Model\Product\JudogiRepository;
+use App\YoshiKan\Domain\Model\TwoFactor\MemberAccessCodeRepository;
+use App\YoshiKan\Infrastructure\Mollie\MollieConfig;
+use Bolt\Repository\UserRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Security\Core\Security;
@@ -69,50 +78,58 @@
class MemberCommandBus
{
// -- configuration --------------------------------------------------------
- use add_grade;
- use change_grade;
- use order_grade;
- use add_group;
- use change_group;
- use order_group;
- use add_period;
- use change_period;
- use order_period;
- use add_location;
- use change_location;
- use order_location;
- use save_settings;
- use setup_configuration;
- use add_federation;
- use change_federation;
- use order_federation;
+ use AddGradeTrait;
+ use ChangeGradeTrait;
+ use OrderGradeTrait;
+ use AddGroupTrait;
+ use ChangeGroupTrait;
+ use OrderGroupTrait;
+ use AddPeriodTrait;
+ use ChangePeriodTrait;
+ use OrderPeriodTrait;
+ use AddLocationTrait;
+ use ChangeLocationTrait;
+ use OrderLocationTrait;
+ use SaveSettingsTrait;
+ use SetupConfigurationTrait;
+ use AddFederationTrait;
+ use ChangeFederationTrait;
+ use OrderFederationTrait;
// -- members --------------------------------------------------------------
- use change_member_details;
- use change_member_grade;
- use change_member_remarks;
+ use ChangeMemberDetailsTrait;
+ use ChangeMemberGradeTrait;
+ use ChangeMemberRemarksTrait;
// -- subscription ----------------------------------------------------------
- use member_extend_subscription;
- use member_extend_subscription_mail;
- use new_member_subscription;
- use new_member_subscription_mail;
- use mark_subscription_as_paid;
- use mark_subscription_as_finished;
- use mark_subscription_as_canceled;
+ use MemberExtendSubscriptionTrait;
+ use MemberExtendSubscriptionMailTrait;
+ use NewMemberSubscriptionTrait;
+ use NewMemberWebSubscriptionMailTrait;
+ use MarkSubscriptionAsPaidTrait;
+ use MarkSubscriptionAsFinishedTrait;
+ use MarkSubscriptionAsCanceledTrait;
+ use ConfirmMemberWebSubscriptionTrait;
+ use CreateMolliePaymentLinkTrait;
+ use SendPaymentReceivedConfirmationMailTrait;
+ use NewMemberSubscriptionMailTrait;
// -- member images ---------------------------------------------------------
- use upload_member_image;
- use upload_profile_image;
- use delete_member_image;
+ use UploadProfileImageTrait;
+ use UploadMemberImageTrait;
+ use DeleteMemberImageTrait;
// -- message --------------------------------------------------------------
- use resend_message;
+ use ResendMessageTrait;
// -- product --------------------------------------------------------------
- use add_judogi;
- use change_judogi;
- use order_judogi;
+ use AddJudogiTrait;
+ use ChangeJudogiTrait;
+ use OrderJudogiTrait;
+
+ // -- two factor -----------------------------------------------------------
+ use GenerateAndSendMemberAccessCodeTrait;
+ use ValidateMemberAccessCodeTrait;
// -- permission service ----------------------------------------------------
protected BasePermissionService $permission;
@@ -141,6 +158,9 @@ public function __construct(
protected FederationRepository $federationRepository,
protected MessageRepository $messageRepository,
protected JudogiRepository $judogiRepository,
+ protected UserRepository $userRepository,
+ protected MemberAccessCodeRepository $memberAccessCodeRepository,
+ protected MollieConfig $mollieConfig,
) {
$this->permission = new BasePermissionService(
$security->getUser(),
diff --git a/application/YoshiKan/Application/MemberQueryBus.php b/application/YoshiKan/Application/MemberQueryBus.php
index 44f2c65..9e1bc50 100644
--- a/application/YoshiKan/Application/MemberQueryBus.php
+++ b/application/YoshiKan/Application/MemberQueryBus.php
@@ -13,13 +13,14 @@
namespace App\YoshiKan\Application;
-use App\YoshiKan\Application\Query\Member\download_due_payments;
-use App\YoshiKan\Application\Query\Member\get_configuration;
-use App\YoshiKan\Application\Query\Member\get_member;
-use App\YoshiKan\Application\Query\Member\get_member_image;
-use App\YoshiKan\Application\Query\Member\get_subscription;
-use App\YoshiKan\Application\Query\Message\get_message;
-use App\YoshiKan\Application\Query\Reporting\get_reporting;
+use App\YoshiKan\Application\Query\Member\DownloadDuePaymentsTrait;
+use App\YoshiKan\Application\Query\Member\ExportSubscriptionsTrait;
+use App\YoshiKan\Application\Query\Member\GetConfigurationTrait;
+use App\YoshiKan\Application\Query\Member\GetMemberImageTrait;
+use App\YoshiKan\Application\Query\Member\GetMemberTrait;
+use App\YoshiKan\Application\Query\Member\GetSubscriptionTrait;
+use App\YoshiKan\Application\Query\Message\GetMessageTrait;
+use App\YoshiKan\Application\Query\Reporting\GetReportingTrait;
use App\YoshiKan\Application\Security\BasePermissionService;
use App\YoshiKan\Domain\Model\Member\FederationRepository;
use App\YoshiKan\Domain\Model\Member\GradeRepository;
@@ -42,13 +43,14 @@ class MemberQueryBus
// —— Traits
// ——————————————————————————————————————————————————————————————————————————
- use get_configuration;
- use get_member;
- use get_member_image;
- use get_message;
- use get_subscription;
- use download_due_payments;
- use get_reporting;
+ use GetConfigurationTrait;
+ use GetMemberTrait;
+ use GetMemberImageTrait;
+ use GetMessageTrait;
+ use GetSubscriptionTrait;
+ use DownloadDuePaymentsTrait;
+ use GetReportingTrait;
+ use ExportSubscriptionsTrait;
// ——————————————————————————————————————————————————————————————————————————
// —— Security
diff --git a/application/YoshiKan/Application/Query/Member/download_due_payments.php b/application/YoshiKan/Application/Query/Member/DownloadDuePaymentsTrait.php
similarity index 96%
rename from application/YoshiKan/Application/Query/Member/download_due_payments.php
rename to application/YoshiKan/Application/Query/Member/DownloadDuePaymentsTrait.php
index e53705b..3575193 100644
--- a/application/YoshiKan/Application/Query/Member/download_due_payments.php
+++ b/application/YoshiKan/Application/Query/Member/DownloadDuePaymentsTrait.php
@@ -13,7 +13,7 @@
namespace App\YoshiKan\Application\Query\Member;
-trait download_due_payments
+trait DownloadDuePaymentsTrait
{
public function downloadDuePayments(): bool
{
diff --git a/application/YoshiKan/Application/Query/Member/ExportSubscriptions.php b/application/YoshiKan/Application/Query/Member/ExportSubscriptions.php
index 3c624e4..f417320 100644
--- a/application/YoshiKan/Application/Query/Member/ExportSubscriptions.php
+++ b/application/YoshiKan/Application/Query/Member/ExportSubscriptions.php
@@ -13,15 +13,24 @@
namespace App\YoshiKan\Application\Query\Member;
+use App\YoshiKan\Domain\Model\Member\LocationRepository;
+use App\YoshiKan\Domain\Model\Member\MemberRepository;
use App\YoshiKan\Domain\Model\Member\PeriodRepository;
use App\YoshiKan\Domain\Model\Member\SubscriptionRepository;
+use Dompdf\Dompdf;
+use Dompdf\Options;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
+use Twig\Environment;
class ExportSubscriptions
{
public function __construct(
protected SubscriptionRepository $subscriptionRepository,
- protected PeriodRepository $periodRepository
+ protected PeriodRepository $periodRepository,
+ protected MemberRepository $memberRepository,
+ protected LocationRepository $locationRepository,
+ protected Environment $twig,
+ protected string $uploadFolder,
) {
}
@@ -50,7 +59,7 @@ public function exportSubscriptions(array $listIds): Spreadsheet
++$rowCounter;
foreach ($subscriptions as $subscription) {
$sheet->setCellValue([1, $rowCounter], 'YKS-'.$subscription->getId());
- $sheet->setCellValue([2, $rowCounter], strtoupper($subscription->getLastname()));
+ $sheet->setCellValue([2, $rowCounter], mb_strtoupper($subscription->getLastname()));
$sheet->setCellValue([3, $rowCounter], $subscription->getFirstname());
$sheet->setCellValue([4, $rowCounter], $subscription->getDateOfBirth()->format('d/m/Y'));
$sheet->setCellValue([5, $rowCounter], $subscription->getGenderAsString());
@@ -79,4 +88,87 @@ public function exportSubscriptions(array $listIds): Spreadsheet
return $spreadsheet;
}
+
+ public function exportMembersForLocation(int $locationId): Spreadsheet
+ {
+ $location = $this->locationRepository->getById($locationId);
+ $locationCode = $location->getCode();
+ $members = $this->memberRepository->getActiveMembersByLocation($location);
+
+ $spreadsheet = new Spreadsheet();
+ $sheet = $spreadsheet->getActiveSheet();
+ $sheet->setTitle($location->getName());
+
+ // -- header ----------------------------------------------------------------
+ $rowCounter = 1;
+ $sheet->setCellValue([1, $rowCounter], 'Ref.');
+ $sheet->setCellValue([2, $rowCounter], 'Naam');
+ $sheet->setCellValue([3, $rowCounter], 'Voornaam');
+ $sheet->setCellValue([4, $rowCounter], 'Geslacht');
+ $sheet->setCellValue([5, $rowCounter], 'Geboortedatum');
+ $sheet->setCellValue([6, $rowCounter], 'Leeftijd');
+ $sheet->setCellValue([7, $rowCounter], 'Adres');
+ $sheet->setCellValue([8, $rowCounter], 'Postcode');
+ $sheet->setCellValue([9, $rowCounter], 'Gemeente');
+
+ // -- data -----------------------------------------------------------------
+ ++$rowCounter;
+ foreach ($members as $member) {
+ $now = new \DateTimeImmutable();
+ $age = $now->diff($member->getDateOfBirth())->y;
+
+ $sheet->setCellValue([1, $rowCounter], 'YK-'.$member->getId());
+ $sheet->setCellValue([2, $rowCounter], $member->getLastname());
+ $sheet->setCellValue([3, $rowCounter], $member->getFirstname());
+ $sheet->setCellValue([4, $rowCounter], $member->getGenderAsString());
+ $sheet->setCellValue([5, $rowCounter], $member->getDateOfBirth()->format('d/m/Y'));
+ $sheet->setCellValue([6, $rowCounter], $age);
+ $sheet->setCellValue([7, $rowCounter], $member->getAddressStreet().' '.$member->getAddressNumber().' '.$member->getAddressBox());
+ $sheet->setCellValue([8, $rowCounter], $member->getAddressZip());
+ $sheet->setCellValue([9, $rowCounter], $member->getAddressCity());
+ ++$rowCounter;
+ }
+
+ // -- first row bold ------------------------------------------------------
+ $highestColumn = $sheet->getHighestColumn();
+ $sheet->getStyle('A1:'.$highestColumn.'1')->getFont()->setBold(true);
+ $sheet->setSelectedCell('A1');
+
+ // -- autosize the columns ------------------------------------------------
+ for ($i = 'A'; $i != $sheet->getHighestColumn(); ++$i) {
+ $sheet->getColumnDimension($i)->setAutoSize(true);
+ }
+ $sheet->getColumnDimension($sheet->getHighestColumn())->setAutoSize(true);
+
+ return $spreadsheet;
+ }
+
+ public function renderMembersForLocation(int $locationId): bool
+ {
+ $location = $this->locationRepository->getById($locationId);
+ $locationCode = $location->getCode();
+ $members = $this->memberRepository->getActiveMembersByLocation($location);
+
+ $generatedOn = new \DateTimeImmutable();
+ $pdfHtml = $this->twig->render('pdf/list_member.html.twig', [
+ 'members' => $members,
+ 'generatedOn' => $generatedOn,
+ 'locationName' => $location->getName(),
+ ]);
+
+ $options = new Options();
+ $options->set('isRemoteEnabled', true);
+ $options->set('isPhpEnabled', true);
+ $dompdf = new Dompdf($options);
+ $dompdf->loadHtml($pdfHtml);
+ $dompdf->setPaper('A4', 'landscape');
+ $dompdf->render();
+
+ $fileName = $generatedOn->format('YmdHis').'_YoshiKan_Leden_'.$locationCode.'.pdf';
+ $dompdf->stream($fileName, ['Attachment' => false]);
+
+ exit;
+
+ return true;
+ }
}
diff --git a/application/YoshiKan/Application/Query/Member/ExportSubscriptionsTrait.php b/application/YoshiKan/Application/Query/Member/ExportSubscriptionsTrait.php
new file mode 100644
index 0000000..01d4246
--- /dev/null
+++ b/application/YoshiKan/Application/Query/Member/ExportSubscriptionsTrait.php
@@ -0,0 +1,51 @@
+permission->CheckRole(['ROLE_DEVELOPER', 'ROLE_ADMIN', 'ROLE_CHIEF_EDITOR']);
+
+ $exporter = new ExportSubscriptions(
+ subscriptionRepository: $this->subscriptionRepository,
+ periodRepository: $this->periodRepository,
+ memberRepository: $this->memberRepository,
+ locationRepository: $this->locationRepository,
+ twig: $this->twig,
+ uploadFolder: $this->uploadFolder,
+ );
+
+ return $exporter->renderMembersForLocation($locationId);
+ }
+
+ public function downloadMemberOverviewForLocationAsExcel(int $locationId): Spreadsheet
+ {
+ $this->permission->CheckRole(['ROLE_DEVELOPER', 'ROLE_ADMIN', 'ROLE_CHIEF_EDITOR']);
+
+ $exporter = new ExportSubscriptions(
+ subscriptionRepository: $this->subscriptionRepository,
+ periodRepository: $this->periodRepository,
+ memberRepository: $this->memberRepository,
+ locationRepository: $this->locationRepository,
+ twig: $this->twig,
+ uploadFolder: $this->uploadFolder,
+ );
+
+ return $exporter->exportMembersForLocation($locationId);
+ }
+}
diff --git a/application/YoshiKan/Application/Query/Member/get_configuration.php b/application/YoshiKan/Application/Query/Member/GetConfigurationTrait.php
similarity index 98%
rename from application/YoshiKan/Application/Query/Member/get_configuration.php
rename to application/YoshiKan/Application/Query/Member/GetConfigurationTrait.php
index 745afe6..f88434f 100644
--- a/application/YoshiKan/Application/Query/Member/get_configuration.php
+++ b/application/YoshiKan/Application/Query/Member/GetConfigurationTrait.php
@@ -16,7 +16,7 @@
use App\YoshiKan\Application\Query\Member\Readmodel\ConfigurationReadModel;
use App\YoshiKan\Application\Query\Member\Readmodel\WebConfigurationReadModel;
-trait get_configuration
+trait GetConfigurationTrait
{
public function getWebConfiguration(): WebConfigurationReadModel
{
diff --git a/application/YoshiKan/Application/Query/Member/GetMemberImage.php b/application/YoshiKan/Application/Query/Member/GetMemberImage.php
index 514547e..bf4d726 100644
--- a/application/YoshiKan/Application/Query/Member/GetMemberImage.php
+++ b/application/YoshiKan/Application/Query/Member/GetMemberImage.php
@@ -1,5 +1,16 @@
permission->CheckRole(['ROLE_DEVELOPER', 'ROLE_ADMIN', 'ROLE_CHIEF_EDITOR']);
- $exporter = new ExportSubscriptions($this->subscriptionRepository, $this->periodRepository);
+ $exporter = new ExportSubscriptions(
+ subscriptionRepository: $this->subscriptionRepository,
+ periodRepository: $this->periodRepository,
+ memberRepository: $this->memberRepository,
+ locationRepository: $this->locationRepository,
+ twig: $this->twig,
+ uploadFolder: $this->uploadFolder,
+ );
return $exporter->exportSubscriptions($listIds);
}
diff --git a/application/YoshiKan/Application/Query/Member/PrintSubscriptions.php b/application/YoshiKan/Application/Query/Member/PrintSubscriptions.php
index 360e8e3..9a0d303 100644
--- a/application/YoshiKan/Application/Query/Member/PrintSubscriptions.php
+++ b/application/YoshiKan/Application/Query/Member/PrintSubscriptions.php
@@ -1,5 +1,16 @@
collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/GradeLogReadModelCollection.php b/application/YoshiKan/Application/Query/Member/Readmodel/GradeLogReadModelCollection.php
index 1b90985..724fbf3 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/GradeLogReadModelCollection.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/GradeLogReadModelCollection.php
@@ -34,7 +34,7 @@ public function jsonSerialize(): \stdClass
return $json;
}
- public function addItem(GradeLogReadModel $readModel)
+ public function addItem(GradeLogReadModel $readModel): void
{
$this->collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/GradeReadModelCollection.php b/application/YoshiKan/Application/Query/Member/Readmodel/GradeReadModelCollection.php
index dc1440a..361a91a 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/GradeReadModelCollection.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/GradeReadModelCollection.php
@@ -35,7 +35,7 @@ public function jsonSerialize(): \stdClass
return $json;
}
- public function addItem(GradeReadModel $readModel)
+ public function addItem(GradeReadModel $readModel): void
{
$this->collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/GroupReadModelCollection.php b/application/YoshiKan/Application/Query/Member/Readmodel/GroupReadModelCollection.php
index 42b250c..4d50131 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/GroupReadModelCollection.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/GroupReadModelCollection.php
@@ -35,7 +35,7 @@ public function jsonSerialize(): \stdClass
return $json;
}
- public function addItem(GroupReadModel $readModel)
+ public function addItem(GroupReadModel $readModel): void
{
$this->collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/LocationReadModelCollection.php b/application/YoshiKan/Application/Query/Member/Readmodel/LocationReadModelCollection.php
index c82e09f..9e4c2f5 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/LocationReadModelCollection.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/LocationReadModelCollection.php
@@ -35,7 +35,7 @@ public function jsonSerialize(): \stdClass
return $json;
}
- public function addItem(LocationReadModel $readModel)
+ public function addItem(LocationReadModel $readModel): void
{
$this->collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/MemberImageReadModel.php b/application/YoshiKan/Application/Query/Member/Readmodel/MemberImageReadModel.php
index c18c954..f446e9a 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/MemberImageReadModel.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/MemberImageReadModel.php
@@ -1,5 +1,14 @@
collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/MemberReadModel.php b/application/YoshiKan/Application/Query/Member/Readmodel/MemberReadModel.php
index dc885b2..86bda44 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/MemberReadModel.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/MemberReadModel.php
@@ -105,11 +105,15 @@ public function jsonSerialize(): \stdClass
if (!is_null($this->getRemarks())) {
$json->remarks = $this->getRemarks();
}
- if (!is_null($this->getGradeLogs())) {
- $json->gradeLogs = $this->getGradeLogs()->getCollection();
+
+ $gradeLogs = $this->getGradeLogs();
+ if (!is_null($gradeLogs)) {
+ $json->gradeLogs = $gradeLogs->getCollection();
}
- if (!is_null($this->getImages())) {
- $json->images = $this->getImages()->getCollection();
+
+ $images = $this->getImages();
+ if (!is_null($images)) {
+ $json->images = $images->getCollection();
}
return $json;
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/MemberReadModelCollection.php b/application/YoshiKan/Application/Query/Member/Readmodel/MemberReadModelCollection.php
index c8385fb..836ec07 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/MemberReadModelCollection.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/MemberReadModelCollection.php
@@ -35,7 +35,7 @@ public function jsonSerialize(): \stdClass
return $json;
}
- public function addItem(MemberReadModel $readModel)
+ public function addItem(MemberReadModel $readModel): void
{
$this->collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/MemberSuggestModel.php b/application/YoshiKan/Application/Query/Member/Readmodel/MemberSuggestModel.php
index f8fc9cd..2bf0180 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/MemberSuggestModel.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/MemberSuggestModel.php
@@ -1,5 +1,16 @@
collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionItemReadModel.php b/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionItemReadModel.php
index bc5aeb5..3dfec1a 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionItemReadModel.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionItemReadModel.php
@@ -1,5 +1,14 @@
collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionReadModel.php b/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionReadModel.php
index 61bc307..eda23d9 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionReadModel.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionReadModel.php
@@ -1,5 +1,14 @@
getMember()) {
- $memberId = $model->getMember()->getId();
+ $member = $model->getMember();
+ if (false === is_null($member)) {
+ $memberId = $member->getId();
}
$messageId = null;
diff --git a/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionReadModelCollection.php b/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionReadModelCollection.php
index 4ab567f..c600492 100644
--- a/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionReadModelCollection.php
+++ b/application/YoshiKan/Application/Query/Member/Readmodel/SubscriptionReadModelCollection.php
@@ -1,5 +1,14 @@
memberRepository->getById($memberId);
$messages = $this->messageRepository->getByMember($member);
- $messageCollection = new MessageReadmodelCollection([]);
+ $messageCollection = new MessageReadModelCollection([]);
foreach ($messages as $message) {
- $messageCollection->addItem(MessageReadmodel::hydrateFromModel($message));
+ $messageCollection->addItem(MessageReadModel::hydrateFromModel($message));
}
return $messageCollection;
diff --git a/application/YoshiKan/Application/Query/Message/get_message.php b/application/YoshiKan/Application/Query/Message/GetMessageTrait.php
similarity index 98%
rename from application/YoshiKan/Application/Query/Message/get_message.php
rename to application/YoshiKan/Application/Query/Message/GetMessageTrait.php
index b79f0f0..e19957d 100644
--- a/application/YoshiKan/Application/Query/Message/get_message.php
+++ b/application/YoshiKan/Application/Query/Message/GetMessageTrait.php
@@ -16,7 +16,7 @@
use App\YoshiKan\Application\Query\Message\Readmodel\MessageReadModel;
use App\YoshiKan\Application\Query\Message\Readmodel\MessageReadModelCollection;
-trait get_message
+trait GetMessageTrait
{
/**
* @throws \Exception
diff --git a/application/YoshiKan/Application/Query/Product/JudogiReadModelCollection.php b/application/YoshiKan/Application/Query/Product/JudogiReadModelCollection.php
index 8521300..420e578 100644
--- a/application/YoshiKan/Application/Query/Product/JudogiReadModelCollection.php
+++ b/application/YoshiKan/Application/Query/Product/JudogiReadModelCollection.php
@@ -36,7 +36,7 @@ public function jsonSerialize(): \stdClass
return $json;
}
- public function addItem(JudogiReadModel $readModel)
+ public function addItem(JudogiReadModel $readModel): void
{
$this->collection[] = $readModel;
}
diff --git a/application/YoshiKan/Application/Query/Reporting/GetReporting.php b/application/YoshiKan/Application/Query/Reporting/GetReporting.php
index e56d2fa..bf79f7d 100644
--- a/application/YoshiKan/Application/Query/Reporting/GetReporting.php
+++ b/application/YoshiKan/Application/Query/Reporting/GetReporting.php
@@ -1,5 +1,16 @@
locationReports[] = $locationReport;
}
- public function setNumbers($numberOfWebSubscriptions, $numberOfDuePayments): void
+ /**
+ * @psalm-param int<0, max> $numberOfWebSubscriptions
+ * @psalm-param int<0, max> $numberOfDuePayments
+ */
+ public function setNumbers(int $numberOfWebSubscriptions, int $numberOfDuePayments): void
{
$this->numberOfWebSubscriptions = $numberOfWebSubscriptions;
$this->numberOfDuePayments = $numberOfDuePayments;
diff --git a/application/YoshiKan/Application/QueryBus.php b/application/YoshiKan/Application/QueryBus.php
index 992da46..777bc0f 100644
--- a/application/YoshiKan/Application/QueryBus.php
+++ b/application/YoshiKan/Application/QueryBus.php
@@ -13,8 +13,8 @@
namespace App\YoshiKan\Application;
-use App\YoshiKan\Application\Query\Member\get_configuration;
-use App\YoshiKan\Application\Query\Member\get_member;
+use App\YoshiKan\Application\Query\Member\GetConfigurationTrait;
+use App\YoshiKan\Application\Query\Member\GetMemberTrait;
use App\YoshiKan\Application\Security\BasePermissionService;
use App\YoshiKan\Domain\Model\Member\FederationRepository;
use App\YoshiKan\Domain\Model\Member\GradeRepository;
@@ -31,8 +31,8 @@
class QueryBus
{
- use get_configuration;
- use get_member;
+ use GetConfigurationTrait;
+ use GetMemberTrait;
protected BasePermissionService $permission;
private const ADMIN = 1;
diff --git a/application/YoshiKan/Application/Settings.php b/application/YoshiKan/Application/Settings.php
index ffa2042..aedf5a4 100644
--- a/application/YoshiKan/Application/Settings.php
+++ b/application/YoshiKan/Application/Settings.php
@@ -1,10 +1,21 @@
code = $code;
$this->name = $name;
$this->yearlySubscriptionFee = $yearlySubscriptionFee;
+ $this->publicLabel = $publicLabel;
}
// —————————————————————————————————————————————————————————————————————————
@@ -121,10 +122,6 @@ public function change(
$this->publicLabel = trim($publicLabel);
}
- // —————————————————————————————————————————————————————————————————————————
- // Other Setters
- // —————————————————————————————————————————————————————————————————————————
-
// —————————————————————————————————————————————————————————————————————————
// Getters
// —————————————————————————————————————————————————————————————————————————
@@ -148,8 +145,4 @@ public function getYearlySubscriptionFee(): ?int
{
return $this->yearlySubscriptionFee;
}
-
- // —————————————————————————————————————————————————————————————————————————
- // Other model getters
- // —————————————————————————————————————————————————————————————————————————
}
diff --git a/application/YoshiKan/Domain/Model/Member/Member.php b/application/YoshiKan/Domain/Model/Member/Member.php
index b6f7b18..c2ae4fe 100644
--- a/application/YoshiKan/Domain/Model/Member/Member.php
+++ b/application/YoshiKan/Domain/Model/Member/Member.php
@@ -350,6 +350,26 @@ public function setProfileImage(string $profileImage): void
$this->profileImage = $profileImage;
}
+ public function activate(): void
+ {
+ $this->status = MemberStatus::ACTIVE->value;
+ }
+
+ public function deactivate(): void
+ {
+ $this->status = MemberStatus::NON_ACTIVE->value;
+ }
+
+ public function syncFromSubscription(
+ Federation $federation,
+ int $numberOfTraining,
+ bool $isHalfYearSubscription,
+ ): void {
+ $this->federation = $federation;
+ $this->numberOfTraining = $numberOfTraining;
+ $this->memberSubscriptionIsHalfYear = $isHalfYearSubscription;
+ }
+
// —————————————————————————————————————————————————————————————————————————
// Getters
// —————————————————————————————————————————————————————————————————————————
@@ -486,12 +506,12 @@ public function getProfileImage(): string
public function getGradeLogs(): array
{
- return $this->gradeLogs->getValues();
+ return null !== $this->gradeLogs ? $this->gradeLogs->getValues() : [];
}
public function getMemberImages(): array
{
- return $this->memberImages->getValues();
+ return null !== $this->memberImages ? $this->memberImages->getValues() : [];
}
public function getFederation(): Federation
@@ -526,6 +546,6 @@ public function getContactPhone(): string
public function getMessages(): array
{
- return $this->messages->getValues();
+ return null !== $this->messages ? $this->messages->getValues() : [];
}
}
diff --git a/application/YoshiKan/Domain/Model/Member/MemberRepository.php b/application/YoshiKan/Domain/Model/Member/MemberRepository.php
index a7a6861..d28a2fe 100644
--- a/application/YoshiKan/Domain/Model/Member/MemberRepository.php
+++ b/application/YoshiKan/Domain/Model/Member/MemberRepository.php
@@ -29,8 +29,14 @@ public function getByUuid(Uuid $uuid): Member;
public function findByNameAndDateOfBirth(string $firstname, string $lastname, \DateTimeImmutable $dateOfBirth): ?Member;
+ /**
+ * @return Member[]
+ */
public function findByNameOrDateOfBirth(string $firstname, string $lastname, \DateTimeImmutable $dateOfBirth): array;
+ /**
+ * @return Member[]
+ */
public function search(
string $keyword = '',
int $yearOfBirth = 0,
@@ -38,9 +44,21 @@ public function search(
Grade $grade = null,
int $minYearOfBirth = 0,
int $maxYearOfBirth = 0,
+ bool $isActive = null,
): array;
+ /**
+ * @return Member[]
+ */
public function listActiveMembers(): array;
+ /**
+ * @return Member[]
+ */
public function getActiveMembersByFederationAndLocation(Federation $federation, Location $location): array;
+
+ /**
+ * @return Member[]
+ */
+ public function getActiveMembersByLocation(Location $location): array;
}
diff --git a/application/YoshiKan/Domain/Model/Member/Subscription.php b/application/YoshiKan/Domain/Model/Member/Subscription.php
index 5ee3a7e..4a34331 100644
--- a/application/YoshiKan/Domain/Model/Member/Subscription.php
+++ b/application/YoshiKan/Domain/Model/Member/Subscription.php
@@ -150,7 +150,21 @@ class Subscription
#[ORM\Column(length: 191, nullable: true)]
private ?string $addressCity = null;
- // ------------------------------------------------------------ associations
+ // -- payment fields --------------------------------------------------------
+
+ #[ORM\Column(length: 191)]
+ private string $paymentLink = '';
+
+ #[ORM\Column(length: 191)]
+ private string $paymentLinkId = '';
+
+ #[ORM\Column(length: 191)]
+ private string $paymentId = '';
+
+ #[ORM\Column(length: 36)]
+ private string $paymentType = SubscriptionPaymentType::TRANSFER->value;
+
+ // -- associations ----------------------------------------------------------
#[ORM\ManyToOne(targetEntity: "App\YoshiKan\Domain\Model\Member\Member", fetch: 'EXTRA_LAZY', inversedBy: 'subscriptions')]
#[ORM\JoinColumn(nullable: true)]
private ?Member $member;
@@ -366,7 +380,7 @@ public function setNewMemberFields(
string $addressBox,
string $addressZip,
string $addressCity
- ) {
+ ): void {
$this->nationalRegisterNumber = $nationalRegisterNumber;
$this->addressStreet = $addressStreet;
$this->addressNumber = $addressNumber;
@@ -375,6 +389,68 @@ public function setNewMemberFields(
$this->addressCity = $addressCity;
}
+ public function fullChange(
+ string $contactFirstname,
+ string $contactLastname,
+ string $contactEmail,
+ string $contactPhone,
+ string $firstname,
+ string $lastname,
+ \DateTimeImmutable $dateOfBirth,
+ Gender $gender,
+ SubscriptionType $type,
+ int $numberOfTraining,
+ bool $isExtraTraining,
+ bool $isNewMember,
+ bool $isReductionFamily,
+ bool $isJudogiBelt,
+ string $remarks,
+ Location $location,
+ Federation $federation,
+ \DateTimeImmutable $memberSubscriptionStart,
+ \DateTimeImmutable $memberSubscriptionEnd,
+ float $memberSubscriptionTotal,
+ bool $memberSubscriptionIsPartSubscription,
+ bool $memberSubscriptionIsHalfYear,
+ bool $memberSubscriptionIsPayed,
+ \DateTimeImmutable $licenseStart,
+ \DateTimeImmutable $licenseEnd,
+ float $licenseTotal,
+ bool $licenseIsPartSubscription,
+ bool $licenseIsPayed,
+ ): void {
+ $this->contactFirstname = $contactFirstname;
+ $this->contactLastname = $contactLastname;
+ $this->contactEmail = $contactEmail;
+ $this->contactPhone = $contactPhone;
+ $this->firstname = $firstname;
+ $this->lastname = $lastname;
+ $this->dateOfBirth = $dateOfBirth;
+ $this->gender = $gender->value;
+ $this->type = $type->value;
+ $this->numberOfTraining = $numberOfTraining;
+ $this->isExtraTraining = $isExtraTraining;
+ $this->isNewMember = $isNewMember;
+ $this->isReductionFamily = $isReductionFamily;
+ $this->isJudogiBelt = $isJudogiBelt;
+ $this->remarks = $remarks;
+ $this->location = $location;
+ $this->federation = $federation;
+ $this->memberSubscriptionStart = $memberSubscriptionStart;
+ $this->memberSubscriptionEnd = $memberSubscriptionEnd;
+ $this->memberSubscriptionTotal = $memberSubscriptionTotal;
+ $this->memberSubscriptionIsPartSubscription = $memberSubscriptionIsPartSubscription;
+ $this->memberSubscriptionIsHalfYear = $memberSubscriptionIsHalfYear;
+ $this->memberSubscriptionIsPayed = $memberSubscriptionIsPayed;
+ $this->licenseStart = $licenseStart;
+ $this->licenseEnd = $licenseEnd;
+ $this->licenseTotal = $licenseTotal;
+ $this->licenseIsPartSubscription = $licenseIsPartSubscription;
+ $this->licenseIsPayed = $licenseIsPayed;
+ $this->total = ceil($this->memberSubscriptionTotal + $this->licenseTotal);
+ $this->items = new ArrayCollection();
+ }
+
public function changeStatus(SubscriptionStatus $status): void
{
$this->status = $status->value;
@@ -395,6 +471,35 @@ public function flagSubscriptionIsPrinted(): void
$this->isPrinted = true;
}
+ public function setTotal(float $total): void
+ {
+ $this->total = $total;
+ }
+
+ public function updateSettings(array $settings): void
+ {
+ $this->settings = $settings;
+ }
+
+ // —————————————————————————————————————————————————————————————————————————
+ // Payment information setters
+ // —————————————————————————————————————————————————————————————————————————
+
+ public function setMolliePaymentInfo(
+ string $paymentId,
+ string $paymentLink,
+ string $paymentLinkId,
+ ): void {
+ $this->paymentId = $paymentId;
+ $this->paymentLink = $paymentLink;
+ $this->paymentLinkId = $paymentLinkId;
+ }
+
+ public function setPaymentTypeInfo(SubscriptionPaymentType $type): void
+ {
+ $this->paymentType = $type->value;
+ }
+
// —————————————————————————————————————————————————————————————————————————
// Getters
// —————————————————————————————————————————————————————————————————————————
@@ -630,7 +735,7 @@ public function isLicenseIsPayed(): bool
public function getMessages(): array
{
- return $this->messages->getValues();
+ return null !== $this->messages ? $this->messages->getValues() : [];
}
/**
@@ -641,6 +746,30 @@ public function getItems(): array
return $this->items->getValues();
}
+ // —————————————————————————————————————————————————————————————————————————
+ // Payment information fields
+ // —————————————————————————————————————————————————————————————————————————
+
+ public function getPaymentLink(): string
+ {
+ return $this->paymentLink;
+ }
+
+ public function getPaymentLinkId(): string
+ {
+ return $this->paymentLinkId;
+ }
+
+ public function getPaymentId(): string
+ {
+ return $this->paymentId;
+ }
+
+ public function getPaymentType(): string
+ {
+ return $this->paymentType;
+ }
+
// —————————————————————————————————————————————————————————————————————————
// Subscription fee calculation function
// —————————————————————————————————————————————————————————————————————————
@@ -693,7 +822,12 @@ public function calculate(): float
}
if ($this->licenseIsPartSubscription()) {
- $this->licenseTotal = $this->federation->getYearlySubscriptionFee();
+ $federationFee = $this->federation->getYearlySubscriptionFee();
+ if (false === is_null($federationFee)) {
+ $this->licenseTotal = $federationFee;
+ } else {
+ $this->licenseTotal = 0;
+ }
} else {
$this->licenseTotal = 0;
}
diff --git a/application/YoshiKan/Domain/Model/Member/SubscriptionPaymentType.php b/application/YoshiKan/Domain/Model/Member/SubscriptionPaymentType.php
new file mode 100644
index 0000000..bda7cda
--- /dev/null
+++ b/application/YoshiKan/Domain/Model/Member/SubscriptionPaymentType.php
@@ -0,0 +1,21 @@
+subscriptions->getValues();
+ return null !== $this->subscriptions ? $this->subscriptions->getValues() : [];
}
}
diff --git a/application/YoshiKan/Domain/Model/TwoFactor/MemberAccessCode.php b/application/YoshiKan/Domain/Model/TwoFactor/MemberAccessCode.php
new file mode 100644
index 0000000..5d31010
--- /dev/null
+++ b/application/YoshiKan/Domain/Model/TwoFactor/MemberAccessCode.php
@@ -0,0 +1,114 @@
+ 0])]
+ private bool $isActive = false;
+
+ #[ORM\Column(nullable: true)]
+ private ?\DateTimeImmutable $usedAt = null;
+
+ #[ORM\ManyToOne(targetEntity: "Bolt\Entity\User", fetch: 'EXTRA_LAZY')]
+ #[ORM\JoinColumn(nullable: false)]
+ private User $user;
+
+ // —————————————————————————————————————————————————————————————————————————
+ // Constructor
+ // —————————————————————————————————————————————————————————————————————————
+
+ private function __construct(
+ User $user,
+ Uuid $uuid,
+ string $code,
+ ) {
+ $this->user = $user;
+ $this->uuid = $uuid;
+ $this->code = $code;
+ $this->isActive = true;
+ }
+
+ public function use(): void
+ {
+ $this->isActive = false;
+ $this->usedAt = new \DateTimeImmutable();
+ }
+
+ public function invalidate(): void
+ {
+ $this->isActive = false;
+ }
+
+ // —————————————————————————————————————————————————————————————————————————
+ // Maker
+ // —————————————————————————————————————————————————————————————————————————
+
+ public static function make(
+ User $user,
+ Uuid $uuid,
+ string $code,
+ ): self {
+ return new self(
+ user: $user,
+ uuid: $uuid,
+ code: $code,
+ );
+ }
+
+ // —————————————————————————————————————————————————————————————————————————
+ // Getters
+ // —————————————————————————————————————————————————————————————————————————
+
+ public function getCode(): string
+ {
+ return $this->code;
+ }
+
+ public function isActive(): bool
+ {
+ return $this->isActive;
+ }
+
+ public function getUsedAt(): ?\DateTimeImmutable
+ {
+ return $this->usedAt;
+ }
+
+ public function getUser(): User
+ {
+ return $this->user;
+ }
+}
diff --git a/application/YoshiKan/Domain/Model/TwoFactor/MemberAccessCodeRepository.php b/application/YoshiKan/Domain/Model/TwoFactor/MemberAccessCodeRepository.php
new file mode 100644
index 0000000..f37e21d
--- /dev/null
+++ b/application/YoshiKan/Domain/Model/TwoFactor/MemberAccessCodeRepository.php
@@ -0,0 +1,37 @@
+createQueryBuilder('t')
@@ -122,6 +125,9 @@ public function findByNameOrDateOfBirth(string $firstname, string $lastname, \Da
return $q->getQuery()->getResult();
}
+ /**
+ * @return Member[]
+ */
public function search(
string $keyword = '',
int $yearOfBirth = 0,
@@ -129,9 +135,10 @@ public function search(
Grade $grade = null,
int $minYearOfBirth = 0,
int $maxYearOfBirth = 0,
+ bool $isActive = null,
): array {
$q = $this->createQueryBuilder('t')->andWhere('0 = 0');
- if (!is_null($keyword) && 0 != mb_strlen(trim($keyword))) {
+ if (0 != mb_strlen(trim($keyword))) {
$q->andWhere('LOWER(t.firstname) LIKE :keyword OR LOWER(t.lastname) LIKE :keyword OR t.id = :id')
->setParameter('keyword', '%'.mb_strtolower($keyword).'%')
->setParameter('id', intval($keyword));
@@ -153,11 +160,19 @@ public function search(
->setParameter('minYearOfBirth', $minYearOfBirth)
->setParameter('maxYearOfBirth', $maxYearOfBirth);
}
+ if (false === is_null($isActive)) {
+ $q->andWhere('t.status = :status')
+ ->setParameter('status', $isActive ? MemberStatus::ACTIVE->value : MemberStatus::NON_ACTIVE->value);
+ }
+
$q->addOrderBy('t.id', 'DESC');
return $q->getQuery()->getResult();
}
+ /**
+ * @return Member[]
+ */
public function listActiveMembers(): array
{
$q = $this->createQueryBuilder('t')
@@ -168,6 +183,9 @@ public function listActiveMembers(): array
return $q->getQuery()->getResult();
}
+ /**
+ * @return Member[]
+ */
public function getActiveMembersByFederationAndLocation(Federation $federation, Location $location): array
{
$q = $this->createQueryBuilder('t')
@@ -181,4 +199,19 @@ public function getActiveMembersByFederationAndLocation(Federation $federation,
return $q->getQuery()->getResult();
}
+
+ /**
+ * @return Member[]
+ */
+ public function getActiveMembersByLocation(Location $location): array
+ {
+ $q = $this->createQueryBuilder('t')
+ ->where('t.status = :status')
+ ->setParameter('status', MemberStatus::ACTIVE->value)
+ ->andWhere('t.location = :locationId')
+ ->setParameter('locationId', $location->getId())
+ ->addOrderBy('t.id', 'DESC');
+
+ return $q->getQuery()->getResult();
+ }
}
diff --git a/application/YoshiKan/Infrastructure/Database/Member/SubscriptionRepository.php b/application/YoshiKan/Infrastructure/Database/Member/SubscriptionRepository.php
index 7a7e1f6..4cf0804 100644
--- a/application/YoshiKan/Infrastructure/Database/Member/SubscriptionRepository.php
+++ b/application/YoshiKan/Infrastructure/Database/Member/SubscriptionRepository.php
@@ -89,6 +89,43 @@ public function getByUuid(Uuid $uuid): Subscription
return $model;
}
+ public function findByPaymentId(string $paymentId): ?Subscription
+ {
+ return $this->createQueryBuilder('t')
+ ->andWhere('t.paymentId = :payment_id')
+ ->setParameter('payment_id', $paymentId)
+ ->getQuery()
+ ->getOneOrNullResult();
+ }
+
+ public function findByMemberAndDatesAndAmounts(
+ Member $member,
+ \DateTimeImmutable $memberStartDate,
+ \DateTimeImmutable $memberEndDate,
+ \DateTimeImmutable $licenseStartDate,
+ \DateTimeImmutable $licenseEndDate,
+ float $memberShipAmount,
+ float $licenseAmount,
+ ): ?Subscription {
+ return $this->createQueryBuilder('t')
+ ->andWhere('t.member = :memberId')
+ ->setParameter('memberId', $member->getId())
+ ->andWhere('t.memberSubscriptionStart = :memberShipStart')
+ ->setParameter('memberShipStart', $memberStartDate, 'datetime_immutable')
+ ->andWhere('t.memberSubscriptionEnd = :memberShipEnd')
+ ->setParameter('memberShipEnd', $memberEndDate, 'datetime_immutable')
+ ->andWhere('t.licenseStart = :licenseShipStart')
+ ->setParameter('licenseShipStart', $licenseStartDate, 'datetime_immutable')
+ ->andWhere('t.licenseEnd = :licenseShipEnd')
+ ->setParameter('licenseShipEnd', $licenseEndDate, 'datetime_immutable')
+ ->andWhere('t.memberSubscriptionTotal = :memberShipAmount')
+ ->setParameter('memberShipAmount', $memberShipAmount)
+ ->andWhere('t.licenseTotal = :licenseAmount')
+ ->setParameter('licenseAmount', $licenseAmount)
+ ->getQuery()
+ ->getOneOrNullResult();
+ }
+
public function getMaxId(): int
{
$model = $this->createQueryBuilder('t')
diff --git a/application/YoshiKan/Infrastructure/Database/TwoFactor/MemberAccessCodeRepository.php b/application/YoshiKan/Infrastructure/Database/TwoFactor/MemberAccessCodeRepository.php
new file mode 100644
index 0000000..74dc521
--- /dev/null
+++ b/application/YoshiKan/Infrastructure/Database/TwoFactor/MemberAccessCodeRepository.php
@@ -0,0 +1,115 @@
+setChecksum();
+ $em = $this->getEntityManager();
+ $em->persist($model);
+ $id = 0;
+ if ($model->getId()) {
+ $id = $model->getId();
+ }
+
+ return $id;
+ }
+
+ public function delete(MemberAccessCode $model): bool
+ {
+ $em = $this->getEntityManager();
+ $em->remove($model);
+
+ return true;
+ }
+
+ public function getById(int $id): MemberAccessCode
+ {
+ $model = $this->find($id);
+ if (is_null($model)) {
+ throw new EntityNotFoundException(self::NO_ENTITY_FOUND);
+ }
+
+ return $model;
+ }
+
+ public function getByUuid(Uuid $uuid): MemberAccessCode
+ {
+ $model = $this->createQueryBuilder('t')
+ ->andWhere('t.uuid = :uuid')
+ ->setParameter('uuid', $uuid, 'uuid')
+ ->getQuery()
+ ->getOneOrNullResult();
+ if (is_null($model)) {
+ throw new EntityNotFoundException(self::NO_ENTITY_FOUND);
+ }
+
+ return $model;
+ }
+
+ public function findByCode(string $code): ?MemberAccessCode
+ {
+ return $this->createQueryBuilder('t')
+ ->andWhere('t.code = :code')
+ ->setParameter('code', $code)
+ ->getQuery()
+ ->getOneOrNullResult();
+ }
+
+ // —————————————————————————————————————————————————————————————————————————
+ // Multiple entity functions
+ // —————————————————————————————————————————————————————————————————————————
+
+ /**
+ * @return MemberAccessCode[]
+ */
+ public function getByActiveUser(User $user): array
+ {
+ return $this->createQueryBuilder('t')
+ ->andWhere('t.user = :user_id')
+ ->setParameter('user_id', $user->getId())
+ ->andWhere('t.isActive = 1')
+ ->getQuery()
+ ->getResult();
+ }
+}
diff --git a/application/YoshiKan/Infrastructure/Mollie/MollieConfig.php b/application/YoshiKan/Infrastructure/Mollie/MollieConfig.php
new file mode 100644
index 0000000..efe00d0
--- /dev/null
+++ b/application/YoshiKan/Infrastructure/Mollie/MollieConfig.php
@@ -0,0 +1,71 @@
+apiKey;
+ }
+
+ public function getPartnerId(): string
+ {
+ return $this->partnerId;
+ }
+
+ public function getProfileId(): string
+ {
+ return $this->profileId;
+ }
+
+ public function getRedirectBaseUrl(): string
+ {
+ return $this->redirectBaseUrl;
+ }
+}
diff --git a/application/YoshiKan/Infrastructure/Templates/mail/member_access_code_mail.html.twig b/application/YoshiKan/Infrastructure/Templates/mail/member_access_code_mail.html.twig
new file mode 100644
index 0000000..f6bf72b
--- /dev/null
+++ b/application/YoshiKan/Infrastructure/Templates/mail/member_access_code_mail.html.twig
@@ -0,0 +1,25 @@
+{% extends 'mail/base_mail.html.twig' %}
+
+{% block title %}{{ subject }}{% endblock %}
+
+{% block body %}
+
+
+ Als {{ subscription.firstname }} niet langer lid wenst te zijn, geef dan ons een seintje. Alvast bedankt.
Mocht je nog vragen hebben of extra informatie nodig hebben, aarzel dan niet om contact
diff --git a/application/YoshiKan/Infrastructure/Templates/mail/member_newMemberSubscription_mail.html.twig b/application/YoshiKan/Infrastructure/Templates/mail/member_newMemberSubscription_mail.html.twig
index f9327b0..5b9e057 100644
--- a/application/YoshiKan/Infrastructure/Templates/mail/member_newMemberSubscription_mail.html.twig
+++ b/application/YoshiKan/Infrastructure/Templates/mail/member_newMemberSubscription_mail.html.twig
@@ -13,15 +13,24 @@
Welkom {{ subscription.firstname }} {{ subscription.lastname }}, bij Yoshi-Kan,
de plek waar judo-liefhebbers samenkomen om hun passie voor
deze prachtige sport te delen. We zijn verheugd dat je ervoor hebt gekozen
- om deel uit te maken van onze judo familie!
+ om deel uit te maken van onze judo-familie!
Om de inschrijving definitief te maken en ervoor te zorgen dat je volop kunt genieten
van onze judolessen, verzoeken wij je vriendelijk om een bedrag van {{ subscription.total }} €
over te maken naar onze bankrekening op het volgende nummer: BE37 7330 0101 8328 met vermelding
van volgende referentie
- ""YKS-{{ subscription.id }} {{ subscription.lastname }} {{ subscription.firstname }}" ".
- Zo kunnen we je betaling snel identificeren. Wanneer we je betaling hebben ontvangen, zullen we je officieel
+ "YKS-{{ subscription.id }} {{ subscription.lastname }} {{ subscription.firstname }} ".
+ Zo kunnen we je betaling snel identificeren.
+
+ {% if (subscription.paymentLink is not empty) %}
+
+ Wanneer we je betaling hebben ontvangen, zullen we je officieel
inschrijven en krijg je toegang tot al onze trainingen en evenementen.
We staan te popelen om je te verwelkomen op de mat.
diff --git a/application/YoshiKan/Infrastructure/Templates/mail/payment_confirmation_mail.html.twig b/application/YoshiKan/Infrastructure/Templates/mail/payment_confirmation_mail.html.twig
new file mode 100644
index 0000000..feccbbf
--- /dev/null
+++ b/application/YoshiKan/Infrastructure/Templates/mail/payment_confirmation_mail.html.twig
@@ -0,0 +1,21 @@
+{% extends 'mail/base_mail.html.twig' %}
+
+{% block title %}{{ subject }}{% endblock %}
+
+{% block body %}
+
+
+ We hebben de betaling van het lidgeld (YKS-{{ subscription.id }}) van
+ {{ subscription.lastname | upper }} {{ subscription.firstname }}
+ goed ontvangen. Bedankt hiervoor!
+
+
@@ -139,6 +139,7 @@
tot
bedrag
betaald
+ fed.
van
tot
bedrag
@@ -154,19 +155,20 @@
{{ subscription.firstname }}
{{ subscription.memberSubscriptionStart | date('m/Y')}}
- {{ subscription.memberSubscriptionEnd | date('m/Y')}}
+ {{ subscription.memberSubscriptionEnd | date('m/Y')}}
{% if subscription.memberSubscriptionTotal != 0 %}
{{ subscription.memberSubscriptionTotal }} €
{% endif %}
- {% if subscription.memberSubscriptionIsPayed or subscription.memberSubscriptionTotal == 0 %}
+ {% if subscription.isMemberSubscriptionIsPayed or subscription.memberSubscriptionTotal == 0 %}
x
{% endif %}
+ {{ subscription.federation.code }}
{{ subscription.licenseStart | date('m/Y')}}
- {{ subscription.licenseEnd | date('m/Y')}}
+ {{ subscription.licenseEnd | date('m/Y')}}
{% if subscription.licenseTotal != 0 %}
{{ subscription.licenseTotal }} €
diff --git a/application/YoshiKan/Infrastructure/Templates/pdf/list_member.html.twig b/application/YoshiKan/Infrastructure/Templates/pdf/list_member.html.twig
new file mode 100644
index 0000000..7a698c7
--- /dev/null
+++ b/application/YoshiKan/Infrastructure/Templates/pdf/list_member.html.twig
@@ -0,0 +1,179 @@
+{# #}
+{# This file is part of the Yoshi-Kan software. #}
+{# #}
+{# (c) Koen Caerels #}
+{# #}
+{# For the full copyright and license information, please view the LICENSE #}
+{# file that was distributed with this source code. #}
+{# #}
+
+
+
+
+
+
+
+{# ------------------------------------------------------------------------------------------------------------------ #}
+
+ Leden lijst Yoshi-Kan vzw - {{ locationName }}
+
+
+ Leden lijst Yoshi-Kan vzw - {{ locationName }} - generated on {{ generatedOn |date('d/m/Y H:i:s') }}
+
+
+{# ------------------------------------------------------------------------------------------------------------------ #}
+
+
+
{{ locationName }}: {{ members | length }} leden
+
+
+
+ Ref.
+ Naam
+ Voornaam
+ Geslacht
+ Geboortedatum
+ Leeftijd
+ Adres
+ Postcode
+ Gemeente
+
+
+
+ {% for member in members %}
+
+ {% set dateDiff = generatedOn|date("U") - member.dateOfBirth|date("U") %}
+ {% set dateDiffYears = dateDiff / (60 * 60 * 24 * 365.25) %}
+
+
+ YK-{{ member.id }}
+ {{ member.lastname }}
+ {{ member.firstname }}
+ {{ member.gender.value }}
+ {{ member.dateOfBirth | date('d / m / Y') }}
+
+ {% if dateDiffYears > 18 %}
+ {{ dateDiffYears | number_format(0) }}
+ {% else %}
+ {{ dateDiffYears | number_format(0) }}
+ {% endif %}
+
+ {{ member.addressStreet }} {{ member.addressNumber }} {{ member.addressBox }}
+ {{ member.addressZip }}
+ {{ member.addressCity }}
+
+ {% endfor %}
+
+
+
+
+
+
+
+
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/ApiController.php b/application/YoshiKan/Infrastructure/Web/Controller/ApiController.php
index f944f51..03bada8 100644
--- a/application/YoshiKan/Infrastructure/Web/Controller/ApiController.php
+++ b/application/YoshiKan/Infrastructure/Web/Controller/ApiController.php
@@ -24,11 +24,13 @@
use App\YoshiKan\Domain\Model\Member\Settings;
use App\YoshiKan\Domain\Model\Member\Subscription;
use App\YoshiKan\Domain\Model\Member\SubscriptionItem;
+use App\YoshiKan\Domain\Model\Message\Message;
use App\YoshiKan\Domain\Model\Product\Judogi;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\KernelInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Routing\Annotation\Route;
@@ -96,7 +98,8 @@ public function __construct(
$this->entityManager->getRepository(Judogi::class),
$this->entityManager->getRepository(Settings::class),
$this->entityManager->getRepository(Member::class),
- $this->entityManager->getRepository(Federation::class)
+ $this->entityManager->getRepository(Federation::class),
+ $this->entityManager->getRepository(Message::class),
);
}
@@ -147,4 +150,27 @@ public function subscribeAction(Request $request): JsonResponse
return new JsonResponse($response, 200, $this->apiAccess);
}
+
+ // ———————————————————————————————————————————————————————————————————————————
+ // Mollie redirect and webhooks
+ // ———————————————————————————————————————————————————————————————————————————
+
+ #[Route('/mm/lidgeld/betaling/{paymentId}', name: 'mollie_payment_confirmation', methods: ['GET', 'POST', 'PUT'])]
+ public function molliePaymentConfirmation(Request $request, string $paymentId): Response
+ {
+ $response = $this->commandBus->markSubscriptionAsPayedFromMollie($paymentId);
+ if ($response->subscriptionId > 0) {
+ $response_mail = $this->commandBus->sendPaymentReceivedConfirmationMail($response->subscriptionId);
+
+ return $this->redirectToRoute('mollie_payment_confirmation_feedback', ['paymentId' => $paymentId]);
+ } else {
+ return new JsonResponse('No subscription linked to this ID.', 200, $this->apiAccess);
+ }
+ }
+
+ #[Route('/mm/lidgeld/betaling/{paymentId}/webhook', name: 'mollie_webhook', methods: ['GET', 'POST', 'PUT'])]
+ public function mollieWebHook(Request $request, string $paymentId): JsonResponse
+ {
+ return new JsonResponse(true, 200, $this->apiAccess);
+ }
}
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/ImportController.php b/application/YoshiKan/Infrastructure/Web/Controller/ImportController.php
new file mode 100644
index 0000000..d27c968
--- /dev/null
+++ b/application/YoshiKan/Infrastructure/Web/Controller/ImportController.php
@@ -0,0 +1,120 @@
+importFolder = $appKernel->getProjectDir().'/'.$_SERVER['UPLOAD_FOLDER'].'/_import/';
+ }
+
+ // ——————————————————————————————————————————————————————————————————————————
+ // Payment confirmation feedback
+ // ——————————————————————————————————————————————————————————————————————————
+
+ #[IsGranted('ROLE_DEVELOPER')]
+ #[Route('/mm/fWXCq7sBpYQngXil/import/active', name: 'import_active_members', methods: ['GET'])]
+ public function importActiveMembers(Request $request): Response
+ {
+ $dataFile = $this->importFolder.'Gegevens.xlsx';
+ $importHandler = new ImportActiveMembersHandler(
+ $dataFile,
+ $this->entityManager,
+ $this->entityManager->getRepository(Member::class),
+ $this->entityManager->getRepository(Subscription::class),
+ $this->entityManager->getRepository(Federation::class),
+ $this->entityManager->getRepository(Location::class),
+ $this->entityManager->getRepository(Grade::class),
+ $this->entityManager->getRepository(Settings::class),
+ $this->entityManager->getRepository(SubscriptionItem::class),
+ );
+
+ $result = $importHandler->import();
+
+ $response = 'Imported!';
+
+ return new JsonResponse($response, 200, []);
+ }
+
+ #[IsGranted('ROLE_DEVELOPER')]
+ #[Route('/mm/fWXCq7sBpYQngXil/import/archive', name: 'import_archive_members', methods: ['GET'])]
+ public function importArchiveMembers(Request $request): Response
+ {
+ $dataFile = $this->importFolder.'Logging.xlsx';
+ $importHandler = new ImportSubscriptionArchiveHandler(
+ $dataFile,
+ $this->entityManager,
+ $this->entityManager->getRepository(Member::class),
+ $this->entityManager->getRepository(Subscription::class),
+ $this->entityManager->getRepository(Federation::class),
+ $this->entityManager->getRepository(Location::class),
+ $this->entityManager->getRepository(Grade::class),
+ );
+
+ $result = $importHandler->import();
+
+ $response = 'Imported!';
+
+ return new JsonResponse($response, 200, []);
+ }
+
+ #[IsGranted('ROLE_DEVELOPER')]
+ #[Route('/mm/fWXCq7sBpYQngXil/import/archive/grades', name: 'import_archive_members_grades', methods: ['GET'])]
+ public function importArchiveMembersGrades(Request $request): Response
+ {
+ $dataFile = $this->importFolder.'Logging.xlsx';
+ $importHandler = new ImportSubscriptionArchiveHandler(
+ $dataFile,
+ $this->entityManager,
+ $this->entityManager->getRepository(Member::class),
+ $this->entityManager->getRepository(Subscription::class),
+ $this->entityManager->getRepository(Federation::class),
+ $this->entityManager->getRepository(Location::class),
+ $this->entityManager->getRepository(Grade::class),
+ );
+
+ $result = $importHandler->importGrades();
+
+ $response = 'Imported!';
+
+ return new JsonResponse($response, 200, []);
+ }
+}
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/MemberApiController.php b/application/YoshiKan/Infrastructure/Web/Controller/MemberApiController.php
index e35a52e..c139f3c 100644
--- a/application/YoshiKan/Infrastructure/Web/Controller/MemberApiController.php
+++ b/application/YoshiKan/Infrastructure/Web/Controller/MemberApiController.php
@@ -28,19 +28,23 @@
use App\YoshiKan\Domain\Model\Member\SubscriptionItem;
use App\YoshiKan\Domain\Model\Message\Message;
use App\YoshiKan\Domain\Model\Product\Judogi;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\configuration_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\federation_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\grade_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\group_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\judogi_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\location_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\member_image_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\member_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\period_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\settings_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\subscription_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Message\message_routes;
-use App\YoshiKan\Infrastructure\Web\Controller\Routes\Reporting\reporting_routes;
+use App\YoshiKan\Domain\Model\TwoFactor\MemberAccessCode;
+use App\YoshiKan\Infrastructure\Mollie\MollieConfig;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\ConfigurationRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\FederationRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\GradeRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\GroupRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\JudogiRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\LocationRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\MemberImageRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\MemberRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\PeriodRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\SettingsRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Member\SubscriptionRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Message\MessageRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\Reporting\ReportingRoutes;
+use App\YoshiKan\Infrastructure\Web\Controller\Routes\TwoFactor\TwoFactorRoutes;
+use Bolt\Entity\User;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
@@ -59,19 +63,20 @@ class MemberApiController extends AbstractController
// Routes
// ——————————————————————————————————————————————————————————————————————————
- use grade_routes;
- use group_routes;
- use period_routes;
- use location_routes;
- use judogi_routes;
- use settings_routes;
- use configuration_routes;
- use subscription_routes;
- use member_routes;
- use member_image_routes;
- use federation_routes;
- use message_routes;
- use reporting_routes;
+ use GradeRoutes;
+ use GroupRoutes;
+ use PeriodRoutes;
+ use LocationRoutes;
+ use JudogiRoutes;
+ use SettingsRoutes;
+ use ConfigurationRoutes;
+ use SubscriptionRoutes;
+ use MemberRoutes;
+ use MemberImageRoutes;
+ use FederationRoutes;
+ use MessageRoutes;
+ use ReportingRoutes;
+ use TwoFactorRoutes;
// ——————————————————————————————————————————————————————————————————————————
// Attributes
@@ -103,45 +108,55 @@ public function __construct(
$this->uploadFolder = $appKernel->getProjectDir().'/'.$_SERVER['UPLOAD_FOLDER'].'/';
$this->setTwigLoader($this->appKernel);
+ $mollieConfig = MollieConfig::make(
+ apiKey: $_SERVER['MOLLIE_API_KEY'],
+ partnerId: $_SERVER['MOLLIE_PARTNER_ID'],
+ profileId: $_SERVER['MOLLIE_PROFILE_ID'],
+ redirectBaseUrl: $_SERVER['MOLLIE_REDIRECT_BASE_URL'],
+ );
+
$this->queryBus = new MemberQueryBus(
- $this->security,
- $this->entityManager,
- $isolationMode,
- $this->twig,
- $this->uploadFolder,
- $this->entityManager->getRepository(Grade::class),
- $this->entityManager->getRepository(Group::class),
- $this->entityManager->getRepository(Location::class),
- $this->entityManager->getRepository(Member::class),
- $this->entityManager->getRepository(Period::class),
- $this->entityManager->getRepository(Settings::class),
- $this->entityManager->getRepository(Subscription::class),
- $this->entityManager->getRepository(MemberImage::class),
- $this->entityManager->getRepository(Federation::class),
- $this->entityManager->getRepository(Message::class),
- $this->entityManager->getRepository(Judogi::class),
+ security: $this->security,
+ entityManager: $this->entityManager,
+ isolationMode: $isolationMode,
+ twig: $this->twig,
+ uploadFolder: $this->uploadFolder,
+ gradeRepository: $this->entityManager->getRepository(Grade::class),
+ groupRepository: $this->entityManager->getRepository(Group::class),
+ locationRepository: $this->entityManager->getRepository(Location::class),
+ memberRepository: $this->entityManager->getRepository(Member::class),
+ periodRepository: $this->entityManager->getRepository(Period::class),
+ settingsRepository: $this->entityManager->getRepository(Settings::class),
+ subscriptionRepository: $this->entityManager->getRepository(Subscription::class),
+ memberImageRepository: $this->entityManager->getRepository(MemberImage::class),
+ federationRepository: $this->entityManager->getRepository(Federation::class),
+ messageRepository: $this->entityManager->getRepository(Message::class),
+ judogiRepository: $this->entityManager->getRepository(Judogi::class),
);
$this->commandBus = new MemberCommandBus(
- $this->security,
- $this->entityManager,
- $isolationMode,
- $this->twig,
- $this->mailer,
- $this->uploadFolder,
- $this->entityManager->getRepository(Grade::class),
- $this->entityManager->getRepository(Group::class),
- $this->entityManager->getRepository(Location::class),
- $this->entityManager->getRepository(Member::class),
- $this->entityManager->getRepository(Period::class),
- $this->entityManager->getRepository(Settings::class),
- $this->entityManager->getRepository(Subscription::class),
- $this->entityManager->getRepository(SubscriptionItem::class),
- $this->entityManager->getRepository(GradeLog::class),
- $this->entityManager->getRepository(MemberImage::class),
- $this->entityManager->getRepository(Federation::class),
- $this->entityManager->getRepository(Message::class),
- $this->entityManager->getRepository(Judogi::class),
+ security: $this->security,
+ entityManager: $this->entityManager,
+ isolationMode: $isolationMode,
+ twig: $this->twig,
+ mailer: $this->mailer,
+ uploadFolder: $this->uploadFolder,
+ gradeRepository: $this->entityManager->getRepository(Grade::class),
+ groupRepository: $this->entityManager->getRepository(Group::class),
+ locationRepository: $this->entityManager->getRepository(Location::class),
+ memberRepository: $this->entityManager->getRepository(Member::class),
+ periodRepository: $this->entityManager->getRepository(Period::class),
+ settingsRepository: $this->entityManager->getRepository(Settings::class),
+ subscriptionRepository: $this->entityManager->getRepository(Subscription::class),
+ subscriptionItemRepository: $this->entityManager->getRepository(SubscriptionItem::class),
+ gradeLogRepository: $this->entityManager->getRepository(GradeLog::class),
+ memberImageRepository: $this->entityManager->getRepository(MemberImage::class),
+ federationRepository: $this->entityManager->getRepository(Federation::class),
+ messageRepository: $this->entityManager->getRepository(Message::class),
+ judogiRepository: $this->entityManager->getRepository(Judogi::class),
+ userRepository: $this->entityManager->getRepository(User::class),
+ memberAccessCodeRepository: $this->entityManager->getRepository(MemberAccessCode::class),
+ mollieConfig: $mollieConfig,
);
}
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/MollieController.php b/application/YoshiKan/Infrastructure/Web/Controller/MollieController.php
new file mode 100644
index 0000000..1796a72
--- /dev/null
+++ b/application/YoshiKan/Infrastructure/Web/Controller/MollieController.php
@@ -0,0 +1,73 @@
+setTwigLoader($this->appKernel);
+ }
+
+ private function setTwigLoader(KernelInterface $appKernel): void
+ {
+ /** @var FilesystemLoader|ChainLoader $twigLoaders */
+ $twigLoaders = $this->twig->getLoader();
+ $twigLoaders = $twigLoaders instanceof ChainLoader ?
+ $twigLoaders->getLoaders() :
+ [$twigLoaders];
+ $path = $appKernel->getProjectDir().'/public/theme/YoshiKan2023/';
+ foreach ($twigLoaders as $twigLoader) {
+ if ($twigLoader instanceof FilesystemLoader) {
+ $twigLoader->prependPath($path, '__main__');
+ }
+ }
+ }
+
+ // ——————————————————————————————————————————————————————————————————————————
+ // Payment confirmation feedback
+ // ——————————————————————————————————————————————————————————————————————————
+
+ #[Route('/mm/lidgeld/betaling/{paymentId}/ok', name: 'mollie_payment_confirmation_feedback', methods: ['GET', 'POST', 'PUT'])]
+ public function molliePaymentConfirmationFeedback(Request $request, string $paymentId): Response
+ {
+ $subscription = $this->entityManager->getRepository(Subscription::class)->findByPaymentId($paymentId);
+ if (false === is_null($subscription)) {
+ return $this->render('paid.twig', [
+ 'subscription' => $subscription,
+ ]);
+ } else {
+ return new JsonResponse('No subscription linked to this ID.', 200, []);
+ }
+ }
+}
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/configuration_routes.php b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/ConfigurationRoutes.php
similarity index 84%
rename from application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/configuration_routes.php
rename to application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/ConfigurationRoutes.php
index 0ea8365..0b7ab37 100644
--- a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/configuration_routes.php
+++ b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/ConfigurationRoutes.php
@@ -17,10 +17,10 @@
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
-trait configuration_routes
+trait ConfigurationRoutes
{
#[Route('/mm/api/member/configuration', methods: ['GET'])]
- public function getConfiguration(Request $request)
+ public function getConfiguration(Request $request): JsonResponse
{
$response = $this->queryBus->getConfiguration();
@@ -28,7 +28,7 @@ public function getConfiguration(Request $request)
}
#[Route('/mm/api/member/configuration/setup', methods: ['GET'])]
- public function setupConfiguration(Request $request)
+ public function setupConfiguration(Request $request): JsonResponse
{
$response = $this->commandBus->setupConfiguration();
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/federation_routes.php b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/FederationRoutes.php
similarity index 87%
rename from application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/federation_routes.php
rename to application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/FederationRoutes.php
index 9f39634..038bbd7 100644
--- a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/federation_routes.php
+++ b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/FederationRoutes.php
@@ -1,12 +1,23 @@
'\d+'], methods: ['GET'])]
public function streamMemberImageById(int $id, Request $request): Response
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/member_routes.php b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/MemberRoutes.php
similarity index 76%
rename from application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/member_routes.php
rename to application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/MemberRoutes.php
index 11806c2..a9a5d2d 100644
--- a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/member_routes.php
+++ b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/MemberRoutes.php
@@ -15,13 +15,14 @@
use App\YoshiKan\Application\Command\Member\UploadMemberImage\UploadMemberImage;
use App\YoshiKan\Application\Command\Member\UploadProfileImage\UploadProfileImage;
+use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
use Symfony\Component\Routing\Annotation\Route;
-trait member_routes
+trait MemberRoutes
{
#[Route('/mm/api/member/active', methods: ['GET'])]
public function listActiveMembers(Request $request): JsonResponse
@@ -138,7 +139,8 @@ public function extendMemberSubscription(int $id, Request $request): JsonRespons
$command = json_decode($request->request->get('command'));
$response = $this->commandBus->memberExtendSubscription($command);
- $result = $this->commandBus->sendMemberExtendSubscriptionMail($response->id);
+ $result_mollie = $this->commandBus->createMolliePaymentLink($response->id);
+ $result_mail = $this->commandBus->sendMemberExtendSubscriptionMail($response->id);
return new JsonResponse($response, 200, $this->apiAccess);
}
@@ -171,7 +173,23 @@ public function newMemberSubscription(Request $request): JsonResponse
$command = json_decode($request->request->get('command'));
$response = $this->commandBus->memberNewSubscription($command);
- $result = $this->commandBus->sendMemberNewSubscriptionMail($response->id);
+ $result_mollie = $this->commandBus->createMolliePaymentLink($response->id);
+ $result_mail = $this->commandBus->sendMemberNewSubscriptionMail($response->id);
+
+ return new JsonResponse($response, 200, $this->apiAccess);
+ }
+
+ /**
+ * @throws \Exception
+ */
+ #[Route('/mm/api/member/confirm-web-subscription', methods: ['POST', 'PUT'])]
+ public function confirmWebSubscription(Request $request): JsonResponse
+ {
+ $command = json_decode($request->request->get('command'));
+ $response = $this->commandBus->confirmMemberWebSubscription($command);
+
+ $result_mollie = $this->commandBus->createMolliePaymentLink($response->id);
+ $result_mail = $this->commandBus->sendMemberNewSubscriptionMail($response->id);
return new JsonResponse($response, 200, $this->apiAccess);
}
@@ -183,4 +201,27 @@ public function downloadOverviewDuePayments(Request $request): JsonResponse
return new JsonResponse($response, 200, $this->apiAccess);
}
+
+ #[Route('/mm/api/member/list/location/{locationId}', requirements: ['locationId' => '\d+'], methods: ['GET'])]
+ public function downloadMemberList(Request $request, int $locationId): JsonResponse
+ {
+ $response = $this->queryBus->downloadMemberOverviewForLocation($locationId);
+
+ return new JsonResponse($response, 200, $this->apiAccess);
+ }
+
+ #[Route('/mm/api/member/list/location/{locationId}/excel', requirements: ['locationId' => '\d+'], methods: ['GET'])]
+ public function downloadMemberListAsExcel(Request $request, int $locationId): void
+ {
+ $spreadsheet = $this->queryBus->downloadMemberOverviewForLocationAsExcel($locationId);
+ $now = new \DateTimeImmutable();
+ $fileName = $now->format('Ymd').'_yoshi-kan-leden-'.$locationId.'.xlsx';
+ $writer = new Xlsx($spreadsheet);
+
+ ob_end_clean();
+ header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
+ header('Content-Disposition: attachment; filename="'.urlencode($fileName).'"');
+ $writer->save('php://output');
+ exit;
+ }
}
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/period_routes.php b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/PeriodRoutes.php
similarity index 98%
rename from application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/period_routes.php
rename to application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/PeriodRoutes.php
index 6b949a4..ae304f0 100644
--- a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/period_routes.php
+++ b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/PeriodRoutes.php
@@ -17,7 +17,7 @@
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
-trait period_routes
+trait PeriodRoutes
{
#[Route('/mm/api/member/period/order', methods: ['POST', 'PUT'])]
public function orderPeriod(Request $request): JsonResponse
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/settings_routes.php b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/SettingsRoutes.php
similarity index 97%
rename from application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/settings_routes.php
rename to application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/SettingsRoutes.php
index 9d09ae8..5b97b78 100644
--- a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/settings_routes.php
+++ b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/SettingsRoutes.php
@@ -17,7 +17,7 @@
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
-trait settings_routes
+trait SettingsRoutes
{
#[Route('/mm/api/member/settings', methods: ['POST', 'PUT'])]
public function saveSettings(Request $request): JsonResponse
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/SubscriptionRoutes.php b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/SubscriptionRoutes.php
new file mode 100644
index 0000000..4b4b9a4
--- /dev/null
+++ b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/SubscriptionRoutes.php
@@ -0,0 +1,114 @@
+ '\d+'], methods: ['GET'])]
+ public function getSubscriptionById(int $id): JsonResponse
+ {
+ $response = $this->queryBus->getSubscriptionById($id);
+
+ return new JsonResponse($response, 200, $this->apiAccess);
+ }
+
+ /**
+ * @throws \Exception
+ */
+ #[Route('/mm/api/subscription/{id}/mark-as-paid', requirements: ['id' => '\d+'], methods: ['POST', 'PUT'])]
+ public function markSubscriptionAsPayed(int $id, Request $request): JsonResponse
+ {
+ $jsonCommand = json_decode($request->request->get('command'));
+ $response = $this->commandBus->markSubscriptionAsPayed($jsonCommand);
+ $response_mail = $this->commandBus->sendPaymentReceivedConfirmationMail($id);
+
+ return new JsonResponse($response, 200, $this->apiAccess);
+ }
+
+ /**
+ * @throws \Exception
+ */
+ #[Route('/mm/api/subscription/{id}/mark-as-finished', requirements: ['id' => '\d+'], methods: ['POST', 'PUT'])]
+ public function markSubscriptionAsFinished(int $id, Request $request): JsonResponse
+ {
+ $jsonCommand = json_decode($request->request->get('command'));
+ $response = $this->commandBus->markSubscriptionAsFinished($jsonCommand);
+
+ return new JsonResponse($response, 200, $this->apiAccess);
+ }
+
+ /**
+ * @throws \Exception
+ */
+ #[Route('/mm/api/subscription/{id}/cancel', requirements: ['id' => '\d+'], methods: ['POST', 'PUT'])]
+ public function markSubscriptionAsCanceled(int $id, Request $request): JsonResponse
+ {
+ $jsonCommand = json_decode($request->request->get('command'));
+ $response = $this->commandBus->markSubscriptionAsCanceled($jsonCommand);
+
+ return new JsonResponse($response, 200, $this->apiAccess);
+ }
+
+ #[Route('/mm/api/subscription/{status}', methods: ['GET'])]
+ public function getAllSubscriptions(string $status, Request $request): JsonResponse
+ {
+ $response = $this->queryBus->getSubscriptionsByStatus($status);
+
+ return new JsonResponse($response->getCollection(), 200, $this->apiAccess);
+ }
+
+ /**
+ * @throws Exception
+ */
+ #[Route('/mm/api/subscriptions/export', methods: ['GET'])]
+ public function exportSubscriptions(Request $request): void
+ {
+ $listIds = $request->query->get('ids');
+ $spreadsheet = $this->queryBus->exportSubscriptions($this->convertToArrayOfIds($listIds));
+ $now = new \DateTimeImmutable();
+ $fileName = $now->format('Ymd').'_yoshi-kan-inschrijvingen.xlsx';
+ $writer = new Xlsx($spreadsheet);
+
+ ob_end_clean();
+ header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
+ header('Content-Disposition: attachment; filename="'.urlencode($fileName).'"');
+ $writer->save('php://output');
+ exit;
+ }
+
+ #[Route('/mm/api/subscriptions/print', methods: ['GET'])]
+ public function printSubscriptions(Request $request): void
+ {
+ $listIds = $request->query->get('ids');
+ $document = $this->queryBus->printSubscriptions($this->convertToArrayOfIds($listIds));
+
+ exit;
+ }
+
+ private function convertToArrayOfIds(string $ids): array
+ {
+ $arListIdsInt = [];
+ foreach (explode(',', $ids) as $id) {
+ $arListIdsInt[] = intval($id);
+ }
+
+ return $arListIdsInt;
+ }
+}
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/subscription_routes.php b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/subscription_routes.php
deleted file mode 100644
index f9600d8..0000000
--- a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Member/subscription_routes.php
+++ /dev/null
@@ -1,188 +0,0 @@
- '\d+'], methods: ['GET'])]
- public function getSubscriptionById(int $id): JsonResponse
- {
- $response = $this->queryBus->getSubscriptionById($id);
-
- return new JsonResponse($response, 200, $this->apiAccess);
- }
-
- /**
- * @throws \Exception
- */
- #[Route('/mm/api/subscription/{id}/mark-as-paid', requirements: ['id' => '\d+'], methods: ['POST', 'PUT'])]
- public function markSubscriptionAsPayed(int $id, Request $request): JsonResponse
- {
- $jsonCommand = json_decode($request->request->get('command'));
- $response = $this->commandBus->markSubscriptionAsPayed($jsonCommand);
-
- return new JsonResponse($response, 200, $this->apiAccess);
- }
-
- /**
- * @throws \Exception
- */
- #[Route('/mm/api/subscription/{id}/cancel', requirements: ['id' => '\d+'], methods: ['POST', 'PUT'])]
- public function markSubscriptionAsCanceled(int $id, Request $request): JsonResponse
- {
- $jsonCommand = json_decode($request->request->get('command'));
- $response = $this->commandBus->markSubscriptionAsCanceled($jsonCommand);
-
- return new JsonResponse($response, 200, $this->apiAccess);
- }
-
- #[Route('/mm/api/subscription/{status}', methods: ['GET'])]
- public function getAllSubscriptions(string $status, Request $request): JsonResponse
- {
- $response = $this->queryBus->getSubscriptionsByStatus($status);
-
- return new JsonResponse($response->getCollection(), 200, $this->apiAccess);
- }
-
- /**
- * @throws Exception
- */
- #[Route('/mm/api/subscriptions/export', methods: ['GET'])]
- public function exportSubscriptions(Request $request): void
- {
- $listIds = $request->query->get('ids');
- $spreadsheet = $this->queryBus->exportSubscriptions($this->convertToArrayOfIds($listIds));
- $now = new \DateTimeImmutable();
- $fileName = $now->format('Ymd').'_yoshi-kan-inschrijvingen.xlsx';
- $writer = new Xlsx($spreadsheet);
-
- ob_end_clean();
- header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
- header('Content-Disposition: attachment; filename="'.urlencode($fileName).'"');
- $writer->save('php://output');
- exit;
- }
-
- #[Route('/mm/api/subscriptions/print', methods: ['GET'])]
- public function printSubscriptions(Request $request): void
- {
- $listIds = $request->query->get('ids');
- $document = $this->queryBus->printSubscriptions($this->convertToArrayOfIds($listIds));
-
- exit;
- }
-
- private function convertToArrayOfIds(string $ids): array
- {
- $arListIdsInt = [];
- foreach (explode(',', $ids) as $id) {
- $arListIdsInt[] = intval($id);
- }
-
- return $arListIdsInt;
- }
-
- // #[Route('/mm/api/subscribe', name: 'backend_subscribe', methods: ['POST', 'PUT'])]
- // public function backendSubscribeAction(Request $request): JsonResponse
- // {
- // $jsonCommand = json_decode($request->request->get('subscription'));
- // $response = $this->commandBus->WebSubscriptionAction($jsonCommand);
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
- //
- // #[Route('/mm/api/subscription/todo', name: 'get_todo_subscriptions', methods: ['GET'])]
- // public function getTodoSubscriptions(): JsonResponse
- // {
- // // $response = $this->queryBus->getTodoSubscription();
- // // todo replace this with correct list
- // $response = [];
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
- //
- // #[Route('/mm/api/subscription/active-period', methods: ['GET'])]
- // public function getSubscriptionsByActivePeriod(): JsonResponse
- // {
- // $response = $this->queryBus->getSubscriptionsByActivePeriod();
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
- //
- // #[Route('/mm/api/subscription/all', methods: ['GET'])]
- // public function getAllSubscriptions(): JsonResponse
- // {
- // $response = $this->queryBus->getAllSubscriptions();
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
- //
- // #[Route('/mm/api/subscription/mark-as-finished', methods: ['POST', 'PUT'])]
- // public function markSubscriptionsAsFinished(Request $request): JsonResponse
- // {
- // $jsonCommand = json_decode($request->request->get('list-ids'));
- // $response = $this->commandBus->markSubscriptionAsFinished($jsonCommand);
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
- //
- // #[Route('/mm/api/subscription/{id}', requirements: ['id' => '\d+'], methods: ['POST', 'PUT'])]
- // public function changeSubscription(int $id, Request $request): JsonResponse
- // {
- // $jsonCommand = json_decode($request->request->get('subscription'));
- // $response = $this->commandBus->changeSubscription($jsonCommand);
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
- //
- // #[Route('/mm/api/subscription/{id}/change-status', methods: ['POST', 'PUT'])]
- // public function changeSubscriptionStatus(int $id, Request $request): JsonResponse
- // {
- // $jsonCommand = json_decode($request->request->get('change-status'));
- // $response = $this->commandBus->changeSubscriptionStatus($jsonCommand);
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
- //
- // #[Route('/mm/api/subscription/{id}/mail-payment-information', methods: ['POST', 'PUT'])]
- // public function sendPaymentOverviewMail(int $id, Request $request): JsonResponse
- // {
- // $response = $this->commandBus->sendPaymentOverviewMail($id);
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
- //
- // #[Route('/mm/api/subscription/{id}/connect-member', methods: ['POST', 'PUT'])]
- // public function connectMemberToSubscription(int $id, Request $request): JsonResponse
- // {
- // $jsonCommand = json_decode($request->request->get('connect-member'));
- // $response = $this->commandBus->connectSubscriptionToMember($jsonCommand);
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
- //
- // #[Route('/mm/api/subscription/{id}/create-member', methods: ['POST', 'PUT'])]
- // public function createMemberFromSubscription(int $id, Request $request): JsonResponse
- // {
- // $response = $this->commandBus->createMemberFromSubscription($id);
- //
- // return new JsonResponse($response, 200, $this->apiAccess);
- // }
-}
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Message/message_routes.php b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Message/MessageRoutes.php
similarity index 98%
rename from application/YoshiKan/Infrastructure/Web/Controller/Routes/Message/message_routes.php
rename to application/YoshiKan/Infrastructure/Web/Controller/Routes/Message/MessageRoutes.php
index 3618809..2f1022f 100644
--- a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Message/message_routes.php
+++ b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Message/MessageRoutes.php
@@ -17,7 +17,7 @@
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
-trait message_routes
+trait MessageRoutes
{
/**
* @throws \Exception
diff --git a/application/YoshiKan/Infrastructure/Web/Controller/Routes/Product/ProductRoutes.php b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Product/ProductRoutes.php
new file mode 100644
index 0000000..1c0b0f7
--- /dev/null
+++ b/application/YoshiKan/Infrastructure/Web/Controller/Routes/Product/ProductRoutes.php
@@ -0,0 +1,18 @@
+security->getUser();
+ if (true === is_null($user)) {
+ return new JsonResponse(false, 200, $this->apiAccess);
+ }
+ $result = $this->commandBus->generateAndSendMemberAccessCode($user->getId()); /* @phpstan-ignore-line */
+
+ return new JsonResponse($result, 200, $this->apiAccess);
+ }
+
+ #[Route('/mm/api/member/validate-access/{verificationCode}', requirements: ['verificationCode' => '\d+'], methods: ['GET'])]
+ public function validateAccessToTheMemberModule(Request $request, int $verificationCode): JsonResponse
+ {
+ $user = $this->security->getUser();
+ if (true === is_null($user)) {
+ return new JsonResponse(false, 200, $this->apiAccess);
+ }
+ $result = $this->commandBus->validateMemberAccessCode($verificationCode, $user->getId()); /* @phpstan-ignore-line */
+
+ return new JsonResponse($result, 200, $this->apiAccess);
+ }
+}
diff --git a/assets/components/appInschrijving.vue b/assets/components/appInschrijving.vue
index 1d59f43..dd329a0 100644
--- a/assets/components/appInschrijving.vue
+++ b/assets/components/appInschrijving.vue
@@ -182,28 +182,9 @@
-
-
-
- Rijksregisternummer*
-
-
-
-
-
-
-
-
-
+
Geboortedatum*
@@ -524,30 +505,6 @@ onMounted(() => {
loadSettings();
});
-function onChangeNationalNumber() {
- if (subscription.value.nationalRegisterNumber.length === 2) {
- let _year = subscription.value.nationalRegisterNumber;
- if (_year > 50) {
- subscription.value.dateOfBirthYYYY = '19' + _year;
- } else {
- subscription.value.dateOfBirthYYYY = '20' + _year;
- }
- } else if (subscription.value.nationalRegisterNumber.length === 5) {
- let _month = subscription.value.nationalRegisterNumber.split('.')[1];
- subscription.value.dateOfBirthMM = _month;
- } else if (subscription.value.nationalRegisterNumber.length === 8) {
- let _day = subscription.value.nationalRegisterNumber.split('.')[2];
- subscription.value.dateOfBirthDD = _day;
- } else if (subscription.value.nationalRegisterNumber.length === 12) {
- let _dayNumber = subscription.value.nationalRegisterNumber.split('-')[1];
- let _dayNumberMod = parseInt(_dayNumber) % 2;
- if (_dayNumberMod === 0) {
- subscription.value.gender = 'V';
- } else {
- subscription.value.gender = 'M';
- }
- }
-}
function loadSettings() {
axios.get('/inschrijving/api/configuration').then(response => (loadSettingsHandler(response.data)));
@@ -627,10 +584,6 @@ const dateValidator = function (value) {
return true;
};
-const nationalRegisterNumberValidator = function (value) {
- return (subscription.value.nationalRegisterNumber.length === 15);
-}
-
const rules = {
contactFirstname: {required},
contactLastname: {required},
@@ -640,7 +593,6 @@ const rules = {
dateOfBirthDD: {required, numeric, maxValueValue: maxValue(31), minValueValue: minValue(1), dateValidator},
dateOfBirthMM: {required, numeric, maxValueValue: maxValue(12), minValueValue: minValue(1), dateValidator},
dateOfBirthYYYY: {required, numeric, minValueValue: minValue(1900), maxValueValue: maxValue(2400), dateValidator},
- nationalRegisterNumber: {nationalRegisterNumberValidator},
addressStreet: {required},
addressNumber: {required},
addressZip: {required},
@@ -659,7 +611,6 @@ const lastnameVariant = computed(() => v$.value.lastname.$invalid === false ? 's
const dateOfBirthDDVariant = computed(() => v$.value.dateOfBirthDD.$invalid === false ? 'success' : 'danger');
const dateOfBirthMMVariant = computed(() => v$.value.dateOfBirthMM.$invalid === false ? 'success' : 'danger');
const dateOfBirthYYYVariant = computed(() => v$.value.dateOfBirthYYYY.$invalid === false ? 'success' : 'danger');
-const nationalRegisterNumberVariant = computed(() => v$.value.nationalRegisterNumber.$invalid === false ? 'success' : 'danger');
const addressStreetVariant = computed(() => v$.value.addressStreet.$invalid === false ? 'success' : 'danger');
const addressNumberVariant = computed(() => v$.value.addressNumber.$invalid === false ? 'success' : 'danger');
const addressZipVariant = computed(() => v$.value.addressZip.$invalid === false ? 'success' : 'danger');
diff --git a/assets/profileImage.js b/assets/profileImage.js
index f83a699..e314060 100644
--- a/assets/profileImage.js
+++ b/assets/profileImage.js
@@ -1 +1,14 @@
import './styles/profileImage.css';
+
+document.addEventListener('DOMContentLoaded', function () {
+
+ var form = document.getElementById('uploadForm');
+ var loadingDiv = document.getElementById('loadingDiv');
+ var submitButton = document.getElementById('submitButton');
+
+ form.addEventListener('submit', function () {
+ loadingDiv.style.display = 'block';
+ submitButton.style.display = 'none';
+ });
+
+});
diff --git a/assets/styles/app.css b/assets/styles/app.css
index 9a46ed6..92bc2a8 100644
--- a/assets/styles/app.css
+++ b/assets/styles/app.css
@@ -116,6 +116,22 @@ footer {
position: absolute;
}
+#paid-feedback {
+ background-color: white;
+ position: fixed;
+ display: block;
+ width: 500px;
+ margin-left:auto;
+ margin-right:auto;
+ top:120px;
+ box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.1),
+ 0px 3px 15px rgba(0, 0, 0, 0.1),
+ 0px 5px 30px rgba(0, 0, 0, 0.1),
+ 0px 8px 44px rgba(0, 0, 0, 0.1),
+ 0px 10px 59px rgba(0, 0, 0, 0.1),
+ 0px 13px 74px rgba(0, 0, 0, 0.1);
+}
+
/* footer ------------------------------------------------------------------------ */
.footer-wrapper {
diff --git a/composer.json b/composer.json
index b882453..0e45709 100644
--- a/composer.json
+++ b/composer.json
@@ -19,11 +19,20 @@
"dompdf/dompdf": "^2.0",
"fakerphp/faker": "^1.23",
"jeschek/dragsort": "^1.0",
+ "mollie/mollie-api-php": "^2.64",
"nelmio/security-bundle": "^2.12",
"phpoffice/phpspreadsheet": "^1.26",
+ "resend/resend-php": "^0.10.0",
+ "sentry/sentry-symfony": "^4.13",
"stof/doctrine-extensions-bundle": "^1.7",
"symfony/flex": "^2.0",
- "symfony/uid": "^5.1"
+ "symfony/uid": "^5.1",
+ "twig/cssinliner-extra": "^3.7",
+ "twig/extra-bundle": "^2.12|^3.0",
+ "twig/inky-extra": "^3.7",
+ "twig/intl-extra": "^3.8",
+ "twig/markdown-extra": "^3.7",
+ "twig/twig": "^2.12|^3.0"
},
"minimum-stability": "stable",
"prefer-stable": true,
@@ -32,13 +41,17 @@
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.13",
+ "pestphp/pest": "^1.23",
"phpstan/phpstan": "^1.9.0",
"phpstan/phpstan-doctrine": "^1.3.0",
"phpstan/phpstan-symfony": "^1.2.0",
"phpunit/phpunit": "^9.5",
"qossmic/deptrac-shim": "^1.0",
"symfony/phpunit-bridge": "^6.2",
- "symplify/easy-coding-standard": "^9.4"
+ "symplify/easy-coding-standard": "^9.4",
+ "vimeo/psalm": "^5.19",
+ "weirdan/doctrine-psalm-plugin": "^2.9",
+ "psalm/plugin-symfony": "^5.1"
},
"config": {
"optimize-autoloader": true,
@@ -49,7 +62,9 @@
"allow-plugins": {
"composer/package-versions-deprecated": true,
"drupol/composer-packages": true,
- "symfony/flex": true
+ "symfony/flex": true,
+ "php-http/discovery": true,
+ "pestphp/pest-plugin": true
}
},
"extra": {
diff --git a/composer.lock b/composer.lock
index f86cab2..6d5f7bd 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "48b20c64b95f032d5202267f540fdfaa",
+ "content-hash": "df6d86bdf1cf2d09b2ef6a3cd2891a26",
"packages": [
{
"name": "api-platform/core",
- "version": "v2.7.15",
+ "version": "v2.7.16",
"source": {
"type": "git",
"url": "https://github.com/api-platform/core.git",
- "reference": "dd433f76da60819cd01278b54e4fb70283302aa8"
+ "reference": "e6f77e20b4ed9cb3e44c7398d6cda971d32190b0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/api-platform/core/zipball/dd433f76da60819cd01278b54e4fb70283302aa8",
- "reference": "dd433f76da60819cd01278b54e4fb70283302aa8",
+ "url": "https://api.github.com/repos/api-platform/core/zipball/e6f77e20b4ed9cb3e44c7398d6cda971d32190b0",
+ "reference": "e6f77e20b4ed9cb3e44c7398d6cda971d32190b0",
"shasum": ""
},
"require": {
@@ -165,7 +165,7 @@
],
"support": {
"issues": "https://github.com/api-platform/core/issues",
- "source": "https://github.com/api-platform/core/tree/v2.7.15"
+ "source": "https://github.com/api-platform/core/tree/v2.7.16"
},
"funding": [
{
@@ -173,7 +173,7 @@
"type": "tidelift"
}
],
- "time": "2023-08-11T14:04:22+00:00"
+ "time": "2023-10-06T10:13:25+00:00"
},
{
"name": "babdev/pagerfanta-bundle",
@@ -1124,6 +1124,141 @@
],
"time": "2023-01-15T23:15:59+00:00"
},
+ {
+ "name": "carbonphp/carbon-doctrine-types",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git",
+ "reference": "3c430083d0b41ceed84ecccf9dac613241d7305d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/3c430083d0b41ceed84ecccf9dac613241d7305d",
+ "reference": "3c430083d0b41ceed84ecccf9dac613241d7305d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1.8 || ^8.0"
+ },
+ "conflict": {
+ "doctrine/dbal": ">=3.7.0"
+ },
+ "require-dev": {
+ "doctrine/dbal": ">=2.0.0",
+ "nesbot/carbon": "^2.71.0 || ^3.0.0",
+ "phpunit/phpunit": "^10.3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Carbon\\Doctrine\\": "src/Carbon/Doctrine/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "KyleKatarn",
+ "email": "kylekatarnls@gmail.com"
+ }
+ ],
+ "description": "Types to use Carbon in Doctrine",
+ "keywords": [
+ "carbon",
+ "date",
+ "datetime",
+ "doctrine",
+ "time"
+ ],
+ "support": {
+ "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues",
+ "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/1.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/kylekatarnls",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/Carbon",
+ "type": "open_collective"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-01T12:35:29+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"
+ },
{
"name": "cocur/slugify",
"version": "v4.5.1",
@@ -1200,16 +1335,16 @@
},
{
"name": "composer/ca-bundle",
- "version": "1.3.7",
+ "version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
- "reference": "76e46335014860eec1aa5a724799a00a2e47cc85"
+ "reference": "b66d11b7479109ab547f9405b97205640b17d385"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85",
- "reference": "76e46335014860eec1aa5a724799a00a2e47cc85",
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/b66d11b7479109ab547f9405b97205640b17d385",
+ "reference": "b66d11b7479109ab547f9405b97205640b17d385",
"shasum": ""
},
"require": {
@@ -1221,7 +1356,7 @@
"phpstan/phpstan": "^0.12.55",
"psr/log": "^1.0",
"symfony/phpunit-bridge": "^4.2 || ^5",
- "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0"
+ "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0"
},
"type": "library",
"extra": {
@@ -1256,7 +1391,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/ca-bundle/issues",
- "source": "https://github.com/composer/ca-bundle/tree/1.3.7"
+ "source": "https://github.com/composer/ca-bundle/tree/1.4.0"
},
"funding": [
{
@@ -1272,7 +1407,7 @@
"type": "tidelift"
}
],
- "time": "2023-08-30T09:31:38+00:00"
+ "time": "2023-12-18T12:05:55+00:00"
},
{
"name": "composer/class-map-generator",
@@ -1349,16 +1484,16 @@
},
{
"name": "composer/composer",
- "version": "2.6.4",
+ "version": "2.6.6",
"source": {
"type": "git",
"url": "https://github.com/composer/composer.git",
- "reference": "d75d17c16a863438027d1d96401cddcd6aa5bb60"
+ "reference": "683557bd2466072777309d039534bb1332d0dda5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/composer/zipball/d75d17c16a863438027d1d96401cddcd6aa5bb60",
- "reference": "d75d17c16a863438027d1d96401cddcd6aa5bb60",
+ "url": "https://api.github.com/repos/composer/composer/zipball/683557bd2466072777309d039534bb1332d0dda5",
+ "reference": "683557bd2466072777309d039534bb1332d0dda5",
"shasum": ""
},
"require": {
@@ -1376,7 +1511,7 @@
"seld/jsonlint": "^1.4",
"seld/phar-utils": "^1.2",
"seld/signal-handler": "^2.0",
- "symfony/console": "^5.4.11 || ^6.0.11 || ^7",
+ "symfony/console": "^5.4.11 || ^6.0.11",
"symfony/filesystem": "^5.4 || ^6.0 || ^7",
"symfony/finder": "^5.4 || ^6.0 || ^7",
"symfony/polyfill-php73": "^1.24",
@@ -1443,7 +1578,7 @@
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/composer/issues",
"security": "https://github.com/composer/composer/security/policy",
- "source": "https://github.com/composer/composer/tree/2.6.4"
+ "source": "https://github.com/composer/composer/tree/2.6.6"
},
"funding": [
{
@@ -1459,7 +1594,7 @@
"type": "tidelift"
}
],
- "time": "2023-09-29T08:54:47+00:00"
+ "time": "2023-12-08T17:32:26+00:00"
},
{
"name": "composer/metadata-minifier",
@@ -1605,16 +1740,16 @@
},
{
"name": "composer/pcre",
- "version": "3.1.0",
+ "version": "3.1.1",
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2"
+ "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
- "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9",
+ "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9",
"shasum": ""
},
"require": {
@@ -1656,7 +1791,7 @@
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.1.0"
+ "source": "https://github.com/composer/pcre/tree/3.1.1"
},
"funding": [
{
@@ -1672,7 +1807,7 @@
"type": "tidelift"
}
],
- "time": "2022-11-17T09:50:14+00:00"
+ "time": "2023-10-11T07:11:09+00:00"
},
{
"name": "composer/semver",
@@ -1757,16 +1892,16 @@
},
{
"name": "composer/spdx-licenses",
- "version": "1.5.7",
+ "version": "1.5.8",
"source": {
"type": "git",
"url": "https://github.com/composer/spdx-licenses.git",
- "reference": "c848241796da2abf65837d51dce1fae55a960149"
+ "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/c848241796da2abf65837d51dce1fae55a960149",
- "reference": "c848241796da2abf65837d51dce1fae55a960149",
+ "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a",
+ "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a",
"shasum": ""
},
"require": {
@@ -1815,9 +1950,9 @@
"validator"
],
"support": {
- "irc": "irc://irc.freenode.org/composer",
+ "irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/spdx-licenses/issues",
- "source": "https://github.com/composer/spdx-licenses/tree/1.5.7"
+ "source": "https://github.com/composer/spdx-licenses/tree/1.5.8"
},
"funding": [
{
@@ -1833,7 +1968,7 @@
"type": "tidelift"
}
],
- "time": "2022-05-23T07:37:50+00:00"
+ "time": "2023-11-20T07:44:33+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -1903,16 +2038,16 @@
},
{
"name": "damienharper/auditor",
- "version": "2.4.7",
+ "version": "2.4.8",
"source": {
"type": "git",
"url": "https://github.com/DamienHarper/auditor.git",
- "reference": "2fd4f3efaeb54bb837e98e54ddffd04e037f4419"
+ "reference": "bdfbaef161ec335d58d31e9cc90e3b6cd68e4504"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/DamienHarper/auditor/zipball/2fd4f3efaeb54bb837e98e54ddffd04e037f4419",
- "reference": "2fd4f3efaeb54bb837e98e54ddffd04e037f4419",
+ "url": "https://api.github.com/repos/DamienHarper/auditor/zipball/bdfbaef161ec335d58d31e9cc90e3b6cd68e4504",
+ "reference": "bdfbaef161ec335d58d31e9cc90e3b6cd68e4504",
"shasum": ""
},
"require": {
@@ -1968,22 +2103,22 @@
],
"support": {
"issues": "https://github.com/DamienHarper/auditor/issues",
- "source": "https://github.com/DamienHarper/auditor/tree/2.4.7"
+ "source": "https://github.com/DamienHarper/auditor/tree/2.4.8"
},
- "time": "2023-07-04T08:59:20+00:00"
+ "time": "2023-12-19T20:35:09+00:00"
},
{
"name": "damienharper/auditor-bundle",
- "version": "5.2.4",
+ "version": "5.2.5",
"source": {
"type": "git",
"url": "https://github.com/DamienHarper/auditor-bundle.git",
- "reference": "f1c43175d14aeda10cae48a92d4ef5b053c6eec2"
+ "reference": "a03c399b3703fa5be1e69f166aa71f2adffdc43a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/DamienHarper/auditor-bundle/zipball/f1c43175d14aeda10cae48a92d4ef5b053c6eec2",
- "reference": "f1c43175d14aeda10cae48a92d4ef5b053c6eec2",
+ "url": "https://api.github.com/repos/DamienHarper/auditor-bundle/zipball/a03c399b3703fa5be1e69f166aa71f2adffdc43a",
+ "reference": "a03c399b3703fa5be1e69f166aa71f2adffdc43a",
"shasum": ""
},
"require": {
@@ -2051,9 +2186,9 @@
],
"support": {
"issues": "https://github.com/DamienHarper/auditor-bundle/issues",
- "source": "https://github.com/DamienHarper/auditor-bundle/tree/5.2.4"
+ "source": "https://github.com/DamienHarper/auditor-bundle/tree/5.2.5"
},
- "time": "2023-03-01T18:07:32+00:00"
+ "time": "2023-12-20T23:41:54+00:00"
},
{
"name": "doctrine/annotations",
@@ -2578,29 +2713,25 @@
},
{
"name": "doctrine/deprecations",
- "version": "1.1.2",
+ "version": "v0.5.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
+ "reference": "9504165960a1f83cc1480e2be1dd0a0478561314"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
- "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314",
+ "reference": "9504165960a1f83cc1480e2be1dd0a0478561314",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": "^7.1|^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^9",
- "phpstan/phpstan": "1.4.10 || 1.10.15",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "psalm/plugin-phpunit": "0.18.4",
- "psr/log": "^1 || ^2 || ^3",
- "vimeo/psalm": "4.30.0 || 5.12.0"
+ "doctrine/coding-standard": "^6.0|^7.0|^8.0",
+ "phpunit/phpunit": "^7.0|^8.0|^9.0",
+ "psr/log": "^1.0"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
@@ -2619,9 +2750,9 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.2"
+ "source": "https://github.com/doctrine/deprecations/tree/v0.5.3"
},
- "time": "2023-09-27T20:04:15+00:00"
+ "time": "2021-03-21T12:59:47+00:00"
},
{
"name": "doctrine/doctrine-bundle",
@@ -2739,16 +2870,16 @@
},
{
"name": "doctrine/doctrine-fixtures-bundle",
- "version": "3.4.4",
+ "version": "3.4.5",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineFixturesBundle.git",
- "reference": "9ec3139c52a42e94c9fd1e95f8d2bca94326edfb"
+ "reference": "5988484f79362cd7d06564bd11be7ce622e08c87"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/9ec3139c52a42e94c9fd1e95f8d2bca94326edfb",
- "reference": "9ec3139c52a42e94c9fd1e95f8d2bca94326edfb",
+ "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/5988484f79362cd7d06564bd11be7ce622e08c87",
+ "reference": "5988484f79362cd7d06564bd11be7ce622e08c87",
"shasum": ""
},
"require": {
@@ -2764,7 +2895,7 @@
"symfony/http-kernel": "^3.4|^4.3|^5.0|^6.0"
},
"require-dev": {
- "doctrine/coding-standard": "^9",
+ "doctrine/coding-standard": "^9 || ^12",
"phpstan/phpstan": "^1.4.10",
"phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
"symfony/phpunit-bridge": "^6.0.8",
@@ -2802,7 +2933,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineFixturesBundle/issues",
- "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/3.4.4"
+ "source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/3.4.5"
},
"funding": [
{
@@ -2818,38 +2949,44 @@
"type": "tidelift"
}
],
- "time": "2023-05-02T15:12:16+00:00"
+ "time": "2023-10-29T18:36:06+00:00"
},
{
"name": "doctrine/doctrine-migrations-bundle",
- "version": "3.2.4",
+ "version": "3.3.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
- "reference": "94e6b0fe1a50901d52f59dbb9b4b0737718b2c1e"
+ "reference": "1dd42906a5fb9c5960723e2ebb45c68006493835"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/94e6b0fe1a50901d52f59dbb9b4b0737718b2c1e",
- "reference": "94e6b0fe1a50901d52f59dbb9b4b0737718b2c1e",
+ "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/1dd42906a5fb9c5960723e2ebb45c68006493835",
+ "reference": "1dd42906a5fb9c5960723e2ebb45c68006493835",
"shasum": ""
},
"require": {
- "doctrine/doctrine-bundle": "~1.0|~2.0",
+ "doctrine/doctrine-bundle": "^2.4",
"doctrine/migrations": "^3.2",
"php": "^7.2|^8.0",
- "symfony/framework-bundle": "~3.4|~4.0|~5.0|~6.0"
+ "symfony/deprecation-contracts": "^2.1 || ^3",
+ "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0"
},
"require-dev": {
- "doctrine/coding-standard": "^9",
- "doctrine/orm": "^2.6",
- "doctrine/persistence": "^1.3||^2.0",
+ "doctrine/coding-standard": "^12",
+ "doctrine/orm": "^2.6 || ^3",
+ "doctrine/persistence": "^2.0 || ^3 ",
"phpstan/phpstan": "^1.4",
"phpstan/phpstan-deprecation-rules": "^1",
"phpstan/phpstan-phpunit": "^1",
"phpstan/phpstan-strict-rules": "^1.1",
+ "phpstan/phpstan-symfony": "^1.3",
"phpunit/phpunit": "^8.5|^9.5",
- "vimeo/psalm": "^4.22"
+ "psalm/plugin-phpunit": "^0.18.4",
+ "psalm/plugin-symfony": "^3 || ^5",
+ "symfony/phpunit-bridge": "^6.3 || ^7",
+ "symfony/var-exporter": "^5.4 || ^6 || ^7",
+ "vimeo/psalm": "^4.30 || ^5.15"
},
"type": "symfony-bundle",
"autoload": {
@@ -2887,7 +3024,7 @@
],
"support": {
"issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues",
- "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.2.4"
+ "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.3.0"
},
"funding": [
{
@@ -2903,7 +3040,7 @@
"type": "tidelift"
}
],
- "time": "2023-06-02T08:19:26+00:00"
+ "time": "2023-11-13T19:44:41+00:00"
},
{
"name": "doctrine/event-manager",
@@ -2999,16 +3136,16 @@
},
{
"name": "doctrine/inflector",
- "version": "2.0.8",
+ "version": "2.0.9",
"source": {
"type": "git",
"url": "https://github.com/doctrine/inflector.git",
- "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff"
+ "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff",
- "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/2930cd5ef353871c821d5c43ed030d39ac8cfe65",
+ "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65",
"shasum": ""
},
"require": {
@@ -3070,7 +3207,7 @@
],
"support": {
"issues": "https://github.com/doctrine/inflector/issues",
- "source": "https://github.com/doctrine/inflector/tree/2.0.8"
+ "source": "https://github.com/doctrine/inflector/tree/2.0.9"
},
"funding": [
{
@@ -3086,34 +3223,34 @@
"type": "tidelift"
}
],
- "time": "2023-06-16T13:40:37+00:00"
+ "time": "2024-01-15T18:05:13+00:00"
},
{
"name": "doctrine/instantiator",
- "version": "2.0.0",
+ "version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
+ "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
+ "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
"shasum": ""
},
"require": {
- "php": "^8.1"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^11",
+ "doctrine/coding-standard": "^9 || ^11",
"ext-pdo": "*",
"ext-phar": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/phpstan": "^1.9.4",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^5.4"
+ "phpbench/phpbench": "^0.16 || ^1",
+ "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.30 || ^5.4"
},
"type": "library",
"autoload": {
@@ -3140,7 +3277,7 @@
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
+ "source": "https://github.com/doctrine/instantiator/tree/1.5.0"
},
"funding": [
{
@@ -3156,37 +3293,35 @@
"type": "tidelift"
}
],
- "time": "2022-12-30T00:23:10+00:00"
+ "time": "2022-12-30T00:15:36+00:00"
},
{
"name": "doctrine/lexer",
- "version": "2.1.0",
+ "version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/lexer.git",
- "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124"
+ "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
- "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229",
+ "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229",
"shasum": ""
},
"require": {
- "doctrine/deprecations": "^1.0",
"php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^9 || ^10",
+ "doctrine/coding-standard": "^9.0",
"phpstan/phpstan": "^1.3",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "psalm/plugin-phpunit": "^0.18.3",
- "vimeo/psalm": "^4.11 || ^5.0"
+ "vimeo/psalm": "^4.11"
},
"type": "library",
"autoload": {
"psr-4": {
- "Doctrine\\Common\\Lexer\\": "src"
+ "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3218,7 +3353,7 @@
],
"support": {
"issues": "https://github.com/doctrine/lexer/issues",
- "source": "https://github.com/doctrine/lexer/tree/2.1.0"
+ "source": "https://github.com/doctrine/lexer/tree/1.2.3"
},
"funding": [
{
@@ -3234,7 +3369,7 @@
"type": "tidelift"
}
],
- "time": "2022-12-14T08:49:07+00:00"
+ "time": "2022-02-28T11:07:21+00:00"
},
{
"name": "doctrine/migrations",
@@ -3344,29 +3479,29 @@
},
{
"name": "doctrine/orm",
- "version": "2.16.2",
+ "version": "2.14.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/orm.git",
- "reference": "17500f56eaa930f5cd14d765bc2cd851c7d37cc0"
+ "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/orm/zipball/17500f56eaa930f5cd14d765bc2cd851c7d37cc0",
- "reference": "17500f56eaa930f5cd14d765bc2cd851c7d37cc0",
+ "url": "https://api.github.com/repos/doctrine/orm/zipball/a64f315dfeae5e50b17f132626fd9e9b4ec8985d",
+ "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2",
"doctrine/cache": "^1.12.1 || ^2.1.1",
- "doctrine/collections": "^1.5 || ^2.1",
+ "doctrine/collections": "^1.5 || ^2.0",
"doctrine/common": "^3.0.3",
"doctrine/dbal": "^2.13.1 || ^3.2",
"doctrine/deprecations": "^0.5.3 || ^1",
"doctrine/event-manager": "^1.2 || ^2",
"doctrine/inflector": "^1.4 || ^2.0",
- "doctrine/instantiator": "^1.3 || ^2",
- "doctrine/lexer": "^2",
+ "doctrine/instantiator": "^1.3",
+ "doctrine/lexer": "^1.2.3 || ^2",
"doctrine/persistence": "^2.4 || ^3",
"ext-ctype": "*",
"php": "^7.1 || ^8.0",
@@ -3380,16 +3515,16 @@
},
"require-dev": {
"doctrine/annotations": "^1.13 || ^2",
- "doctrine/coding-standard": "^9.0.2 || ^12.0",
+ "doctrine/coding-standard": "^9.0.2 || ^11.0",
"phpbench/phpbench": "^0.16.10 || ^1.0",
- "phpstan/phpstan": "~1.4.10 || 1.10.28",
+ "phpstan/phpstan": "~1.4.10 || 1.10.6",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.6",
"psr/log": "^1 || ^2 || ^3",
"squizlabs/php_codesniffer": "3.7.2",
"symfony/cache": "^4.4 || ^5.4 || ^6.0",
"symfony/var-exporter": "^4.4 || ^5.4 || ^6.2",
"symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0",
- "vimeo/psalm": "4.30.0 || 5.14.1"
+ "vimeo/psalm": "4.30.0 || 5.9.0"
},
"suggest": {
"ext-dom": "Provides support for XSD validation for XML mapping files",
@@ -3439,45 +3574,45 @@
],
"support": {
"issues": "https://github.com/doctrine/orm/issues",
- "source": "https://github.com/doctrine/orm/tree/2.16.2"
+ "source": "https://github.com/doctrine/orm/tree/2.14.3"
},
- "time": "2023-08-27T18:21:56+00:00"
+ "time": "2023-04-20T09:46:32+00:00"
},
{
"name": "doctrine/persistence",
- "version": "2.5.7",
+ "version": "2.5.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/persistence.git",
- "reference": "e36f22765f4d10a7748228babbf73da5edfeed3c"
+ "reference": "4473480044c88f30e0e8288e7123b60c7eb9efa3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/persistence/zipball/e36f22765f4d10a7748228babbf73da5edfeed3c",
- "reference": "e36f22765f4d10a7748228babbf73da5edfeed3c",
+ "url": "https://api.github.com/repos/doctrine/persistence/zipball/4473480044c88f30e0e8288e7123b60c7eb9efa3",
+ "reference": "4473480044c88f30e0e8288e7123b60c7eb9efa3",
"shasum": ""
},
"require": {
"doctrine/cache": "^1.11 || ^2.0",
"doctrine/collections": "^1.0",
- "doctrine/deprecations": "^0.5.3 || ^1",
- "doctrine/event-manager": "^1 || ^2",
+ "doctrine/deprecations": "^0.5.3",
+ "doctrine/event-manager": "^1.0",
"php": "^7.1 || ^8.0",
"psr/cache": "^1.0 || ^2.0 || ^3.0"
},
"conflict": {
- "doctrine/annotations": "<1.0 || >=3.0",
+ "doctrine/annotations": "<1.0 || >=2.0",
"doctrine/common": "<2.10"
},
"require-dev": {
"composer/package-versions-deprecated": "^1.11",
- "doctrine/annotations": "^1 || ^2",
- "doctrine/coding-standard": "^9 || ^11",
+ "doctrine/annotations": "^1.0",
+ "doctrine/coding-standard": "^9.0",
"doctrine/common": "^3.0",
- "phpstan/phpstan": "~1.4.10 || 1.9.4",
+ "phpstan/phpstan": "~1.4.10 || 1.5.0",
"phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.5",
"symfony/cache": "^4.4 || ^5.4 || ^6.0",
- "vimeo/psalm": "4.30.0 || 5.3.0"
+ "vimeo/psalm": "4.22.0"
},
"type": "library",
"autoload": {
@@ -3527,23 +3662,9 @@
],
"support": {
"issues": "https://github.com/doctrine/persistence/issues",
- "source": "https://github.com/doctrine/persistence/tree/2.5.7"
+ "source": "https://github.com/doctrine/persistence/tree/2.5.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%2Fpersistence",
- "type": "tidelift"
- }
- ],
- "time": "2023-02-03T15:51:16+00:00"
+ "time": "2022-04-14T21:47:17+00:00"
},
{
"name": "doctrine/sql-formatter",
@@ -3599,16 +3720,16 @@
},
{
"name": "dompdf/dompdf",
- "version": "v2.0.3",
+ "version": "v2.0.4",
"source": {
"type": "git",
"url": "https://github.com/dompdf/dompdf.git",
- "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85"
+ "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/dompdf/zipball/e8d2d5e37e8b0b30f0732a011295ab80680d7e85",
- "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85",
+ "url": "https://api.github.com/repos/dompdf/dompdf/zipball/093f2d9739cec57428e39ddadedfd4f3ae862c0f",
+ "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f",
"shasum": ""
},
"require": {
@@ -3655,9 +3776,9 @@
"homepage": "https://github.com/dompdf/dompdf",
"support": {
"issues": "https://github.com/dompdf/dompdf/issues",
- "source": "https://github.com/dompdf/dompdf/tree/v2.0.3"
+ "source": "https://github.com/dompdf/dompdf/tree/v2.0.4"
},
- "time": "2023-02-07T12:51:48+00:00"
+ "time": "2023-12-12T20:19:39+00:00"
},
{
"name": "drupol/composer-packages",
@@ -3725,26 +3846,26 @@
},
{
"name": "egulias/email-validator",
- "version": "4.0.1",
+ "version": "3.2.6",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "3a85486b709bc384dae8eb78fb2eec649bdb64ff"
+ "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/3a85486b709bc384dae8eb78fb2eec649bdb64ff",
- "reference": "3a85486b709bc384dae8eb78fb2eec649bdb64ff",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7",
+ "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7",
"shasum": ""
},
"require": {
- "doctrine/lexer": "^2.0 || ^3.0",
- "php": ">=8.1",
- "symfony/polyfill-intl-idn": "^1.26"
+ "doctrine/lexer": "^1.2|^2",
+ "php": ">=7.2",
+ "symfony/polyfill-intl-idn": "^1.15"
},
"require-dev": {
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^4.30"
+ "phpunit/phpunit": "^8.5.8|^9.3.3",
+ "vimeo/psalm": "^4"
},
"suggest": {
"ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
@@ -3752,7 +3873,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0.x-dev"
+ "dev-master": "3.0.x-dev"
}
},
"autoload": {
@@ -3780,7 +3901,7 @@
],
"support": {
"issues": "https://github.com/egulias/EmailValidator/issues",
- "source": "https://github.com/egulias/EmailValidator/tree/4.0.1"
+ "source": "https://github.com/egulias/EmailValidator/tree/3.2.6"
},
"funding": [
{
@@ -3788,7 +3909,7 @@
"type": "github"
}
],
- "time": "2023-01-14T14:17:03+00:00"
+ "time": "2023-06-01T07:04:22+00:00"
},
{
"name": "embed/embed",
@@ -3915,20 +4036,20 @@
},
{
"name": "ezyang/htmlpurifier",
- "version": "v4.16.0",
+ "version": "v4.17.0",
"source": {
"type": "git",
"url": "https://github.com/ezyang/htmlpurifier.git",
- "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8"
+ "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8",
- "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8",
+ "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c",
+ "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c",
"shasum": ""
},
"require": {
- "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0"
+ "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0"
},
"require-dev": {
"cerdic/css-tidy": "^1.7 || ^2.0",
@@ -3970,22 +4091,22 @@
],
"support": {
"issues": "https://github.com/ezyang/htmlpurifier/issues",
- "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0"
+ "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0"
},
- "time": "2022-09-18T07:06:19+00:00"
+ "time": "2023-11-17T15:01:25+00:00"
},
{
"name": "fakerphp/faker",
- "version": "v1.23.0",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
- "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01"
+ "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
- "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b",
+ "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b",
"shasum": ""
},
"require": {
@@ -4011,11 +4132,6 @@
"ext-mbstring": "Required for multibyte Unicode string functionality."
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "v1.21-dev"
- }
- },
"autoload": {
"psr-4": {
"Faker\\": "src/Faker/"
@@ -4038,9 +4154,9 @@
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0"
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1"
},
- "time": "2023-06-12T08:44:38+00:00"
+ "time": "2024-01-02T13:46:09+00:00"
},
{
"name": "friendsofphp/proxy-manager-lts",
@@ -4252,36 +4368,42 @@
"time": "2023-09-06T13:16:12+00:00"
},
{
- "name": "guzzlehttp/psr7",
- "version": "2.6.1",
+ "name": "guzzlehttp/guzzle",
+ "version": "7.8.1",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727"
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "41042bc7ab002487b876a0683fc8dce04ddce104"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727",
- "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104",
+ "reference": "41042bc7ab002487b876a0683fc8dce04ddce104",
"shasum": ""
},
"require": {
+ "ext-json": "*",
+ "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
+ "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
"php": "^7.2.5 || ^8.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.1 || ^2.0",
- "ralouphie/getallheaders": "^3.0"
+ "psr/http-client": "^1.0",
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
},
"provide": {
- "psr/http-factory-implementation": "1.0",
- "psr/http-message-implementation": "1.0"
+ "psr/http-client-implementation": "1.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.1",
- "http-interop/http-factory-tests": "^0.9",
- "phpunit/phpunit": "^8.5.29 || ^9.5.23"
+ "bamarni/composer-bin-plugin": "^1.8.2",
+ "ext-curl": "*",
+ "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
+ "php-http/message-factory": "^1.1",
+ "phpunit/phpunit": "^8.5.36 || ^9.6.15",
+ "psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
- "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
+ "ext-curl": "Required for CURL handler support",
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support",
+ "psr/log": "Required for using the Log middleware"
},
"type": "library",
"extra": {
@@ -4291,8 +4413,11 @@
}
},
"autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
"psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
+ "GuzzleHttp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4310,6 +4435,11 @@
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
+ {
+ "name": "Jeremy Lindblom",
+ "email": "jeremeamia@gmail.com",
+ "homepage": "https://github.com/jeremeamia"
+ },
{
"name": "George Mponos",
"email": "gmponos@gmail.com",
@@ -4329,27 +4459,23 @@
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://sagikazarmark.hu"
}
],
- "description": "PSR-7 message implementation that also provides common utility methods",
+ "description": "Guzzle is a PHP HTTP client library",
"keywords": [
+ "client",
+ "curl",
+ "framework",
"http",
- "message",
+ "http client",
+ "psr-18",
"psr-7",
- "request",
- "response",
- "stream",
- "uri",
- "url"
+ "rest",
+ "web service"
],
"support": {
- "issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.6.1"
+ "issues": "https://github.com/guzzle/guzzle/issues",
+ "source": "https://github.com/guzzle/guzzle/tree/7.8.1"
},
"funding": [
{
@@ -4361,57 +4487,43 @@
"type": "github"
},
{
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
"type": "tidelift"
}
],
- "time": "2023-08-27T10:13:57+00:00"
+ "time": "2023-12-03T20:35:24+00:00"
},
{
- "name": "intervention/image",
- "version": "2.7.2",
+ "name": "guzzlehttp/promises",
+ "version": "2.0.2",
"source": {
"type": "git",
- "url": "https://github.com/Intervention/image.git",
- "reference": "04be355f8d6734c826045d02a1079ad658322dad"
+ "url": "https://github.com/guzzle/promises.git",
+ "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad",
- "reference": "04be355f8d6734c826045d02a1079ad658322dad",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
+ "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
"shasum": ""
},
"require": {
- "ext-fileinfo": "*",
- "guzzlehttp/psr7": "~1.1 || ^2.0",
- "php": ">=5.4.0"
+ "php": "^7.2.5 || ^8.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"
+ "bamarni/composer-bin-plugin": "^1.8.2",
+ "phpunit/phpunit": "^8.5.36 || ^9.6.15"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "2.4-dev"
- },
- "laravel": {
- "providers": [
- "Intervention\\Image\\ImageServiceProvider"
- ],
- "aliases": {
- "Image": "Intervention\\Image\\Facades\\Image"
- }
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": false
}
},
"autoload": {
"psr-4": {
- "Intervention\\Image\\": "src/Intervention/Image"
+ "GuzzleHttp\\Promise\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4420,69 +4532,92 @@
],
"authors": [
{
- "name": "Oliver Vogel",
- "email": "oliver@intervention.io",
- "homepage": "https://intervention.io/"
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
}
],
- "description": "Image handling and manipulation library with support for Laravel integration",
- "homepage": "http://image.intervention.io/",
+ "description": "Guzzle promises library",
"keywords": [
- "gd",
- "image",
- "imagick",
- "laravel",
- "thumbnail",
- "watermark"
+ "promise"
],
"support": {
- "issues": "https://github.com/Intervention/image/issues",
- "source": "https://github.com/Intervention/image/tree/2.7.2"
+ "issues": "https://github.com/guzzle/promises/issues",
+ "source": "https://github.com/guzzle/promises/tree/2.0.2"
},
"funding": [
{
- "url": "https://paypal.me/interventionio",
- "type": "custom"
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
},
{
- "url": "https://github.com/Intervention",
+ "url": "https://github.com/Nyholm",
"type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
+ "type": "tidelift"
}
],
- "time": "2022-05-21T17:30:32+00:00"
+ "time": "2023-12-03T20:19:20+00:00"
},
{
- "name": "jasny/twig-extensions",
- "version": "v1.3.0",
+ "name": "guzzlehttp/psr7",
+ "version": "2.6.2",
"source": {
"type": "git",
- "url": "https://github.com/jasny/twig-extensions.git",
- "reference": "a694eb02f6fc14ff8e2fceb8b80882c0c926102b"
+ "url": "https://github.com/guzzle/psr7.git",
+ "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jasny/twig-extensions/zipball/a694eb02f6fc14ff8e2fceb8b80882c0c926102b",
- "reference": "a694eb02f6fc14ff8e2fceb8b80882c0c926102b",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
+ "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
"shasum": ""
},
"require": {
- "php": ">=7.0.0",
- "twig/twig": "^2.0 | ^3.0"
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-factory": "^1.0",
+ "psr/http-message": "^1.1 || ^2.0",
+ "ralouphie/getallheaders": "^3.0"
+ },
+ "provide": {
+ "psr/http-factory-implementation": "1.0",
+ "psr/http-message-implementation": "1.0"
},
"require-dev": {
- "ext-intl": "*",
- "ext-pcre": "*",
- "jasny/php-code-quality": "^2.5",
- "php": ">=7.2.0"
+ "bamarni/composer-bin-plugin": "^1.8.2",
+ "http-interop/http-factory-tests": "^0.9",
+ "phpunit/phpunit": "^8.5.36 || ^9.6.15"
},
"suggest": {
- "ext-intl": "Required for the use of the LocalDate Twig extension",
- "ext-pcre": "Required for the use of the PCRE Twig extension"
+ "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": false
+ }
+ },
"autoload": {
"psr-4": {
- "Jasny\\Twig\\": "src/"
+ "GuzzleHttp\\Psr7\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4491,59 +4626,105 @@
],
"authors": [
{
- "name": "Arnold Daniels",
- "email": "arnold@jasny.net",
- "homepage": "http://www.jasny.net"
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "George Mponos",
+ "email": "gmponos@gmail.com",
+ "homepage": "https://github.com/gmponos"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://github.com/sagikazarmark"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://sagikazarmark.hu"
}
],
- "description": "A set of useful Twig filters",
- "homepage": "http://github.com/jasny/twig-extensions#README",
+ "description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
- "PCRE",
- "array",
- "date",
- "datetime",
- "preg",
- "regex",
- "templating",
- "text",
- "time"
+ "http",
+ "message",
+ "psr-7",
+ "request",
+ "response",
+ "stream",
+ "uri",
+ "url"
],
"support": {
- "issues": "https://github.com/jasny/twig-extensions/issues",
- "source": "https://github.com/jasny/twig-extensions"
+ "issues": "https://github.com/guzzle/psr7/issues",
+ "source": "https://github.com/guzzle/psr7/tree/2.6.2"
},
- "time": "2019-12-10T16:04:23+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-03T20:05:35+00:00"
},
{
- "name": "jeschek/dragsort",
- "version": "1.0.5",
+ "name": "http-interop/http-factory-guzzle",
+ "version": "1.2.0",
"source": {
"type": "git",
- "url": "https://github.com/philippjeschek/bolt-dragsort.git",
- "reference": "0e3522002e59536765376fd1c8621ba114d12558"
+ "url": "https://github.com/http-interop/http-factory-guzzle.git",
+ "reference": "8f06e92b95405216b237521cc64c804dd44c4a81"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/philippjeschek/bolt-dragsort/zipball/0e3522002e59536765376fd1c8621ba114d12558",
- "reference": "0e3522002e59536765376fd1c8621ba114d12558",
+ "url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/8f06e92b95405216b237521cc64c804dd44c4a81",
+ "reference": "8f06e92b95405216b237521cc64c804dd44c4a81",
"shasum": ""
},
"require": {
- "php": "^8.0",
- "twig/twig": "^2.12 | ^3.0"
+ "guzzlehttp/psr7": "^1.7||^2.0",
+ "php": ">=7.3",
+ "psr/http-factory": "^1.0"
+ },
+ "provide": {
+ "psr/http-factory-implementation": "^1.0"
},
"require-dev": {
- "bolt/core": "^5.1",
- "symplify/easy-coding-standard": "^9.4"
+ "http-interop/http-factory-tests": "^0.9",
+ "phpunit/phpunit": "^9.5"
},
- "type": "bolt-extension",
- "extra": {
- "entrypoint": "Jeschek\\DragSort\\Extension"
+ "suggest": {
+ "guzzlehttp/psr7": "Includes an HTTP factory starting in version 2.0"
},
+ "type": "library",
"autoload": {
"psr-4": {
- "Jeschek\\DragSort\\": "src/"
+ "Http\\Factory\\Guzzle\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4552,51 +4733,68 @@
],
"authors": [
{
- "name": "Philipp Jeschek",
- "email": "mail@philippjeschek.me"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "This extension enables drag and drop sorting for records in the backend.",
+ "description": "An HTTP Factory using Guzzle PSR7",
+ "keywords": [
+ "factory",
+ "http",
+ "psr-17",
+ "psr-7"
+ ],
"support": {
- "issues": "https://github.com/philippjeschek/bolt-dragsort/issues",
- "source": "https://github.com/philippjeschek/bolt-dragsort/tree/1.0.5"
+ "issues": "https://github.com/http-interop/http-factory-guzzle/issues",
+ "source": "https://github.com/http-interop/http-factory-guzzle/tree/1.2.0"
},
- "time": "2022-04-07T09:28:14+00:00"
+ "time": "2021-07-21T13:50:14+00:00"
},
{
- "name": "justinrainbow/json-schema",
- "version": "v5.2.13",
+ "name": "intervention/image",
+ "version": "2.7.2",
"source": {
"type": "git",
- "url": "https://github.com/justinrainbow/json-schema.git",
- "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793"
+ "url": "https://github.com/Intervention/image.git",
+ "reference": "04be355f8d6734c826045d02a1079ad658322dad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793",
- "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793",
+ "url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad",
+ "reference": "04be355f8d6734c826045d02a1079ad658322dad",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "ext-fileinfo": "*",
+ "guzzlehttp/psr7": "~1.1 || ^2.0",
+ "php": ">=5.4.0"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1",
- "json-schema/json-schema-test-suite": "1.2.0",
- "phpunit/phpunit": "^4.8.35"
+ "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"
},
- "bin": [
- "bin/validate-json"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0.x-dev"
+ "dev-master": "2.4-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Intervention\\Image\\ImageServiceProvider"
+ ],
+ "aliases": {
+ "Image": "Intervention\\Image\\Facades\\Image"
+ }
}
},
"autoload": {
"psr-4": {
- "JsonSchema\\": "src/JsonSchema/"
+ "Intervention\\Image\\": "src/Intervention/Image"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4605,61 +4803,305 @@
],
"authors": [
{
- "name": "Bruno Prieto Reis",
- "email": "bruno.p.reis@gmail.com"
- },
- {
- "name": "Justin Rainbow",
- "email": "justin.rainbow@gmail.com"
- },
- {
- "name": "Igor Wiedler",
- "email": "igor@wiedler.ch"
- },
- {
- "name": "Robert Schönthal",
- "email": "seroscho@googlemail.com"
+ "name": "Oliver Vogel",
+ "email": "oliver@intervention.io",
+ "homepage": "https://intervention.io/"
}
],
- "description": "A library to validate a json schema.",
- "homepage": "https://github.com/justinrainbow/json-schema",
+ "description": "Image handling and manipulation library with support for Laravel integration",
+ "homepage": "http://image.intervention.io/",
"keywords": [
- "json",
- "schema"
+ "gd",
+ "image",
+ "imagick",
+ "laravel",
+ "thumbnail",
+ "watermark"
],
"support": {
- "issues": "https://github.com/justinrainbow/json-schema/issues",
- "source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13"
+ "issues": "https://github.com/Intervention/image/issues",
+ "source": "https://github.com/Intervention/image/tree/2.7.2"
},
- "time": "2023-09-26T02:20:38+00:00"
+ "funding": [
+ {
+ "url": "https://paypal.me/interventionio",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/Intervention",
+ "type": "github"
+ }
+ ],
+ "time": "2022-05-21T17:30:32+00:00"
},
{
- "name": "kevinlebrun/colors.php",
- "version": "0.4.1",
+ "name": "jasny/twig-extensions",
+ "version": "v1.3.0",
"source": {
"type": "git",
- "url": "https://github.com/kevinlebrun/colors.php.git",
- "reference": "d132f36d06e48ea080855af19b4bcb1fb615224a"
+ "url": "https://github.com/jasny/twig-extensions.git",
+ "reference": "a694eb02f6fc14ff8e2fceb8b80882c0c926102b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/kevinlebrun/colors.php/zipball/d132f36d06e48ea080855af19b4bcb1fb615224a",
- "reference": "d132f36d06e48ea080855af19b4bcb1fb615224a",
+ "url": "https://api.github.com/repos/jasny/twig-extensions/zipball/a694eb02f6fc14ff8e2fceb8b80882c0c926102b",
+ "reference": "a694eb02f6fc14ff8e2fceb8b80882c0c926102b",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=7.0.0",
+ "twig/twig": "^2.0 | ^3.0"
},
"require-dev": {
- "phpunit/phpunit": "3.7.*",
- "satooshi/php-coveralls": "dev-master",
- "squizlabs/php_codesniffer": "1.*"
+ "ext-intl": "*",
+ "ext-pcre": "*",
+ "jasny/php-code-quality": "^2.5",
+ "php": ">=7.2.0"
+ },
+ "suggest": {
+ "ext-intl": "Required for the use of the LocalDate Twig extension",
+ "ext-pcre": "Required for the use of the PCRE Twig extension"
},
"type": "library",
"autoload": {
- "psr-0": {
- "Colors": "src/"
- }
+ "psr-4": {
+ "Jasny\\Twig\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Arnold Daniels",
+ "email": "arnold@jasny.net",
+ "homepage": "http://www.jasny.net"
+ }
+ ],
+ "description": "A set of useful Twig filters",
+ "homepage": "http://github.com/jasny/twig-extensions#README",
+ "keywords": [
+ "PCRE",
+ "array",
+ "date",
+ "datetime",
+ "preg",
+ "regex",
+ "templating",
+ "text",
+ "time"
+ ],
+ "support": {
+ "issues": "https://github.com/jasny/twig-extensions/issues",
+ "source": "https://github.com/jasny/twig-extensions"
+ },
+ "time": "2019-12-10T16:04:23+00:00"
+ },
+ {
+ "name": "jean85/pretty-package-versions",
+ "version": "2.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Jean85/pretty-package-versions.git",
+ "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af",
+ "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af",
+ "shasum": ""
+ },
+ "require": {
+ "composer-runtime-api": "^2.0.0",
+ "php": "^7.1|^8.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^2.17",
+ "jean85/composer-provided-replaced-stub-package": "^1.0",
+ "phpstan/phpstan": "^0.12.66",
+ "phpunit/phpunit": "^7.5|^8.5|^9.4",
+ "vimeo/psalm": "^4.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Jean85\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Alessandro Lai",
+ "email": "alessandro.lai85@gmail.com"
+ }
+ ],
+ "description": "A library to get pretty versions strings of installed dependencies",
+ "keywords": [
+ "composer",
+ "package",
+ "release",
+ "versions"
+ ],
+ "support": {
+ "issues": "https://github.com/Jean85/pretty-package-versions/issues",
+ "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.5"
+ },
+ "time": "2021-10-08T21:21:46+00:00"
+ },
+ {
+ "name": "jeschek/dragsort",
+ "version": "1.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/philippjeschek/bolt-dragsort.git",
+ "reference": "0e3522002e59536765376fd1c8621ba114d12558"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/philippjeschek/bolt-dragsort/zipball/0e3522002e59536765376fd1c8621ba114d12558",
+ "reference": "0e3522002e59536765376fd1c8621ba114d12558",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.0",
+ "twig/twig": "^2.12 | ^3.0"
+ },
+ "require-dev": {
+ "bolt/core": "^5.1",
+ "symplify/easy-coding-standard": "^9.4"
+ },
+ "type": "bolt-extension",
+ "extra": {
+ "entrypoint": "Jeschek\\DragSort\\Extension"
+ },
+ "autoload": {
+ "psr-4": {
+ "Jeschek\\DragSort\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Philipp Jeschek",
+ "email": "mail@philippjeschek.me"
+ }
+ ],
+ "description": "This extension enables drag and drop sorting for records in the backend.",
+ "support": {
+ "issues": "https://github.com/philippjeschek/bolt-dragsort/issues",
+ "source": "https://github.com/philippjeschek/bolt-dragsort/tree/1.0.5"
+ },
+ "time": "2022-04-07T09:28:14+00:00"
+ },
+ {
+ "name": "justinrainbow/json-schema",
+ "version": "v5.2.13",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/justinrainbow/json-schema.git",
+ "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793",
+ "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1",
+ "json-schema/json-schema-test-suite": "1.2.0",
+ "phpunit/phpunit": "^4.8.35"
+ },
+ "bin": [
+ "bin/validate-json"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "JsonSchema\\": "src/JsonSchema/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bruno Prieto Reis",
+ "email": "bruno.p.reis@gmail.com"
+ },
+ {
+ "name": "Justin Rainbow",
+ "email": "justin.rainbow@gmail.com"
+ },
+ {
+ "name": "Igor Wiedler",
+ "email": "igor@wiedler.ch"
+ },
+ {
+ "name": "Robert Schönthal",
+ "email": "seroscho@googlemail.com"
+ }
+ ],
+ "description": "A library to validate a json schema.",
+ "homepage": "https://github.com/justinrainbow/json-schema",
+ "keywords": [
+ "json",
+ "schema"
+ ],
+ "support": {
+ "issues": "https://github.com/justinrainbow/json-schema/issues",
+ "source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13"
+ },
+ "time": "2023-09-26T02:20:38+00:00"
+ },
+ {
+ "name": "kevinlebrun/colors.php",
+ "version": "0.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/kevinlebrun/colors.php.git",
+ "reference": "d132f36d06e48ea080855af19b4bcb1fb615224a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/kevinlebrun/colors.php/zipball/d132f36d06e48ea080855af19b4bcb1fb615224a",
+ "reference": "d132f36d06e48ea080855af19b4bcb1fb615224a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "3.7.*",
+ "satooshi/php-coveralls": "dev-master",
+ "squizlabs/php_codesniffer": "1.*"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Colors": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -4850,28 +5292,29 @@
},
{
"name": "knplabs/knp-menu-bundle",
- "version": "v3.2.0",
+ "version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/KnpLabs/KnpMenuBundle.git",
- "reference": "a0b4224f872d74ae939589eb1ccf0e11291370a9"
+ "reference": "02a2c68a2d6247a21c1d5ed185e2e3e3d9e7dfb5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/KnpLabs/KnpMenuBundle/zipball/a0b4224f872d74ae939589eb1ccf0e11291370a9",
- "reference": "a0b4224f872d74ae939589eb1ccf0e11291370a9",
+ "url": "https://api.github.com/repos/KnpLabs/KnpMenuBundle/zipball/02a2c68a2d6247a21c1d5ed185e2e3e3d9e7dfb5",
+ "reference": "02a2c68a2d6247a21c1d5ed185e2e3e3d9e7dfb5",
"shasum": ""
},
"require": {
- "knplabs/knp-menu": "^3.1",
- "php": "^7.2 || ^8.0",
- "symfony/framework-bundle": "^3.4 | ^4.4 | ^5.0 | ^6.0"
+ "knplabs/knp-menu": "^3.3",
+ "php": "^8.0",
+ "symfony/deprecation-contracts": "^2.5 | ^3.3",
+ "symfony/framework-bundle": "^5.4 | ^6.0 | ^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.5 | ^9.5",
- "symfony/expression-language": "^3.4 | ^4.4 | ^5.0 | ^6.0",
- "symfony/phpunit-bridge": "^5.2 | ^6.0",
- "symfony/templating": "^3.4 | ^4.4 | ^5.0 | ^6.0"
+ "phpunit/phpunit": "^9.6 | ^10.1",
+ "symfony/expression-language": "^5.4 | ^6.0 | ^7.0",
+ "symfony/phpunit-bridge": "^6.0 | ^7.0",
+ "symfony/templating": "^5.4 | ^6.0 | ^7.0"
},
"type": "symfony-bundle",
"extra": {
@@ -4908,35 +5351,35 @@
],
"support": {
"issues": "https://github.com/KnpLabs/KnpMenuBundle/issues",
- "source": "https://github.com/KnpLabs/KnpMenuBundle/tree/v3.2.0"
+ "source": "https://github.com/KnpLabs/KnpMenuBundle/tree/v3.3.0"
},
- "time": "2021-10-24T07:53:34+00:00"
+ "time": "2023-11-01T09:25:40+00:00"
},
{
"name": "laminas/laminas-code",
- "version": "4.12.0",
+ "version": "4.13.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-code.git",
- "reference": "36cbee228b427446419dd51944bdfb6bb8ddbcd0"
+ "reference": "7353d4099ad5388e84737dd16994316a04f48dbf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-code/zipball/36cbee228b427446419dd51944bdfb6bb8ddbcd0",
- "reference": "36cbee228b427446419dd51944bdfb6bb8ddbcd0",
+ "url": "https://api.github.com/repos/laminas/laminas-code/zipball/7353d4099ad5388e84737dd16994316a04f48dbf",
+ "reference": "7353d4099ad5388e84737dd16994316a04f48dbf",
"shasum": ""
},
"require": {
- "php": "~8.1.0 || ~8.2.0"
+ "php": "~8.1.0 || ~8.2.0 || ~8.3.0"
},
"require-dev": {
- "doctrine/annotations": "^2.0.0",
+ "doctrine/annotations": "^2.0.1",
"ext-phar": "*",
- "laminas/laminas-coding-standard": "^2.3.0",
- "laminas/laminas-stdlib": "^3.6.1",
- "phpunit/phpunit": "^10.0.9",
+ "laminas/laminas-coding-standard": "^2.5.0",
+ "laminas/laminas-stdlib": "^3.17.0",
+ "phpunit/phpunit": "^10.3.3",
"psalm/plugin-phpunit": "^0.18.4",
- "vimeo/psalm": "^5.7.1"
+ "vimeo/psalm": "^5.15.0"
},
"suggest": {
"doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features",
@@ -4973,58 +5416,56 @@
"type": "community_bridge"
}
],
- "time": "2023-09-06T14:56:25+00:00"
+ "time": "2023-10-18T10:00:55+00:00"
},
{
"name": "league/flysystem",
- "version": "1.1.10",
+ "version": "3.23.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1"
+ "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1",
- "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc",
+ "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc",
"shasum": ""
},
"require": {
- "ext-fileinfo": "*",
- "league/mime-type-detection": "^1.3",
- "php": "^7.2.5 || ^8.0"
+ "league/flysystem-local": "^3.0.0",
+ "league/mime-type-detection": "^1.0.0",
+ "php": "^8.0.2"
},
"conflict": {
- "league/flysystem-sftp": "<1.0.6"
+ "async-aws/core": "<1.19.0",
+ "async-aws/s3": "<1.14.0",
+ "aws/aws-sdk-php": "3.209.31 || 3.210.0",
+ "guzzlehttp/guzzle": "<7.0",
+ "guzzlehttp/ringphp": "<1.1.1",
+ "phpseclib/phpseclib": "3.0.15",
+ "symfony/http-client": "<5.2"
},
"require-dev": {
- "phpspec/prophecy": "^1.11.1",
- "phpunit/phpunit": "^8.5.8"
- },
- "suggest": {
- "ext-ftp": "Allows you to use FTP server storage",
- "ext-openssl": "Allows you to use FTPS server storage",
- "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
- "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
- "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
- "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
- "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
- "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
- "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
- "league/flysystem-webdav": "Allows you to use WebDAV storage",
- "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
- "spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
- "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
+ "async-aws/s3": "^1.5 || ^2.0",
+ "async-aws/simple-s3": "^1.1 || ^2.0",
+ "aws/aws-sdk-php": "^3.220.0",
+ "composer/semver": "^3.0",
+ "ext-fileinfo": "*",
+ "ext-ftp": "*",
+ "ext-zip": "*",
+ "friendsofphp/php-cs-fixer": "^3.5",
+ "google/cloud-storage": "^1.23",
+ "microsoft/azure-storage-blob": "^1.1",
+ "phpseclib/phpseclib": "^3.0.34",
+ "phpstan/phpstan": "^1.10",
+ "phpunit/phpunit": "^9.5.11|^10.0",
+ "sabre/dav": "^4.3.1"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
"autoload": {
"psr-4": {
- "League\\Flysystem\\": "src/"
+ "League\\Flysystem\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -5034,75 +5475,63 @@
"authors": [
{
"name": "Frank de Jonge",
- "email": "info@frenky.net"
+ "email": "info@frankdejonge.nl"
}
],
- "description": "Filesystem abstraction: Many filesystems, one API.",
+ "description": "File storage abstraction for PHP",
"keywords": [
- "Cloud Files",
"WebDAV",
- "abstraction",
"aws",
"cloud",
- "copy.com",
- "dropbox",
- "file systems",
+ "file",
"files",
"filesystem",
"filesystems",
"ftp",
- "rackspace",
- "remote",
"s3",
"sftp",
"storage"
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/1.1.10"
+ "source": "https://github.com/thephpleague/flysystem/tree/3.23.0"
},
"funding": [
{
- "url": "https://offset.earth/frankdejonge",
- "type": "other"
+ "url": "https://ecologi.com/frankdejonge",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/frankdejonge",
+ "type": "github"
}
],
- "time": "2022-10-04T09:16:37+00:00"
+ "time": "2023-12-04T10:16:17+00:00"
},
{
- "name": "league/glide",
- "version": "1.7.2",
+ "name": "league/flysystem-local",
+ "version": "3.23.0",
"source": {
"type": "git",
- "url": "https://github.com/thephpleague/glide.git",
- "reference": "8dba756ada0b8e525bf6f1f7d1bd83c1e99e124e"
+ "url": "https://github.com/thephpleague/flysystem-local.git",
+ "reference": "5cf046ba5f059460e86a997c504dd781a39a109b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/glide/zipball/8dba756ada0b8e525bf6f1f7d1bd83c1e99e124e",
- "reference": "8dba756ada0b8e525bf6f1f7d1bd83c1e99e124e",
+ "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/5cf046ba5f059460e86a997c504dd781a39a109b",
+ "reference": "5cf046ba5f059460e86a997c504dd781a39a109b",
"shasum": ""
},
"require": {
- "intervention/image": "^2.4",
- "league/flysystem": "^1.0",
- "php": "^7.2|^8.0",
- "psr/http-message": "^1.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.3.3",
- "phpunit/php-token-stream": "^3.1|^4.0",
- "phpunit/phpunit": "^8.5|^9.0"
+ "ext-fileinfo": "*",
+ "league/flysystem": "^3.0.0",
+ "league/mime-type-detection": "^1.0.0",
+ "php": "^8.0.2"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
"autoload": {
"psr-4": {
- "League\\Glide\\": "src/"
+ "League\\Flysystem\\Local\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -5111,10 +5540,75 @@
],
"authors": [
{
- "name": "Jonathan Reinink",
- "email": "jonathan@reinink.ca",
- "homepage": "http://reinink.ca"
- },
+ "name": "Frank de Jonge",
+ "email": "info@frankdejonge.nl"
+ }
+ ],
+ "description": "Local filesystem adapter for Flysystem.",
+ "keywords": [
+ "Flysystem",
+ "file",
+ "files",
+ "filesystem",
+ "local"
+ ],
+ "support": {
+ "issues": "https://github.com/thephpleague/flysystem-local/issues",
+ "source": "https://github.com/thephpleague/flysystem-local/tree/3.23.0"
+ },
+ "funding": [
+ {
+ "url": "https://ecologi.com/frankdejonge",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/frankdejonge",
+ "type": "github"
+ }
+ ],
+ "time": "2023-12-04T10:14:46+00:00"
+ },
+ {
+ "name": "league/glide",
+ "version": "2.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/glide.git",
+ "reference": "2ff92c8f1edc80b74e2d3c5efccfc7223f74d407"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/glide/zipball/2ff92c8f1edc80b74e2d3c5efccfc7223f74d407",
+ "reference": "2ff92c8f1edc80b74e2d3c5efccfc7223f74d407",
+ "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",
@@ -5135,31 +5629,31 @@
],
"support": {
"issues": "https://github.com/thephpleague/glide/issues",
- "source": "https://github.com/thephpleague/glide/tree/1.7.2"
+ "source": "https://github.com/thephpleague/glide/tree/2.3.0"
},
- "time": "2023-02-14T06:26:04+00:00"
+ "time": "2023-07-08T06:26:07+00:00"
},
{
"name": "league/glide-symfony",
- "version": "1.1.1",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/glide-symfony.git",
- "reference": "8162ec0e0b070e53e88a840a67208ec4baec9291"
+ "reference": "8d0b117d5335699c374288a7cd6a041b7612e198"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/glide-symfony/zipball/8162ec0e0b070e53e88a840a67208ec4baec9291",
- "reference": "8162ec0e0b070e53e88a840a67208ec4baec9291",
+ "url": "https://api.github.com/repos/thephpleague/glide-symfony/zipball/8d0b117d5335699c374288a7cd6a041b7612e198",
+ "reference": "8d0b117d5335699c374288a7cd6a041b7612e198",
"shasum": ""
},
"require": {
- "league/glide": "^1.0",
- "symfony/http-foundation": "^2.3|^3.0|^4.0|^5.0"
+ "league/glide": "^2.0",
+ "symfony/http-foundation": "^2.3|^3.0|^4.0|^5.0|^6.0"
},
"require-dev": {
- "mockery/mockery": "^0.9",
- "phpunit/phpunit": "^4.0"
+ "mockery/mockery": "^1.3.3",
+ "phpunit/phpunit": "^8.5|^9.4"
},
"type": "library",
"autoload": {
@@ -5182,22 +5676,22 @@
"homepage": "http://glide.thephpleague.com",
"support": {
"issues": "https://github.com/thephpleague/glide-symfony/issues",
- "source": "https://github.com/thephpleague/glide-symfony/tree/1.0.4"
+ "source": "https://github.com/thephpleague/glide-symfony/tree/1.1.0"
},
- "time": "2020-03-05T12:38:10+00:00"
+ "time": "2021-12-01T13:25:09+00:00"
},
{
"name": "league/mime-type-detection",
- "version": "1.13.0",
+ "version": "1.14.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/mime-type-detection.git",
- "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96"
+ "reference": "b6a5854368533df0295c5761a0253656a2e52d9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/a6dfb1194a2946fcdc1f38219445234f65b35c96",
- "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96",
+ "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e",
+ "reference": "b6a5854368533df0295c5761a0253656a2e52d9e",
"shasum": ""
},
"require": {
@@ -5228,7 +5722,7 @@
"description": "Mime-type detection for Flysystem",
"support": {
"issues": "https://github.com/thephpleague/mime-type-detection/issues",
- "source": "https://github.com/thephpleague/mime-type-detection/tree/1.13.0"
+ "source": "https://github.com/thephpleague/mime-type-detection/tree/1.14.0"
},
"funding": [
{
@@ -5240,7 +5734,60 @@
"type": "tidelift"
}
],
- "time": "2023-08-05T12:09:49+00:00"
+ "time": "2023-10-17T14:13:20+00:00"
+ },
+ {
+ "name": "lorenzo/pinky",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/lorenzo/pinky.git",
+ "reference": "e1b1bdb2c132b8a7ba32bca64d2443f646ddbd17"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/lorenzo/pinky/zipball/e1b1bdb2c132b8a7ba32bca64d2443f646ddbd17",
+ "reference": "e1b1bdb2c132b8a7ba32bca64d2443f646ddbd17",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xsl": "*",
+ "php": ">=5.6.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.21 || ^9.5.10"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/pinky.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jose Lorenzo Rodriguez",
+ "email": "jose.zap@gmail.com"
+ }
+ ],
+ "description": "A Foundation for Emails (Inky) template transpiler",
+ "keywords": [
+ "email",
+ "foundation",
+ "inky",
+ "template",
+ "zurb"
+ ],
+ "support": {
+ "issues": "https://github.com/lorenzo/pinky/issues",
+ "source": "https://github.com/lorenzo/pinky/tree/1.1.0"
+ },
+ "time": "2023-07-31T13:36:50+00:00"
},
{
"name": "maennchen/zipstream-php",
@@ -5557,18 +6104,110 @@
},
"time": "2019-02-11T13:47:52+00:00"
},
+ {
+ "name": "mollie/mollie-api-php",
+ "version": "v2.64.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mollie/mollie-api-php.git",
+ "reference": "b54e0b05b98e15233d89724933c42c249d4b13d4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/b54e0b05b98e15233d89724933c42c249d4b13d4",
+ "reference": "b54e0b05b98e15233d89724933c42c249d4b13d4",
+ "shasum": ""
+ },
+ "require": {
+ "composer/ca-bundle": "^1.2",
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-openssl": "*",
+ "php": "^7.2|^8.0"
+ },
+ "require-dev": {
+ "eloquent/liberator": "^2.0||^3.0",
+ "friendsofphp/php-cs-fixer": "^3.0",
+ "guzzlehttp/guzzle": "^6.3 || ^7.0",
+ "phpstan/phpstan": "^1.4",
+ "phpunit/phpunit": "^8.5 || ^9.5"
+ },
+ "suggest": {
+ "mollie/oauth2-mollie-php": "Use OAuth to authenticate with the Mollie API. This is needed for some endpoints. Visit https://docs.mollie.com/ for more information."
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Mollie\\Api\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Mollie B.V.",
+ "email": "info@mollie.com"
+ }
+ ],
+ "description": "Mollie API client library for PHP. Mollie is a European Payment Service provider and offers international payment methods such as Mastercard, VISA, American Express and PayPal, and local payment methods such as iDEAL, Bancontact, SOFORT Banking, SEPA direct debit, Belfius Direct Net, KBC Payment Button and various gift cards such as Podiumcadeaukaart and fashioncheque.",
+ "homepage": "https://www.mollie.com/en/developers",
+ "keywords": [
+ "Apple Pay",
+ "CBC",
+ "Przelewy24",
+ "api",
+ "bancontact",
+ "banktransfer",
+ "belfius",
+ "belfius direct net",
+ "charges",
+ "creditcard",
+ "direct debit",
+ "fashioncheque",
+ "gateway",
+ "gift cards",
+ "ideal",
+ "inghomepay",
+ "intersolve",
+ "kbc",
+ "klarna",
+ "mistercash",
+ "mollie",
+ "paylater",
+ "payment",
+ "payments",
+ "paypal",
+ "paysafecard",
+ "podiumcadeaukaart",
+ "recurring",
+ "refunds",
+ "sepa",
+ "service",
+ "sliceit",
+ "sofort",
+ "sofortbanking",
+ "subscriptions"
+ ],
+ "support": {
+ "issues": "https://github.com/mollie/mollie-api-php/issues",
+ "source": "https://github.com/mollie/mollie-api-php/tree/v2.64.0"
+ },
+ "time": "2023-12-19T16:06:39+00:00"
+ },
{
"name": "monolog/monolog",
- "version": "2.9.1",
+ "version": "2.9.2",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1"
+ "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1",
- "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f",
+ "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f",
"shasum": ""
},
"require": {
@@ -5645,7 +6284,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.9.1"
+ "source": "https://github.com/Seldaek/monolog/tree/2.9.2"
},
"funding": [
{
@@ -5657,7 +6296,7 @@
"type": "tidelift"
}
],
- "time": "2023-02-06T13:44:46+00:00"
+ "time": "2023-10-27T15:25:26+00:00"
},
{
"name": "nelexa/zip",
@@ -5734,25 +6373,25 @@
},
{
"name": "nelmio/cors-bundle",
- "version": "2.3.1",
+ "version": "2.4.0",
"source": {
"type": "git",
"url": "https://github.com/nelmio/NelmioCorsBundle.git",
- "reference": "185d2c0ae50a3f0b628790170164d5f1c5b7c281"
+ "reference": "78fcdb91f76b080a1008133def9c7f613833933d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/185d2c0ae50a3f0b628790170164d5f1c5b7c281",
- "reference": "185d2c0ae50a3f0b628790170164d5f1c5b7c281",
+ "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/78fcdb91f76b080a1008133def9c7f613833933d",
+ "reference": "78fcdb91f76b080a1008133def9c7f613833933d",
"shasum": ""
},
"require": {
"psr/log": "^1.0 || ^2.0 || ^3.0",
- "symfony/framework-bundle": "^4.4 || ^5.4 || ^6.0"
+ "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0"
},
"require-dev": {
- "mockery/mockery": "^1.2",
- "symfony/phpunit-bridge": "^4.4 || ^5.4 || ^6.0"
+ "mockery/mockery": "^1.3.6",
+ "symfony/phpunit-bridge": "^5.4 || ^6.0 || ^7.0"
},
"type": "symfony-bundle",
"extra": {
@@ -5790,9 +6429,9 @@
],
"support": {
"issues": "https://github.com/nelmio/NelmioCorsBundle/issues",
- "source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.3.1"
+ "source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.4.0"
},
- "time": "2023-02-16T08:49:29+00:00"
+ "time": "2023-11-30T16:41:19+00:00"
},
{
"name": "nelmio/security-bundle",
@@ -5864,19 +6503,20 @@
},
{
"name": "nesbot/carbon",
- "version": "2.71.0",
+ "version": "2.72.1",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "98276233188583f2ff845a0f992a235472d9466a"
+ "reference": "2b3b3db0a2d0556a177392ff1a3bf5608fa09f78"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/98276233188583f2ff845a0f992a235472d9466a",
- "reference": "98276233188583f2ff845a0f992a235472d9466a",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2b3b3db0a2d0556a177392ff1a3bf5608fa09f78",
+ "reference": "2b3b3db0a2d0556a177392ff1a3bf5608fa09f78",
"shasum": ""
},
"require": {
+ "carbonphp/carbon-doctrine-types": "*",
"ext-json": "*",
"php": "^7.1.8 || ^8.0",
"psr/clock": "^1.0",
@@ -5888,8 +6528,8 @@
"psr/clock-implementation": "1.0"
},
"require-dev": {
- "doctrine/dbal": "^2.0 || ^3.1.4",
- "doctrine/orm": "^2.7",
+ "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": "*",
@@ -5966,7 +6606,7 @@
"type": "tidelift"
}
],
- "time": "2023-09-25T11:31:05+00:00"
+ "time": "2023-12-08T23:47:49+00:00"
},
{
"name": "nette/utils",
@@ -6056,16 +6696,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v4.17.1",
+ "version": "v4.18.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
+ "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
+ "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
"shasum": ""
},
"require": {
@@ -6106,9 +6746,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0"
},
- "time": "2023-08-13T19:53:39+00:00"
+ "time": "2023-12-10T21:03:43+00:00"
},
{
"name": "nyholm/nsa",
@@ -6265,23 +6905,23 @@
},
{
"name": "phenx/php-font-lib",
- "version": "0.5.4",
+ "version": "0.5.5",
"source": {
"type": "git",
"url": "https://github.com/dompdf/php-font-lib.git",
- "reference": "dd448ad1ce34c63d09baccd05415e361300c35b4"
+ "reference": "671df0f3516252011aa94f9e8e3b3b66199339f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/dd448ad1ce34c63d09baccd05415e361300c35b4",
- "reference": "dd448ad1ce34c63d09baccd05415e361300c35b4",
+ "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/671df0f3516252011aa94f9e8e3b3b66199339f8",
+ "reference": "671df0f3516252011aa94f9e8e3b3b66199339f8",
"shasum": ""
},
"require": {
"ext-mbstring": "*"
},
"require-dev": {
- "symfony/phpunit-bridge": "^3 || ^4 || ^5"
+ "symfony/phpunit-bridge": "^3 || ^4 || ^5 || ^6"
},
"type": "library",
"autoload": {
@@ -6291,7 +6931,7 @@
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "LGPL-3.0"
+ "LGPL-2.1-or-later"
],
"authors": [
{
@@ -6303,22 +6943,22 @@
"homepage": "https://github.com/PhenX/php-font-lib",
"support": {
"issues": "https://github.com/dompdf/php-font-lib/issues",
- "source": "https://github.com/dompdf/php-font-lib/tree/0.5.4"
+ "source": "https://github.com/dompdf/php-font-lib/tree/0.5.5"
},
- "time": "2021-12-17T19:44:54+00:00"
+ "time": "2024-01-07T18:13:29+00:00"
},
{
"name": "phenx/php-svg-lib",
- "version": "0.5.0",
+ "version": "0.5.1",
"source": {
"type": "git",
"url": "https://github.com/dompdf/php-svg-lib.git",
- "reference": "76876c6cf3080bcb6f249d7d59705108166a6685"
+ "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/76876c6cf3080bcb6f249d7d59705108166a6685",
- "reference": "76876c6cf3080bcb6f249d7d59705108166a6685",
+ "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8a8a1ebcf6aea861ef30197999f096f7bd4b4456",
+ "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456",
"shasum": ""
},
"require": {
@@ -6349,36 +6989,53 @@
"homepage": "https://github.com/PhenX/php-svg-lib",
"support": {
"issues": "https://github.com/dompdf/php-svg-lib/issues",
- "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.0"
+ "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.1"
},
- "time": "2022-09-06T12:16:56+00:00"
+ "time": "2023-12-11T20:56:08+00:00"
},
{
- "name": "php-translation/common",
- "version": "3.2.0",
+ "name": "php-http/client-common",
+ "version": "2.7.1",
"source": {
"type": "git",
- "url": "https://github.com/php-translation/common.git",
- "reference": "986ddf4e3b2b3458d2a7353658bd40764d8ca1d1"
+ "url": "https://github.com/php-http/client-common.git",
+ "reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-translation/common/zipball/986ddf4e3b2b3458d2a7353658bd40764d8ca1d1",
- "reference": "986ddf4e3b2b3458d2a7353658bd40764d8ca1d1",
+ "url": "https://api.github.com/repos/php-http/client-common/zipball/1e19c059b0e4d5f717bf5d524d616165aeab0612",
+ "reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612",
"shasum": ""
},
"require": {
- "php": ">=7.2",
- "symfony/translation": " ^3.4 || ^4.3 || ^5.0 || ^6.0"
+ "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": {
- "phpunit/phpunit": "^8.4",
- "symfony/phpunit-bridge": "^4.3 || ^5.0 || ^6.0"
+ "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": {
- "Translation\\Common\\": "src/"
+ "Http\\Client\\Common\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6387,55 +7044,73 @@
],
"authors": [
{
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com"
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
}
],
- "description": "Common translation stuff",
+ "description": "Common HTTP Client implementations and tools for HTTPlug",
+ "homepage": "http://httplug.io",
+ "keywords": [
+ "client",
+ "common",
+ "http",
+ "httplug"
+ ],
"support": {
- "issues": "https://github.com/php-translation/common/issues",
- "source": "https://github.com/php-translation/common/tree/3.2.0"
+ "issues": "https://github.com/php-http/client-common/issues",
+ "source": "https://github.com/php-http/client-common/tree/2.7.1"
},
- "time": "2022-02-04T11:49:38+00:00"
+ "time": "2023-11-30T10:31:25+00:00"
},
{
- "name": "php-translation/extractor",
- "version": "2.1.1",
+ "name": "php-http/discovery",
+ "version": "1.19.2",
"source": {
"type": "git",
- "url": "https://github.com/php-translation/extractor.git",
- "reference": "09ad2f3654e6badb95a739b0284f5785531f7c8d"
+ "url": "https://github.com/php-http/discovery.git",
+ "reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-translation/extractor/zipball/09ad2f3654e6badb95a739b0284f5785531f7c8d",
- "reference": "09ad2f3654e6badb95a739b0284f5785531f7c8d",
+ "url": "https://api.github.com/repos/php-http/discovery/zipball/61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb",
+ "reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb",
"shasum": ""
},
"require": {
- "doctrine/annotations": "^1.7 || ^2.0",
- "nikic/php-parser": "^3.0 || ^4.0",
- "php": "^7.2 || ^8.0",
- "symfony/finder": "^3.4 || ^4.4 || ^5.0 || ^6.0",
- "twig/twig": "^2.0 || ^3.0"
+ "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": {
- "knplabs/knp-menu": "^3.1",
- "symfony/phpunit-bridge": "^5.0 || ^6.0",
- "symfony/translation": "^3.4 || ^4.4 || ^5.0 || ^6.0",
- "symfony/twig-bridge": "^3.4 || ^4.4 || ^5.0 || ^6.0",
- "symfony/validator": "^3.4 || ^4.4 || ^5.0 || ^6.0"
+ "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",
+ "symfony/phpunit-bridge": "^6.2"
},
- "type": "library",
+ "type": "composer-plugin",
"extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
+ "class": "Http\\Discovery\\Composer\\Plugin",
+ "plugin-optional": true
},
"autoload": {
"psr-4": {
- "Translation\\Extractor\\": "src/"
- }
+ "Http\\Discovery\\": "src/"
+ },
+ "exclude-from-classmap": [
+ "src/Composer/Plugin.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -6443,77 +7118,57 @@
],
"authors": [
{
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com"
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
}
],
- "description": "Extract translations form the source code",
+ "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-translation/extractor/issues",
- "source": "https://github.com/php-translation/extractor/tree/2.1.1"
+ "issues": "https://github.com/php-http/discovery/issues",
+ "source": "https://github.com/php-http/discovery/tree/1.19.2"
},
- "time": "2023-03-28T11:37:22+00:00"
+ "time": "2023-11-30T16:49:05+00:00"
},
{
- "name": "php-translation/symfony-bundle",
- "version": "0.12.8",
+ "name": "php-http/httplug",
+ "version": "2.4.0",
"source": {
"type": "git",
- "url": "https://github.com/php-translation/symfony-bundle.git",
- "reference": "9bd3ecace0a4019a7a4327ca9ea8df1c23ff0da3"
+ "url": "https://github.com/php-http/httplug.git",
+ "reference": "625ad742c360c8ac580fcc647a1541d29e257f67"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-translation/symfony-bundle/zipball/9bd3ecace0a4019a7a4327ca9ea8df1c23ff0da3",
- "reference": "9bd3ecace0a4019a7a4327ca9ea8df1c23ff0da3",
+ "url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67",
+ "reference": "625ad742c360c8ac580fcc647a1541d29e257f67",
"shasum": ""
},
"require": {
- "nyholm/nsa": "^1.1",
- "php": "^7.2 || ^8.0",
- "php-translation/extractor": "^2.0",
- "php-translation/symfony-storage": "^2.1",
- "symfony/asset": "^4.4.20 || ^5.2.4 || ^6.0",
- "symfony/finder": "^4.4.20 || ^5.2.4 || ^6.0",
- "symfony/framework-bundle": "^4.4.20 || ^5.2.5 || ^6.0",
- "symfony/intl": "^4.4.20 || ^5.2.4 || ^6.0",
- "symfony/translation": "^4.4.20 || ^5.2.5 || ^6.0",
- "symfony/twig-bundle": "^4.4.20 || ^5.2.4 || ^6.0",
- "symfony/validator": "^4.4.20 || ^5.2.5 || ^6.0",
- "twig/twig": "^2.14.4 || ^3.3"
+ "php": "^7.1 || ^8.0",
+ "php-http/promise": "^1.1",
+ "psr/http-client": "^1.0",
+ "psr/http-message": "^1.0 || ^2.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.3",
- "matthiasnoback/symfony-config-test": "^4.1",
- "matthiasnoback/symfony-dependency-injection-test": "^4.1",
- "nyholm/psr7": "^1.1",
- "nyholm/symfony-bundle-test": "^2.0",
- "php-http/curl-client": "^1.7 || ^2.0",
- "php-http/message": "^1.11",
- "php-http/message-factory": "^1.0.2",
- "php-translation/translator": "^1.0",
- "symfony/console": "^4.4.20 || ^5.2.5 || ^6.0",
- "symfony/dependency-injection": "^4.4.20 || ^5.2.5 || ^6.0",
- "symfony/phpunit-bridge": "^5.2 || ^6.0",
- "symfony/twig-bridge": "^4.4.20 || ^5.2.5 || ^6.0",
- "symfony/web-profiler-bundle": "^4.4.20 || ^5.2.4 || ^6.0"
- },
- "suggest": {
- "php-http/httplug-bundle": "To easier configure your httplug clients."
- },
- "type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-master": "0.12-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": {
- "Translation\\Bundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Http\\Client\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -6521,48 +7176,71 @@
],
"authors": [
{
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com"
+ "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-translation/symfony-bundle/issues",
- "source": "https://github.com/php-translation/symfony-bundle/tree/0.12.8"
+ "issues": "https://github.com/php-http/httplug/issues",
+ "source": "https://github.com/php-http/httplug/tree/2.4.0"
},
- "time": "2022-12-19T12:38:39+00:00"
+ "time": "2023-04-14T15:10:03+00:00"
},
{
- "name": "php-translation/symfony-storage",
- "version": "2.3.1",
+ "name": "php-http/message",
+ "version": "1.16.0",
"source": {
"type": "git",
- "url": "https://github.com/php-translation/symfony-storage.git",
- "reference": "95d52dd86d41fe0ec2c75e1469b5003956044cc8"
+ "url": "https://github.com/php-http/message.git",
+ "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-translation/symfony-storage/zipball/95d52dd86d41fe0ec2c75e1469b5003956044cc8",
- "reference": "95d52dd86d41fe0ec2c75e1469b5003956044cc8",
+ "url": "https://api.github.com/repos/php-http/message/zipball/47a14338bf4ebd67d317bf1144253d7db4ab55fd",
+ "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd",
"shasum": ""
},
"require": {
+ "clue/stream-filter": "^1.5",
"php": "^7.2 || ^8.0",
- "php-translation/common": "^3.0",
- "symfony/translation": "^3.4 || ^4.2 || ^5.0 || ^6.0"
+ "psr/http-message": "^1.1 || ^2.0"
+ },
+ "provide": {
+ "php-http/message-factory-implementation": "1.0"
},
"require-dev": {
- "phpunit/phpunit": ">=8.5.20",
- "symfony/framework-bundle": " ^3.4 || ^4.2 || ^5.0 || ^6.0"
+ "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"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.4-dev"
- }
+ "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": {
- "Translation\\SymfonyStorage\\": "src/"
+ "Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6571,43 +7249,50 @@
],
"authors": [
{
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com"
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
}
],
- "description": "A translation file storage using Symfony translation component.",
+ "description": "HTTP Message related tools",
+ "homepage": "http://php-http.org",
+ "keywords": [
+ "http",
+ "message",
+ "psr-7"
+ ],
"support": {
- "issues": "https://github.com/php-translation/symfony-storage/issues",
- "source": "https://github.com/php-translation/symfony-storage/tree/2.3.1"
+ "issues": "https://github.com/php-http/message/issues",
+ "source": "https://github.com/php-http/message/tree/1.16.0"
},
- "time": "2022-02-14T11:36:15+00:00"
+ "time": "2023-05-17T06:43:38+00:00"
},
{
- "name": "phpdocumentor/reflection-common",
- "version": "2.2.0",
+ "name": "php-http/message-factory",
+ "version": "1.1.0",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ "url": "https://github.com/php-http/message-factory.git",
+ "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "url": "https://api.github.com/repos/php-http/message-factory/zipball/4d8778e1c7d405cbb471574821c1ff5b68cc8f57",
+ "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": ">=5.4",
+ "psr/http-message": "^1.0 || ^2.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-2.x": "2.x-dev"
+ "dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src/"
+ "Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6616,59 +7301,51 @@
],
"authors": [
{
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
}
],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
+ "description": "Factory interfaces for PSR-7 HTTP Message",
+ "homepage": "http://php-http.org",
"keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
+ "factory",
+ "http",
+ "message",
+ "stream",
+ "uri"
],
"support": {
- "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ "issues": "https://github.com/php-http/message-factory/issues",
+ "source": "https://github.com/php-http/message-factory/tree/1.1.0"
},
- "time": "2020-06-27T09:03:43+00:00"
+ "abandoned": "psr/http-factory",
+ "time": "2023-04-14T14:16:17+00:00"
},
{
- "name": "phpdocumentor/reflection-docblock",
- "version": "5.3.0",
+ "name": "php-http/promise",
+ "version": "1.3.0",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
+ "url": "https://github.com/php-http/promise.git",
+ "reference": "2916a606d3b390f4e9e8e2b8dd68581508be0f07"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
+ "url": "https://api.github.com/repos/php-http/promise/zipball/2916a606d3b390f4e9e8e2b8dd68581508be0f07",
+ "reference": "2916a606d3b390f4e9e8e2b8dd68581508be0f07",
"shasum": ""
},
"require": {
- "ext-filter": "*",
- "php": "^7.2 || ^8.0",
- "phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.3",
- "webmozart/assert": "^1.9.1"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "mockery/mockery": "~1.3.2",
- "psalm/phar": "^4.8"
+ "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3",
+ "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src"
+ "Http\\Promise\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6677,60 +7354,51 @@
],
"authors": [
{
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
+ "name": "Joel Wurtz",
+ "email": "joel.wurtz@gmail.com"
},
{
- "name": "Jaap van Otterdijk",
- "email": "account@ijaap.nl"
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
}
],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "description": "Promise used for asynchronous HTTP requests",
+ "homepage": "http://httplug.io",
+ "keywords": [
+ "promise"
+ ],
"support": {
- "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
+ "issues": "https://github.com/php-http/promise/issues",
+ "source": "https://github.com/php-http/promise/tree/1.3.0"
},
- "time": "2021-10-19T17:43:47+00:00"
+ "time": "2024-01-04T18:49:48+00:00"
},
{
- "name": "phpdocumentor/type-resolver",
- "version": "1.7.3",
+ "name": "php-translation/common",
+ "version": "3.2.0",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419"
+ "url": "https://github.com/php-translation/common.git",
+ "reference": "986ddf4e3b2b3458d2a7353658bd40764d8ca1d1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
- "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
+ "url": "https://api.github.com/repos/php-translation/common/zipball/986ddf4e3b2b3458d2a7353658bd40764d8ca1d1",
+ "reference": "986ddf4e3b2b3458d2a7353658bd40764d8ca1d1",
"shasum": ""
},
"require": {
- "doctrine/deprecations": "^1.0",
- "php": "^7.4 || ^8.0",
- "phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.13"
+ "php": ">=7.2",
+ "symfony/translation": " ^3.4 || ^4.3 || ^5.0 || ^6.0"
},
"require-dev": {
- "ext-tokenizer": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpunit/phpunit": "^9.5",
- "rector/rector": "^0.13.9",
- "vimeo/psalm": "^4.25"
+ "phpunit/phpunit": "^8.4",
+ "symfony/phpunit-bridge": "^4.3 || ^5.0 || ^6.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-1.x": "1.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src"
+ "Translation\\Common\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6739,78 +7407,54 @@
],
"authors": [
{
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com"
}
],
- "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "description": "Common translation stuff",
"support": {
- "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3"
+ "issues": "https://github.com/php-translation/common/issues",
+ "source": "https://github.com/php-translation/common/tree/3.2.0"
},
- "time": "2023-08-12T11:01:26+00:00"
+ "time": "2022-02-04T11:49:38+00:00"
},
{
- "name": "phpoffice/phpspreadsheet",
- "version": "1.29.0",
+ "name": "php-translation/extractor",
+ "version": "2.1.1",
"source": {
"type": "git",
- "url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
- "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0"
+ "url": "https://github.com/php-translation/extractor.git",
+ "reference": "09ad2f3654e6badb95a739b0284f5785531f7c8d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fde2ccf55eaef7e86021ff1acce26479160a0fa0",
- "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0",
+ "url": "https://api.github.com/repos/php-translation/extractor/zipball/09ad2f3654e6badb95a739b0284f5785531f7c8d",
+ "reference": "09ad2f3654e6badb95a739b0284f5785531f7c8d",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
- "ext-dom": "*",
- "ext-fileinfo": "*",
- "ext-gd": "*",
- "ext-iconv": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-simplexml": "*",
- "ext-xml": "*",
- "ext-xmlreader": "*",
- "ext-xmlwriter": "*",
- "ext-zip": "*",
- "ext-zlib": "*",
- "ezyang/htmlpurifier": "^4.15",
- "maennchen/zipstream-php": "^2.1 || ^3.0",
- "markbaker/complex": "^3.0",
- "markbaker/matrix": "^3.0",
- "php": "^7.4 || ^8.0",
- "psr/http-client": "^1.0",
- "psr/http-factory": "^1.0",
- "psr/simple-cache": "^1.0 || ^2.0 || ^3.0"
+ "doctrine/annotations": "^1.7 || ^2.0",
+ "nikic/php-parser": "^3.0 || ^4.0",
+ "php": "^7.2 || ^8.0",
+ "symfony/finder": "^3.4 || ^4.4 || ^5.0 || ^6.0",
+ "twig/twig": "^2.0 || ^3.0"
},
"require-dev": {
- "dealerdirect/phpcodesniffer-composer-installer": "dev-main",
- "dompdf/dompdf": "^1.0 || ^2.0",
- "friendsofphp/php-cs-fixer": "^3.2",
- "mitoteam/jpgraph": "^10.3",
- "mpdf/mpdf": "^8.1.1",
- "phpcompatibility/php-compatibility": "^9.3",
- "phpstan/phpstan": "^1.1",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^8.5 || ^9.0 || ^10.0",
- "squizlabs/php_codesniffer": "^3.7",
- "tecnickcom/tcpdf": "^6.5"
- },
- "suggest": {
- "dompdf/dompdf": "Option for rendering PDF with PDF Writer",
- "ext-intl": "PHP Internationalization Functions",
- "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers",
- "mpdf/mpdf": "Option for rendering PDF with PDF Writer",
- "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer"
+ "knplabs/knp-menu": "^3.1",
+ "symfony/phpunit-bridge": "^5.0 || ^6.0",
+ "symfony/translation": "^3.4 || ^4.4 || ^5.0 || ^6.0",
+ "symfony/twig-bridge": "^3.4 || ^4.4 || ^5.0 || ^6.0",
+ "symfony/validator": "^3.4 || ^4.4 || ^5.0 || ^6.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet"
+ "Translation\\Extractor\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6819,115 +7463,126 @@
],
"authors": [
{
- "name": "Maarten Balliauw",
- "homepage": "https://blog.maartenballiauw.be"
- },
- {
- "name": "Mark Baker",
- "homepage": "https://markbakeruk.net"
- },
- {
- "name": "Franck Lefevre",
- "homepage": "https://rootslabs.net"
- },
- {
- "name": "Erik Tilt"
- },
- {
- "name": "Adrien Crivelli"
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com"
}
],
- "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
- "homepage": "https://github.com/PHPOffice/PhpSpreadsheet",
- "keywords": [
- "OpenXML",
- "excel",
- "gnumeric",
- "ods",
- "php",
- "spreadsheet",
- "xls",
- "xlsx"
- ],
+ "description": "Extract translations form the source code",
"support": {
- "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
- "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.0"
+ "issues": "https://github.com/php-translation/extractor/issues",
+ "source": "https://github.com/php-translation/extractor/tree/2.1.1"
},
- "time": "2023-06-14T22:48:31+00:00"
+ "time": "2023-03-28T11:37:22+00:00"
},
{
- "name": "phpstan/phpdoc-parser",
- "version": "1.24.2",
+ "name": "php-translation/symfony-bundle",
+ "version": "0.12.8",
"source": {
"type": "git",
- "url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "bcad8d995980440892759db0c32acae7c8e79442"
+ "url": "https://github.com/php-translation/symfony-bundle.git",
+ "reference": "9bd3ecace0a4019a7a4327ca9ea8df1c23ff0da3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bcad8d995980440892759db0c32acae7c8e79442",
- "reference": "bcad8d995980440892759db0c32acae7c8e79442",
+ "url": "https://api.github.com/repos/php-translation/symfony-bundle/zipball/9bd3ecace0a4019a7a4327ca9ea8df1c23ff0da3",
+ "reference": "9bd3ecace0a4019a7a4327ca9ea8df1c23ff0da3",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "nyholm/nsa": "^1.1",
+ "php": "^7.2 || ^8.0",
+ "php-translation/extractor": "^2.0",
+ "php-translation/symfony-storage": "^2.1",
+ "symfony/asset": "^4.4.20 || ^5.2.4 || ^6.0",
+ "symfony/finder": "^4.4.20 || ^5.2.4 || ^6.0",
+ "symfony/framework-bundle": "^4.4.20 || ^5.2.5 || ^6.0",
+ "symfony/intl": "^4.4.20 || ^5.2.4 || ^6.0",
+ "symfony/translation": "^4.4.20 || ^5.2.5 || ^6.0",
+ "symfony/twig-bundle": "^4.4.20 || ^5.2.4 || ^6.0",
+ "symfony/validator": "^4.4.20 || ^5.2.5 || ^6.0",
+ "twig/twig": "^2.14.4 || ^3.3"
},
"require-dev": {
- "doctrine/annotations": "^2.0",
- "nikic/php-parser": "^4.15",
- "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",
- "symfony/process": "^5.2"
+ "bamarni/composer-bin-plugin": "^1.3",
+ "matthiasnoback/symfony-config-test": "^4.1",
+ "matthiasnoback/symfony-dependency-injection-test": "^4.1",
+ "nyholm/psr7": "^1.1",
+ "nyholm/symfony-bundle-test": "^2.0",
+ "php-http/curl-client": "^1.7 || ^2.0",
+ "php-http/message": "^1.11",
+ "php-http/message-factory": "^1.0.2",
+ "php-translation/translator": "^1.0",
+ "symfony/console": "^4.4.20 || ^5.2.5 || ^6.0",
+ "symfony/dependency-injection": "^4.4.20 || ^5.2.5 || ^6.0",
+ "symfony/phpunit-bridge": "^5.2 || ^6.0",
+ "symfony/twig-bridge": "^4.4.20 || ^5.2.5 || ^6.0",
+ "symfony/web-profiler-bundle": "^4.4.20 || ^5.2.4 || ^6.0"
+ },
+ "suggest": {
+ "php-http/httplug-bundle": "To easier configure your httplug clients."
+ },
+ "type": "symfony-bundle",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "0.12-dev"
+ }
},
- "type": "library",
"autoload": {
"psr-4": {
- "PHPStan\\PhpDocParser\\": [
- "src/"
- ]
- }
+ "Translation\\Bundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "PHPDoc parser with support for nullable, intersection and generic types",
+ "authors": [
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com"
+ }
+ ],
"support": {
- "issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.2"
+ "issues": "https://github.com/php-translation/symfony-bundle/issues",
+ "source": "https://github.com/php-translation/symfony-bundle/tree/0.12.8"
},
- "time": "2023-09-26T12:28:12+00:00"
+ "time": "2022-12-19T12:38:39+00:00"
},
{
- "name": "psr/cache",
- "version": "2.0.0",
+ "name": "php-translation/symfony-storage",
+ "version": "2.3.1",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/cache.git",
- "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b"
+ "url": "https://github.com/php-translation/symfony-storage.git",
+ "reference": "95d52dd86d41fe0ec2c75e1469b5003956044cc8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
- "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
+ "url": "https://api.github.com/repos/php-translation/symfony-storage/zipball/95d52dd86d41fe0ec2c75e1469b5003956044cc8",
+ "reference": "95d52dd86d41fe0ec2c75e1469b5003956044cc8",
"shasum": ""
},
"require": {
- "php": ">=8.0.0"
+ "php": "^7.2 || ^8.0",
+ "php-translation/common": "^3.0",
+ "symfony/translation": "^3.4 || ^4.2 || ^5.0 || ^6.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": ">=8.5.20",
+ "symfony/framework-bundle": " ^3.4 || ^4.2 || ^5.0 || ^6.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.4-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Cache\\": "src/"
+ "Translation\\SymfonyStorage\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6936,42 +7591,43 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com"
}
],
- "description": "Common interface for caching libraries",
- "keywords": [
- "cache",
- "psr",
- "psr-6"
- ],
+ "description": "A translation file storage using Symfony translation component.",
"support": {
- "source": "https://github.com/php-fig/cache/tree/2.0.0"
+ "issues": "https://github.com/php-translation/symfony-storage/issues",
+ "source": "https://github.com/php-translation/symfony-storage/tree/2.3.1"
},
- "time": "2021-02-03T23:23:37+00:00"
+ "time": "2022-02-14T11:36:15+00:00"
},
{
- "name": "psr/clock",
- "version": "1.0.0",
+ "name": "phpdocumentor/reflection-common",
+ "version": "2.2.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/clock.git",
- "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
- "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
"shasum": ""
},
"require": {
- "php": "^7.0 || ^8.0"
+ "php": "^7.2 || ^8.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-2.x": "2.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Psr\\Clock\\": "src/"
+ "phpDocumentor\\Reflection\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6980,46 +7636,59 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
}
],
- "description": "Common interface for reading the clock.",
- "homepage": "https://github.com/php-fig/clock",
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+ "homepage": "http://www.phpdoc.org",
"keywords": [
- "clock",
- "now",
- "psr",
- "psr-20",
- "time"
+ "FQSEN",
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
],
"support": {
- "issues": "https://github.com/php-fig/clock/issues",
- "source": "https://github.com/php-fig/clock/tree/1.0.0"
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
},
- "time": "2022-11-25T14:36:26+00:00"
+ "time": "2020-06-27T09:03:43+00:00"
},
{
- "name": "psr/container",
- "version": "1.1.2",
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "5.3.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": ""
},
"require": {
- "php": ">=7.4.0"
+ "ext-filter": "*",
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.3",
+ "webmozart/assert": "^1.9.1"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.2",
+ "psalm/phar": "^4.8"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Psr\\Container\\": "src/"
+ "phpDocumentor\\Reflection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7028,51 +7697,57 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "account@ijaap.nl"
}
],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
- "keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
- ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
- "issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.2"
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
},
- "time": "2021-11-05T16:50:12+00:00"
+ "time": "2021-10-19T17:43:47+00:00"
},
{
- "name": "psr/event-dispatcher",
- "version": "1.0.0",
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.6.2",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/event-dispatcher.git",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
- "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
"shasum": ""
},
"require": {
- "php": ">=7.2.0"
+ "php": "^7.4 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0"
+ },
+ "require-dev": {
+ "ext-tokenizer": "*",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpunit/phpunit": "^9.5",
+ "rector/rector": "^0.13.9",
+ "vimeo/psalm": "^4.25"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-1.x": "1.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\EventDispatcher\\": "src/"
+ "phpDocumentor\\Reflection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7081,49 +7756,78 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
}
],
- "description": "Standard interfaces for event handling.",
- "keywords": [
- "events",
- "psr",
- "psr-14"
- ],
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
- "issues": "https://github.com/php-fig/event-dispatcher/issues",
- "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
},
- "time": "2019-01-08T18:20:26+00:00"
+ "time": "2022-10-14T12:47:21+00:00"
},
{
- "name": "psr/http-client",
- "version": "1.0.3",
+ "name": "phpoffice/phpspreadsheet",
+ "version": "1.29.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/http-client.git",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
+ "url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
+ "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
+ "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fde2ccf55eaef7e86021ff1acce26479160a0fa0",
+ "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0",
"shasum": ""
},
"require": {
- "php": "^7.0 || ^8.0",
- "psr/http-message": "^1.0 || ^2.0"
+ "ext-ctype": "*",
+ "ext-dom": "*",
+ "ext-fileinfo": "*",
+ "ext-gd": "*",
+ "ext-iconv": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-simplexml": "*",
+ "ext-xml": "*",
+ "ext-xmlreader": "*",
+ "ext-xmlwriter": "*",
+ "ext-zip": "*",
+ "ext-zlib": "*",
+ "ezyang/htmlpurifier": "^4.15",
+ "maennchen/zipstream-php": "^2.1 || ^3.0",
+ "markbaker/complex": "^3.0",
+ "markbaker/matrix": "^3.0",
+ "php": "^7.4 || ^8.0",
+ "psr/http-client": "^1.0",
+ "psr/http-factory": "^1.0",
+ "psr/simple-cache": "^1.0 || ^2.0 || ^3.0"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
+ "require-dev": {
+ "dealerdirect/phpcodesniffer-composer-installer": "dev-main",
+ "dompdf/dompdf": "^1.0 || ^2.0",
+ "friendsofphp/php-cs-fixer": "^3.2",
+ "mitoteam/jpgraph": "^10.3",
+ "mpdf/mpdf": "^8.1.1",
+ "phpcompatibility/php-compatibility": "^9.3",
+ "phpstan/phpstan": "^1.1",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^8.5 || ^9.0 || ^10.0",
+ "squizlabs/php_codesniffer": "^3.7",
+ "tecnickcom/tcpdf": "^6.5"
+ },
+ "suggest": {
+ "dompdf/dompdf": "Option for rendering PDF with PDF Writer",
+ "ext-intl": "PHP Internationalization Functions",
+ "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers",
+ "mpdf/mpdf": "Option for rendering PDF with PDF Writer",
+ "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer"
},
+ "type": "library",
"autoload": {
"psr-4": {
- "Psr\\Http\\Client\\": "src/"
+ "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7132,40 +7836,58 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
+ "name": "Maarten Balliauw",
+ "homepage": "https://blog.maartenballiauw.be"
+ },
+ {
+ "name": "Mark Baker",
+ "homepage": "https://markbakeruk.net"
+ },
+ {
+ "name": "Franck Lefevre",
+ "homepage": "https://rootslabs.net"
+ },
+ {
+ "name": "Erik Tilt"
+ },
+ {
+ "name": "Adrien Crivelli"
}
],
- "description": "Common interface for HTTP clients",
- "homepage": "https://github.com/php-fig/http-client",
+ "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
+ "homepage": "https://github.com/PHPOffice/PhpSpreadsheet",
"keywords": [
- "http",
- "http-client",
- "psr",
- "psr-18"
+ "OpenXML",
+ "excel",
+ "gnumeric",
+ "ods",
+ "php",
+ "spreadsheet",
+ "xls",
+ "xlsx"
],
"support": {
- "source": "https://github.com/php-fig/http-client"
+ "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
+ "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.0"
},
- "time": "2023-09-23T14:17:50+00:00"
+ "time": "2023-06-14T22:48:31+00:00"
},
{
- "name": "psr/http-factory",
- "version": "1.0.2",
+ "name": "psr/cache",
+ "version": "2.0.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/http-factory.git",
- "reference": "e616d01114759c4c489f93b099585439f795fe35"
+ "url": "https://github.com/php-fig/cache.git",
+ "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
- "reference": "e616d01114759c4c489f93b099585439f795fe35",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
+ "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b",
"shasum": ""
},
"require": {
- "php": ">=7.0.0",
- "psr/http-message": "^1.0 || ^2.0"
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
@@ -7175,7 +7897,7 @@
},
"autoload": {
"psr-4": {
- "Psr\\Http\\Message\\": "src/"
+ "Psr\\Cache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7188,48 +7910,38 @@
"homepage": "https://www.php-fig.org/"
}
],
- "description": "Common interfaces for PSR-7 HTTP message factories",
+ "description": "Common interface for caching libraries",
"keywords": [
- "factory",
- "http",
- "message",
+ "cache",
"psr",
- "psr-17",
- "psr-7",
- "request",
- "response"
+ "psr-6"
],
"support": {
- "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
+ "source": "https://github.com/php-fig/cache/tree/2.0.0"
},
- "time": "2023-04-10T20:10:41+00:00"
+ "time": "2021-02-03T23:23:37+00:00"
},
{
- "name": "psr/http-message",
- "version": "1.1",
+ "name": "psr/clock",
+ "version": "1.0.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba"
+ "url": "https://github.com/php-fig/clock.git",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
- "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
+ "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.0 || ^8.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Psr\\Http\\Message\\": "src/"
+ "Psr\\Clock\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7239,50 +7951,45 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "Common interface for HTTP messages",
- "homepage": "https://github.com/php-fig/http-message",
+ "description": "Common interface for reading the clock.",
+ "homepage": "https://github.com/php-fig/clock",
"keywords": [
- "http",
- "http-message",
+ "clock",
+ "now",
"psr",
- "psr-7",
- "request",
- "response"
+ "psr-20",
+ "time"
],
"support": {
- "source": "https://github.com/php-fig/http-message/tree/1.1"
+ "issues": "https://github.com/php-fig/clock/issues",
+ "source": "https://github.com/php-fig/clock/tree/1.0.0"
},
- "time": "2023-04-04T09:50:52+00:00"
+ "time": "2022-11-25T14:36:26+00:00"
},
{
- "name": "psr/link",
- "version": "1.1.1",
+ "name": "psr/container",
+ "version": "1.1.2",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/link.git",
- "reference": "846c25f58a1f02b93a00f2404e3626b6bf9b7807"
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/link/zipball/846c25f58a1f02b93a00f2404e3626b6bf9b7807",
- "reference": "846c25f58a1f02b93a00f2404e3626b6bf9b7807",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": ""
},
"require": {
- "php": ">=8.0.0"
+ "php": ">=7.4.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Psr\\Link\\": "src/"
+ "Psr\\Container\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7292,50 +7999,50 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "Common interfaces for HTTP links",
- "homepage": "https://github.com/php-fig/link",
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
"keywords": [
- "http",
- "http-link",
- "link",
- "psr",
- "psr-13",
- "rest"
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
],
"support": {
- "source": "https://github.com/php-fig/link/tree/1.1.1"
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/1.1.2"
},
- "time": "2021-03-11T22:59:13+00:00"
+ "time": "2021-11-05T16:50:12+00:00"
},
{
- "name": "psr/log",
- "version": "2.0.0",
+ "name": "psr/event-dispatcher",
+ "version": "1.0.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
+ "url": "https://github.com/php-fig/event-dispatcher.git",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
- "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
+ "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
"shasum": ""
},
"require": {
- "php": ">=8.0.0"
+ "php": ">=7.2.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "src"
+ "Psr\\EventDispatcher\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7345,37 +8052,38 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
+ "description": "Standard interfaces for event handling.",
"keywords": [
- "log",
+ "events",
"psr",
- "psr-3"
+ "psr-14"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/2.0.0"
+ "issues": "https://github.com/php-fig/event-dispatcher/issues",
+ "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
},
- "time": "2021-07-14T16:41:46+00:00"
+ "time": "2019-01-08T18:20:26+00:00"
},
{
- "name": "psr/simple-cache",
- "version": "1.0.1",
+ "name": "psr/http-client",
+ "version": "1.0.3",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/simple-cache.git",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+ "url": "https://github.com/php-fig/http-client.git",
+ "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
+ "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": "^7.0 || ^8.0",
+ "psr/http-message": "^1.0 || ^2.0"
},
"type": "library",
"extra": {
@@ -7385,7 +8093,7 @@
},
"autoload": {
"psr-4": {
- "Psr\\SimpleCache\\": "src/"
+ "Psr\\Http\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7395,48 +8103,50 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "Common interfaces for simple caching",
+ "description": "Common interface for HTTP clients",
+ "homepage": "https://github.com/php-fig/http-client",
"keywords": [
- "cache",
- "caching",
+ "http",
+ "http-client",
"psr",
- "psr-16",
- "simple-cache"
+ "psr-18"
],
"support": {
- "source": "https://github.com/php-fig/simple-cache/tree/master"
+ "source": "https://github.com/php-fig/http-client"
},
- "time": "2017-10-23T01:57:42+00:00"
+ "time": "2023-09-23T14:17:50+00:00"
},
{
- "name": "ralouphie/getallheaders",
- "version": "3.0.3",
+ "name": "psr/http-factory",
+ "version": "1.0.2",
"source": {
"type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
+ "url": "https://github.com/php-fig/http-factory.git",
+ "reference": "e616d01114759c4c489f93b099585439f795fe35"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
+ "reference": "e616d01114759c4c489f93b099585439f795fe35",
"shasum": ""
},
"require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5 || ^6.5"
+ "php": ">=7.0.0",
+ "psr/http-message": "^1.0 || ^2.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
"autoload": {
- "files": [
- "src/getallheaders.php"
- ]
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -7444,68 +8154,52 @@
],
"authors": [
{
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "A polyfill for getallheaders.",
+ "description": "Common interfaces for PSR-7 HTTP message factories",
+ "keywords": [
+ "factory",
+ "http",
+ "message",
+ "psr",
+ "psr-17",
+ "psr-7",
+ "request",
+ "response"
+ ],
"support": {
- "issues": "https://github.com/ralouphie/getallheaders/issues",
- "source": "https://github.com/ralouphie/getallheaders/tree/develop"
+ "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
},
- "time": "2019-03-08T08:55:37+00:00"
+ "time": "2023-04-10T20:10:41+00:00"
},
{
- "name": "ramsey/collection",
- "version": "2.0.0",
+ "name": "psr/http-message",
+ "version": "2.0",
"source": {
"type": "git",
- "url": "https://github.com/ramsey/collection.git",
- "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5"
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
- "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
"shasum": ""
},
"require": {
- "php": "^8.1"
- },
- "require-dev": {
- "captainhook/plugin-composer": "^5.3",
- "ergebnis/composer-normalize": "^2.28.3",
- "fakerphp/faker": "^1.21",
- "hamcrest/hamcrest-php": "^2.0",
- "jangregor/phpstan-prophecy": "^1.0",
- "mockery/mockery": "^1.5",
- "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": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
- "captainhook": {
- "force-install": true
- },
- "ramsey/conventional-commits": {
- "configFile": "conventional-commits.json"
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "Ramsey\\Collection\\": "src/"
+ "Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7514,156 +8208,104 @@
],
"authors": [
{
- "name": "Ben Ramsey",
- "email": "ben@benramsey.com",
- "homepage": "https://benramsey.com"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "A PHP library for representing and manipulating collections.",
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
"keywords": [
- "array",
- "collection",
- "hash",
- "map",
- "queue",
- "set"
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
],
"support": {
- "issues": "https://github.com/ramsey/collection/issues",
- "source": "https://github.com/ramsey/collection/tree/2.0.0"
+ "source": "https://github.com/php-fig/http-message/tree/2.0"
},
- "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": "2023-04-04T09:54:51+00:00"
},
{
- "name": "ramsey/uuid",
- "version": "4.7.4",
+ "name": "psr/link",
+ "version": "1.1.1",
"source": {
"type": "git",
- "url": "https://github.com/ramsey/uuid.git",
- "reference": "60a4c63ab724854332900504274f6150ff26d286"
+ "url": "https://github.com/php-fig/link.git",
+ "reference": "846c25f58a1f02b93a00f2404e3626b6bf9b7807"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/60a4c63ab724854332900504274f6150ff26d286",
- "reference": "60a4c63ab724854332900504274f6150ff26d286",
+ "url": "https://api.github.com/repos/php-fig/link/zipball/846c25f58a1f02b93a00f2404e3626b6bf9b7807",
+ "reference": "846c25f58a1f02b93a00f2404e3626b6bf9b7807",
"shasum": ""
},
"require": {
- "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11",
- "ext-json": "*",
- "php": "^8.0",
- "ramsey/collection": "^1.2 || ^2.0"
- },
- "replace": {
- "rhumsaa/uuid": "self.version"
- },
- "require-dev": {
- "captainhook/captainhook": "^5.10",
- "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",
- "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"
- },
- "suggest": {
- "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
- "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.",
- "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.",
- "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
- "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
- "captainhook": {
- "force-install": true
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
}
},
"autoload": {
- "files": [
- "src/functions.php"
- ],
"psr-4": {
- "Ramsey\\Uuid\\": "src/"
+ "Psr\\Link\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interfaces for HTTP links",
+ "homepage": "https://github.com/php-fig/link",
"keywords": [
- "guid",
- "identifier",
- "uuid"
+ "http",
+ "http-link",
+ "link",
+ "psr",
+ "psr-13",
+ "rest"
],
"support": {
- "issues": "https://github.com/ramsey/uuid/issues",
- "source": "https://github.com/ramsey/uuid/tree/4.7.4"
+ "source": "https://github.com/php-fig/link/tree/1.1.1"
},
- "funding": [
- {
- "url": "https://github.com/ramsey",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid",
- "type": "tidelift"
- }
- ],
- "time": "2023-04-15T23:01:58+00:00"
+ "time": "2021-03-11T22:59:13+00:00"
},
{
- "name": "react/promise",
- "version": "v3.0.0",
+ "name": "psr/log",
+ "version": "2.0.0",
"source": {
"type": "git",
- "url": "https://github.com/reactphp/promise.git",
- "reference": "c86753c76fd3be465d93b308f18d189f01a22be4"
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/promise/zipball/c86753c76fd3be465d93b308f18d189f01a22be4",
- "reference": "c86753c76fd3be465d93b308f18d189f01a22be4",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
+ "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
"shasum": ""
},
"require": {
- "php": ">=7.1.0"
- },
- "require-dev": {
- "phpstan/phpstan": "1.10.20 || 1.4.10",
- "phpunit/phpunit": "^9.5 || ^7.5"
+ "php": ">=8.0.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
- "files": [
- "src/functions_include.php"
- ],
"psr-4": {
- "React\\Promise\\": "src/"
+ "Psr\\Log\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7672,72 +8314,48 @@
],
"authors": [
{
- "name": "Jan Sorgalla",
- "email": "jsorgalla@gmail.com",
- "homepage": "https://sorgalla.com/"
- },
- {
- "name": "Christian Lück",
- "email": "christian@clue.engineering",
- "homepage": "https://clue.engineering/"
- },
- {
- "name": "Cees-Jan Kiewiet",
- "email": "reactphp@ceesjankiewiet.nl",
- "homepage": "https://wyrihaximus.net/"
- },
- {
- "name": "Chris Boden",
- "email": "cboden@gmail.com",
- "homepage": "https://cboden.dev/"
- }
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
],
- "description": "A lightweight implementation of CommonJS Promises/A for PHP",
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
"keywords": [
- "promise",
- "promises"
+ "log",
+ "psr",
+ "psr-3"
],
"support": {
- "issues": "https://github.com/reactphp/promise/issues",
- "source": "https://github.com/reactphp/promise/tree/v3.0.0"
+ "source": "https://github.com/php-fig/log/tree/2.0.0"
},
- "funding": [
- {
- "url": "https://opencollective.com/reactphp",
- "type": "open_collective"
- }
- ],
- "time": "2023-07-11T16:12:49+00:00"
+ "time": "2021-07-14T16:41:46+00:00"
},
{
- "name": "sabberworm/php-css-parser",
- "version": "8.4.0",
+ "name": "psr/simple-cache",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/sabberworm/PHP-CSS-Parser.git",
- "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30"
+ "url": "https://github.com/php-fig/simple-cache.git",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/e41d2140031d533348b2192a83f02d8dd8a71d30",
- "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"shasum": ""
},
"require": {
- "ext-iconv": "*",
- "php": ">=5.6.20"
- },
- "require-dev": {
- "codacy/coverage": "^1.4",
- "phpunit/phpunit": "^4.8.36"
- },
- "suggest": {
- "ext-mbstring": "for parsing UTF-8 CSS"
+ "php": ">=5.3.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Sabberworm\\CSS\\": "src/"
+ "Psr\\SimpleCache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7746,60 +8364,49 @@
],
"authors": [
{
- "name": "Raphael Schweikert"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "Parser for CSS Files written in PHP",
- "homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
+ "description": "Common interfaces for simple caching",
"keywords": [
- "css",
- "parser",
- "stylesheet"
+ "cache",
+ "caching",
+ "psr",
+ "psr-16",
+ "simple-cache"
],
"support": {
- "issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues",
- "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.4.0"
+ "source": "https://github.com/php-fig/simple-cache/tree/master"
},
- "time": "2021-12-11T13:40:54+00:00"
+ "time": "2017-10-23T01:57:42+00:00"
},
{
- "name": "scienta/doctrine-json-functions",
- "version": "4.5.0",
+ "name": "ralouphie/getallheaders",
+ "version": "3.0.3",
"source": {
"type": "git",
- "url": "https://github.com/ScientaNL/DoctrineJsonFunctions.git",
- "reference": "138a017a92d9f0dfd22e221584b66517f005c222"
+ "url": "https://github.com/ralouphie/getallheaders.git",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ScientaNL/DoctrineJsonFunctions/zipball/138a017a92d9f0dfd22e221584b66517f005c222",
- "reference": "138a017a92d9f0dfd22e221584b66517f005c222",
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
- "doctrine/dbal": "2.*",
- "doctrine/orm": "2.*",
- "ext-pdo": "*",
- "php": "^7.1 || ^8.0"
+ "php": ">=5.6"
},
"require-dev": {
- "doctrine/coding-standard": "^8.0 || ^9.0",
- "doctrine/orm": "^2.7",
- "phpunit/phpunit": "^8.0 || ^9.0"
- },
- "suggest": {
- "dunglas/doctrine-json-odm": "To serialize / deserialize objects as JSON documents."
+ "php-coveralls/php-coveralls": "^2.1",
+ "phpunit/phpunit": "^5 || ^6.5"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.1-dev"
- }
- },
"autoload": {
- "psr-4": {
- "Scienta\\DoctrineJsonFunctions\\": "src/"
- }
+ "files": [
+ "src/getallheaders.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -7807,57 +8414,68 @@
],
"authors": [
{
- "name": "Doctrine Json Functions Contributors",
- "homepage": "https://github.com/ScientaNL/DoctrineJsonFunctions/contributors"
+ "name": "Ralph Khattar",
+ "email": "ralph.khattar@gmail.com"
}
],
- "description": "A set of extensions to Doctrine 2 that add support for json query functions.",
- "keywords": [
- "database",
- "doctrine",
- "dql",
- "json",
- "mariadb",
- "mysql",
- "orm",
- "postgres",
- "postgresql",
- "sqlite"
- ],
+ "description": "A polyfill for getallheaders.",
"support": {
- "issues": "https://github.com/ScientaNL/DoctrineJsonFunctions/issues",
- "source": "https://github.com/ScientaNL/DoctrineJsonFunctions/tree/4.5.0"
+ "issues": "https://github.com/ralouphie/getallheaders/issues",
+ "source": "https://github.com/ralouphie/getallheaders/tree/develop"
},
- "time": "2022-01-12T09:54:17+00:00"
+ "time": "2019-03-08T08:55:37+00:00"
},
{
- "name": "seld/jsonlint",
- "version": "1.10.0",
+ "name": "ramsey/collection",
+ "version": "2.0.0",
"source": {
"type": "git",
- "url": "https://github.com/Seldaek/jsonlint.git",
- "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1"
+ "url": "https://github.com/ramsey/collection.git",
+ "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/594fd6462aad8ecee0b45ca5045acea4776667f1",
- "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1",
+ "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
+ "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
"shasum": ""
},
"require": {
- "php": "^5.3 || ^7.0 || ^8.0"
+ "php": "^8.1"
},
"require-dev": {
- "phpstan/phpstan": "^1.5",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13"
+ "captainhook/plugin-composer": "^5.3",
+ "ergebnis/composer-normalize": "^2.28.3",
+ "fakerphp/faker": "^1.21",
+ "hamcrest/hamcrest-php": "^2.0",
+ "jangregor/phpstan-prophecy": "^1.0",
+ "mockery/mockery": "^1.5",
+ "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"
},
- "bin": [
- "bin/jsonlint"
- ],
"type": "library",
+ "extra": {
+ "captainhook": {
+ "force-install": true
+ },
+ "ramsey/conventional-commits": {
+ "configFile": "conventional-commits.json"
+ }
+ },
"autoload": {
"psr-4": {
- "Seld\\JsonLint\\": "src/Seld/JsonLint/"
+ "Ramsey\\Collection\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7866,116 +8484,156 @@
],
"authors": [
{
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
+ "name": "Ben Ramsey",
+ "email": "ben@benramsey.com",
+ "homepage": "https://benramsey.com"
}
],
- "description": "JSON Linter",
+ "description": "A PHP library for representing and manipulating collections.",
"keywords": [
- "json",
- "linter",
- "parser",
- "validator"
+ "array",
+ "collection",
+ "hash",
+ "map",
+ "queue",
+ "set"
],
"support": {
- "issues": "https://github.com/Seldaek/jsonlint/issues",
- "source": "https://github.com/Seldaek/jsonlint/tree/1.10.0"
+ "issues": "https://github.com/ramsey/collection/issues",
+ "source": "https://github.com/ramsey/collection/tree/2.0.0"
},
"funding": [
{
- "url": "https://github.com/Seldaek",
+ "url": "https://github.com/ramsey",
"type": "github"
},
{
- "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint",
+ "url": "https://tidelift.com/funding/github/packagist/ramsey/collection",
"type": "tidelift"
}
],
- "time": "2023-05-11T13:16:46+00:00"
+ "time": "2022-12-31T21:50:55+00:00"
},
{
- "name": "seld/phar-utils",
- "version": "1.2.1",
+ "name": "ramsey/uuid",
+ "version": "4.7.5",
"source": {
"type": "git",
- "url": "https://github.com/Seldaek/phar-utils.git",
- "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c"
+ "url": "https://github.com/ramsey/uuid.git",
+ "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c",
- "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e",
+ "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e",
"shasum": ""
},
"require": {
- "php": ">=5.3"
+ "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11",
+ "ext-json": "*",
+ "php": "^8.0",
+ "ramsey/collection": "^1.2 || ^2.0"
+ },
+ "replace": {
+ "rhumsaa/uuid": "self.version"
+ },
+ "require-dev": {
+ "captainhook/captainhook": "^5.10",
+ "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",
+ "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"
+ },
+ "suggest": {
+ "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
+ "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.",
+ "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.",
+ "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
+ "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
+ "captainhook": {
+ "force-install": true
}
},
"autoload": {
+ "files": [
+ "src/functions.php"
+ ],
"psr-4": {
- "Seld\\PharUtils\\": "src/"
+ "Ramsey\\Uuid\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be"
- }
- ],
- "description": "PHAR file format utilities, for when PHP phars you up",
+ "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
"keywords": [
- "phar"
+ "guid",
+ "identifier",
+ "uuid"
],
"support": {
- "issues": "https://github.com/Seldaek/phar-utils/issues",
- "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1"
+ "issues": "https://github.com/ramsey/uuid/issues",
+ "source": "https://github.com/ramsey/uuid/tree/4.7.5"
},
- "time": "2022-08-31T10:31:18+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/ramsey",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-08T05:53:05+00:00"
},
{
- "name": "seld/signal-handler",
- "version": "2.0.2",
+ "name": "react/promise",
+ "version": "v3.1.0",
"source": {
"type": "git",
- "url": "https://github.com/Seldaek/signal-handler.git",
- "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98"
+ "url": "https://github.com/reactphp/promise.git",
+ "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98",
- "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98",
+ "url": "https://api.github.com/repos/reactphp/promise/zipball/e563d55d1641de1dea9f5e84f3cccc66d2bfe02c",
+ "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c",
"shasum": ""
},
"require": {
- "php": ">=7.2.0"
+ "php": ">=7.1.0"
},
"require-dev": {
- "phpstan/phpstan": "^1",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1",
- "phpstan/phpstan-strict-rules": "^1.3",
- "phpunit/phpunit": "^7.5.20 || ^8.5.23",
- "psr/log": "^1 || ^2 || ^3"
+ "phpstan/phpstan": "1.10.39 || 1.4.10",
+ "phpunit/phpunit": "^9.6 || ^7.5"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.x-dev"
- }
- },
"autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
"psr-4": {
- "Seld\\Signal\\": "src/"
+ "React\\Promise\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7984,81 +8642,74 @@
],
"authors": [
{
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
+ "name": "Jan Sorgalla",
+ "email": "jsorgalla@gmail.com",
+ "homepage": "https://sorgalla.com/"
+ },
+ {
+ "name": "Christian Lück",
+ "email": "christian@clue.engineering",
+ "homepage": "https://clue.engineering/"
+ },
+ {
+ "name": "Cees-Jan Kiewiet",
+ "email": "reactphp@ceesjankiewiet.nl",
+ "homepage": "https://wyrihaximus.net/"
+ },
+ {
+ "name": "Chris Boden",
+ "email": "cboden@gmail.com",
+ "homepage": "https://cboden.dev/"
}
],
- "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development",
+ "description": "A lightweight implementation of CommonJS Promises/A for PHP",
"keywords": [
- "posix",
- "sigint",
- "signal",
- "sigterm",
- "unix"
+ "promise",
+ "promises"
],
"support": {
- "issues": "https://github.com/Seldaek/signal-handler/issues",
- "source": "https://github.com/Seldaek/signal-handler/tree/2.0.2"
+ "issues": "https://github.com/reactphp/promise/issues",
+ "source": "https://github.com/reactphp/promise/tree/v3.1.0"
},
- "time": "2023-09-03T09:24:00+00:00"
+ "funding": [
+ {
+ "url": "https://opencollective.com/reactphp",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2023-11-16T16:21:57+00:00"
},
{
- "name": "sensio/framework-extra-bundle",
- "version": "v6.2.10",
+ "name": "resend/resend-php",
+ "version": "v0.10.0",
"source": {
"type": "git",
- "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
- "reference": "2f886f4b31f23c76496901acaedfedb6936ba61f"
+ "url": "https://github.com/resend/resend-php.git",
+ "reference": "f9452a8db7d471c9a774c7c0d5b198bb58b74823"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/2f886f4b31f23c76496901acaedfedb6936ba61f",
- "reference": "2f886f4b31f23c76496901acaedfedb6936ba61f",
+ "url": "https://api.github.com/repos/resend/resend-php/zipball/f9452a8db7d471c9a774c7c0d5b198bb58b74823",
+ "reference": "f9452a8db7d471c9a774c7c0d5b198bb58b74823",
"shasum": ""
},
"require": {
- "doctrine/annotations": "^1.0|^2.0",
- "php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0"
- },
- "conflict": {
- "doctrine/doctrine-cache-bundle": "<1.3.1",
- "doctrine/persistence": "<1.3"
+ "guzzlehttp/guzzle": "^7.5",
+ "php": "^8.1.0"
},
"require-dev": {
- "doctrine/dbal": "^2.10|^3.0",
- "doctrine/doctrine-bundle": "^1.11|^2.0",
- "doctrine/orm": "^2.5",
- "symfony/browser-kit": "^4.4|^5.0|^6.0",
- "symfony/doctrine-bridge": "^4.4|^5.0|^6.0",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/monolog-bridge": "^4.0|^5.0|^6.0",
- "symfony/monolog-bundle": "^3.2",
- "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0",
- "symfony/security-bundle": "^4.4|^5.0|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0",
- "twig/twig": "^1.34|^2.4|^3.0"
- },
- "type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-master": "6.1.x-dev"
- }
+ "friendsofphp/php-cs-fixer": "^3.13",
+ "mockery/mockery": "^1.6",
+ "pestphp/pest": "^2.0"
},
+ "type": "library",
"autoload": {
+ "files": [
+ "src/Resend.php"
+ ],
"psr-4": {
- "Sensio\\Bundle\\FrameworkExtraBundle\\": "src/"
- },
- "exclude-from-classmap": [
- "/tests/"
- ]
+ "Resend\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -8066,52 +8717,54 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Resend and contributors",
+ "homepage": "https://github.com/resend/resend-php/contributors"
}
],
- "description": "This bundle provides a way to configure your controllers with annotations",
+ "description": "Resend PHP library.",
+ "homepage": "https://resend.com/",
"keywords": [
- "annotations",
- "controllers"
+ "api",
+ "client",
+ "php",
+ "resend",
+ "sdk"
],
"support": {
- "source": "https://github.com/sensiolabs/SensioFrameworkExtraBundle/tree/v6.2.10"
+ "issues": "https://github.com/resend/resend-php/issues",
+ "source": "https://github.com/resend/resend-php/tree/v0.10.0"
},
- "abandoned": "Symfony",
- "time": "2023-02-24T14:57:12+00:00"
+ "time": "2024-01-02T19:17:07+00:00"
},
{
- "name": "siriusphp/upload",
- "version": "3.0.1",
+ "name": "sabberworm/php-css-parser",
+ "version": "8.4.0",
"source": {
"type": "git",
- "url": "https://github.com/siriusphp/upload.git",
- "reference": "3a5a1d130c91d505bb6d06f4c9e2428ea5c01214"
+ "url": "https://github.com/sabberworm/PHP-CSS-Parser.git",
+ "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/siriusphp/upload/zipball/3a5a1d130c91d505bb6d06f4c9e2428ea5c01214",
- "reference": "3a5a1d130c91d505bb6d06f4c9e2428ea5c01214",
+ "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/e41d2140031d533348b2192a83f02d8dd8a71d30",
+ "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30",
"shasum": ""
},
"require": {
- "php": ">=7.1",
- "siriusphp/validation": "~3.0"
+ "ext-iconv": "*",
+ "php": ">=5.6.20"
},
"require-dev": {
- "laminas/laminas-diactoros": "^2.2",
- "phpunit/phpunit": "~8.5",
- "symfony/http-foundation": "^4.4"
+ "codacy/coverage": "^1.4",
+ "phpunit/phpunit": "^4.8.36"
},
"suggest": {
- "knplabs/gaufrette": "Alternative filesystem abstraction library for upload destinations",
- "league/flysystem": "To upload to different destinations, not just to the local file system"
+ "ext-mbstring": "for parsing UTF-8 CSS"
},
"type": "library",
"autoload": {
"psr-4": {
- "Sirius\\Upload\\": "src/"
+ "Sabberworm\\CSS\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -8120,50 +8773,59 @@
],
"authors": [
{
- "name": "Adrian Miu",
- "email": "adrian@adrianmiu.ro"
+ "name": "Raphael Schweikert"
}
],
- "description": "Framework agnostic upload library",
+ "description": "Parser for CSS Files written in PHP",
+ "homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
"keywords": [
- "file",
- "file upload",
- "form",
- "psr-7",
- "security",
- "upload",
- "validation"
+ "css",
+ "parser",
+ "stylesheet"
],
"support": {
- "issues": "https://github.com/siriusphp/upload/issues",
- "source": "https://github.com/siriusphp/upload/tree/3.0.1"
+ "issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues",
+ "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.4.0"
},
- "time": "2020-03-14T15:02:29+00:00"
+ "time": "2021-12-11T13:40:54+00:00"
},
{
- "name": "siriusphp/validation",
- "version": "3.1.0",
+ "name": "scienta/doctrine-json-functions",
+ "version": "4.5.0",
"source": {
"type": "git",
- "url": "https://github.com/siriusphp/validation.git",
- "reference": "14dd292b10053d6269126f4cb6e334f78d4686c4"
+ "url": "https://github.com/ScientaNL/DoctrineJsonFunctions.git",
+ "reference": "138a017a92d9f0dfd22e221584b66517f005c222"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/siriusphp/validation/zipball/14dd292b10053d6269126f4cb6e334f78d4686c4",
- "reference": "14dd292b10053d6269126f4cb6e334f78d4686c4",
+ "url": "https://api.github.com/repos/ScientaNL/DoctrineJsonFunctions/zipball/138a017a92d9f0dfd22e221584b66517f005c222",
+ "reference": "138a017a92d9f0dfd22e221584b66517f005c222",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "doctrine/dbal": "2.*",
+ "doctrine/orm": "2.*",
+ "ext-pdo": "*",
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.5"
+ "doctrine/coding-standard": "^8.0 || ^9.0",
+ "doctrine/orm": "^2.7",
+ "phpunit/phpunit": "^8.0 || ^9.0"
+ },
+ "suggest": {
+ "dunglas/doctrine-json-odm": "To serialize / deserialize objects as JSON documents."
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.1-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Sirius\\Validation\\": "src/"
+ "Scienta\\DoctrineJsonFunctions\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -8172,51 +8834,57 @@
],
"authors": [
{
- "name": "Adrian Miu",
- "email": "adrian@adrianmiu.ro"
+ "name": "Doctrine Json Functions Contributors",
+ "homepage": "https://github.com/ScientaNL/DoctrineJsonFunctions/contributors"
}
],
- "description": "Data validation library. Validate arrays, array objects, domain models etc using a simple API. Easily add your own validators on top of the already dozens built-in validation rules",
+ "description": "A set of extensions to Doctrine 2 that add support for json query functions.",
"keywords": [
- "form",
- "modeling",
- "sanitization",
- "security",
- "validation"
+ "database",
+ "doctrine",
+ "dql",
+ "json",
+ "mariadb",
+ "mysql",
+ "orm",
+ "postgres",
+ "postgresql",
+ "sqlite"
],
"support": {
- "issues": "https://github.com/siriusphp/validation/issues",
- "source": "https://github.com/siriusphp/validation/tree/3.1.0"
+ "issues": "https://github.com/ScientaNL/DoctrineJsonFunctions/issues",
+ "source": "https://github.com/ScientaNL/DoctrineJsonFunctions/tree/4.5.0"
},
- "time": "2022-09-21T19:51:46+00:00"
+ "time": "2022-01-12T09:54:17+00:00"
},
{
- "name": "squirrelphp/twig-php-syntax",
- "version": "v1.7",
+ "name": "seld/jsonlint",
+ "version": "1.10.1",
"source": {
"type": "git",
- "url": "https://github.com/squirrelphp/twig-php-syntax.git",
- "reference": "97738f7533de0fd5ed8f03d052d219bd23398976"
+ "url": "https://github.com/Seldaek/jsonlint.git",
+ "reference": "76d449a358ece77d6f1d6331c68453e657172202"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squirrelphp/twig-php-syntax/zipball/97738f7533de0fd5ed8f03d052d219bd23398976",
- "reference": "97738f7533de0fd5ed8f03d052d219bd23398976",
+ "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/76d449a358ece77d6f1d6331c68453e657172202",
+ "reference": "76d449a358ece77d6f1d6331c68453e657172202",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "twig/twig": "^3.0"
+ "php": "^5.3 || ^7.0 || ^8.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.3",
- "captainhook/plugin-composer": "^5.0",
- "phpunit/phpunit": "^8.0|^9.0"
+ "phpstan/phpstan": "^1.5",
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13"
},
+ "bin": [
+ "bin/jsonlint"
+ ],
"type": "library",
"autoload": {
"psr-4": {
- "Squirrel\\TwigPhpSyntax\\": "src/"
+ "Seld\\JsonLint\\": "src/Seld/JsonLint/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -8225,66 +8893,60 @@
],
"authors": [
{
- "name": "Andreas Leathley",
- "email": "andreas.leathley@panaxis.ch"
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "https://seld.be"
}
],
- "description": "Adds common PHP syntax to twig templates, like ===, foreach and continue/break.",
- "homepage": "https://github.com/squirrelphp/twig-php-syntax",
+ "description": "JSON Linter",
"keywords": [
- "foreach",
- "php",
- "syntax",
- "twig"
+ "json",
+ "linter",
+ "parser",
+ "validator"
],
"support": {
- "issues": "https://github.com/squirrelphp/twig-php-syntax/issues",
- "source": "https://github.com/squirrelphp/twig-php-syntax/tree/v1.7"
+ "issues": "https://github.com/Seldaek/jsonlint/issues",
+ "source": "https://github.com/Seldaek/jsonlint/tree/1.10.1"
},
- "time": "2021-11-29T23:24:13+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/Seldaek",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-18T13:03:25+00:00"
},
{
- "name": "stof/doctrine-extensions-bundle",
- "version": "v1.8.0",
+ "name": "seld/phar-utils",
+ "version": "1.2.1",
"source": {
"type": "git",
- "url": "https://github.com/stof/StofDoctrineExtensionsBundle.git",
- "reference": "b40623da645d0e206331f506fb1065d8b0a0f3d6"
+ "url": "https://github.com/Seldaek/phar-utils.git",
+ "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/stof/StofDoctrineExtensionsBundle/zipball/b40623da645d0e206331f506fb1065d8b0a0f3d6",
- "reference": "b40623da645d0e206331f506fb1065d8b0a0f3d6",
+ "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c",
+ "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c",
"shasum": ""
},
"require": {
- "gedmo/doctrine-extensions": "^3.5.0",
- "php": "^7.2.5 || ^8.0",
- "symfony/cache": "^5.4 || ^6.0",
- "symfony/config": "^5.4 || ^6.0",
- "symfony/dependency-injection": "^5.4 || ^6.0",
- "symfony/event-dispatcher": "^5.4 || ^6.0",
- "symfony/http-kernel": "^5.4 || ^6.0"
- },
- "require-dev": {
- "symfony/mime": "^5.4 || ^6.0",
- "symfony/phpunit-bridge": "^v5.4 || ^6.0",
- "symfony/security-core": "^5.4 || ^6.0"
- },
- "suggest": {
- "doctrine/doctrine-bundle": "to use the ORM extensions",
- "doctrine/mongodb-odm-bundle": "to use the MongoDB ODM extensions",
- "symfony/mime": "To use the Mime component integration for Uploadable"
+ "php": ">=5.3"
},
- "type": "symfony-bundle",
+ "type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.x-dev"
+ "dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
- "Stof\\DoctrineExtensionsBundle\\": "src"
+ "Seld\\PharUtils\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -8293,69 +8955,55 @@
],
"authors": [
{
- "name": "Christophe Coevoet",
- "email": "stof@notk.org"
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be"
}
],
- "description": "Integration of the gedmo/doctrine-extensions with Symfony",
- "homepage": "https://github.com/stof/StofDoctrineExtensionsBundle",
+ "description": "PHAR file format utilities, for when PHP phars you up",
"keywords": [
- "behaviors",
- "doctrine2",
- "extensions",
- "gedmo",
- "loggable",
- "nestedset",
- "sluggable",
- "sortable",
- "timestampable",
- "translatable",
- "tree"
+ "phar"
],
"support": {
- "issues": "https://github.com/stof/StofDoctrineExtensionsBundle/issues",
- "source": "https://github.com/stof/StofDoctrineExtensionsBundle/tree/v1.8.0"
+ "issues": "https://github.com/Seldaek/phar-utils/issues",
+ "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1"
},
- "time": "2023-07-07T15:34:33+00:00"
+ "time": "2022-08-31T10:31:18+00:00"
},
{
- "name": "symfony/asset",
- "version": "v5.4.21",
+ "name": "seld/signal-handler",
+ "version": "2.0.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/asset.git",
- "reference": "1504b6773c6b90118f9871e90a67833b5d1dca3c"
+ "url": "https://github.com/Seldaek/signal-handler.git",
+ "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/asset/zipball/1504b6773c6b90118f9871e90a67833b5d1dca3c",
- "reference": "1504b6773c6b90118f9871e90a67833b5d1dca3c",
+ "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98",
+ "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
- },
- "conflict": {
- "symfony/http-foundation": "<5.3"
+ "php": ">=7.2.0"
},
"require-dev": {
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/http-foundation": ""
+ "phpstan/phpstan": "^1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpstan/phpstan-strict-rules": "^1.3",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.23",
+ "psr/log": "^1 || ^2 || ^3"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Symfony\\Component\\Asset\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Seld\\Signal\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -8363,91 +9011,80 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
}
],
- "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
- "homepage": "https://symfony.com",
+ "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development",
+ "keywords": [
+ "posix",
+ "sigint",
+ "signal",
+ "sigterm",
+ "unix"
+ ],
"support": {
- "source": "https://github.com/symfony/asset/tree/v5.4.21"
+ "issues": "https://github.com/Seldaek/signal-handler/issues",
+ "source": "https://github.com/Seldaek/signal-handler/tree/2.0.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": "2023-02-14T08:03:56+00:00"
+ "time": "2023-09-03T09:24:00+00:00"
},
{
- "name": "symfony/cache",
- "version": "v5.4.29",
+ "name": "sensio/framework-extra-bundle",
+ "version": "v6.2.10",
"source": {
"type": "git",
- "url": "https://github.com/symfony/cache.git",
- "reference": "e29c5a97bc2d81269973c3e1d7ceb9d48b4d5151"
+ "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
+ "reference": "2f886f4b31f23c76496901acaedfedb6936ba61f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/e29c5a97bc2d81269973c3e1d7ceb9d48b4d5151",
- "reference": "e29c5a97bc2d81269973c3e1d7ceb9d48b4d5151",
+ "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/2f886f4b31f23c76496901acaedfedb6936ba61f",
+ "reference": "2f886f4b31f23c76496901acaedfedb6936ba61f",
"shasum": ""
},
"require": {
+ "doctrine/annotations": "^1.0|^2.0",
"php": ">=7.2.5",
- "psr/cache": "^1.0|^2.0",
- "psr/log": "^1.1|^2|^3",
- "symfony/cache-contracts": "^1.1.7|^2",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/framework-bundle": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0"
},
"conflict": {
- "doctrine/dbal": "<2.13.1",
- "symfony/dependency-injection": "<4.4",
- "symfony/http-kernel": "<4.4",
- "symfony/var-dumper": "<4.4"
- },
- "provide": {
- "psr/cache-implementation": "1.0|2.0",
- "psr/simple-cache-implementation": "1.0|2.0",
- "symfony/cache-implementation": "1.0|2.0"
+ "doctrine/doctrine-cache-bundle": "<1.3.1",
+ "doctrine/persistence": "<1.3"
},
"require-dev": {
- "cache/integration-tests": "dev-master",
- "doctrine/cache": "^1.6|^2.0",
- "doctrine/dbal": "^2.13.1|^3.0",
- "predis/predis": "^1.1",
- "psr/simple-cache": "^1.0|^2.0",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "doctrine/dbal": "^2.10|^3.0",
+ "doctrine/doctrine-bundle": "^1.11|^2.0",
+ "doctrine/orm": "^2.5",
+ "symfony/browser-kit": "^4.4|^5.0|^6.0",
+ "symfony/doctrine-bridge": "^4.4|^5.0|^6.0",
+ "symfony/dom-crawler": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/monolog-bridge": "^4.0|^5.0|^6.0",
+ "symfony/monolog-bundle": "^3.2",
+ "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0",
+ "symfony/security-bundle": "^4.4|^5.0|^6.0",
+ "symfony/twig-bundle": "^4.4|^5.0|^6.0",
+ "symfony/yaml": "^4.4|^5.0|^6.0",
+ "twig/twig": "^1.34|^2.4|^3.0"
+ },
+ "type": "symfony-bundle",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.1.x-dev"
+ }
},
- "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Cache\\": ""
+ "Sensio\\Bundle\\FrameworkExtraBundle\\": "src/"
},
"exclude-from-classmap": [
- "/Tests/"
+ "/tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -8456,161 +9093,140 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
}
],
- "description": "Provides extended PSR-6, PSR-16 (and tags) implementations",
- "homepage": "https://symfony.com",
+ "description": "This bundle provides a way to configure your controllers with annotations",
"keywords": [
- "caching",
- "psr6"
- ],
+ "annotations",
+ "controllers"
+ ],
"support": {
- "source": "https://github.com/symfony/cache/tree/v5.4.29"
+ "source": "https://github.com/sensiolabs/SensioFrameworkExtraBundle/tree/v6.2.10"
},
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2023-09-19T13:25:51+00:00"
+ "abandoned": "Symfony",
+ "time": "2023-02-24T14:57:12+00:00"
},
{
- "name": "symfony/cache-contracts",
- "version": "v2.5.2",
+ "name": "sentry/sdk",
+ "version": "3.6.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/cache-contracts.git",
- "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc"
+ "url": "https://github.com/getsentry/sentry-php-sdk.git",
+ "reference": "24c235ff2027401cbea099bf88689e1a1f197c7a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
- "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
+ "url": "https://api.github.com/repos/getsentry/sentry-php-sdk/zipball/24c235ff2027401cbea099bf88689e1a1f197c7a",
+ "reference": "24c235ff2027401cbea099bf88689e1a1f197c7a",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/cache": "^1.0|^2.0|^3.0"
- },
- "suggest": {
- "symfony/cache-implementation": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Cache\\": ""
- }
+ "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": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Sentry",
+ "email": "accounts@sentry.io"
}
],
- "description": "Generic abstractions related to caching",
- "homepage": "https://symfony.com",
+ "description": "This is a metapackage shipping sentry/sentry with a recommended HTTP client.",
+ "homepage": "http://sentry.io",
"keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
+ "crash-reporting",
+ "crash-reports",
+ "error-handler",
+ "error-monitoring",
+ "log",
+ "logging",
+ "sentry"
],
"support": {
- "source": "https://github.com/symfony/cache-contracts/tree/v2.5.2"
+ "issues": "https://github.com/getsentry/sentry-php-sdk/issues",
+ "source": "https://github.com/getsentry/sentry-php-sdk/tree/3.6.0"
},
"funding": [
{
- "url": "https://symfony.com/sponsor",
+ "url": "https://sentry.io/",
"type": "custom"
},
{
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
+ "url": "https://sentry.io/pricing/",
+ "type": "custom"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2023-12-04T10:49:33+00:00"
},
{
- "name": "symfony/config",
- "version": "v5.4.26",
+ "name": "sentry/sentry",
+ "version": "3.22.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/config.git",
- "reference": "8109892f27beed9252bd1f1c1880aeb4ad842650"
+ "url": "https://github.com/getsentry/sentry-php.git",
+ "reference": "8859631ba5ab15bc1af420b0eeed19ecc6c9d81d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/8109892f27beed9252bd1f1c1880aeb4ad842650",
- "reference": "8109892f27beed9252bd1f1c1880aeb4ad842650",
+ "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/8859631ba5ab15bc1af420b0eeed19ecc6c9d81d",
+ "reference": "8859631ba5ab15bc1af420b0eeed19ecc6c9d81d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22"
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "guzzlehttp/promises": "^1.5.3|^2.0",
+ "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"
},
"conflict": {
- "symfony/finder": "<4.4"
+ "php-http/client-common": "1.8.0",
+ "raven/raven": "*"
},
"require-dev": {
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "friendsofphp/php-cs-fixer": "^2.19|3.4.*",
+ "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",
+ "vimeo/psalm": "^4.17"
},
"suggest": {
- "symfony/yaml": "To use the yaml reference dumper"
+ "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler."
},
"type": "library",
"autoload": {
+ "files": [
+ "src/functions.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Config\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Sentry\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -8618,92 +9234,112 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Sentry",
+ "email": "accounts@sentry.io"
}
],
- "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
- "homepage": "https://symfony.com",
+ "description": "A PHP SDK for Sentry (http://sentry.io)",
+ "homepage": "http://sentry.io",
+ "keywords": [
+ "crash-reporting",
+ "crash-reports",
+ "error-handler",
+ "error-monitoring",
+ "log",
+ "logging",
+ "sentry"
+ ],
"support": {
- "source": "https://github.com/symfony/config/tree/v5.4.26"
+ "issues": "https://github.com/getsentry/sentry-php/issues",
+ "source": "https://github.com/getsentry/sentry-php/tree/3.22.1"
},
"funding": [
{
- "url": "https://symfony.com/sponsor",
+ "url": "https://sentry.io/",
"type": "custom"
},
{
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
+ "url": "https://sentry.io/pricing/",
+ "type": "custom"
}
],
- "time": "2023-07-19T20:21:11+00:00"
+ "time": "2023-11-13T11:47:28+00:00"
},
{
- "name": "symfony/console",
- "version": "v5.4.28",
+ "name": "sentry/sentry-symfony",
+ "version": "4.13.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/console.git",
- "reference": "f4f71842f24c2023b91237c72a365306f3c58827"
+ "url": "https://github.com/getsentry/sentry-symfony.git",
+ "reference": "bf049e69863465f2e0ba2555dbb5224641a37d67"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/f4f71842f24c2023b91237c72a365306f3c58827",
- "reference": "f4f71842f24c2023b91237c72a365306f3c58827",
+ "url": "https://api.github.com/repos/getsentry/sentry-symfony/zipball/bf049e69863465f2e0ba2555dbb5224641a37d67",
+ "reference": "bf049e69863465f2e0ba2555dbb5224641a37d67",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/string": "^5.1|^6.0"
- },
- "conflict": {
- "psr/log": ">=3",
- "symfony/dependency-injection": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/event-dispatcher": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/process": "<4.4"
- },
- "provide": {
- "psr/log-implementation": "1.0|2.0"
+ "guzzlehttp/psr7": "^1.7 || ^2.0",
+ "jean85/pretty-package-versions": "^1.5 || ^2.0",
+ "php": "^7.2||^8.0",
+ "sentry/sdk": "^3.6",
+ "sentry/sentry": "^3.22.1",
+ "symfony/cache-contracts": "^1.1||^2.4||^3.0",
+ "symfony/config": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/console": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/dependency-injection": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/event-dispatcher": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/http-kernel": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/polyfill-php80": "^1.22",
+ "symfony/psr-http-message-bridge": "^1.2||^2.0||^6.4||^7.0",
+ "symfony/security-core": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/security-http": "^4.4.20||^5.0.11||^6.0||^7.0"
},
"require-dev": {
- "psr/log": "^1|^2",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/lock": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "doctrine/dbal": "^2.13||^3.0",
+ "doctrine/doctrine-bundle": "^1.12||^2.5",
+ "friendsofphp/php-cs-fixer": "^2.19||^3.40",
+ "masterminds/html5": "^2.8",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^1.3",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpstan/phpstan-symfony": "^1.0",
+ "phpunit/phpunit": "^8.5.14||^9.3.9",
+ "symfony/browser-kit": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/cache": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/dom-crawler": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/framework-bundle": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/http-client": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/messenger": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/monolog-bundle": "^3.4",
+ "symfony/phpunit-bridge": "^5.2.6||^6.0||^7.0",
+ "symfony/process": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/twig-bundle": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "symfony/yaml": "^4.4.20||^5.0.11||^6.0||^7.0",
+ "vimeo/psalm": "^4.3||^5.16.0"
},
"suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/lock": "",
- "symfony/process": ""
+ "doctrine/doctrine-bundle": "Allow distributed tracing of database queries using Sentry.",
+ "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler.",
+ "symfony/cache": "Allow distributed tracing of cache pools using Sentry.",
+ "symfony/twig-bundle": "Allow distributed tracing of Twig template rendering using Sentry."
+ },
+ "type": "symfony-bundle",
+ "extra": {
+ "branch-alias": {
+ "releases/3.2.x": "3.2.x-dev",
+ "releases/2.x": "2.x-dev",
+ "releases/1.x": "1.x-dev"
+ }
},
- "type": "library",
"autoload": {
+ "files": [
+ "src/aliases.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Console\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Sentry\\SentryBundle\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -8711,84 +9347,70 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "David Cramer",
+ "email": "dcramer@gmail.com"
},
{
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Alessandro Lai",
+ "email": "alessandro.lai85@gmail.com"
}
],
- "description": "Eases the creation of beautiful and testable command line interfaces",
- "homepage": "https://symfony.com",
+ "description": "Symfony integration for Sentry (http://getsentry.com)",
+ "homepage": "http://getsentry.com",
"keywords": [
- "cli",
- "command-line",
- "console",
- "terminal"
+ "errors",
+ "logging",
+ "sentry",
+ "symfony"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.28"
+ "issues": "https://github.com/getsentry/sentry-symfony/issues",
+ "source": "https://github.com/getsentry/sentry-symfony/tree/4.13.2"
},
"funding": [
{
- "url": "https://symfony.com/sponsor",
+ "url": "https://sentry.io/",
"type": "custom"
},
{
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
+ "url": "https://sentry.io/pricing/",
+ "type": "custom"
}
],
- "time": "2023-08-07T06:12:30+00:00"
+ "time": "2024-01-11T14:55:45+00:00"
},
{
- "name": "symfony/debug-bundle",
- "version": "v5.4.26",
+ "name": "siriusphp/upload",
+ "version": "3.0.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/debug-bundle.git",
- "reference": "17c372891d4554d5d2f5cf602aef02c859ad52d8"
+ "url": "https://github.com/siriusphp/upload.git",
+ "reference": "3a5a1d130c91d505bb6d06f4c9e2428ea5c01214"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/17c372891d4554d5d2f5cf602aef02c859ad52d8",
- "reference": "17c372891d4554d5d2f5cf602aef02c859ad52d8",
+ "url": "https://api.github.com/repos/siriusphp/upload/zipball/3a5a1d130c91d505bb6d06f4c9e2428ea5c01214",
+ "reference": "3a5a1d130c91d505bb6d06f4c9e2428ea5c01214",
"shasum": ""
},
"require": {
- "ext-xml": "*",
- "php": ">=7.2.5",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/twig-bridge": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
- },
- "conflict": {
- "symfony/config": "<4.4",
- "symfony/dependency-injection": "<5.2"
+ "php": ">=7.1",
+ "siriusphp/validation": "~3.0"
},
"require-dev": {
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/web-profiler-bundle": "^4.4|^5.0|^6.0"
+ "laminas/laminas-diactoros": "^2.2",
+ "phpunit/phpunit": "~8.5",
+ "symfony/http-foundation": "^4.4"
},
"suggest": {
- "symfony/config": "For service container configuration",
- "symfony/dependency-injection": "For using as a service from the container"
+ "knplabs/gaufrette": "Alternative filesystem abstraction library for upload destinations",
+ "league/flysystem": "To upload to different destinations, not just to the local file system"
},
- "type": "symfony-bundle",
+ "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\DebugBundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Sirius\\Upload\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -8796,88 +9418,51 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Adrian Miu",
+ "email": "adrian@adrianmiu.ro"
}
],
- "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/debug-bundle/tree/v5.4.26"
- },
- "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"
- }
+ "description": "Framework agnostic upload library",
+ "keywords": [
+ "file",
+ "file upload",
+ "form",
+ "psr-7",
+ "security",
+ "upload",
+ "validation"
],
- "time": "2023-07-11T21:42:03+00:00"
+ "support": {
+ "issues": "https://github.com/siriusphp/upload/issues",
+ "source": "https://github.com/siriusphp/upload/tree/3.0.1"
+ },
+ "time": "2020-03-14T15:02:29+00:00"
},
{
- "name": "symfony/dependency-injection",
- "version": "v5.4.29",
+ "name": "siriusphp/validation",
+ "version": "3.1.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/dependency-injection.git",
- "reference": "338638ed8c9d5c7fcb136a73f5c7043465ae2f05"
+ "url": "https://github.com/siriusphp/validation.git",
+ "reference": "14dd292b10053d6269126f4cb6e334f78d4686c4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/338638ed8c9d5c7fcb136a73f5c7043465ae2f05",
- "reference": "338638ed8c9d5c7fcb136a73f5c7043465ae2f05",
+ "url": "https://api.github.com/repos/siriusphp/validation/zipball/14dd292b10053d6269126f4cb6e334f78d4686c4",
+ "reference": "14dd292b10053d6269126f4cb6e334f78d4686c4",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1.1",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22",
- "symfony/service-contracts": "^1.1.6|^2"
- },
- "conflict": {
- "ext-psr": "<1.1|>=2",
- "symfony/config": "<5.3",
- "symfony/finder": "<4.4",
- "symfony/proxy-manager-bridge": "<4.4",
- "symfony/yaml": "<4.4.26"
- },
- "provide": {
- "psr/container-implementation": "1.0",
- "symfony/service-implementation": "1.0|2.0"
+ "php": ">=7.1"
},
"require-dev": {
- "symfony/config": "^5.3|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4.26|^5.0|^6.0"
- },
- "suggest": {
- "symfony/config": "",
- "symfony/expression-language": "For using expressions in service container configuration",
- "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
- "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
- "symfony/yaml": ""
+ "phpunit/phpunit": "^8.5"
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\DependencyInjection\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Sirius\\Validation\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -8885,65 +9470,189 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Adrian Miu",
+ "email": "adrian@adrianmiu.ro"
}
],
- "description": "Allows you to standardize and centralize the way objects are constructed in your application",
- "homepage": "https://symfony.com",
+ "description": "Data validation library. Validate arrays, array objects, domain models etc using a simple API. Easily add your own validators on top of the already dozens built-in validation rules",
+ "keywords": [
+ "form",
+ "modeling",
+ "sanitization",
+ "security",
+ "validation"
+ ],
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v5.4.29"
+ "issues": "https://github.com/siriusphp/validation/issues",
+ "source": "https://github.com/siriusphp/validation/tree/3.1.0"
},
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
+ "time": "2022-09-21T19:51:46+00:00"
+ },
+ {
+ "name": "squirrelphp/twig-php-syntax",
+ "version": "v1.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/squirrelphp/twig-php-syntax.git",
+ "reference": "97738f7533de0fd5ed8f03d052d219bd23398976"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/squirrelphp/twig-php-syntax/zipball/97738f7533de0fd5ed8f03d052d219bd23398976",
+ "reference": "97738f7533de0fd5ed8f03d052d219bd23398976",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "twig/twig": "^3.0"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.3",
+ "captainhook/plugin-composer": "^5.0",
+ "phpunit/phpunit": "^8.0|^9.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Squirrel\\TwigPhpSyntax\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
{
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
+ "name": "Andreas Leathley",
+ "email": "andreas.leathley@panaxis.ch"
}
],
- "time": "2023-09-20T06:23:43+00:00"
+ "description": "Adds common PHP syntax to twig templates, like ===, foreach and continue/break.",
+ "homepage": "https://github.com/squirrelphp/twig-php-syntax",
+ "keywords": [
+ "foreach",
+ "php",
+ "syntax",
+ "twig"
+ ],
+ "support": {
+ "issues": "https://github.com/squirrelphp/twig-php-syntax/issues",
+ "source": "https://github.com/squirrelphp/twig-php-syntax/tree/v1.7"
+ },
+ "time": "2021-11-29T23:24:13+00:00"
},
{
- "name": "symfony/deprecation-contracts",
- "version": "v2.5.2",
+ "name": "stof/doctrine-extensions-bundle",
+ "version": "v1.10.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ "url": "https://github.com/stof/StofDoctrineExtensionsBundle.git",
+ "reference": "299d5333ce83941069852be36b949abbc776bf1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+ "url": "https://api.github.com/repos/stof/StofDoctrineExtensionsBundle/zipball/299d5333ce83941069852be36b949abbc776bf1d",
+ "reference": "299d5333ce83941069852be36b949abbc776bf1d",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "gedmo/doctrine-extensions": "^3.5.0",
+ "php": "^7.2.5 || ^8.0",
+ "symfony/cache": "^5.4 || ^6.0 || ^7.0",
+ "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/http-kernel": "^5.4 || ^6.0 || ^7.0"
},
- "type": "library",
+ "require-dev": {
+ "symfony/mime": "^5.4 || ^6.0 || ^7.0",
+ "symfony/phpunit-bridge": "^v6.4.1 || ^7.0.1",
+ "symfony/security-core": "^5.4 || ^6.0 || ^7.0"
+ },
+ "suggest": {
+ "doctrine/doctrine-bundle": "to use the ORM extensions",
+ "doctrine/mongodb-odm-bundle": "to use the MongoDB ODM extensions",
+ "symfony/mime": "To use the Mime component integration for Uploadable"
+ },
+ "type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
+ "dev-main": "1.x-dev"
}
},
"autoload": {
- "files": [
- "function.php"
+ "psr-4": {
+ "Stof\\DoctrineExtensionsBundle\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Christophe Coevoet",
+ "email": "stof@notk.org"
+ }
+ ],
+ "description": "Integration of the gedmo/doctrine-extensions with Symfony",
+ "homepage": "https://github.com/stof/StofDoctrineExtensionsBundle",
+ "keywords": [
+ "behaviors",
+ "doctrine2",
+ "extensions",
+ "gedmo",
+ "loggable",
+ "nestedset",
+ "sluggable",
+ "sortable",
+ "timestampable",
+ "translatable",
+ "tree"
+ ],
+ "support": {
+ "issues": "https://github.com/stof/StofDoctrineExtensionsBundle/issues",
+ "source": "https://github.com/stof/StofDoctrineExtensionsBundle/tree/v1.10.1"
+ },
+ "time": "2023-12-09T09:33:39+00:00"
+ },
+ {
+ "name": "symfony/asset",
+ "version": "v5.4.31",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/asset.git",
+ "reference": "edb2457a0ef615d420d2319851f679a4cc3b3635"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/asset/zipball/edb2457a0ef615d420d2319851f679a4cc3b3635",
+ "reference": "edb2457a0ef615d420d2319851f679a4cc3b3635",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "conflict": {
+ "symfony/http-foundation": "<5.3"
+ },
+ "require-dev": {
+ "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/http-foundation": "^5.3|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/http-foundation": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Asset\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -8952,18 +9661,18 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "A generic function and convention to trigger deprecation notices",
+ "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/asset/tree/v5.4.31"
},
"funding": [
{
@@ -8979,84 +9688,61 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2023-10-31T07:58:33+00:00"
},
{
- "name": "symfony/doctrine-bridge",
- "version": "v5.4.28",
+ "name": "symfony/cache",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/doctrine-bridge.git",
- "reference": "70780f364af653951da5f82caea2e83407d890d0"
+ "url": "https://github.com/symfony/cache.git",
+ "reference": "b17f28169f7a2f2c0cddf2b044d729f5b75efe5a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/70780f364af653951da5f82caea2e83407d890d0",
- "reference": "70780f364af653951da5f82caea2e83407d890d0",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/b17f28169f7a2f2c0cddf2b044d729f5b75efe5a",
+ "reference": "b17f28169f7a2f2c0cddf2b044d729f5b75efe5a",
"shasum": ""
},
"require": {
- "doctrine/event-manager": "~1.0",
- "doctrine/persistence": "^2|^3",
"php": ">=7.2.5",
+ "psr/cache": "^1.0|^2.0",
+ "psr/log": "^1.1|^2|^3",
+ "symfony/cache-contracts": "^1.1.7|^2",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php73": "^1.9",
"symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1|^2|^3"
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/var-exporter": "^4.4|^5.0|^6.0"
},
"conflict": {
"doctrine/dbal": "<2.13.1",
- "doctrine/lexer": "<1.1",
- "doctrine/orm": "<2.7.4",
- "symfony/cache": "<5.4",
"symfony/dependency-injection": "<4.4",
- "symfony/form": "<5.4.21|>=6,<6.2.7",
- "symfony/http-kernel": "<5",
- "symfony/messenger": "<4.4",
- "symfony/property-info": "<5",
- "symfony/proxy-manager-bridge": "<4.4.19",
- "symfony/security-bundle": "<5",
- "symfony/security-core": "<5.3",
- "symfony/validator": "<5.4.25|>=6,<6.2.12|>=6.3,<6.3.1"
+ "symfony/http-kernel": "<4.4",
+ "symfony/var-dumper": "<4.4"
+ },
+ "provide": {
+ "psr/cache-implementation": "1.0|2.0",
+ "psr/simple-cache-implementation": "1.0|2.0",
+ "symfony/cache-implementation": "1.0|2.0"
},
"require-dev": {
- "doctrine/annotations": "^1.10.4|^2",
- "doctrine/collections": "^1.0|^2.0",
- "doctrine/data-fixtures": "^1.1",
- "doctrine/dbal": "^2.13.1|^3.0",
- "doctrine/orm": "^2.7.4",
- "psr/log": "^1|^2|^3",
- "symfony/cache": "^5.4|^6.0",
+ "cache/integration-tests": "dev-master",
+ "doctrine/cache": "^1.6|^2.0",
+ "doctrine/dbal": "^2.13.1|^3|^4",
+ "predis/predis": "^1.1",
+ "psr/simple-cache": "^1.0|^2.0",
"symfony/config": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/doctrine-messenger": "^5.1|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/form": "^5.4.21|^6.2.7",
- "symfony/http-kernel": "^5.0|^6.0",
+ "symfony/filesystem": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
"symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/property-access": "^4.4|^5.0|^6.0",
- "symfony/property-info": "^5.0|^6.0",
- "symfony/proxy-manager-bridge": "^4.4|^5.0|^6.0",
- "symfony/security-core": "^5.3|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/uid": "^5.1|^6.0",
- "symfony/validator": "^5.4.25|~6.2.12|^6.3.1",
"symfony/var-dumper": "^4.4|^5.0|^6.0"
},
- "suggest": {
- "doctrine/data-fixtures": "",
- "doctrine/dbal": "",
- "doctrine/orm": "",
- "symfony/form": "",
- "symfony/property-info": "",
- "symfony/validator": ""
- },
- "type": "symfony-bridge",
+ "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Bridge\\Doctrine\\": ""
+ "Symfony\\Component\\Cache\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -9068,18 +9754,22 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides integration for Doctrine with various Symfony components",
+ "description": "Provides extended PSR-6, PSR-16 (and tags) implementations",
"homepage": "https://symfony.com",
+ "keywords": [
+ "caching",
+ "psr6"
+ ],
"support": {
- "source": "https://github.com/symfony/doctrine-bridge/tree/v5.4.28"
+ "source": "https://github.com/symfony/cache/tree/v5.4.34"
},
"funding": [
{
@@ -9095,38 +9785,43 @@
"type": "tidelift"
}
],
- "time": "2023-08-08T10:04:45+00:00"
+ "time": "2023-12-18T14:56:06+00:00"
},
{
- "name": "symfony/dotenv",
- "version": "v5.4.22",
+ "name": "symfony/cache-contracts",
+ "version": "v2.5.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/dotenv.git",
- "reference": "77b7660bfcb85e8f28287d557d7af0046bcd2ca3"
+ "url": "https://github.com/symfony/cache-contracts.git",
+ "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dotenv/zipball/77b7660bfcb85e8f28287d557d7af0046bcd2ca3",
- "reference": "77b7660bfcb85e8f28287d557d7af0046bcd2ca3",
+ "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
+ "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3"
+ "psr/cache": "^1.0|^2.0|^3.0"
},
- "require-dev": {
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0"
+ "suggest": {
+ "symfony/cache-implementation": ""
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.5-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
"autoload": {
"psr-4": {
- "Symfony\\Component\\Dotenv\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Contracts\\Cache\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -9134,23 +9829,26 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Registers environment variables from a .env file",
+ "description": "Generic abstractions related to caching",
"homepage": "https://symfony.com",
"keywords": [
- "dotenv",
- "env",
- "environment"
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
],
"support": {
- "source": "https://github.com/symfony/dotenv/tree/v5.4.22"
+ "source": "https://github.com/symfony/cache-contracts/tree/v2.5.2"
},
"funding": [
{
@@ -9166,39 +9864,47 @@
"type": "tidelift"
}
],
- "time": "2023-03-09T20:36:58+00:00"
+ "time": "2022-01-02T09:53:40+00:00"
},
{
- "name": "symfony/error-handler",
- "version": "v5.4.29",
+ "name": "symfony/config",
+ "version": "v5.4.31",
"source": {
"type": "git",
- "url": "https://github.com/symfony/error-handler.git",
- "reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078"
+ "url": "https://github.com/symfony/config.git",
+ "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/328c6fcfd2f90b64c16efaf0ea67a311d672f078",
- "reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078",
+ "url": "https://api.github.com/repos/symfony/config/zipball/dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
+ "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/filesystem": "^4.4|^5.0|^6.0",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/polyfill-php81": "^1.22"
+ },
+ "conflict": {
+ "symfony/finder": "<4.4"
},
"require-dev": {
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0"
+ "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/messenger": "^4.4|^5.0|^6.0",
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/yaml": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/yaml": "To use the yaml reference dumper"
},
- "bin": [
- "Resources/bin/patch-type-declarations"
- ],
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\ErrorHandler\\": ""
+ "Symfony\\Component\\Config\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -9218,10 +9924,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides tools to manage errors and ease debugging PHP code",
+ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v5.4.29"
+ "source": "https://github.com/symfony/config/tree/v5.4.31"
},
"funding": [
{
@@ -9237,53 +9943,61 @@
"type": "tidelift"
}
],
- "time": "2023-09-06T21:54:06+00:00"
+ "time": "2023-11-09T08:22:43+00:00"
},
{
- "name": "symfony/event-dispatcher",
- "version": "v5.4.26",
+ "name": "symfony/console",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac"
+ "url": "https://github.com/symfony/console.git",
+ "reference": "4b4d8cd118484aa604ec519062113dd87abde18c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac",
- "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac",
+ "url": "https://api.github.com/repos/symfony/console/zipball/4b4d8cd118484aa604ec519062113dd87abde18c",
+ "reference": "4b4d8cd118484aa604ec519062113dd87abde18c",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher-contracts": "^2|^3",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php73": "^1.9",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/string": "^5.1|^6.0"
},
"conflict": {
- "symfony/dependency-injection": "<4.4"
+ "psr/log": ">=3",
+ "symfony/dependency-injection": "<4.4",
+ "symfony/dotenv": "<5.1",
+ "symfony/event-dispatcher": "<4.4",
+ "symfony/lock": "<4.4",
+ "symfony/process": "<4.4"
},
"provide": {
- "psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "2.0"
+ "psr/log-implementation": "1.0|2.0"
},
"require-dev": {
- "psr/log": "^1|^2|^3",
+ "psr/log": "^1|^2",
"symfony/config": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/stopwatch": "^4.4|^5.0|^6.0"
+ "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
+ "symfony/lock": "^4.4|^5.0|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/var-dumper": "^4.4|^5.0|^6.0"
},
"suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
+ "psr/log": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/lock": "",
+ "symfony/process": ""
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\EventDispatcher\\": ""
+ "Symfony\\Component\\Console\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -9303,10 +10017,16 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
+ "description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command-line",
+ "console",
+ "terminal"
+ ],
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26"
+ "source": "https://github.com/symfony/console/tree/v5.4.34"
},
"funding": [
{
@@ -9322,40 +10042,34 @@
"type": "tidelift"
}
],
- "time": "2023-07-06T06:34:20+00:00"
+ "time": "2023-12-08T13:33:03+00:00"
},
{
- "name": "symfony/event-dispatcher-contracts",
- "version": "v3.3.0",
+ "name": "symfony/css-selector",
+ "version": "v5.4.26",
"source": {
"type": "git",
- "url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "a76aed96a42d2b521153fb382d418e30d18b59df"
+ "url": "https://github.com/symfony/css-selector.git",
+ "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df",
- "reference": "a76aed96a42d2b521153fb382d418e30d18b59df",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a",
+ "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "psr/event-dispatcher": "^1"
+ "php": ">=7.2.5",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.4-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
"autoload": {
"psr-4": {
- "Symfony\\Contracts\\EventDispatcher\\": ""
- }
+ "Symfony\\Component\\CssSelector\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -9363,26 +10077,22 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Jean-François Simon",
+ "email": "jeanfrancois.simon@sensiolabs.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Generic abstractions related to dispatching event",
+ "description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/css-selector/tree/v5.4.26"
},
"funding": [
{
@@ -9398,31 +10108,47 @@
"type": "tidelift"
}
],
- "time": "2023-05-23T14:45:45+00:00"
+ "time": "2023-07-07T06:10:25+00:00"
},
{
- "name": "symfony/expression-language",
- "version": "v5.4.21",
+ "name": "symfony/debug-bundle",
+ "version": "v5.4.26",
"source": {
"type": "git",
- "url": "https://github.com/symfony/expression-language.git",
- "reference": "501589522b844b8eecf012c133f0404f0eef77ac"
+ "url": "https://github.com/symfony/debug-bundle.git",
+ "reference": "17c372891d4554d5d2f5cf602aef02c859ad52d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/expression-language/zipball/501589522b844b8eecf012c133f0404f0eef77ac",
- "reference": "501589522b844b8eecf012c133f0404f0eef77ac",
+ "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/17c372891d4554d5d2f5cf602aef02c859ad52d8",
+ "reference": "17c372891d4554d5d2f5cf602aef02c859ad52d8",
"shasum": ""
},
"require": {
+ "ext-xml": "*",
"php": ">=7.2.5",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3"
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/twig-bridge": "^4.4|^5.0|^6.0",
+ "symfony/var-dumper": "^4.4|^5.0|^6.0"
},
- "type": "library",
+ "conflict": {
+ "symfony/config": "<4.4",
+ "symfony/dependency-injection": "<5.2"
+ },
+ "require-dev": {
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/web-profiler-bundle": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/config": "For service container configuration",
+ "symfony/dependency-injection": "For using as a service from the container"
+ },
+ "type": "symfony-bundle",
"autoload": {
"psr-4": {
- "Symfony\\Component\\ExpressionLanguage\\": ""
+ "Symfony\\Bundle\\DebugBundle\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -9442,10 +10168,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides an engine that can compile and evaluate expressions",
+ "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/expression-language/tree/v5.4.21"
+ "source": "https://github.com/symfony/debug-bundle/tree/v5.4.26"
},
"funding": [
{
@@ -9461,32 +10187,57 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2023-07-11T21:42:03+00:00"
},
{
- "name": "symfony/filesystem",
- "version": "v5.4.25",
+ "name": "symfony/dependency-injection",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/filesystem.git",
- "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
+ "url": "https://github.com/symfony/dependency-injection.git",
+ "reference": "75d568165a65fa7d8124869ec7c3a90424352e6c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
- "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/75d568165a65fa7d8124869ec7c3a90424352e6c",
+ "reference": "75d568165a65fa7d8124869ec7c3a90424352e6c",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8",
- "symfony/polyfill-php80": "^1.16"
+ "psr/container": "^1.1.1",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/polyfill-php81": "^1.22",
+ "symfony/service-contracts": "^1.1.6|^2"
+ },
+ "conflict": {
+ "ext-psr": "<1.1|>=2",
+ "symfony/config": "<5.3",
+ "symfony/finder": "<4.4",
+ "symfony/proxy-manager-bridge": "<4.4",
+ "symfony/yaml": "<4.4.26"
+ },
+ "provide": {
+ "psr/container-implementation": "1.0",
+ "symfony/service-implementation": "1.0|2.0"
+ },
+ "require-dev": {
+ "symfony/config": "^5.3|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/yaml": "^4.4.26|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/config": "",
+ "symfony/expression-language": "For using expressions in service container configuration",
+ "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
+ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
+ "symfony/yaml": ""
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Filesystem\\": ""
+ "Symfony\\Component\\DependencyInjection\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -9506,10 +10257,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides basic utilities for the filesystem",
+ "description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.25"
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.4.34"
},
"funding": [
{
@@ -9525,34 +10276,38 @@
"type": "tidelift"
}
],
- "time": "2023-05-31T13:04:02+00:00"
+ "time": "2023-12-28T09:31:38+00:00"
},
{
- "name": "symfony/finder",
- "version": "v5.4.27",
+ "name": "symfony/deprecation-contracts",
+ "version": "v2.5.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/finder.git",
- "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d"
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/ff4bce3c33451e7ec778070e45bd23f74214cd5d",
- "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+ "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=7.1"
},
"type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Finder\\": ""
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.5-dev"
},
- "exclude-from-classmap": [
- "/Tests/"
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "files": [
+ "function.php"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -9561,83 +10316,18 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Finds files and directories via an intuitive fluent interface",
+ "description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.4.27"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2023-07-31T08:02:31+00:00"
- },
- {
- "name": "symfony/flex",
- "version": "v2.3.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/flex.git",
- "reference": "9c402af768c6c9f8126a9ffa192ecf7c16581e35"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/flex/zipball/9c402af768c6c9f8126a9ffa192ecf7c16581e35",
- "reference": "9c402af768c6c9f8126a9ffa192ecf7c16581e35",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^2.1",
- "php": ">=8.0"
- },
- "require-dev": {
- "composer/composer": "^2.1",
- "symfony/dotenv": "^5.4|^6.0",
- "symfony/filesystem": "^5.4|^6.0",
- "symfony/phpunit-bridge": "^5.4|^6.0",
- "symfony/process": "^5.4|^6.0"
- },
- "type": "composer-plugin",
- "extra": {
- "class": "Symfony\\Flex\\Flex"
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Flex\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien.potencier@gmail.com"
- }
- ],
- "description": "Composer plugin for Symfony",
- "support": {
- "issues": "https://github.com/symfony/flex/issues",
- "source": "https://github.com/symfony/flex/tree/v2.3.3"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
},
"funding": [
{
@@ -9653,70 +10343,84 @@
"type": "tidelift"
}
],
- "time": "2023-08-04T09:02:35+00:00"
+ "time": "2022-01-02T09:53:40+00:00"
},
{
- "name": "symfony/form",
- "version": "v5.4.29",
+ "name": "symfony/doctrine-bridge",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/form.git",
- "reference": "57baf5a73a68c24dfe12d0d93bec119ec71acb48"
+ "url": "https://github.com/symfony/doctrine-bridge.git",
+ "reference": "0c5e5ad8b8249a0a86f415e16695180c3b61be76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/form/zipball/57baf5a73a68c24dfe12d0d93bec119ec71acb48",
- "reference": "57baf5a73a68c24dfe12d0d93bec119ec71acb48",
+ "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/0c5e5ad8b8249a0a86f415e16695180c3b61be76",
+ "reference": "0c5e5ad8b8249a0a86f415e16695180c3b61be76",
"shasum": ""
},
"require": {
+ "doctrine/event-manager": "~1.0",
+ "doctrine/persistence": "^2|^3",
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/options-resolver": "^5.1|^6.0",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-icu": "^1.21",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.23",
- "symfony/property-access": "^5.0.8|^6.0",
"symfony/service-contracts": "^1.1|^2|^3"
},
"conflict": {
- "symfony/console": "<4.4",
+ "doctrine/dbal": "<2.13.1",
+ "doctrine/lexer": "<1.1",
+ "doctrine/orm": "<2.7.4",
+ "symfony/cache": "<5.4",
"symfony/dependency-injection": "<4.4",
- "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7",
- "symfony/error-handler": "<4.4.5",
- "symfony/framework-bundle": "<4.4",
- "symfony/http-kernel": "<4.4",
- "symfony/translation": "<4.4",
- "symfony/translation-contracts": "<1.1.7",
- "symfony/twig-bridge": "<5.4.21|>=6,<6.2.7"
+ "symfony/form": "<5.4.21|>=6,<6.2.7",
+ "symfony/http-kernel": "<5",
+ "symfony/messenger": "<4.4",
+ "symfony/property-info": "<5",
+ "symfony/proxy-manager-bridge": "<4.4.19",
+ "symfony/security-bundle": "<5",
+ "symfony/security-core": "<5.3",
+ "symfony/validator": "<5.4.25|>=6,<6.2.12|>=6.3,<6.3.1"
},
"require-dev": {
+ "doctrine/annotations": "^1.10.4|^2",
"doctrine/collections": "^1.0|^2.0",
+ "doctrine/data-fixtures": "^1.1",
+ "doctrine/dbal": "^2.13.1|^3|^4",
+ "doctrine/orm": "^2.7.4|^3",
+ "psr/log": "^1|^2|^3",
+ "symfony/cache": "^5.4|^6.0",
"symfony/config": "^4.4|^5.0|^6.0",
- "symfony/console": "^5.4|^6.0",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/doctrine-messenger": "^5.1|^6.0",
"symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
+ "symfony/form": "^5.4.21|^6.2.7",
+ "symfony/http-kernel": "^5.0|^6.0",
+ "symfony/messenger": "^4.4|^5.0|^6.0",
+ "symfony/property-access": "^4.4|^5.0|^6.0",
+ "symfony/property-info": "^5.0|^6.0",
+ "symfony/proxy-manager-bridge": "^4.4|^5.0|^6.0",
+ "symfony/security-core": "^5.3|^6.0",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0",
"symfony/translation": "^4.4|^5.0|^6.0",
"symfony/uid": "^5.1|^6.0",
- "symfony/validator": "^4.4.17|^5.1.9|^6.0",
+ "symfony/validator": "^5.4.25|~6.2.12|^6.3.1",
"symfony/var-dumper": "^4.4|^5.0|^6.0"
},
"suggest": {
- "symfony/security-csrf": "For protecting forms against CSRF attacks.",
- "symfony/twig-bridge": "For templating with Twig.",
- "symfony/validator": "For form validation."
+ "doctrine/data-fixtures": "",
+ "doctrine/dbal": "",
+ "doctrine/orm": "",
+ "symfony/form": "",
+ "symfony/property-info": "",
+ "symfony/validator": ""
},
- "type": "library",
+ "type": "symfony-bridge",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Form\\": ""
+ "Symfony\\Bridge\\Doctrine\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -9736,10 +10440,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Allows to easily create, process and reuse HTML forms",
+ "description": "Provides integration for Doctrine with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/form/tree/v5.4.29"
+ "source": "https://github.com/symfony/doctrine-bridge/tree/v5.4.34"
},
"funding": [
{
@@ -9755,118 +10459,34 @@
"type": "tidelift"
}
],
- "time": "2023-09-10T17:22:50+00:00"
+ "time": "2023-12-14T14:38:10+00:00"
},
{
- "name": "symfony/framework-bundle",
- "version": "v5.4.29",
+ "name": "symfony/dotenv",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/framework-bundle.git",
- "reference": "63e4ad1386fd4f31a005d751cd4dc016f9f2346e"
+ "url": "https://github.com/symfony/dotenv.git",
+ "reference": "07d75571cc7efc88f1aae96eddc5f671826c7327"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/63e4ad1386fd4f31a005d751cd4dc016f9f2346e",
- "reference": "63e4ad1386fd4f31a005d751cd4dc016f9f2346e",
+ "url": "https://api.github.com/repos/symfony/dotenv/zipball/07d75571cc7efc88f1aae96eddc5f671826c7327",
+ "reference": "07d75571cc7efc88f1aae96eddc5f671826c7327",
"shasum": ""
},
"require": {
- "ext-xml": "*",
"php": ">=7.2.5",
- "symfony/cache": "^5.2|^6.0",
- "symfony/config": "^5.3|^6.0",
- "symfony/dependency-injection": "^5.4.5|^6.0.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/error-handler": "^4.4.1|^5.0.1|^6.0",
- "symfony/event-dispatcher": "^5.1|^6.0",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^5.4.24|^6.2.11",
- "symfony/http-kernel": "^5.4|^6.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22",
- "symfony/routing": "^5.3|^6.0"
- },
- "conflict": {
- "doctrine/annotations": "<1.13.1",
- "doctrine/cache": "<1.11",
- "doctrine/persistence": "<1.3",
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
- "symfony/asset": "<5.3",
- "symfony/console": "<5.2.5",
- "symfony/dom-crawler": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/form": "<5.2",
- "symfony/http-client": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/mailer": "<5.2",
- "symfony/messenger": "<5.4",
- "symfony/mime": "<4.4",
- "symfony/property-access": "<5.3",
- "symfony/property-info": "<4.4",
- "symfony/security-csrf": "<5.3",
- "symfony/serializer": "<5.2",
- "symfony/service-contracts": ">=3.0",
- "symfony/stopwatch": "<4.4",
- "symfony/translation": "<5.3",
- "symfony/twig-bridge": "<4.4",
- "symfony/twig-bundle": "<4.4",
- "symfony/validator": "<5.3.11",
- "symfony/web-profiler-bundle": "<4.4",
- "symfony/workflow": "<5.2"
+ "symfony/deprecation-contracts": "^2.1|^3"
},
"require-dev": {
- "doctrine/annotations": "^1.13.1|^2",
- "doctrine/cache": "^1.11|^2.0",
- "doctrine/persistence": "^1.3|^2|^3",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/asset": "^5.3|^6.0",
- "symfony/browser-kit": "^5.4|^6.0",
- "symfony/console": "^5.4.9|^6.0.9",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0",
- "symfony/dotenv": "^5.1|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/form": "^5.2|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/lock": "^4.4|^5.0|^6.0",
- "symfony/mailer": "^5.2|^6.0",
- "symfony/messenger": "^5.4|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/notifier": "^5.4|^6.0",
- "symfony/polyfill-intl-icu": "~1.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/property-info": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0",
- "symfony/security-bundle": "^5.4|^6.0",
- "symfony/serializer": "^5.4|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/string": "^5.0|^6.0",
- "symfony/translation": "^5.3|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
- "symfony/validator": "^5.3.11|^6.0",
- "symfony/web-link": "^4.4|^5.0|^6.0",
- "symfony/workflow": "^5.2|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0",
- "twig/twig": "^2.10|^3.0"
- },
- "suggest": {
- "ext-apcu": "For best performance of the system caches",
- "symfony/console": "For using the console commands",
- "symfony/form": "For using forms",
- "symfony/property-info": "For using the property_info service",
- "symfony/serializer": "For using the serializer service",
- "symfony/validator": "For using validation",
- "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering",
- "symfony/yaml": "For using the debug:config and lint:yaml commands"
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0"
},
- "type": "symfony-bundle",
+ "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\FrameworkBundle\\": ""
+ "Symfony\\Component\\Dotenv\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -9886,10 +10506,15 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
+ "description": "Registers environment variables from a .env file",
"homepage": "https://symfony.com",
+ "keywords": [
+ "dotenv",
+ "env",
+ "environment"
+ ],
"support": {
- "source": "https://github.com/symfony/framework-bundle/tree/v5.4.29"
+ "source": "https://github.com/symfony/dotenv/tree/v5.4.34"
},
"funding": [
{
@@ -9905,56 +10530,124 @@
"type": "tidelift"
}
],
- "time": "2023-09-27T13:49:58+00:00"
+ "time": "2023-12-28T12:17:46+00:00"
},
{
- "name": "symfony/http-client",
+ "name": "symfony/error-handler",
"version": "v5.4.29",
"source": {
"type": "git",
- "url": "https://github.com/symfony/http-client.git",
- "reference": "04784c66cbee613a827363ee1e65db65392893c1"
+ "url": "https://github.com/symfony/error-handler.git",
+ "reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/04784c66cbee613a827363ee1e65db65392893c1",
- "reference": "04784c66cbee613a827363ee1e65db65392893c1",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/328c6fcfd2f90b64c16efaf0ea67a311d672f078",
+ "reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"psr/log": "^1|^2|^3",
+ "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ },
+ "require-dev": {
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-client-contracts": "^2.4",
- "symfony/polyfill-php73": "^1.11",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.0|^2|^3"
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
+ "symfony/serializer": "^4.4|^5.0|^6.0"
+ },
+ "bin": [
+ "Resources/bin/patch-type-declarations"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\ErrorHandler\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides tools to manage errors and ease debugging PHP code",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/error-handler/tree/v5.4.29"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-09-06T21:54:06+00:00"
+ },
+ {
+ "name": "symfony/event-dispatcher",
+ "version": "v5.4.34",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "e3bca343efeb613f843c254e7718ef17c9bdf7a3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e3bca343efeb613f843c254e7718ef17c9bdf7a3",
+ "reference": "e3bca343efeb613f843c254e7718ef17c9bdf7a3",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/event-dispatcher-contracts": "^2|^3",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<4.4"
},
"provide": {
- "php-http/async-client-implementation": "*",
- "php-http/client-implementation": "*",
- "psr/http-client-implementation": "1.0",
- "symfony/http-client-implementation": "2.4"
+ "psr/event-dispatcher-implementation": "1.0",
+ "symfony/event-dispatcher-implementation": "2.0"
},
"require-dev": {
- "amphp/amp": "^2.5",
- "amphp/http-client": "^4.2.1",
- "amphp/http-tunnel": "^1.0",
- "amphp/socket": "^1.1",
- "guzzlehttp/promises": "^1.4",
- "nyholm/psr7": "^1.0",
- "php-http/httplug": "^1.0|^2.0",
- "php-http/message-factory": "^1.0",
- "psr/http-client": "^1.0",
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/http-foundation": "^4.4|^5.0|^6.0",
+ "symfony/service-contracts": "^1.1|^2|^3",
"symfony/stopwatch": "^4.4|^5.0|^6.0"
},
+ "suggest": {
+ "symfony/dependency-injection": "",
+ "symfony/http-kernel": ""
+ },
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\HttpClient\\": ""
+ "Symfony\\Component\\EventDispatcher\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -9966,21 +10659,18 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
+ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
- "keywords": [
- "http"
- ],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v5.4.29"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.34"
},
"funding": [
{
@@ -9996,32 +10686,30 @@
"type": "tidelift"
}
],
- "time": "2023-09-14T20:49:15+00:00"
+ "time": "2023-12-27T21:12:56+00:00"
},
{
- "name": "symfony/http-client-contracts",
- "version": "v2.5.2",
+ "name": "symfony/event-dispatcher-contracts",
+ "version": "v3.4.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70"
+ "url": "https://github.com/symfony/event-dispatcher-contracts.git",
+ "reference": "a76aed96a42d2b521153fb382d418e30d18b59df"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
- "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df",
+ "reference": "a76aed96a42d2b521153fb382d418e30d18b59df",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
- },
- "suggest": {
- "symfony/http-client-implementation": ""
+ "php": ">=8.1",
+ "psr/event-dispatcher": "^1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -10030,7 +10718,7 @@
},
"autoload": {
"psr-4": {
- "Symfony\\Contracts\\HttpClient\\": ""
+ "Symfony\\Contracts\\EventDispatcher\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -10047,7 +10735,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Generic abstractions related to HTTP clients",
+ "description": "Generic abstractions related to dispatching event",
"homepage": "https://symfony.com",
"keywords": [
"abstractions",
@@ -10058,7 +10746,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0"
},
"funding": [
{
@@ -10074,44 +10762,31 @@
"type": "tidelift"
}
],
- "time": "2022-04-12T15:48:08+00:00"
+ "time": "2023-05-23T14:45:45+00:00"
},
{
- "name": "symfony/http-foundation",
- "version": "v5.4.28",
+ "name": "symfony/expression-language",
+ "version": "v5.4.21",
"source": {
"type": "git",
- "url": "https://github.com/symfony/http-foundation.git",
- "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2"
+ "url": "https://github.com/symfony/expression-language.git",
+ "reference": "501589522b844b8eecf012c133f0404f0eef77ac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/365992c83a836dfe635f1e903ccca43ee03d3dd2",
- "reference": "365992c83a836dfe635f1e903ccca43ee03d3dd2",
+ "url": "https://api.github.com/repos/symfony/expression-language/zipball/501589522b844b8eecf012c133f0404f0eef77ac",
+ "reference": "501589522b844b8eecf012c133f0404f0eef77ac",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php80": "^1.16"
- },
- "require-dev": {
- "predis/predis": "~1.0",
"symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0"
- },
- "suggest": {
- "symfony/mime": "To use the file extension guesser"
+ "symfony/service-contracts": "^1.1|^2|^3"
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\HttpFoundation\\": ""
+ "Symfony\\Component\\ExpressionLanguage\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -10131,10 +10806,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Defines an object-oriented layer for the HTTP specification",
+ "description": "Provides an engine that can compile and evaluate expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.4.28"
+ "source": "https://github.com/symfony/expression-language/tree/v5.4.21"
},
"funding": [
{
@@ -10150,80 +10825,32 @@
"type": "tidelift"
}
],
- "time": "2023-08-21T07:23:18+00:00"
+ "time": "2023-02-14T08:03:56+00:00"
},
{
- "name": "symfony/http-kernel",
- "version": "v5.4.29",
+ "name": "symfony/filesystem",
+ "version": "v5.4.25",
"source": {
"type": "git",
- "url": "https://github.com/symfony/http-kernel.git",
- "reference": "f53265fc6bd2a7f3a4ed4e443b76e750348ac3f7"
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f53265fc6bd2a7f3a4ed4e443b76e750348ac3f7",
- "reference": "f53265fc6bd2a7f3a4ed4e443b76e750348ac3f7",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
+ "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "psr/log": "^1|^2",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^5.0|^6.0",
- "symfony/http-foundation": "^5.4.21|^6.2.7",
- "symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-php73": "^1.9",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.8",
"symfony/polyfill-php80": "^1.16"
},
- "conflict": {
- "symfony/browser-kit": "<5.4",
- "symfony/cache": "<5.0",
- "symfony/config": "<5.0",
- "symfony/console": "<4.4",
- "symfony/dependency-injection": "<5.3",
- "symfony/doctrine-bridge": "<5.0",
- "symfony/form": "<5.0",
- "symfony/http-client": "<5.0",
- "symfony/mailer": "<5.0",
- "symfony/messenger": "<5.0",
- "symfony/translation": "<5.0",
- "symfony/twig-bridge": "<5.0",
- "symfony/validator": "<5.0",
- "twig/twig": "<2.13"
- },
- "provide": {
- "psr/log-implementation": "1.0|2.0"
- },
- "require-dev": {
- "psr/cache": "^1.0|^2.0|^3.0",
- "symfony/browser-kit": "^5.4|^6.0",
- "symfony/config": "^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-client-contracts": "^1.1|^2|^3",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2|^3",
- "twig/twig": "^2.13|^3.0.4"
- },
- "suggest": {
- "symfony/browser-kit": "",
- "symfony/config": "",
- "symfony/console": "",
- "symfony/dependency-injection": ""
- },
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\HttpKernel\\": ""
+ "Symfony\\Component\\Filesystem\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -10243,10 +10870,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a structured process for converting a Request into a Response",
+ "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v5.4.29"
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.25"
},
"funding": [
{
@@ -10262,20 +10889,20 @@
"type": "tidelift"
}
],
- "time": "2023-09-30T06:31:17+00:00"
+ "time": "2023-05-31T13:04:02+00:00"
},
{
- "name": "symfony/intl",
- "version": "v5.4.26",
+ "name": "symfony/finder",
+ "version": "v5.4.27",
"source": {
"type": "git",
- "url": "https://github.com/symfony/intl.git",
- "reference": "c26c40b64ecdc056810e294ea67ac5b34182cd69"
+ "url": "https://github.com/symfony/finder.git",
+ "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/intl/zipball/c26c40b64ecdc056810e294ea67ac5b34182cd69",
- "reference": "c26c40b64ecdc056810e294ea67ac5b34182cd69",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/ff4bce3c33451e7ec778070e45bd23f74214cd5d",
+ "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d",
"shasum": ""
},
"require": {
@@ -10283,21 +10910,11 @@
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-php80": "^1.16"
},
- "require-dev": {
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/var-exporter": "^5.4|^6.0"
- },
"type": "library",
"autoload": {
- "files": [
- "Resources/functions.php"
- ],
"psr-4": {
- "Symfony\\Component\\Intl\\": ""
+ "Symfony\\Component\\Finder\\": ""
},
- "classmap": [
- "Resources/stubs"
- ],
"exclude-from-classmap": [
"/Tests/"
]
@@ -10308,34 +10925,18 @@
],
"authors": [
{
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- },
- {
- "name": "Eriksen Costa",
- "email": "eriksen.costa@infranology.com.br"
- },
- {
- "name": "Igor Wiedler",
- "email": "igor@wiedler.ch"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library",
+ "description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
- "keywords": [
- "i18n",
- "icu",
- "internationalization",
- "intl",
- "l10n",
- "localization"
- ],
"support": {
- "source": "https://github.com/symfony/intl/tree/v5.4.26"
+ "source": "https://github.com/symfony/finder/tree/v5.4.27"
},
"funding": [
{
@@ -10351,43 +10952,41 @@
"type": "tidelift"
}
],
- "time": "2023-07-13T09:02:54+00:00"
+ "time": "2023-07-31T08:02:31+00:00"
},
{
- "name": "symfony/lock",
- "version": "v5.4.25",
+ "name": "symfony/flex",
+ "version": "v2.4.3",
"source": {
"type": "git",
- "url": "https://github.com/symfony/lock.git",
- "reference": "ed4055b2e03c8893ce2d0042c8f0e0707be8e179"
+ "url": "https://github.com/symfony/flex.git",
+ "reference": "6b44ac75c7f07f48159ec36c2d21ef8cf48a21b1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/lock/zipball/ed4055b2e03c8893ce2d0042c8f0e0707be8e179",
- "reference": "ed4055b2e03c8893ce2d0042c8f0e0707be8e179",
+ "url": "https://api.github.com/repos/symfony/flex/zipball/6b44ac75c7f07f48159ec36c2d21ef8cf48a21b1",
+ "reference": "6b44ac75c7f07f48159ec36c2d21ef8cf48a21b1",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
- },
- "conflict": {
- "doctrine/dbal": "<2.13"
+ "composer-plugin-api": "^2.1",
+ "php": ">=8.0"
},
"require-dev": {
- "doctrine/dbal": "^2.13|^3.0",
- "predis/predis": "~1.0"
+ "composer/composer": "^2.1",
+ "symfony/dotenv": "^5.4|^6.0",
+ "symfony/filesystem": "^5.4|^6.0",
+ "symfony/phpunit-bridge": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Symfony\\Flex\\Flex"
},
- "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Lock\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Flex\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -10395,26 +10994,14 @@
],
"authors": [
{
- "name": "Jérémy Derussé",
- "email": "jeremy@derusse.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Fabien Potencier",
+ "email": "fabien.potencier@gmail.com"
}
],
- "description": "Creates and manages locks, a mechanism to provide exclusive access to a shared resource",
- "homepage": "https://symfony.com",
- "keywords": [
- "cas",
- "flock",
- "locking",
- "mutex",
- "redlock",
- "semaphore"
- ],
+ "description": "Composer plugin for Symfony",
"support": {
- "source": "https://github.com/symfony/lock/tree/v5.4.25"
+ "issues": "https://github.com/symfony/flex/issues",
+ "source": "https://github.com/symfony/flex/tree/v2.4.3"
},
"funding": [
{
@@ -10430,44 +11017,70 @@
"type": "tidelift"
}
],
- "time": "2023-06-22T08:06:06+00:00"
+ "time": "2024-01-02T11:08:32+00:00"
},
{
- "name": "symfony/mailer",
- "version": "v5.4.22",
+ "name": "symfony/form",
+ "version": "v5.4.33",
"source": {
"type": "git",
- "url": "https://github.com/symfony/mailer.git",
- "reference": "6330cd465dfd8b7a07515757a1c37069075f7b0b"
+ "url": "https://github.com/symfony/form.git",
+ "reference": "9c13bf53e728d3f75ce7a36046ffc2cd0e7d25ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/6330cd465dfd8b7a07515757a1c37069075f7b0b",
- "reference": "6330cd465dfd8b7a07515757a1c37069075f7b0b",
+ "url": "https://api.github.com/repos/symfony/form/zipball/9c13bf53e728d3f75ce7a36046ffc2cd0e7d25ec",
+ "reference": "9c13bf53e728d3f75ce7a36046ffc2cd0e7d25ec",
"shasum": ""
},
"require": {
- "egulias/email-validator": "^2.1.10|^3|^4",
"php": ">=7.2.5",
- "psr/event-dispatcher": "^1",
- "psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/mime": "^5.2.6|^6.0",
+ "symfony/options-resolver": "^5.1|^6.0",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-icu": "^1.21",
+ "symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "^1.16",
+ "symfony/polyfill-php81": "^1.23",
+ "symfony/property-access": "^5.0.8|^6.0",
"symfony/service-contracts": "^1.1|^2|^3"
},
"conflict": {
- "symfony/http-kernel": "<4.4"
+ "symfony/console": "<4.4",
+ "symfony/dependency-injection": "<4.4",
+ "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7",
+ "symfony/error-handler": "<4.4.5",
+ "symfony/framework-bundle": "<4.4",
+ "symfony/http-kernel": "<4.4",
+ "symfony/translation": "<4.4",
+ "symfony/translation-contracts": "<1.1.7",
+ "symfony/twig-bridge": "<5.4.21|>=6,<6.2.7"
},
"require-dev": {
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0"
+ "doctrine/collections": "^1.0|^2.0",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/http-foundation": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
+ "symfony/intl": "^4.4|^5.0|^6.0",
+ "symfony/security-csrf": "^4.4|^5.0|^6.0",
+ "symfony/translation": "^4.4|^5.0|^6.0",
+ "symfony/uid": "^5.1|^6.0",
+ "symfony/validator": "^4.4.17|^5.1.9|^6.0",
+ "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/security-csrf": "For protecting forms against CSRF attacks.",
+ "symfony/twig-bridge": "For templating with Twig.",
+ "symfony/validator": "For form validation."
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Mailer\\": ""
+ "Symfony\\Component\\Form\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -10487,10 +11100,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Helps sending emails",
+ "description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v5.4.22"
+ "source": "https://github.com/symfony/form/tree/v5.4.33"
},
"funding": [
{
@@ -10506,48 +11119,118 @@
"type": "tidelift"
}
],
- "time": "2023-03-10T10:15:32+00:00"
+ "time": "2023-11-30T10:45:54+00:00"
},
{
- "name": "symfony/mime",
- "version": "v5.4.26",
+ "name": "symfony/framework-bundle",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/mime.git",
- "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2"
+ "url": "https://github.com/symfony/framework-bundle.git",
+ "reference": "ee446bb6a89ec758ffc1614f54c003124c7d7a88"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/2ea06dfeee20000a319d8407cea1d47533d5a9d2",
- "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ee446bb6a89ec758ffc1614f54c003124c7d7a88",
+ "reference": "ee446bb6a89ec758ffc1614f54c003124c7d7a88",
"shasum": ""
},
"require": {
+ "ext-xml": "*",
"php": ">=7.2.5",
+ "symfony/cache": "^5.2|^6.0",
+ "symfony/config": "^5.3|^6.0",
+ "symfony/dependency-injection": "^5.4.5|^6.0.5",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-intl-idn": "^1.10",
- "symfony/polyfill-mbstring": "^1.0",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/error-handler": "^4.4.1|^5.0.1|^6.0",
+ "symfony/event-dispatcher": "^5.1|^6.0",
+ "symfony/filesystem": "^4.4|^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/http-foundation": "^5.4.24|^6.2.11",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/polyfill-php81": "^1.22",
+ "symfony/routing": "^5.3|^6.0"
},
"conflict": {
- "egulias/email-validator": "~3.0.0",
+ "doctrine/annotations": "<1.13.1",
+ "doctrine/cache": "<1.11",
+ "doctrine/persistence": "<1.3",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
- "symfony/mailer": "<4.4",
- "symfony/serializer": "<5.4.26|>=6,<6.2.13|>=6.3,<6.3.2"
+ "symfony/asset": "<5.3",
+ "symfony/console": "<5.2.5|>=7.0",
+ "symfony/dom-crawler": "<4.4",
+ "symfony/dotenv": "<5.1",
+ "symfony/form": "<5.2",
+ "symfony/http-client": "<4.4",
+ "symfony/lock": "<4.4",
+ "symfony/mailer": "<5.2",
+ "symfony/messenger": "<5.4",
+ "symfony/mime": "<4.4",
+ "symfony/property-access": "<5.3",
+ "symfony/property-info": "<4.4",
+ "symfony/security-csrf": "<5.3",
+ "symfony/serializer": "<5.2",
+ "symfony/service-contracts": ">=3.0",
+ "symfony/stopwatch": "<4.4",
+ "symfony/translation": "<5.3",
+ "symfony/twig-bridge": "<4.4",
+ "symfony/twig-bundle": "<4.4",
+ "symfony/validator": "<5.3.11",
+ "symfony/web-profiler-bundle": "<4.4",
+ "symfony/workflow": "<5.2"
},
"require-dev": {
- "egulias/email-validator": "^2.1.10|^3.1|^4",
+ "doctrine/annotations": "^1.13.1|^2",
+ "doctrine/cache": "^1.11|^2.0",
+ "doctrine/persistence": "^1.3|^2|^3",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/property-access": "^4.4|^5.1|^6.0",
- "symfony/property-info": "^4.4|^5.1|^6.0",
- "symfony/serializer": "^5.4.26|~6.2.13|^6.3.2"
+ "symfony/asset": "^5.3|^6.0",
+ "symfony/browser-kit": "^5.4|^6.0",
+ "symfony/console": "^5.4.9|^6.0.9",
+ "symfony/css-selector": "^4.4|^5.0|^6.0",
+ "symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0",
+ "symfony/dotenv": "^5.1|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/form": "^5.2|^6.0",
+ "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/lock": "^4.4|^5.0|^6.0",
+ "symfony/mailer": "^5.2|^6.0",
+ "symfony/messenger": "^5.4|^6.0",
+ "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/notifier": "^5.4|^6.0",
+ "symfony/polyfill-intl-icu": "~1.0",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/property-info": "^4.4|^5.0|^6.0",
+ "symfony/rate-limiter": "^5.2|^6.0",
+ "symfony/security-bundle": "^5.4|^6.0",
+ "symfony/serializer": "^5.4|^6.0",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0",
+ "symfony/string": "^5.0|^6.0",
+ "symfony/translation": "^5.3|^6.0",
+ "symfony/twig-bundle": "^4.4|^5.0|^6.0",
+ "symfony/validator": "^5.3.11|^6.0",
+ "symfony/web-link": "^4.4|^5.0|^6.0",
+ "symfony/workflow": "^5.2|^6.0",
+ "symfony/yaml": "^4.4|^5.0|^6.0",
+ "twig/twig": "^2.10|^3.0"
},
- "type": "library",
+ "suggest": {
+ "ext-apcu": "For best performance of the system caches",
+ "symfony/console": "For using the console commands",
+ "symfony/form": "For using forms",
+ "symfony/property-info": "For using the property_info service",
+ "symfony/serializer": "For using the serializer service",
+ "symfony/validator": "For using validation",
+ "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering",
+ "symfony/yaml": "For using the debug:config and lint:yaml commands"
+ },
+ "type": "symfony-bundle",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Mime\\": ""
+ "Symfony\\Bundle\\FrameworkBundle\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -10567,14 +11250,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Allows manipulating MIME messages",
+ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com",
- "keywords": [
- "mime",
- "mime-type"
- ],
"support": {
- "source": "https://github.com/symfony/mime/tree/v5.4.26"
+ "source": "https://github.com/symfony/framework-bundle/tree/v5.4.34"
},
"funding": [
{
@@ -10590,52 +11269,56 @@
"type": "tidelift"
}
],
- "time": "2023-07-27T06:29:31+00:00"
+ "time": "2023-12-29T14:52:40+00:00"
},
{
- "name": "symfony/monolog-bridge",
- "version": "v5.4.22",
+ "name": "symfony/http-client",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/monolog-bridge.git",
- "reference": "34be6f0695e4187dbb832a05905fb4c6581ac39a"
+ "url": "https://github.com/symfony/http-client.git",
+ "reference": "8fe833b758bc5b325e9d96a913376d6d57a90fb0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/34be6f0695e4187dbb832a05905fb4c6581ac39a",
- "reference": "34be6f0695e4187dbb832a05905fb4c6581ac39a",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/8fe833b758bc5b325e9d96a913376d6d57a90fb0",
+ "reference": "8fe833b758bc5b325e9d96a913376d6d57a90fb0",
"shasum": ""
},
"require": {
- "monolog/monolog": "^1.25.1|^2",
"php": ">=7.2.5",
+ "psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-kernel": "^5.3|^6.0",
+ "symfony/http-client-contracts": "^2.4",
+ "symfony/polyfill-php73": "^1.11",
"symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1|^2|^3"
+ "symfony/service-contracts": "^1.0|^2|^3"
},
- "conflict": {
- "symfony/console": "<4.4",
- "symfony/http-foundation": "<5.3"
+ "provide": {
+ "php-http/async-client-implementation": "*",
+ "php-http/client-implementation": "*",
+ "psr/http-client-implementation": "1.0",
+ "symfony/http-client-implementation": "2.4"
},
"require-dev": {
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/mailer": "^4.4|^5.0|^6.0",
- "symfony/messenger": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/security-core": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.",
- "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.",
- "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler."
+ "amphp/amp": "^2.5",
+ "amphp/http-client": "^4.2.1",
+ "amphp/http-tunnel": "^1.0",
+ "amphp/socket": "^1.1",
+ "guzzlehttp/promises": "^1.4",
+ "nyholm/psr7": "^1.0",
+ "php-http/httplug": "^1.0|^2.0",
+ "php-http/message-factory": "^1.0",
+ "psr/http-client": "^1.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0"
},
- "type": "symfony-bridge",
+ "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Bridge\\Monolog\\": ""
+ "Symfony\\Component\\HttpClient\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -10647,18 +11330,21 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides integration for Monolog with various Symfony components",
+ "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
"homepage": "https://symfony.com",
+ "keywords": [
+ "http"
+ ],
"support": {
- "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.22"
+ "source": "https://github.com/symfony/http-client/tree/v5.4.34"
},
"funding": [
{
@@ -10674,48 +11360,42 @@
"type": "tidelift"
}
],
- "time": "2023-03-06T21:29:33+00:00"
+ "time": "2023-12-02T08:41:43+00:00"
},
{
- "name": "symfony/monolog-bundle",
- "version": "v3.8.0",
+ "name": "symfony/http-client-contracts",
+ "version": "v2.5.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/monolog-bundle.git",
- "reference": "a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d"
+ "url": "https://github.com/symfony/http-client-contracts.git",
+ "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d",
- "reference": "a41bbcdc1105603b6d73a7d9a43a3788f8e0fb7d",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
+ "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
"shasum": ""
},
"require": {
- "monolog/monolog": "^1.22 || ^2.0 || ^3.0",
- "php": ">=7.1.3",
- "symfony/config": "~4.4 || ^5.0 || ^6.0",
- "symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
- "symfony/http-kernel": "~4.4 || ^5.0 || ^6.0",
- "symfony/monolog-bridge": "~4.4 || ^5.0 || ^6.0"
+ "php": ">=7.2.5"
},
- "require-dev": {
- "symfony/console": "~4.4 || ^5.0 || ^6.0",
- "symfony/phpunit-bridge": "^5.2 || ^6.0",
- "symfony/yaml": "~4.4 || ^5.0 || ^6.0"
+ "suggest": {
+ "symfony/http-client-implementation": ""
},
- "type": "symfony-bundle",
+ "type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.x-dev"
+ "dev-main": "2.5-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\MonologBundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Contracts\\HttpClient\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -10723,23 +11403,26 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony MonologBundle",
+ "description": "Generic abstractions related to HTTP clients",
"homepage": "https://symfony.com",
"keywords": [
- "log",
- "logging"
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
],
"support": {
- "issues": "https://github.com/symfony/monolog-bundle/issues",
- "source": "https://github.com/symfony/monolog-bundle/tree/v3.8.0"
+ "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.2"
},
"funding": [
{
@@ -10755,32 +11438,44 @@
"type": "tidelift"
}
],
- "time": "2022-05-10T14:24:36+00:00"
+ "time": "2022-04-12T15:48:08+00:00"
},
{
- "name": "symfony/options-resolver",
- "version": "v5.4.21",
+ "name": "symfony/http-foundation",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/options-resolver.git",
- "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9"
+ "url": "https://github.com/symfony/http-foundation.git",
+ "reference": "4da1713e88cf9c44bd4bf65f54772681222fcbec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
- "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4da1713e88cf9c44bd4bf65f54772681222fcbec",
+ "reference": "4da1713e88cf9c44bd4bf65f54772681222fcbec",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php73": "~1.0",
+ "symfony/polyfill-mbstring": "~1.1",
"symfony/polyfill-php80": "^1.16"
},
+ "require-dev": {
+ "predis/predis": "~1.0",
+ "symfony/cache": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
+ "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/rate-limiter": "^5.2|^6.0"
+ },
+ "suggest": {
+ "symfony/mime": "To use the file extension guesser"
+ },
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\OptionsResolver\\": ""
+ "Symfony\\Component\\HttpFoundation\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -10800,15 +11495,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides an improved replacement for the array_replace PHP function",
+ "description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
- "keywords": [
- "config",
- "configuration",
- "options"
- ],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v5.4.21"
+ "source": "https://github.com/symfony/http-foundation/tree/v5.4.34"
},
"funding": [
{
@@ -10824,38 +11514,80 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2023-12-27T11:45:35+00:00"
},
{
- "name": "symfony/password-hasher",
- "version": "v5.4.29",
+ "name": "symfony/http-kernel",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/password-hasher.git",
- "reference": "57cd0369af1a92b87c1e960251ebdf9457225bfd"
+ "url": "https://github.com/symfony/http-kernel.git",
+ "reference": "f2b00c66d1c7ef12f3fc625af2a0bc5d5857db7b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/password-hasher/zipball/57cd0369af1a92b87c1e960251ebdf9457225bfd",
- "reference": "57cd0369af1a92b87c1e960251ebdf9457225bfd",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f2b00c66d1c7ef12f3fc625af2a0bc5d5857db7b",
+ "reference": "f2b00c66d1c7ef12f3fc625af2a0bc5d5857db7b",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
+ "psr/log": "^1|^2",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
+ "symfony/event-dispatcher": "^5.0|^6.0",
+ "symfony/http-foundation": "^5.4.21|^6.2.7",
+ "symfony/polyfill-ctype": "^1.8",
+ "symfony/polyfill-php73": "^1.9",
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
- "symfony/security-core": "<5.3"
+ "symfony/browser-kit": "<5.4",
+ "symfony/cache": "<5.0",
+ "symfony/config": "<5.0",
+ "symfony/console": "<4.4",
+ "symfony/dependency-injection": "<5.3",
+ "symfony/doctrine-bridge": "<5.0",
+ "symfony/form": "<5.0",
+ "symfony/http-client": "<5.0",
+ "symfony/mailer": "<5.0",
+ "symfony/messenger": "<5.0",
+ "symfony/translation": "<5.0",
+ "symfony/twig-bridge": "<5.0",
+ "symfony/validator": "<5.0",
+ "twig/twig": "<2.13"
},
- "require-dev": {
- "symfony/console": "^5.3|^6.0",
- "symfony/security-core": "^5.3|^6.0"
+ "provide": {
+ "psr/log-implementation": "1.0|2.0"
+ },
+ "require-dev": {
+ "psr/cache": "^1.0|^2.0|^3.0",
+ "symfony/browser-kit": "^5.4|^6.0",
+ "symfony/config": "^5.0|^6.0",
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/css-selector": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^5.3|^6.0",
+ "symfony/dom-crawler": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/http-client-contracts": "^1.1|^2|^3",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/routing": "^4.4|^5.0|^6.0",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0",
+ "symfony/translation": "^4.4|^5.0|^6.0",
+ "symfony/translation-contracts": "^1.1|^2|^3",
+ "twig/twig": "^2.13|^3.0.4"
+ },
+ "suggest": {
+ "symfony/browser-kit": "",
+ "symfony/config": "",
+ "symfony/console": "",
+ "symfony/dependency-injection": ""
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\PasswordHasher\\": ""
+ "Symfony\\Component\\HttpKernel\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -10867,22 +11599,18 @@
],
"authors": [
{
- "name": "Robin Chalas",
- "email": "robin.chalas@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides password hashing utilities",
+ "description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
- "keywords": [
- "hashing",
- "password"
- ],
"support": {
- "source": "https://github.com/symfony/password-hasher/tree/v5.4.29"
+ "source": "https://github.com/symfony/http-kernel/tree/v5.4.34"
},
"funding": [
{
@@ -10898,48 +11626,45 @@
"type": "tidelift"
}
],
- "time": "2023-09-19T07:33:45+00:00"
+ "time": "2023-12-30T13:02:02+00:00"
},
{
- "name": "symfony/polyfill-ctype",
- "version": "v1.28.0",
+ "name": "symfony/intl",
+ "version": "v5.4.30",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
+ "url": "https://github.com/symfony/intl.git",
+ "reference": "cd6cce16151ac871071a3495e7a325460b952b5a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "url": "https://api.github.com/repos/symfony/intl/zipball/cd6cce16151ac871071a3495e7a325460b952b5a",
+ "reference": "cd6cce16151ac871071a3495e7a325460b952b5a",
"shasum": ""
},
"require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-ctype": "*"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.16"
},
- "suggest": {
- "ext-ctype": "For best performance"
+ "require-dev": {
+ "symfony/filesystem": "^4.4|^5.0|^6.0",
+ "symfony/var-exporter": "^5.4|^6.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
"autoload": {
"files": [
- "bootstrap.php"
+ "Resources/functions.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- }
+ "Symfony\\Component\\Intl\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ],
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -10947,24 +11672,34 @@
],
"authors": [
{
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ },
+ {
+ "name": "Eriksen Costa",
+ "email": "eriksen.costa@infranology.com.br"
+ },
+ {
+ "name": "Igor Wiedler",
+ "email": "igor@wiedler.ch"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for ctype functions",
+ "description": "Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library",
"homepage": "https://symfony.com",
"keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
+ "i18n",
+ "icu",
+ "internationalization",
+ "intl",
+ "l10n",
+ "localization"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
+ "source": "https://github.com/symfony/intl/tree/v5.4.30"
},
"funding": [
{
@@ -10980,45 +11715,43 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2023-10-28T09:19:54+00:00"
},
{
- "name": "symfony/polyfill-intl-grapheme",
- "version": "v1.28.0",
+ "name": "symfony/lock",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "875e90aeea2777b6f135677f618529449334a612"
+ "url": "https://github.com/symfony/lock.git",
+ "reference": "26ff165e2b501ff7ead2f30a02f7e0eb0975866e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
- "reference": "875e90aeea2777b6f135677f618529449334a612",
+ "url": "https://api.github.com/repos/symfony/lock/zipball/26ff165e2b501ff7ead2f30a02f7e0eb0975866e",
+ "reference": "26ff165e2b501ff7ead2f30a02f7e0eb0975866e",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2.5",
+ "psr/log": "^1|^2|^3",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.16"
},
- "suggest": {
- "ext-intl": "For best performance"
+ "conflict": {
+ "doctrine/dbal": "<2.13"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
+ "require-dev": {
+ "doctrine/dbal": "^2.13|^3|^4",
+ "predis/predis": "~1.0"
},
+ "type": "library",
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
- }
+ "Symfony\\Component\\Lock\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -11026,26 +11759,26 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Jérémy Derussé",
+ "email": "jeremy@derusse.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for intl's grapheme_* functions",
+ "description": "Creates and manages locks, a mechanism to provide exclusive access to a shared resource",
"homepage": "https://symfony.com",
"keywords": [
- "compatibility",
- "grapheme",
- "intl",
- "polyfill",
- "portable",
- "shim"
+ "cas",
+ "flock",
+ "locking",
+ "mutex",
+ "redlock",
+ "semaphore"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
+ "source": "https://github.com/symfony/lock/tree/v5.4.34"
},
"funding": [
{
@@ -11061,48 +11794,45 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2023-12-18T14:56:06+00:00"
},
{
- "name": "symfony/polyfill-intl-icu",
- "version": "v1.28.0",
+ "name": "symfony/mailer",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-intl-icu.git",
- "reference": "e46b4da57951a16053cd751f63f4a24292788157"
+ "url": "https://github.com/symfony/mailer.git",
+ "reference": "0d2c0e0fdd07c80d95eadcdbba6af41e9aafcfa5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e46b4da57951a16053cd751f63f4a24292788157",
- "reference": "e46b4da57951a16053cd751f63f4a24292788157",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/0d2c0e0fdd07c80d95eadcdbba6af41e9aafcfa5",
+ "reference": "0d2c0e0fdd07c80d95eadcdbba6af41e9aafcfa5",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "egulias/email-validator": "^2.1.10|^3|^4",
+ "php": ">=7.2.5",
+ "psr/event-dispatcher": "^1",
+ "psr/log": "^1|^2|^3",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
+ "symfony/mime": "^5.2.6|^6.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/service-contracts": "^1.1|^2|^3"
},
- "suggest": {
- "ext-intl": "For best performance and support of other locales than \"en\""
+ "conflict": {
+ "symfony/http-kernel": "<4.4"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
+ "require-dev": {
+ "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/messenger": "^4.4|^5.0|^6.0"
},
+ "type": "library",
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Intl\\Icu\\": ""
+ "Symfony\\Component\\Mailer\\": ""
},
- "classmap": [
- "Resources/stubs"
- ],
"exclude-from-classmap": [
"/Tests/"
]
@@ -11113,26 +11843,18 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for intl's ICU-related data and classes",
+ "description": "Helps sending emails",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "icu",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.28.0"
+ "source": "https://github.com/symfony/mailer/tree/v5.4.34"
},
"funding": [
{
@@ -11148,47 +11870,52 @@
"type": "tidelift"
}
],
- "time": "2023-03-21T17:27:24+00:00"
+ "time": "2023-12-02T08:41:43+00:00"
},
{
- "name": "symfony/polyfill-intl-idn",
- "version": "v1.28.0",
+ "name": "symfony/mime",
+ "version": "v5.4.26",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "ecaafce9f77234a6a449d29e49267ba10499116d"
+ "url": "https://github.com/symfony/mime.git",
+ "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d",
- "reference": "ecaafce9f77234a6a449d29e49267ba10499116d",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/2ea06dfeee20000a319d8407cea1d47533d5a9d2",
+ "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2",
"shasum": ""
},
"require": {
- "php": ">=7.1",
- "symfony/polyfill-intl-normalizer": "^1.10",
- "symfony/polyfill-php72": "^1.10"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-intl-idn": "^1.10",
+ "symfony/polyfill-mbstring": "^1.0",
+ "symfony/polyfill-php80": "^1.16"
},
- "suggest": {
- "ext-intl": "For best performance"
+ "conflict": {
+ "egulias/email-validator": "~3.0.0",
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/mailer": "<4.4",
+ "symfony/serializer": "<5.4.26|>=6,<6.2.13|>=6.3,<6.3.2"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
+ "require-dev": {
+ "egulias/email-validator": "^2.1.10|^3.1|^4",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/property-access": "^4.4|^5.1|^6.0",
+ "symfony/property-info": "^4.4|^5.1|^6.0",
+ "symfony/serializer": "^5.4.26|~6.2.13|^6.3.2"
},
+ "type": "library",
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Intl\\Idn\\": ""
- }
+ "Symfony\\Component\\Mime\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -11196,30 +11923,22 @@
],
"authors": [
{
- "name": "Laurent Bassin",
- "email": "laurent@bassin.info"
- },
- {
- "name": "Trevor Rowbotham",
- "email": "trevor.rowbotham@pm.me"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
+ "description": "Allows manipulating MIME messages",
"homepage": "https://symfony.com",
"keywords": [
- "compatibility",
- "idn",
- "intl",
- "polyfill",
- "portable",
- "shim"
+ "mime",
+ "mime-type"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0"
+ "source": "https://github.com/symfony/mime/tree/v5.4.26"
},
"funding": [
{
@@ -11235,47 +11954,55 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:30:37+00:00"
+ "time": "2023-07-27T06:29:31+00:00"
},
{
- "name": "symfony/polyfill-intl-normalizer",
- "version": "v1.28.0",
+ "name": "symfony/monolog-bridge",
+ "version": "v5.4.31",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
+ "url": "https://github.com/symfony/monolog-bridge.git",
+ "reference": "3e295d9b0a873476356cb6cff0ce39b3f528b387"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/3e295d9b0a873476356cb6cff0ce39b3f528b387",
+ "reference": "3e295d9b0a873476356cb6cff0ce39b3f528b387",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "monolog/monolog": "^1.25.1|^2",
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/http-kernel": "^5.3|^6.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/service-contracts": "^1.1|^2|^3"
},
- "suggest": {
- "ext-intl": "For best performance"
+ "conflict": {
+ "symfony/console": "<4.4",
+ "symfony/http-foundation": "<5.3"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
+ "require-dev": {
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/mailer": "^4.4|^5.0|^6.0",
+ "symfony/messenger": "^4.4|^5.0|^6.0",
+ "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/security-core": "^4.4|^5.0|^6.0",
+ "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.",
+ "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.",
+ "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler."
},
+ "type": "symfony-bridge",
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ "Symfony\\Bridge\\Monolog\\": ""
},
- "classmap": [
- "Resources/stubs"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -11284,26 +12011,18 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for intl's Normalizer class and related functions",
+ "description": "Provides integration for Monolog with various Symfony components",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "intl",
- "normalizer",
- "polyfill",
- "portable",
- "shim"
- ],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
+ "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.31"
},
"funding": [
{
@@ -11319,48 +12038,48 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2023-10-31T07:58:33+00:00"
},
{
- "name": "symfony/polyfill-mbstring",
- "version": "v1.28.0",
+ "name": "symfony/monolog-bundle",
+ "version": "v3.10.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "42292d99c55abe617799667f454222c54c60e229"
+ "url": "https://github.com/symfony/monolog-bundle.git",
+ "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
- "reference": "42292d99c55abe617799667f454222c54c60e229",
+ "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
+ "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
"shasum": ""
},
"require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-mbstring": "*"
+ "monolog/monolog": "^1.25.1 || ^2.0 || ^3.0",
+ "php": ">=7.2.5",
+ "symfony/config": "^5.4 || ^6.0 || ^7.0",
+ "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0",
+ "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0",
+ "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0"
},
- "suggest": {
- "ext-mbstring": "For best performance"
+ "require-dev": {
+ "symfony/console": "^5.4 || ^6.0 || ^7.0",
+ "symfony/phpunit-bridge": "^6.3 || ^7.0",
+ "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
},
- "type": "library",
+ "type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-main": "1.28-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "dev-master": "3.x-dev"
}
},
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- }
+ "Symfony\\Bundle\\MonologBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -11368,25 +12087,23 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for the Mbstring extension",
+ "description": "Symfony MonologBundle",
"homepage": "https://symfony.com",
"keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
+ "log",
+ "logging"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
+ "issues": "https://github.com/symfony/monolog-bundle/issues",
+ "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0"
},
"funding": [
{
@@ -11402,42 +12119,36 @@
"type": "tidelift"
}
],
- "time": "2023-07-28T09:04:16+00:00"
+ "time": "2023-11-06T17:08:13+00:00"
},
{
- "name": "symfony/polyfill-php72",
- "version": "v1.28.0",
+ "name": "symfony/options-resolver",
+ "version": "v5.4.21",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179"
+ "url": "https://github.com/symfony/options-resolver.git",
+ "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179",
- "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
+ "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php73": "~1.0",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Php72\\": ""
- }
+ "Symfony\\Component\\OptionsResolver\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -11445,24 +12156,23 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
+ "description": "Provides an improved replacement for the array_replace PHP function",
"homepage": "https://symfony.com",
"keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
+ "config",
+ "configuration",
+ "options"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0"
+ "source": "https://github.com/symfony/options-resolver/tree/v5.4.21"
},
"funding": [
{
@@ -11478,44 +12188,41 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2023-02-14T08:03:56+00:00"
},
{
- "name": "symfony/polyfill-php73",
- "version": "v1.28.0",
+ "name": "symfony/password-hasher",
+ "version": "v5.4.31",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5"
+ "url": "https://github.com/symfony/password-hasher.git",
+ "reference": "f1a07181f3442836b0aadfd4c65841804d4173c4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5",
- "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5",
+ "url": "https://api.github.com/repos/symfony/password-hasher/zipball/f1a07181f3442836b0aadfd4c65841804d4173c4",
+ "reference": "f1a07181f3442836b0aadfd4c65841804d4173c4",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.15"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
+ "conflict": {
+ "symfony/security-core": "<5.3"
+ },
+ "require-dev": {
+ "symfony/console": "^5.3|^6.0",
+ "symfony/security-core": "^5.3|^6.0"
},
+ "type": "library",
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
+ "Symfony\\Component\\PasswordHasher\\": ""
},
- "classmap": [
- "Resources/stubs"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -11524,24 +12231,22 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Robin Chalas",
+ "email": "robin.chalas@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
+ "description": "Provides password hashing utilities",
"homepage": "https://symfony.com",
"keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
+ "hashing",
+ "password"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0"
+ "source": "https://github.com/symfony/password-hasher/tree/v5.4.31"
},
"funding": [
{
@@ -11557,25 +12262,31 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2023-11-02T10:18:11+00:00"
},
{
- "name": "symfony/polyfill-php80",
+ "name": "symfony/polyfill-ctype",
"version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "provide": {
+ "ext-ctype": "*"
+ },
+ "suggest": {
+ "ext-ctype": "For best performance"
+ },
"type": "library",
"extra": {
"branch-alias": {
@@ -11591,11 +12302,8 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -11603,28 +12311,24 @@
],
"authors": [
{
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
+ "ctype",
"polyfill",
- "portable",
- "shim"
+ "portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
},
"funding": [
{
@@ -11643,22 +12347,25 @@
"time": "2023-01-26T09:26:14+00:00"
},
{
- "name": "symfony/polyfill-php81",
+ "name": "symfony/polyfill-intl-grapheme",
"version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "875e90aeea2777b6f135677f618529449334a612"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
- "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
+ "reference": "875e90aeea2777b6f135677f618529449334a612",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
"type": "library",
"extra": {
"branch-alias": {
@@ -11674,11 +12381,8 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php81\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -11694,16 +12398,18 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "description": "Symfony polyfill for intl's grapheme_* functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
+ "grapheme",
+ "intl",
"polyfill",
"portable",
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
},
"funding": [
{
@@ -11722,27 +12428,24 @@
"time": "2023-01-26T09:26:14+00:00"
},
{
- "name": "symfony/polyfill-uuid",
+ "name": "symfony/polyfill-intl-icu",
"version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-uuid.git",
- "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e"
+ "url": "https://github.com/symfony/polyfill-intl-icu.git",
+ "reference": "e46b4da57951a16053cd751f63f4a24292788157"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/9c44518a5aff8da565c8a55dbe85d2769e6f630e",
- "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e46b4da57951a16053cd751f63f4a24292788157",
+ "reference": "e46b4da57951a16053cd751f63f4a24292788157",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
- "provide": {
- "ext-uuid": "*"
- },
"suggest": {
- "ext-uuid": "For best performance"
+ "ext-intl": "For best performance and support of other locales than \"en\""
},
"type": "library",
"extra": {
@@ -11759,8 +12462,14 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Uuid\\": ""
- }
+ "Symfony\\Polyfill\\Intl\\Icu\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ],
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -11768,24 +12477,26 @@
],
"authors": [
{
- "name": "Grégoire Pineau",
- "email": "lyrixx@lyrixx.info"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for uuid functions",
+ "description": "Symfony polyfill for intl's ICU-related data and classes",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
+ "icu",
+ "intl",
"polyfill",
"portable",
- "uuid"
+ "shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-uuid/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.28.0"
},
"funding": [
{
@@ -11801,34 +12512,47 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2023-03-21T17:27:24+00:00"
},
{
- "name": "symfony/process",
- "version": "v5.4.28",
+ "name": "symfony/polyfill-intl-idn",
+ "version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b"
+ "url": "https://github.com/symfony/polyfill-intl-idn.git",
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b",
- "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d",
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=7.1",
+ "symfony/polyfill-intl-normalizer": "^1.10",
+ "symfony/polyfill-php72": "^1.10"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Polyfill\\Intl\\Idn\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -11836,18 +12560,30 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Laurent Bassin",
+ "email": "laurent@bassin.info"
+ },
+ {
+ "name": "Trevor Rowbotham",
+ "email": "trevor.rowbotham@pm.me"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Executes commands in sub-processes",
+ "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
"homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "idn",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "source": "https://github.com/symfony/process/tree/v5.4.28"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0"
},
"funding": [
{
@@ -11863,41 +12599,47 @@
"type": "tidelift"
}
],
- "time": "2023-08-07T10:36:04+00:00"
+ "time": "2023-01-26T09:30:37+00:00"
},
{
- "name": "symfony/property-access",
- "version": "v5.4.26",
+ "name": "symfony/polyfill-intl-normalizer",
+ "version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/property-access.git",
- "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa"
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/0249e46f69e92049a488f39fcf531cb42c50caaa",
- "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/property-info": "^5.2|^6.0"
- },
- "require-dev": {
- "symfony/cache": "^4.4|^5.0|^6.0"
+ "php": ">=7.1"
},
"suggest": {
- "psr/cache-implementation": "To cache access methods."
+ "ext-intl": "For best performance"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\PropertyAccess\\": ""
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -11906,29 +12648,26 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides functions to read and write from/to an object or array using a simple string notation",
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
"homepage": "https://symfony.com",
"keywords": [
- "access",
- "array",
- "extraction",
- "index",
- "injection",
- "object",
- "property",
- "property-path",
- "reflection"
+ "compatibility",
+ "intl",
+ "normalizer",
+ "polyfill",
+ "portable",
+ "shim"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v5.4.26"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
},
"funding": [
{
@@ -11944,55 +12683,48 @@
"type": "tidelift"
}
],
- "time": "2023-07-13T15:20:41+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
- "name": "symfony/property-info",
- "version": "v5.4.24",
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/property-info.git",
- "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1"
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/d43b85b00699b4484964c297575b5c6f9dc5f6e1",
- "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
+ "reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/string": "^5.1|^6.0"
+ "php": ">=7.1"
},
- "conflict": {
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
- "symfony/dependency-injection": "<4.4"
- },
- "require-dev": {
- "doctrine/annotations": "^1.10.4|^2",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "phpstan/phpdoc-parser": "^1.0",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0"
+ "provide": {
+ "ext-mbstring": "*"
},
"suggest": {
- "phpdocumentor/reflection-docblock": "To use the PHPDoc",
- "psr/cache-implementation": "To cache results",
- "symfony/doctrine-bridge": "To use Doctrine metadata",
- "symfony/serializer": "To use Serializer metadata"
+ "ext-mbstring": "For best performance"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\PropertyInfo\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -12000,26 +12732,25 @@
],
"authors": [
{
- "name": "Kévin Dunglas",
- "email": "dunglas@gmail.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Extracts information about PHP class' properties using metadata of popular sources",
+ "description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
- "doctrine",
- "phpdoc",
- "property",
- "symfony",
- "type",
- "validator"
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v5.4.24"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
@@ -12035,56 +12766,42 @@
"type": "tidelift"
}
],
- "time": "2023-05-15T20:11:03+00:00"
+ "time": "2023-07-28T09:04:16+00:00"
},
{
- "name": "symfony/routing",
- "version": "v5.4.26",
+ "name": "symfony/polyfill-php72",
+ "version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/routing.git",
- "reference": "853fc7df96befc468692de0a48831b38f04d2cb2"
+ "url": "https://github.com/symfony/polyfill-php72.git",
+ "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/853fc7df96befc468692de0a48831b38f04d2cb2",
- "reference": "853fc7df96befc468692de0a48831b38f04d2cb2",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179",
+ "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
- },
- "conflict": {
- "doctrine/annotations": "<1.12",
- "symfony/config": "<5.3",
- "symfony/dependency-injection": "<4.4",
- "symfony/yaml": "<4.4"
- },
- "require-dev": {
- "doctrine/annotations": "^1.12|^2",
- "psr/log": "^1|^2|^3",
- "symfony/config": "^5.3|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/config": "For using the all-in-one router or any loader",
- "symfony/expression-language": "For using expression matching",
- "symfony/http-foundation": "For using a Symfony Request object",
- "symfony/yaml": "For using the YAML loader"
+ "php": ">=7.1"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Routing\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Polyfill\\Php72\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -12092,24 +12809,24 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Maps an HTTP request to a set of configuration variables",
+ "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
- "router",
- "routing",
- "uri",
- "url"
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v5.4.26"
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0"
},
"funding": [
{
@@ -12125,73 +12842,44 @@
"type": "tidelift"
}
],
- "time": "2023-07-24T13:28:37+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
- "name": "symfony/security-bundle",
- "version": "v5.4.29",
+ "name": "symfony/polyfill-php73",
+ "version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-bundle.git",
- "reference": "8f432fae02bd908c1decea70a359d85a9be37f2c"
+ "url": "https://github.com/symfony/polyfill-php73.git",
+ "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-bundle/zipball/8f432fae02bd908c1decea70a359d85a9be37f2c",
- "reference": "8f432fae02bd908c1decea70a359d85a9be37f2c",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5",
+ "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5",
"shasum": ""
},
"require": {
- "ext-xml": "*",
- "php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher": "^5.1|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^5.3|^6.0",
- "symfony/password-hasher": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/security-core": "^5.4|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/security-guard": "^5.3",
- "symfony/security-http": "^5.4.20|~6.0.20|~6.1.12|^6.2.6"
- },
- "conflict": {
- "symfony/browser-kit": "<4.4",
- "symfony/console": "<4.4",
- "symfony/framework-bundle": "<4.4",
- "symfony/ldap": "<5.1",
- "symfony/twig-bundle": "<4.4"
+ "php": ">=7.1"
},
- "require-dev": {
- "doctrine/annotations": "^1.10.4|^2",
- "symfony/asset": "^4.4|^5.0|^6.0",
- "symfony/browser-kit": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/form": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^5.3|^6.0",
- "symfony/ldap": "^5.3|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/twig-bridge": "^4.4|^5.0|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
- "symfony/validator": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0",
- "twig/twig": "^2.13|^3.0.4"
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
},
- "type": "symfony-bundle",
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Bundle\\SecurityBundle\\": ""
+ "Symfony\\Polyfill\\Php73\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -12200,18 +12888,24 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
+ "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
"homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "source": "https://github.com/symfony/security-bundle/tree/v5.4.29"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0"
},
"funding": [
{
@@ -12227,65 +12921,45 @@
"type": "tidelift"
}
],
- "time": "2023-09-19T07:33:45+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
- "name": "symfony/security-core",
- "version": "v5.4.29",
+ "name": "symfony/polyfill-php80",
+ "version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-core.git",
- "reference": "f8421bb428f48655d2b327d4bf58870983eef84a"
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-core/zipball/f8421bb428f48655d2b327d4bf58870983eef84a",
- "reference": "f8421bb428f48655d2b327d4bf58870983eef84a",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher-contracts": "^1.1|^2|^3",
- "symfony/password-hasher": "^5.3|^6.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1.6|^2|^3"
- },
- "conflict": {
- "symfony/event-dispatcher": "<4.4",
- "symfony/http-foundation": "<5.3",
- "symfony/ldap": "<4.4",
- "symfony/security-guard": "<4.4",
- "symfony/validator": "<5.2"
- },
- "require-dev": {
- "psr/cache": "^1.0|^2.0|^3.0",
- "psr/container": "^1.0|^2.0",
- "psr/log": "^1|^2|^3",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/ldap": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/validator": "^5.2|^6.0"
- },
- "suggest": {
- "psr/container-implementation": "To instantiate the Security class",
- "symfony/event-dispatcher": "",
- "symfony/expression-language": "For using the expression voter",
- "symfony/http-foundation": "",
- "symfony/ldap": "For using LDAP integration",
- "symfony/validator": "For using the user password constraint"
+ "php": ">=7.1"
},
"type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Security\\Core\\": ""
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -12293,18 +12967,28 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Ion Bazan",
+ "email": "ion.bazan@gmail.com"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Security Component - Core Library",
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "source": "https://github.com/symfony/security-core/tree/v5.4.29"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
},
"funding": [
{
@@ -12320,44 +13004,44 @@
"type": "tidelift"
}
],
- "time": "2023-09-10T17:22:50+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
- "name": "symfony/security-csrf",
- "version": "v5.4.27",
+ "name": "symfony/polyfill-php81",
+ "version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-csrf.git",
- "reference": "995fcfcc5a3be09df157b4960668f61cceb86611"
+ "url": "https://github.com/symfony/polyfill-php81.git",
+ "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-csrf/zipball/995fcfcc5a3be09df157b4960668f61cceb86611",
- "reference": "995fcfcc5a3be09df157b4960668f61cceb86611",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
+ "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16",
- "symfony/security-core": "^4.4|^5.0|^6.0"
- },
- "conflict": {
- "symfony/http-foundation": "<5.3"
- },
- "require-dev": {
- "symfony/http-foundation": "^5.3|^6.0"
- },
- "suggest": {
- "symfony/http-foundation": "For using the class SessionTokenStorage."
+ "php": ">=7.1"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Security\\Csrf\\": ""
+ "Symfony\\Polyfill\\Php81\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -12366,18 +13050,24 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Security Component - CSRF Library",
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "source": "https://github.com/symfony/security-csrf/tree/v5.4.27"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
},
"funding": [
{
@@ -12393,40 +13083,48 @@
"type": "tidelift"
}
],
- "time": "2023-07-28T14:44:35+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
- "name": "symfony/security-guard",
- "version": "v5.4.27",
+ "name": "symfony/polyfill-uuid",
+ "version": "v1.28.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-guard.git",
- "reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc"
+ "url": "https://github.com/symfony/polyfill-uuid.git",
+ "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-guard/zipball/72c53142533462fc6fda4a429c2a21c2b944a8cc",
- "reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc",
+ "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/9c44518a5aff8da565c8a55dbe85d2769e6f630e",
+ "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.15",
- "symfony/security-core": "^5.0",
- "symfony/security-http": "^5.3"
+ "php": ">=7.1"
},
- "require-dev": {
- "psr/log": "^1|^2|^3"
+ "provide": {
+ "ext-uuid": "*"
+ },
+ "suggest": {
+ "ext-uuid": "For best performance"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Security\\Guard\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Polyfill\\Uuid\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -12434,18 +13132,24 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Grégoire Pineau",
+ "email": "lyrixx@lyrixx.info"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Security Component - Guard",
+ "description": "Symfony polyfill for uuid functions",
"homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "uuid"
+ ],
"support": {
- "source": "https://github.com/symfony/security-guard/tree/v5.4.27"
+ "source": "https://github.com/symfony/polyfill-uuid/tree/v1.28.0"
},
"funding": [
{
@@ -12461,53 +13165,30 @@
"type": "tidelift"
}
],
- "time": "2023-07-28T14:44:35+00:00"
+ "time": "2023-01-26T09:26:14+00:00"
},
{
- "name": "symfony/security-http",
- "version": "v5.4.28",
+ "name": "symfony/process",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-http.git",
- "reference": "7815edb5716e765063469b6b9232d4eaf8c03516"
+ "url": "https://github.com/symfony/process.git",
+ "reference": "8fa22178dfc368911dbd513b431cd9b06f9afe7a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/7815edb5716e765063469b6b9232d4eaf8c03516",
- "reference": "7815edb5716e765063469b6b9232d4eaf8c03516",
+ "url": "https://api.github.com/repos/symfony/process/zipball/8fa22178dfc368911dbd513b431cd9b06f9afe7a",
+ "reference": "8fa22178dfc368911dbd513b431cd9b06f9afe7a",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^5.3|^6.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/property-access": "^4.4|^5.0|^6.0",
- "symfony/security-core": "^5.4.19|~6.0.19|~6.1.11|^6.2.5"
- },
- "conflict": {
- "symfony/event-dispatcher": "<4.3",
- "symfony/security-bundle": "<5.3",
- "symfony/security-csrf": "<4.4"
- },
- "require-dev": {
- "psr/log": "^1|^2|^3",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/rate-limiter": "^5.2|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs",
- "symfony/security-csrf": "For using tokens to protect authentication/logout attempts"
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Security\\Http\\": ""
+ "Symfony\\Component\\Process\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -12527,10 +13208,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Security Component - HTTP Integration",
+ "description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/v5.4.28"
+ "source": "https://github.com/symfony/process/tree/v5.4.34"
},
"funding": [
{
@@ -12546,71 +13227,38 @@
"type": "tidelift"
}
],
- "time": "2023-08-23T10:00:20+00:00"
+ "time": "2023-12-02T08:41:43+00:00"
},
{
- "name": "symfony/serializer",
- "version": "v5.4.29",
+ "name": "symfony/property-access",
+ "version": "v5.4.26",
"source": {
"type": "git",
- "url": "https://github.com/symfony/serializer.git",
- "reference": "b893175000155839170d589f3a3593f2ce601829"
+ "url": "https://github.com/symfony/property-access.git",
+ "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/b893175000155839170d589f3a3593f2ce601829",
- "reference": "b893175000155839170d589f3a3593f2ce601829",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/0249e46f69e92049a488f39fcf531cb42c50caaa",
+ "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16"
- },
- "conflict": {
- "doctrine/annotations": "<1.12",
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
- "symfony/dependency-injection": "<4.4",
- "symfony/property-access": "<5.4",
- "symfony/property-info": "<5.4.24|>=6,<6.2.11",
- "symfony/uid": "<5.3",
- "symfony/yaml": "<4.4"
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/property-info": "^5.2|^6.0"
},
"require-dev": {
- "doctrine/annotations": "^1.12|^2",
- "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
- "symfony/cache": "^4.4|^5.0|^6.0",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/form": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/property-access": "^5.4|^6.0",
- "symfony/property-info": "^5.4.24|^6.2.11",
- "symfony/uid": "^5.3|^6.0",
- "symfony/validator": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0",
- "symfony/var-exporter": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/cache": "^4.4|^5.0|^6.0"
},
"suggest": {
- "psr/cache-implementation": "For using the metadata cache.",
- "symfony/config": "For using the XML mapping loader.",
- "symfony/mime": "For using a MIME type guesser within the DataUriNormalizer.",
- "symfony/property-access": "For using the ObjectNormalizer.",
- "symfony/property-info": "To deserialize relations.",
- "symfony/var-exporter": "For using the metadata compiler.",
- "symfony/yaml": "For using the default YAML mapping loader."
+ "psr/cache-implementation": "To cache access methods."
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Serializer\\": ""
+ "Symfony\\Component\\PropertyAccess\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -12630,10 +13278,21 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
+ "description": "Provides functions to read and write from/to an object or array using a simple string notation",
"homepage": "https://symfony.com",
+ "keywords": [
+ "access",
+ "array",
+ "extraction",
+ "index",
+ "injection",
+ "object",
+ "property",
+ "property-path",
+ "reflection"
+ ],
"support": {
- "source": "https://github.com/symfony/serializer/tree/v5.4.29"
+ "source": "https://github.com/symfony/property-access/tree/v5.4.26"
},
"funding": [
{
@@ -12649,47 +13308,55 @@
"type": "tidelift"
}
],
- "time": "2023-09-20T07:40:46+00:00"
+ "time": "2023-07-13T15:20:41+00:00"
},
{
- "name": "symfony/service-contracts",
- "version": "v2.5.2",
+ "name": "symfony/property-info",
+ "version": "v5.4.24",
"source": {
"type": "git",
- "url": "https://github.com/symfony/service-contracts.git",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+ "url": "https://github.com/symfony/property-info.git",
+ "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/d43b85b00699b4484964c297575b5c6f9dc5f6e1",
+ "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "psr/container": "^1.1",
- "symfony/deprecation-contracts": "^2.1|^3"
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/string": "^5.1|^6.0"
},
"conflict": {
- "ext-psr": "<1.1|>=2"
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/dependency-injection": "<4.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.10.4|^2",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "phpstan/phpdoc-parser": "^1.0",
+ "symfony/cache": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/serializer": "^4.4|^5.0|^6.0"
},
"suggest": {
- "symfony/service-implementation": ""
+ "phpdocumentor/reflection-docblock": "To use the PHPDoc",
+ "psr/cache-implementation": "To cache results",
+ "symfony/doctrine-bridge": "To use Doctrine metadata",
+ "symfony/serializer": "To use Serializer metadata"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
"autoload": {
"psr-4": {
- "Symfony\\Contracts\\Service\\": ""
- }
+ "Symfony\\Component\\PropertyInfo\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -12697,26 +13364,26 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Kévin Dunglas",
+ "email": "dunglas@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Generic abstractions related to writing services",
+ "description": "Extracts information about PHP class' properties using metadata of popular sources",
"homepage": "https://symfony.com",
"keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
+ "doctrine",
+ "phpdoc",
+ "property",
+ "symfony",
+ "type",
+ "validator"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/property-info/tree/v5.4.24"
},
"funding": [
{
@@ -12732,30 +13399,50 @@
"type": "tidelift"
}
],
- "time": "2022-05-30T19:17:29+00:00"
+ "time": "2023-05-15T20:11:03+00:00"
},
{
- "name": "symfony/stopwatch",
- "version": "v5.4.21",
+ "name": "symfony/psr-http-message-bridge",
+ "version": "v2.3.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/stopwatch.git",
- "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee"
+ "url": "https://github.com/symfony/psr-http-message-bridge.git",
+ "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f83692cd869a6f2391691d40a01e8acb89e76fee",
- "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee",
+ "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/581ca6067eb62640de5ff08ee1ba6850a0ee472e",
+ "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/service-contracts": "^1|^2|^3"
+ "psr/http-message": "^1.0 || ^2.0",
+ "symfony/deprecation-contracts": "^2.5 || ^3.0",
+ "symfony/http-foundation": "^5.4 || ^6.0"
+ },
+ "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"
+ },
+ "type": "symfony-bridge",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.3-dev"
+ }
},
- "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Stopwatch\\": ""
+ "Symfony\\Bridge\\PsrHttpMessage\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -12772,13 +13459,20 @@
},
{
"name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "homepage": "http://symfony.com/contributors"
}
],
- "description": "Provides a way to profile code",
- "homepage": "https://symfony.com",
+ "description": "PSR HTTP message bridge",
+ "homepage": "http://symfony.com",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr-17",
+ "psr-7"
+ ],
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v5.4.21"
+ "issues": "https://github.com/symfony/psr-http-message-bridge/issues",
+ "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.3.1"
},
"funding": [
{
@@ -12794,46 +13488,52 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2023-07-26T11:53:26+00:00"
},
{
- "name": "symfony/string",
- "version": "v5.4.29",
+ "name": "symfony/routing",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/string.git",
- "reference": "e41bdc93def20eaf3bfc1537c4e0a2b0680a152d"
+ "url": "https://github.com/symfony/routing.git",
+ "reference": "f1d08ed59d7718845bb70acd7480fa7da8966ec0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/e41bdc93def20eaf3bfc1537c4e0a2b0680a152d",
- "reference": "e41bdc93def20eaf3bfc1537c4e0a2b0680a152d",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/f1d08ed59d7718845bb70acd7480fa7da8966ec0",
+ "reference": "f1d08ed59d7718845bb70acd7480fa7da8966ec0",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
- "symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "~1.15"
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
- "symfony/translation-contracts": ">=3.0"
+ "doctrine/annotations": "<1.12",
+ "symfony/config": "<5.3",
+ "symfony/dependency-injection": "<4.4",
+ "symfony/yaml": "<4.4"
},
"require-dev": {
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "doctrine/annotations": "^1.12|^2",
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.3|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/http-foundation": "^4.4|^5.0|^6.0",
+ "symfony/yaml": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/config": "For using the all-in-one router or any loader",
+ "symfony/expression-language": "For using expression matching",
+ "symfony/http-foundation": "For using a Symfony Request object",
+ "symfony/yaml": "For using the YAML loader"
},
"type": "library",
"autoload": {
- "files": [
- "Resources/functions.php"
- ],
"psr-4": {
- "Symfony\\Component\\String\\": ""
+ "Symfony\\Component\\Routing\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -12845,26 +13545,24 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
+ "description": "Maps an HTTP request to a set of configuration variables",
"homepage": "https://symfony.com",
"keywords": [
- "grapheme",
- "i18n",
- "string",
- "unicode",
- "utf-8",
- "utf8"
+ "router",
+ "routing",
+ "uri",
+ "url"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.29"
+ "source": "https://github.com/symfony/routing/tree/v5.4.34"
},
"funding": [
{
@@ -12880,65 +13578,71 @@
"type": "tidelift"
}
],
- "time": "2023-09-13T11:47:41+00:00"
+ "time": "2023-12-27T12:51:02+00:00"
},
{
- "name": "symfony/translation",
- "version": "v5.4.24",
+ "name": "symfony/security-bundle",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/translation.git",
- "reference": "de237e59c5833422342be67402d487fbf50334ff"
+ "url": "https://github.com/symfony/security-bundle.git",
+ "reference": "6477c31e36dfa25b07befea20bc8326f4ba11d75"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/de237e59c5833422342be67402d487fbf50334ff",
- "reference": "de237e59c5833422342be67402d487fbf50334ff",
+ "url": "https://api.github.com/repos/symfony/security-bundle/zipball/6477c31e36dfa25b07befea20bc8326f4ba11d75",
+ "reference": "6477c31e36dfa25b07befea20bc8326f4ba11d75",
"shasum": ""
},
"require": {
+ "ext-xml": "*",
"php": ">=7.2.5",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^5.3|^6.0",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-mbstring": "~1.0",
+ "symfony/event-dispatcher": "^5.1|^6.0",
+ "symfony/http-foundation": "^5.3|^6.0",
+ "symfony/http-kernel": "^5.3|^6.0",
+ "symfony/password-hasher": "^5.3|^6.0",
"symfony/polyfill-php80": "^1.16",
- "symfony/translation-contracts": "^2.3"
+ "symfony/security-core": "^5.4|^6.0",
+ "symfony/security-csrf": "^4.4|^5.0|^6.0",
+ "symfony/security-guard": "^5.3",
+ "symfony/security-http": "^5.4.30|^6.3.6",
+ "symfony/service-contracts": "^1.10|^2|^3"
},
"conflict": {
- "symfony/config": "<4.4",
- "symfony/console": "<5.3",
- "symfony/dependency-injection": "<5.0",
- "symfony/http-kernel": "<5.0",
- "symfony/twig-bundle": "<5.0",
- "symfony/yaml": "<4.4"
- },
- "provide": {
- "symfony/translation-implementation": "2.3"
+ "symfony/browser-kit": "<4.4",
+ "symfony/console": "<4.4",
+ "symfony/framework-bundle": "<4.4",
+ "symfony/ldap": "<5.1",
+ "symfony/twig-bundle": "<4.4"
},
"require-dev": {
- "psr/log": "^1|^2|^3",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/console": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-client-contracts": "^1.1|^2.0|^3.0",
- "symfony/http-kernel": "^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
- "symfony/polyfill-intl-icu": "^1.21",
- "symfony/service-contracts": "^1.1.2|^2|^3",
- "symfony/yaml": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "psr/log-implementation": "To use logging capability in translator",
- "symfony/config": "",
- "symfony/yaml": ""
+ "doctrine/annotations": "^1.10.4|^2",
+ "symfony/asset": "^4.4|^5.0|^6.0",
+ "symfony/browser-kit": "^4.4|^5.0|^6.0",
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/css-selector": "^4.4|^5.0|^6.0",
+ "symfony/dom-crawler": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/form": "^4.4|^5.0|^6.0",
+ "symfony/framework-bundle": "^5.3|^6.0",
+ "symfony/ldap": "^5.3|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/rate-limiter": "^5.2|^6.0",
+ "symfony/serializer": "^4.4|^5.0|^6.0",
+ "symfony/translation": "^4.4|^5.0|^6.0",
+ "symfony/twig-bridge": "^4.4|^5.0|^6.0",
+ "symfony/twig-bundle": "^4.4|^5.0|^6.0",
+ "symfony/validator": "^4.4|^5.0|^6.0",
+ "symfony/yaml": "^4.4|^5.0|^6.0",
+ "twig/twig": "^2.13|^3.0.4"
},
- "type": "library",
+ "type": "symfony-bundle",
"autoload": {
- "files": [
- "Resources/functions.php"
- ],
"psr-4": {
- "Symfony\\Component\\Translation\\": ""
+ "Symfony\\Bundle\\SecurityBundle\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -12958,10 +13662,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides tools to internationalize your application",
+ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v5.4.24"
+ "source": "https://github.com/symfony/security-bundle/tree/v5.4.34"
},
"funding": [
{
@@ -12977,42 +13681,65 @@
"type": "tidelift"
}
],
- "time": "2023-05-19T12:34:17+00:00"
+ "time": "2023-12-19T08:26:08+00:00"
},
{
- "name": "symfony/translation-contracts",
- "version": "v2.5.2",
+ "name": "symfony/security-core",
+ "version": "v5.4.30",
"source": {
"type": "git",
- "url": "https://github.com/symfony/translation-contracts.git",
- "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe"
+ "url": "https://github.com/symfony/security-core.git",
+ "reference": "3908c54da30dd68c2fe31915d82a1c81809d1928"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
- "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
+ "url": "https://api.github.com/repos/symfony/security-core/zipball/3908c54da30dd68c2fe31915d82a1c81809d1928",
+ "reference": "3908c54da30dd68c2fe31915d82a1c81809d1928",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/event-dispatcher-contracts": "^1.1|^2|^3",
+ "symfony/password-hasher": "^5.3|^6.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/service-contracts": "^1.1.6|^2|^3"
},
- "suggest": {
- "symfony/translation-implementation": ""
+ "conflict": {
+ "symfony/event-dispatcher": "<4.4",
+ "symfony/http-foundation": "<5.3",
+ "symfony/ldap": "<4.4",
+ "symfony/security-guard": "<4.4",
+ "symfony/validator": "<5.2"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
+ "require-dev": {
+ "psr/cache": "^1.0|^2.0|^3.0",
+ "psr/container": "^1.0|^2.0",
+ "psr/log": "^1|^2|^3",
+ "symfony/cache": "^4.4|^5.0|^6.0",
+ "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/http-foundation": "^5.3|^6.0",
+ "symfony/ldap": "^4.4|^5.0|^6.0",
+ "symfony/translation": "^4.4|^5.0|^6.0",
+ "symfony/validator": "^5.2|^6.0"
},
+ "suggest": {
+ "psr/container-implementation": "To instantiate the Security class",
+ "symfony/event-dispatcher": "",
+ "symfony/expression-language": "For using the expression voter",
+ "symfony/http-foundation": "",
+ "symfony/ldap": "For using LDAP integration",
+ "symfony/validator": "For using the user password constraint"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Contracts\\Translation\\": ""
- }
+ "Symfony\\Component\\Security\\Core\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -13020,26 +13747,18 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Generic abstractions related to translation",
+ "description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/security-core/tree/v5.4.30"
},
"funding": [
{
@@ -13055,89 +13774,41 @@
"type": "tidelift"
}
],
- "time": "2022-06-27T16:58:25+00:00"
+ "time": "2023-10-27T07:38:28+00:00"
},
{
- "name": "symfony/twig-bridge",
- "version": "v5.4.29",
+ "name": "symfony/security-csrf",
+ "version": "v5.4.27",
"source": {
"type": "git",
- "url": "https://github.com/symfony/twig-bridge.git",
- "reference": "8e94856da373b63e7ba69e51a6c4f834d991cd58"
+ "url": "https://github.com/symfony/security-csrf.git",
+ "reference": "995fcfcc5a3be09df157b4960668f61cceb86611"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/8e94856da373b63e7ba69e51a6c4f834d991cd58",
- "reference": "8e94856da373b63e7ba69e51a6c4f834d991cd58",
+ "url": "https://api.github.com/repos/symfony/security-csrf/zipball/995fcfcc5a3be09df157b4960668f61cceb86611",
+ "reference": "995fcfcc5a3be09df157b4960668f61cceb86611",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-php80": "^1.16",
- "symfony/translation-contracts": "^1.1|^2|^3",
- "twig/twig": "^2.13|^3.0.4"
+ "symfony/security-core": "^4.4|^5.0|^6.0"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<3.2.2",
- "phpdocumentor/type-resolver": "<1.4.0",
- "symfony/console": "<5.3",
- "symfony/form": "<5.4.21|>=6,<6.2.7",
- "symfony/http-foundation": "<5.3",
- "symfony/http-kernel": "<4.4",
- "symfony/translation": "<5.2",
- "symfony/workflow": "<5.2"
+ "symfony/http-foundation": "<5.3"
},
"require-dev": {
- "doctrine/annotations": "^1.12|^2",
- "egulias/email-validator": "^2.1.10|^3|^4",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/asset": "^4.4|^5.0|^6.0",
- "symfony/console": "^5.3|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/form": "^5.4.21|^6.2.7",
- "symfony/http-foundation": "^5.3|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
- "symfony/mime": "^5.2|^6.0",
- "symfony/polyfill-intl-icu": "~1.0",
- "symfony/property-info": "^4.4|^5.1|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/security-acl": "^2.8|^3.0",
- "symfony/security-core": "^4.4|^5.0|^6.0",
- "symfony/security-csrf": "^4.4|^5.0|^6.0",
- "symfony/security-http": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^5.2|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^5.2|^6.0",
- "symfony/web-link": "^4.4|^5.0|^6.0",
- "symfony/workflow": "^5.2|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0",
- "twig/cssinliner-extra": "^2.12|^3",
- "twig/inky-extra": "^2.12|^3",
- "twig/markdown-extra": "^2.12|^3"
+ "symfony/http-foundation": "^5.3|^6.0"
},
"suggest": {
- "symfony/asset": "For using the AssetExtension",
- "symfony/expression-language": "For using the ExpressionExtension",
- "symfony/finder": "",
- "symfony/form": "For using the FormExtension",
- "symfony/http-kernel": "For using the HttpKernelExtension",
- "symfony/routing": "For using the RoutingExtension",
- "symfony/security-core": "For using the SecurityExtension",
- "symfony/security-csrf": "For using the CsrfExtension",
- "symfony/security-http": "For using the LogoutUrlExtension",
- "symfony/stopwatch": "For using the StopwatchExtension",
- "symfony/translation": "For using the TranslationExtension",
- "symfony/var-dumper": "For using the DumpExtension",
- "symfony/web-link": "For using the WebLinkExtension",
- "symfony/yaml": "For using the YamlExtension"
+ "symfony/http-foundation": "For using the class SessionTokenStorage."
},
- "type": "symfony-bridge",
+ "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Bridge\\Twig\\": ""
+ "Symfony\\Component\\Security\\Csrf\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -13157,10 +13828,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides integration for Twig with various Symfony components",
+ "description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bridge/tree/v5.4.29"
+ "source": "https://github.com/symfony/security-csrf/tree/v5.4.27"
},
"funding": [
{
@@ -13176,58 +13847,36 @@
"type": "tidelift"
}
],
- "time": "2023-09-06T21:54:06+00:00"
+ "time": "2023-07-28T14:44:35+00:00"
},
{
- "name": "symfony/twig-bundle",
+ "name": "symfony/security-guard",
"version": "v5.4.27",
"source": {
"type": "git",
- "url": "https://github.com/symfony/twig-bundle.git",
- "reference": "a16996ad54d75e220e91a0c7517437ad592eccca"
+ "url": "https://github.com/symfony/security-guard.git",
+ "reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/a16996ad54d75e220e91a0c7517437ad592eccca",
- "reference": "a16996ad54d75e220e91a0c7517437ad592eccca",
+ "url": "https://api.github.com/repos/symfony/security-guard/zipball/72c53142533462fc6fda4a429c2a21c2b944a8cc",
+ "reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^5.0|^6.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php80": "^1.16",
- "symfony/twig-bridge": "^5.3|^6.0",
- "twig/twig": "^2.13|^3.0.4"
- },
- "conflict": {
- "symfony/dependency-injection": "<5.3",
- "symfony/framework-bundle": "<5.0",
- "symfony/service-contracts": ">=3.0",
- "symfony/translation": "<5.0"
+ "symfony/polyfill-php80": "^1.15",
+ "symfony/security-core": "^5.0",
+ "symfony/security-http": "^5.3"
},
"require-dev": {
- "doctrine/annotations": "^1.10.4|^2",
- "doctrine/cache": "^1.0|^2.0",
- "symfony/asset": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/form": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^5.0|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^5.0|^6.0",
- "symfony/web-link": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "psr/log": "^1|^2|^3"
},
- "type": "symfony-bundle",
+ "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\TwigBundle\\": ""
+ "Symfony\\Component\\Security\\Guard\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -13247,10 +13896,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a tight integration of Twig into the Symfony full-stack framework",
+ "description": "Symfony Security Component - Guard",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bundle/tree/v5.4.27"
+ "source": "https://github.com/symfony/security-guard/tree/v5.4.27"
},
"funding": [
{
@@ -13269,30 +13918,51 @@
"time": "2023-07-28T14:44:35+00:00"
},
{
- "name": "symfony/uid",
- "version": "v5.4.21",
+ "name": "symfony/security-http",
+ "version": "v5.4.31",
"source": {
"type": "git",
- "url": "https://github.com/symfony/uid.git",
- "reference": "a30744506976aafc807ccb0d4f95865c0a690d02"
+ "url": "https://github.com/symfony/security-http.git",
+ "reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/a30744506976aafc807ccb0d4f95865c0a690d02",
- "reference": "a30744506976aafc807ccb0d4f95865c0a690d02",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/6d3cd5a4deee9697738db8d24258890ca4140ae9",
+ "reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-uuid": "^1.15"
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/http-foundation": "^5.3|^6.0",
+ "symfony/http-kernel": "^5.3|^6.0",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/property-access": "^4.4|^5.0|^6.0",
+ "symfony/security-core": "^5.4.19|~6.0.19|~6.1.11|^6.2.5",
+ "symfony/service-contracts": "^1.10|^2|^3"
+ },
+ "conflict": {
+ "symfony/event-dispatcher": "<4.3",
+ "symfony/security-bundle": "<5.3",
+ "symfony/security-csrf": "<4.4"
},
"require-dev": {
- "symfony/console": "^4.4|^5.0|^6.0"
+ "psr/log": "^1|^2|^3",
+ "symfony/cache": "^4.4|^5.0|^6.0",
+ "symfony/rate-limiter": "^5.2|^6.0",
+ "symfony/routing": "^4.4|^5.0|^6.0",
+ "symfony/security-csrf": "^4.4|^5.0|^6.0",
+ "symfony/translation": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs",
+ "symfony/security-csrf": "For using tokens to protect authentication/logout attempts"
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Uid\\": ""
+ "Symfony\\Component\\Security\\Http\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -13304,27 +13974,18 @@
],
"authors": [
{
- "name": "Grégoire Pineau",
- "email": "lyrixx@lyrixx.info"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides an object-oriented API to generate and represent UIDs",
+ "description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
- "keywords": [
- "UID",
- "ulid",
- "uuid"
- ],
"support": {
- "source": "https://github.com/symfony/uid/tree/v5.4.21"
+ "source": "https://github.com/symfony/security-http/tree/v5.4.31"
},
"funding": [
{
@@ -13340,80 +14001,71 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2023-11-03T16:13:08+00:00"
},
{
- "name": "symfony/validator",
- "version": "v5.4.29",
+ "name": "symfony/serializer",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/validator.git",
- "reference": "287ef8c80d1c23d5d1db8c3e26a8ad56680d535b"
+ "url": "https://github.com/symfony/serializer.git",
+ "reference": "b8353e4208e9161f34d22c4631c63404b26ba929"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/287ef8c80d1c23d5d1db8c3e26a8ad56680d535b",
- "reference": "287ef8c80d1c23d5d1db8c3e26a8ad56680d535b",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/b8353e4208e9161f34d22c4631c63404b26ba929",
+ "reference": "b8353e4208e9161f34d22c4631c63404b26ba929",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/polyfill-php81": "^1.22",
- "symfony/translation-contracts": "^1.1|^2|^3"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
- "doctrine/annotations": "<1.13",
- "doctrine/cache": "<1.11",
- "doctrine/lexer": "<1.1",
+ "doctrine/annotations": "<1.12",
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
"symfony/dependency-injection": "<4.4",
- "symfony/expression-language": "<5.1",
- "symfony/http-kernel": "<4.4",
- "symfony/intl": "<4.4",
- "symfony/property-info": "<5.3",
- "symfony/translation": "<4.4",
+ "symfony/property-access": "<5.4",
+ "symfony/property-info": "<5.4.24|>=6,<6.2.11",
+ "symfony/uid": "<5.3",
"symfony/yaml": "<4.4"
},
"require-dev": {
- "doctrine/annotations": "^1.13|^2",
- "doctrine/cache": "^1.11|^2.0",
- "egulias/email-validator": "^2.1.10|^3|^4",
+ "doctrine/annotations": "^1.12|^2",
+ "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
"symfony/cache": "^4.4|^5.0|^6.0",
"symfony/config": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^5.1|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
+ "symfony/filesystem": "^4.4|^5.0|^6.0",
+ "symfony/form": "^4.4|^5.0|^6.0",
"symfony/http-foundation": "^4.4|^5.0|^6.0",
"symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
"symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/property-access": "^4.4|^5.0|^6.0",
- "symfony/property-info": "^5.3|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/property-access": "^5.4|^6.0",
+ "symfony/property-info": "^5.4.24|^6.2.11",
+ "symfony/uid": "^5.3|^6.0",
+ "symfony/validator": "^4.4|^5.0|^6.0",
+ "symfony/var-dumper": "^4.4|^5.0|^6.0",
+ "symfony/var-exporter": "^4.4|^5.0|^6.0",
+ "symfony/yaml": "^4.4|^5.0|^6.0"
},
"suggest": {
- "egulias/email-validator": "Strict (RFC compliant) email validation",
- "psr/cache-implementation": "For using the mapping cache.",
- "symfony/config": "",
- "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints",
- "symfony/http-foundation": "",
- "symfony/intl": "",
- "symfony/property-access": "For accessing properties within comparison constraints",
- "symfony/property-info": "To automatically add NotNull and Type constraints",
- "symfony/translation": "For translating validation errors.",
- "symfony/yaml": ""
+ "psr/cache-implementation": "For using the metadata cache.",
+ "symfony/config": "For using the XML mapping loader.",
+ "symfony/mime": "For using a MIME type guesser within the DataUriNormalizer.",
+ "symfony/property-access": "For using the ObjectNormalizer.",
+ "symfony/property-info": "To deserialize relations.",
+ "symfony/var-exporter": "For using the metadata compiler.",
+ "symfony/yaml": "For using the default YAML mapping loader."
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Validator\\": ""
+ "Symfony\\Component\\Serializer\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -13433,10 +14085,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides tools to validate values",
+ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v5.4.29"
+ "source": "https://github.com/symfony/serializer/tree/v5.4.34"
},
"funding": [
{
@@ -13452,57 +14104,47 @@
"type": "tidelift"
}
],
- "time": "2023-09-10T17:22:50+00:00"
+ "time": "2023-12-27T08:53:17+00:00"
},
{
- "name": "symfony/var-dumper",
- "version": "v5.4.29",
+ "name": "symfony/service-contracts",
+ "version": "v2.5.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/var-dumper.git",
- "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65"
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6172e4ae3534d25ee9e07eb487c20be7760fcc65",
- "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+ "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16"
+ "psr/container": "^1.1",
+ "symfony/deprecation-contracts": "^2.1|^3"
},
"conflict": {
- "symfony/console": "<4.4"
- },
- "require-dev": {
- "ext-iconv": "*",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/uid": "^5.1|^6.0",
- "twig/twig": "^2.13|^3.0.4"
+ "ext-psr": "<1.1|>=2"
},
"suggest": {
- "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
- "ext-intl": "To show region name in time zone dump",
- "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
+ "symfony/service-implementation": ""
},
- "bin": [
- "Resources/bin/var-dump-server"
- ],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.5-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
"autoload": {
- "files": [
- "Resources/functions/dump.php"
- ],
"psr-4": {
- "Symfony\\Component\\VarDumper\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Contracts\\Service\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -13518,14 +14160,18 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides mechanisms for walking through any arbitrary PHP variable",
+ "description": "Generic abstractions related to writing services",
"homepage": "https://symfony.com",
"keywords": [
- "debug",
- "dump"
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.4.29"
+ "source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
},
"funding": [
{
@@ -13541,33 +14187,30 @@
"type": "tidelift"
}
],
- "time": "2023-09-12T10:09:58+00:00"
+ "time": "2022-05-30T19:17:29+00:00"
},
{
- "name": "symfony/var-exporter",
- "version": "v5.4.26",
+ "name": "symfony/stopwatch",
+ "version": "v5.4.21",
"source": {
"type": "git",
- "url": "https://github.com/symfony/var-exporter.git",
- "reference": "11401fe94f960249b3c63a488c63ba73091c1e4a"
+ "url": "https://github.com/symfony/stopwatch.git",
+ "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/11401fe94f960249b3c63a488c63ba73091c1e4a",
- "reference": "11401fe94f960249b3c63a488c63ba73091c1e4a",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f83692cd869a6f2391691d40a01e8acb89e76fee",
+ "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16"
- },
- "require-dev": {
- "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0"
+ "symfony/service-contracts": "^1|^2|^3"
},
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\VarExporter\\": ""
+ "Symfony\\Component\\Stopwatch\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -13579,26 +14222,18 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Allows exporting any serializable PHP data structure to plain PHP code",
+ "description": "Provides a way to profile code",
"homepage": "https://symfony.com",
- "keywords": [
- "clone",
- "construct",
- "export",
- "hydrate",
- "instantiate",
- "serialize"
- ],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v5.4.26"
+ "source": "https://github.com/symfony/stopwatch/tree/v5.4.21"
},
"funding": [
{
@@ -13614,43 +14249,46 @@
"type": "tidelift"
}
],
- "time": "2023-07-20T07:21:16+00:00"
+ "time": "2023-02-14T08:03:56+00:00"
},
{
- "name": "symfony/web-link",
- "version": "v5.4.21",
+ "name": "symfony/string",
+ "version": "v5.4.34",
"source": {
"type": "git",
- "url": "https://github.com/symfony/web-link.git",
- "reference": "57c03a5e89ed7c2d7a1a09258dfec12f95f95adb"
+ "url": "https://github.com/symfony/string.git",
+ "reference": "e3f98bfc7885c957488f443df82d97814a3ce061"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-link/zipball/57c03a5e89ed7c2d7a1a09258dfec12f95f95adb",
- "reference": "57c03a5e89ed7c2d7a1a09258dfec12f95f95adb",
+ "url": "https://api.github.com/repos/symfony/string/zipball/e3f98bfc7885c957488f443df82d97814a3ce061",
+ "reference": "e3f98bfc7885c957488f443df82d97814a3ce061",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "psr/link": "^1.0",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-normalizer": "~1.0",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "~1.15"
},
"conflict": {
- "symfony/http-kernel": "<5.3"
- },
- "provide": {
- "psr/link-implementation": "1.0"
+ "symfony/translation-contracts": ">=3.0"
},
"require-dev": {
- "symfony/http-kernel": "^5.3|^6.0"
- },
- "suggest": {
- "symfony/http-kernel": ""
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
+ "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/translation-contracts": "^1.1|^2",
+ "symfony/var-exporter": "^4.4|^5.0|^6.0"
},
"type": "library",
"autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
"psr-4": {
- "Symfony\\Component\\WebLink\\": ""
+ "Symfony\\Component\\String\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -13662,30 +14300,26 @@
],
"authors": [
{
- "name": "Kévin Dunglas",
- "email": "dunglas@gmail.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Manages links between resources",
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
"homepage": "https://symfony.com",
"keywords": [
- "dns-prefetch",
- "http",
- "http2",
- "link",
- "performance",
- "prefetch",
- "preload",
- "prerender",
- "psr13",
- "push"
+ "grapheme",
+ "i18n",
+ "string",
+ "unicode",
+ "utf-8",
+ "utf8"
],
"support": {
- "source": "https://github.com/symfony/web-link/tree/v5.4.21"
+ "source": "https://github.com/symfony/string/tree/v5.4.34"
},
"funding": [
{
@@ -13701,48 +14335,65 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:03:56+00:00"
+ "time": "2023-12-09T13:20:28+00:00"
},
{
- "name": "symfony/web-profiler-bundle",
- "version": "v5.4.26",
+ "name": "symfony/translation",
+ "version": "v5.4.31",
"source": {
"type": "git",
- "url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "a08572ac2e4aea7ed85065524bb4fe3ace6c81c3"
+ "url": "https://github.com/symfony/translation.git",
+ "reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/a08572ac2e4aea7ed85065524bb4fe3ace6c81c3",
- "reference": "a08572ac2e4aea7ed85065524bb4fe3ace6c81c3",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/ba72f72fceddf36f00bd495966b5873f2d17ad8f",
+ "reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/framework-bundle": "^5.3|^6.0",
- "symfony/http-kernel": "^5.3|^6.0",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "^1.16",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/twig-bundle": "^4.4|^5.0|^6.0",
- "twig/twig": "^2.13|^3.0.4"
+ "symfony/translation-contracts": "^2.3"
},
"conflict": {
- "symfony/dependency-injection": "<5.2",
- "symfony/form": "<4.4",
- "symfony/mailer": "<5.4",
- "symfony/messenger": "<4.4"
+ "symfony/config": "<4.4",
+ "symfony/console": "<5.3",
+ "symfony/dependency-injection": "<5.0",
+ "symfony/http-kernel": "<5.0",
+ "symfony/twig-bundle": "<5.0",
+ "symfony/yaml": "<4.4"
+ },
+ "provide": {
+ "symfony/translation-implementation": "2.3"
},
"require-dev": {
- "symfony/browser-kit": "^4.4|^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0"
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/http-client-contracts": "^1.1|^2.0|^3.0",
+ "symfony/http-kernel": "^5.0|^6.0",
+ "symfony/intl": "^4.4|^5.0|^6.0",
+ "symfony/polyfill-intl-icu": "^1.21",
+ "symfony/service-contracts": "^1.1.2|^2|^3",
+ "symfony/yaml": "^4.4|^5.0|^6.0"
},
- "type": "symfony-bundle",
+ "suggest": {
+ "psr/log-implementation": "To use logging capability in translator",
+ "symfony/config": "",
+ "symfony/yaml": ""
+ },
+ "type": "library",
"autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
"psr-4": {
- "Symfony\\Bundle\\WebProfilerBundle\\": ""
+ "Symfony\\Component\\Translation\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -13762,10 +14413,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a development tool that gives detailed information about the execution of any request",
+ "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.26"
+ "source": "https://github.com/symfony/translation/tree/v5.4.31"
},
"funding": [
{
@@ -13781,40 +14432,257 @@
"type": "tidelift"
}
],
- "time": "2023-07-19T19:34:05+00:00"
+ "time": "2023-11-03T16:16:43+00:00"
},
{
- "name": "symfony/web-server-bundle",
- "version": "v4.4.44",
+ "name": "symfony/translation-contracts",
+ "version": "v2.5.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/web-server-bundle.git",
- "reference": "b58e4ab115c6f6879f6e0de35c08b2dfd9e24c3b"
+ "url": "https://github.com/symfony/translation-contracts.git",
+ "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-server-bundle/zipball/b58e4ab115c6f6879f6e0de35c08b2dfd9e24c3b",
- "reference": "b58e4ab115c6f6879f6e0de35c08b2dfd9e24c3b",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
+ "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
- "symfony/config": "^3.4|^4.0|^5.0",
- "symfony/console": "^3.4|^4.0|^5.0",
- "symfony/dependency-injection": "^3.4|^4.0|^5.0",
- "symfony/http-kernel": "^3.4|^4.0|^5.0",
- "symfony/polyfill-ctype": "~1.8",
+ "php": ">=7.2.5"
+ },
+ "suggest": {
+ "symfony/translation-implementation": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.5-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Translation\\": ""
+ }
+ },
+ "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 translation",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/translation-contracts/tree/v2.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": "2022-06-27T16:58:25+00:00"
+ },
+ {
+ "name": "symfony/twig-bridge",
+ "version": "v5.4.34",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/twig-bridge.git",
+ "reference": "4ced0e91705d689b77763678367bd522d79f9f9a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/4ced0e91705d689b77763678367bd522d79f9f9a",
+ "reference": "4ced0e91705d689b77763678367bd522d79f9f9a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
"symfony/polyfill-php80": "^1.16",
- "symfony/process": "^3.4.2|^4.0.2|^5.0"
+ "symfony/translation-contracts": "^1.1|^2|^3",
+ "twig/twig": "^2.13|^3.0.4"
+ },
+ "conflict": {
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/console": "<5.3",
+ "symfony/form": "<5.4.21|>=6,<6.2.7",
+ "symfony/http-foundation": "<5.3",
+ "symfony/http-kernel": "<4.4",
+ "symfony/translation": "<5.2",
+ "symfony/workflow": "<5.2"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.12|^2",
+ "egulias/email-validator": "^2.1.10|^3|^4",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "symfony/asset": "^4.4|^5.0|^6.0",
+ "symfony/console": "^5.3|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/form": "^5.4.21|^6.2.7",
+ "symfony/http-foundation": "^5.3|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
+ "symfony/intl": "^4.4|^5.0|^6.0",
+ "symfony/mime": "^5.2|^6.0",
+ "symfony/polyfill-intl-icu": "~1.0",
+ "symfony/property-info": "^4.4|^5.1|^6.0",
+ "symfony/routing": "^4.4|^5.0|^6.0",
+ "symfony/security-acl": "^2.8|^3.0",
+ "symfony/security-core": "^4.4|^5.0|^6.0",
+ "symfony/security-csrf": "^4.4|^5.0|^6.0",
+ "symfony/security-http": "^4.4|^5.0|^6.0",
+ "symfony/serializer": "^5.2|^6.0",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0",
+ "symfony/translation": "^5.2|^6.0",
+ "symfony/web-link": "^4.4|^5.0|^6.0",
+ "symfony/workflow": "^5.2|^6.0",
+ "symfony/yaml": "^4.4|^5.0|^6.0",
+ "twig/cssinliner-extra": "^2.12|^3",
+ "twig/inky-extra": "^2.12|^3",
+ "twig/markdown-extra": "^2.12|^3"
},
"suggest": {
- "symfony/expression-language": "For using the filter option of the log server.",
- "symfony/monolog-bridge": "For using the log server."
+ "symfony/asset": "For using the AssetExtension",
+ "symfony/expression-language": "For using the ExpressionExtension",
+ "symfony/finder": "",
+ "symfony/form": "For using the FormExtension",
+ "symfony/http-kernel": "For using the HttpKernelExtension",
+ "symfony/routing": "For using the RoutingExtension",
+ "symfony/security-core": "For using the SecurityExtension",
+ "symfony/security-csrf": "For using the CsrfExtension",
+ "symfony/security-http": "For using the LogoutUrlExtension",
+ "symfony/stopwatch": "For using the StopwatchExtension",
+ "symfony/translation": "For using the TranslationExtension",
+ "symfony/var-dumper": "For using the DumpExtension",
+ "symfony/web-link": "For using the WebLinkExtension",
+ "symfony/yaml": "For using the YamlExtension"
+ },
+ "type": "symfony-bridge",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Bridge\\Twig\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides integration for Twig with various Symfony components",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/twig-bridge/tree/v5.4.34"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-15T11:59:38+00:00"
+ },
+ {
+ "name": "symfony/twig-bundle",
+ "version": "v5.4.31",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/twig-bundle.git",
+ "reference": "62e3505a62f482a577f55ba08747dc6a3b7463b3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/62e3505a62f482a577f55ba08747dc6a3b7463b3",
+ "reference": "62e3505a62f482a577f55ba08747dc6a3b7463b3",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/http-foundation": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^5.0|^6.0",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/twig-bridge": "^5.3|^6.0",
+ "twig/twig": "^2.13|^3.0.4"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<5.3",
+ "symfony/framework-bundle": "<5.0",
+ "symfony/service-contracts": ">=3.0",
+ "symfony/translation": "<5.0"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.10.4|^2",
+ "doctrine/cache": "^1.0|^2.0",
+ "symfony/asset": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^5.3|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/form": "^4.4|^5.0|^6.0",
+ "symfony/framework-bundle": "^5.0|^6.0",
+ "symfony/routing": "^4.4|^5.0|^6.0",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0",
+ "symfony/translation": "^5.0|^6.0",
+ "symfony/web-link": "^4.4|^5.0|^6.0",
+ "symfony/yaml": "^4.4|^5.0|^6.0"
},
"type": "symfony-bundle",
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\WebServerBundle\\": ""
+ "Symfony\\Bundle\\TwigBundle\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -13834,10 +14702,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides commands for running applications using the PHP built-in web server",
+ "description": "Provides a tight integration of Twig into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/web-server-bundle/tree/v4.4.44"
+ "source": "https://github.com/symfony/twig-bundle/tree/v5.4.31"
},
"funding": [
{
@@ -13849,125 +14717,1700 @@
"type": "github"
},
{
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-31T07:58:33+00:00"
+ },
+ {
+ "name": "symfony/uid",
+ "version": "v5.4.31",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/uid.git",
+ "reference": "d76766c457aacff7acea4482c207231aea93362c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/d76766c457aacff7acea4482c207231aea93362c",
+ "reference": "d76766c457aacff7acea4482c207231aea93362c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/polyfill-uuid": "^1.15"
+ },
+ "require-dev": {
+ "symfony/console": "^4.4|^5.0|^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Uid\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Grégoire Pineau",
+ "email": "lyrixx@lyrixx.info"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides an object-oriented API to generate and represent UIDs",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "UID",
+ "ulid",
+ "uuid"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/uid/tree/v5.4.31"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-31T07:58:33+00:00"
+ },
+ {
+ "name": "symfony/validator",
+ "version": "v5.4.34",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/validator.git",
+ "reference": "0700751f19b5e8dcfadb6614662216a93f37e2dd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/0700751f19b5e8dcfadb6614662216a93f37e2dd",
+ "reference": "0700751f19b5e8dcfadb6614662216a93f37e2dd",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php73": "~1.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/polyfill-php81": "^1.22",
+ "symfony/translation-contracts": "^1.1|^2|^3"
+ },
+ "conflict": {
+ "doctrine/annotations": "<1.13",
+ "doctrine/cache": "<1.11",
+ "doctrine/lexer": "<1.1",
+ "symfony/dependency-injection": "<4.4",
+ "symfony/expression-language": "<5.1",
+ "symfony/http-kernel": "<4.4",
+ "symfony/intl": "<4.4",
+ "symfony/property-info": "<5.3",
+ "symfony/translation": "<4.4",
+ "symfony/yaml": "<4.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.13|^2",
+ "doctrine/cache": "^1.11|^2.0",
+ "egulias/email-validator": "^2.1.10|^3|^4",
+ "symfony/cache": "^4.4|^5.0|^6.0",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^5.1|^6.0",
+ "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/http-foundation": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
+ "symfony/intl": "^4.4|^5.0|^6.0",
+ "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/property-access": "^4.4|^5.0|^6.0",
+ "symfony/property-info": "^5.3|^6.0",
+ "symfony/translation": "^4.4|^5.0|^6.0",
+ "symfony/yaml": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "egulias/email-validator": "Strict (RFC compliant) email validation",
+ "psr/cache-implementation": "For using the mapping cache.",
+ "symfony/config": "",
+ "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints",
+ "symfony/http-foundation": "",
+ "symfony/intl": "",
+ "symfony/property-access": "For accessing properties within comparison constraints",
+ "symfony/property-info": "To automatically add NotNull and Type constraints",
+ "symfony/translation": "For translating validation errors.",
+ "symfony/yaml": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Validator\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides tools to validate values",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/validator/tree/v5.4.34"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-29T15:57:36+00:00"
+ },
+ {
+ "name": "symfony/var-dumper",
+ "version": "v5.4.29",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/var-dumper.git",
+ "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6172e4ae3534d25ee9e07eb487c20be7760fcc65",
+ "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "conflict": {
+ "symfony/console": "<4.4"
+ },
+ "require-dev": {
+ "ext-iconv": "*",
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4|^5.0|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/uid": "^5.1|^6.0",
+ "twig/twig": "^2.13|^3.0.4"
+ },
+ "suggest": {
+ "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
+ "ext-intl": "To show region name in time zone dump",
+ "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
+ },
+ "bin": [
+ "Resources/bin/var-dump-server"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions/dump.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\VarDumper\\": ""
+ },
+ "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 mechanisms for walking through any arbitrary PHP variable",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "debug",
+ "dump"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/var-dumper/tree/v5.4.29"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-09-12T10:09:58+00:00"
+ },
+ {
+ "name": "symfony/var-exporter",
+ "version": "v5.4.32",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/var-exporter.git",
+ "reference": "fdb022f0d3d41df240c18e2eb9a117c430f06add"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/fdb022f0d3d41df240c18e2eb9a117c430f06add",
+ "reference": "fdb022f0d3d41df240c18e2eb9a117c430f06add",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "require-dev": {
+ "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\VarExporter\\": ""
+ },
+ "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": "Allows exporting any serializable PHP data structure to plain PHP code",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "clone",
+ "construct",
+ "export",
+ "hydrate",
+ "instantiate",
+ "serialize"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/var-exporter/tree/v5.4.32"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-16T19:33:05+00:00"
+ },
+ {
+ "name": "symfony/web-link",
+ "version": "v5.4.21",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/web-link.git",
+ "reference": "57c03a5e89ed7c2d7a1a09258dfec12f95f95adb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/web-link/zipball/57c03a5e89ed7c2d7a1a09258dfec12f95f95adb",
+ "reference": "57c03a5e89ed7c2d7a1a09258dfec12f95f95adb",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "psr/link": "^1.0",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "conflict": {
+ "symfony/http-kernel": "<5.3"
+ },
+ "provide": {
+ "psr/link-implementation": "1.0"
+ },
+ "require-dev": {
+ "symfony/http-kernel": "^5.3|^6.0"
+ },
+ "suggest": {
+ "symfony/http-kernel": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\WebLink\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Kévin Dunglas",
+ "email": "dunglas@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Manages links between resources",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "dns-prefetch",
+ "http",
+ "http2",
+ "link",
+ "performance",
+ "prefetch",
+ "preload",
+ "prerender",
+ "psr13",
+ "push"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/web-link/tree/v5.4.21"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-02-14T08:03:56+00:00"
+ },
+ {
+ "name": "symfony/web-profiler-bundle",
+ "version": "v5.4.34",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/web-profiler-bundle.git",
+ "reference": "8b3344d0d7faeb6c52e60d4a3657405c5c68625f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/8b3344d0d7faeb6c52e60d4a3657405c5c68625f",
+ "reference": "8b3344d0d7faeb6c52e60d4a3657405c5c68625f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/framework-bundle": "^5.3|^6.0,<6.4",
+ "symfony/http-kernel": "^5.3|^6.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/routing": "^4.4|^5.0|^6.0",
+ "symfony/twig-bundle": "^4.4|^5.0|^6.0",
+ "twig/twig": "^2.13|^3.0.4"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<5.2",
+ "symfony/form": "<4.4",
+ "symfony/mailer": "<5.4",
+ "symfony/messenger": "<4.4"
+ },
+ "require-dev": {
+ "symfony/browser-kit": "^4.4|^5.0|^6.0",
+ "symfony/console": "^4.4|^5.0|^6.0",
+ "symfony/css-selector": "^4.4|^5.0|^6.0",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0"
+ },
+ "type": "symfony-bundle",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Bundle\\WebProfilerBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides a development tool that gives detailed information about the execution of any request",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.34"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-20T14:42:24+00:00"
+ },
+ {
+ "name": "symfony/web-server-bundle",
+ "version": "v4.4.44",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/web-server-bundle.git",
+ "reference": "b58e4ab115c6f6879f6e0de35c08b2dfd9e24c3b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/web-server-bundle/zipball/b58e4ab115c6f6879f6e0de35c08b2dfd9e24c3b",
+ "reference": "b58e4ab115c6f6879f6e0de35c08b2dfd9e24c3b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1.3",
+ "symfony/config": "^3.4|^4.0|^5.0",
+ "symfony/console": "^3.4|^4.0|^5.0",
+ "symfony/dependency-injection": "^3.4|^4.0|^5.0",
+ "symfony/http-kernel": "^3.4|^4.0|^5.0",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/process": "^3.4.2|^4.0.2|^5.0"
+ },
+ "suggest": {
+ "symfony/expression-language": "For using the filter option of the log server.",
+ "symfony/monolog-bridge": "For using the log server."
+ },
+ "type": "symfony-bundle",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Bundle\\WebServerBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides commands for running applications using the PHP built-in web server",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/web-server-bundle/tree/v4.4.44"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "abandoned": true,
+ "time": "2022-06-27T13:16:42+00:00"
+ },
+ {
+ "name": "symfony/webpack-encore-bundle",
+ "version": "v1.17.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/webpack-encore-bundle.git",
+ "reference": "471ebbc03072dad6e31840dc317bc634a32785f5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/471ebbc03072dad6e31840dc317bc634a32785f5",
+ "reference": "471ebbc03072dad6e31840dc317bc634a32785f5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1.3",
+ "symfony/asset": "^4.4 || ^5.0 || ^6.0",
+ "symfony/config": "^4.4 || ^5.0 || ^6.0",
+ "symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
+ "symfony/deprecation-contracts": "^2.1 || ^3.0",
+ "symfony/http-kernel": "^4.4 || ^5.0 || ^6.0",
+ "symfony/polyfill-php80": "^1.25.0",
+ "symfony/service-contracts": "^1.0 || ^2.0 || ^3.0"
+ },
+ "require-dev": {
+ "symfony/framework-bundle": "^4.4 || ^5.0 || ^6.0",
+ "symfony/phpunit-bridge": "^5.3 || ^6.0",
+ "symfony/twig-bundle": "^4.4 || ^5.0 || ^6.0",
+ "symfony/web-link": "^4.4 || ^5.0 || ^6.0"
+ },
+ "type": "symfony-bundle",
+ "extra": {
+ "thanks": {
+ "name": "symfony/webpack-encore",
+ "url": "https://github.com/symfony/webpack-encore"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\WebpackEncoreBundle\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Integration with your Symfony app & Webpack Encore!",
+ "support": {
+ "issues": "https://github.com/symfony/webpack-encore-bundle/issues",
+ "source": "https://github.com/symfony/webpack-encore-bundle/tree/v1.17.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": "2023-09-26T14:36:28+00:00"
+ },
+ {
+ "name": "symfony/yaml",
+ "version": "v5.4.31",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "f387675d7f5fc4231f7554baa70681f222f73563"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/f387675d7f5fc4231f7554baa70681f222f73563",
+ "reference": "f387675d7f5fc4231f7554baa70681f222f73563",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "symfony/console": "<5.3"
+ },
+ "require-dev": {
+ "symfony/console": "^5.3|^6.0"
+ },
+ "suggest": {
+ "symfony/console": "For validating YAML files using the lint command"
+ },
+ "bin": [
+ "Resources/bin/yaml-lint"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Yaml\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Loads and dumps YAML files",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/yaml/tree/v5.4.31"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-03T14:41:28+00:00"
+ },
+ {
+ "name": "symfonycasts/reset-password-bundle",
+ "version": "v1.20.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/SymfonyCasts/reset-password-bundle.git",
+ "reference": "aaf9477d0aa3a28e9c4ef7d3eb6b917f1e11f9f8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/SymfonyCasts/reset-password-bundle/zipball/aaf9477d0aa3a28e9c4ef7d3eb6b917f1e11f9f8",
+ "reference": "aaf9477d0aa3a28e9c4ef7d3eb6b917f1e11f9f8",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "php": ">=8.1.10",
+ "symfony/config": "^5.4 | ^6.0 | ^7.0",
+ "symfony/dependency-injection": "^5.4 | ^6.0 | ^7.0",
+ "symfony/deprecation-contracts": "^2.2 | ^3.0",
+ "symfony/http-kernel": "^5.4 | ^6.0 | ^7.0"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.0",
+ "doctrine/doctrine-bundle": "^2.8",
+ "doctrine/orm": "^2.13",
+ "symfony/framework-bundle": "^5.4 | ^6.0 | ^7.0",
+ "symfony/phpunit-bridge": "^5.4 | ^6.0 | ^7.0"
+ },
+ "type": "symfony-bundle",
+ "autoload": {
+ "psr-4": {
+ "SymfonyCasts\\Bundle\\ResetPassword\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Symfony bundle that adds password reset functionality.",
+ "support": {
+ "issues": "https://github.com/SymfonyCasts/reset-password-bundle/issues",
+ "source": "https://github.com/SymfonyCasts/reset-password-bundle/tree/v1.20.1"
+ },
+ "time": "2024-01-02T16:46:54+00:00"
+ },
+ {
+ "name": "tightenco/collect",
+ "version": "v8.83.27",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tighten/collect.git",
+ "reference": "07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tighten/collect/zipball/07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6",
+ "reference": "07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3|^8.0",
+ "symfony/var-dumper": "^3.4 || ^4.0 || ^5.0 || ^6.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.0",
+ "nesbot/carbon": "^2.23.0",
+ "phpunit/phpunit": "^8.3"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/Collect/Support/helpers.php",
+ "src/Collect/Support/alias.php"
+ ],
+ "psr-4": {
+ "Tightenco\\Collect\\": "src/Collect"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylorotwell@gmail.com"
+ }
+ ],
+ "description": "Collect - Illuminate Collections as a separate package.",
+ "keywords": [
+ "collection",
+ "laravel"
+ ],
+ "support": {
+ "issues": "https://github.com/tighten/collect/issues",
+ "source": "https://github.com/tighten/collect/tree/v8.83.27"
+ },
+ "time": "2023-01-13T18:05:42+00:00"
+ },
+ {
+ "name": "tijsverkoyen/css-to-inline-styles",
+ "version": "v2.2.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
+ "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb",
+ "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "php": "^5.5 || ^7.0 || ^8.0",
+ "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "TijsVerkoyen\\CssToInlineStyles\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Tijs Verkoyen",
+ "email": "css_to_inline_styles@verkoyen.eu",
+ "role": "Developer"
+ }
+ ],
+ "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.",
+ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
+ "support": {
+ "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
+ "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7"
+ },
+ "time": "2023-12-08T13:03:43+00:00"
+ },
+ {
+ "name": "twig/cssinliner-extra",
+ "version": "v3.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twigphp/cssinliner-extra.git",
+ "reference": "259a4b861732545e0e1ecd43bf25b251494af45b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/259a4b861732545e0e1ecd43bf25b251494af45b",
+ "reference": "259a4b861732545e0e1ecd43bf25b251494af45b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "tijsverkoyen/css-to-inline-styles": "^2.0",
+ "twig/twig": "^3.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Twig\\Extra\\CssInliner\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "A Twig extension to allow inlining CSS",
+ "homepage": "https://twig.symfony.com",
+ "keywords": [
+ "css",
+ "inlining",
+ "twig"
+ ],
+ "support": {
+ "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-21T14:02:01+00:00"
+ },
+ {
+ "name": "twig/extra-bundle",
+ "version": "v3.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twigphp/twig-extra-bundle.git",
+ "reference": "32807183753de0388c8e59f7ac2d13bb47311140"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/32807183753de0388c8e59f7ac2d13bb47311140",
+ "reference": "32807183753de0388c8e59f7ac2d13bb47311140",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/framework-bundle": "^5.4|^6.0|^7.0",
+ "symfony/twig-bundle": "^5.4|^6.0|^7.0",
+ "twig/twig": "^3.0"
+ },
+ "require-dev": {
+ "league/commonmark": "^1.0|^2.0",
+ "symfony/phpunit-bridge": "^6.4|^7.0",
+ "twig/cache-extra": "^3.0",
+ "twig/cssinliner-extra": "^2.12|^3.0",
+ "twig/html-extra": "^2.12|^3.0",
+ "twig/inky-extra": "^2.12|^3.0",
+ "twig/intl-extra": "^2.12|^3.0",
+ "twig/markdown-extra": "^2.12|^3.0",
+ "twig/string-extra": "^2.12|^3.0"
+ },
+ "type": "symfony-bundle",
+ "autoload": {
+ "psr-4": {
+ "Twig\\Extra\\TwigExtraBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "A Symfony bundle for extra Twig extensions",
+ "homepage": "https://twig.symfony.com",
+ "keywords": [
+ "bundle",
+ "extra",
+ "twig"
+ ],
+ "support": {
+ "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-21T14:02:01+00:00"
+ },
+ {
+ "name": "twig/html-extra",
+ "version": "v3.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twigphp/html-extra.git",
+ "reference": "c04603bb3b71d8d2ece9e583dbf7bd77811df1f2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twigphp/html-extra/zipball/c04603bb3b71d8d2ece9e583dbf7bd77811df1f2",
+ "reference": "c04603bb3b71d8d2ece9e583dbf7bd77811df1f2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/mime": "^5.4|^6.0|^7.0",
+ "twig/twig": "^3.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Twig\\Extra\\Html\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "A Twig extension for HTML",
+ "homepage": "https://twig.symfony.com",
+ "keywords": [
+ "html",
+ "twig"
+ ],
+ "support": {
+ "source": "https://github.com/twigphp/html-extra/tree/v3.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-21T14:02:01+00:00"
+ },
+ {
+ "name": "twig/inky-extra",
+ "version": "v3.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twigphp/inky-extra.git",
+ "reference": "8c12463f6d66697347692b04b12c5c1789dc1a5c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/8c12463f6d66697347692b04b12c5c1789dc1a5c",
+ "reference": "8c12463f6d66697347692b04b12c5c1789dc1a5c",
+ "shasum": ""
+ },
+ "require": {
+ "lorenzo/pinky": "^1.0.5",
+ "php": ">=7.2.5",
+ "twig/twig": "^3.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Twig\\Extra\\Inky\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "A Twig extension for the inky email templating engine",
+ "homepage": "https://twig.symfony.com",
+ "keywords": [
+ "email",
+ "emails",
+ "inky",
+ "twig"
+ ],
+ "support": {
+ "source": "https://github.com/twigphp/inky-extra/tree/v3.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-21T14:02:01+00:00"
+ },
+ {
+ "name": "twig/intl-extra",
+ "version": "v3.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twigphp/intl-extra.git",
+ "reference": "7b3db67c700735f473a265a97e1adaeba3e6ca0c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/7b3db67c700735f473a265a97e1adaeba3e6ca0c",
+ "reference": "7b3db67c700735f473a265a97e1adaeba3e6ca0c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/intl": "^5.4|^6.0|^7.0",
+ "twig/twig": "^3.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Twig\\Extra\\Intl\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "A Twig extension for Intl",
+ "homepage": "https://twig.symfony.com",
+ "keywords": [
+ "intl",
+ "twig"
+ ],
+ "support": {
+ "source": "https://github.com/twigphp/intl-extra/tree/v3.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-21T17:27:48+00:00"
+ },
+ {
+ "name": "twig/markdown-extra",
+ "version": "v3.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twigphp/markdown-extra.git",
+ "reference": "b6e4954ab60030233df5d293886b5404558daac8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/b6e4954ab60030233df5d293886b5404558daac8",
+ "reference": "b6e4954ab60030233df5d293886b5404558daac8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "twig/twig": "^3.0"
+ },
+ "require-dev": {
+ "erusev/parsedown": "^1.7",
+ "league/commonmark": "^1.0|^2.0",
+ "league/html-to-markdown": "^4.8|^5.0",
+ "michelf/php-markdown": "^1.8|^2.0",
+ "symfony/phpunit-bridge": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Twig\\Extra\\Markdown\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "A Twig extension for Markdown",
+ "homepage": "https://twig.symfony.com",
+ "keywords": [
+ "html",
+ "markdown",
+ "twig"
+ ],
+ "support": {
+ "source": "https://github.com/twigphp/markdown-extra/tree/v3.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-21T14:02:01+00:00"
+ },
+ {
+ "name": "twig/twig",
+ "version": "v3.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twigphp/Twig.git",
+ "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
+ "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/polyfill-ctype": "^1.8",
+ "symfony/polyfill-mbstring": "^1.3",
+ "symfony/polyfill-php80": "^1.22"
+ },
+ "require-dev": {
+ "psr/container": "^1.0|^2.0",
+ "symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Twig\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ },
+ {
+ "name": "Twig Team",
+ "role": "Contributors"
+ },
+ {
+ "name": "Armin Ronacher",
+ "email": "armin.ronacher@active-4.com",
+ "role": "Project Founder"
+ }
+ ],
+ "description": "Twig, the flexible, fast, and secure template language for PHP",
+ "homepage": "https://twig.symfony.com",
+ "keywords": [
+ "templating"
+ ],
+ "support": {
+ "issues": "https://github.com/twigphp/Twig/issues",
+ "source": "https://github.com/twigphp/Twig/tree/v3.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-21T18:54:41+00:00"
+ },
+ {
+ "name": "ua-parser/uap-php",
+ "version": "v3.9.14",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ua-parser/uap-php.git",
+ "reference": "b796c5ea5df588e65aeb4e2c6cce3811dec4fed6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ua-parser/uap-php/zipball/b796c5ea5df588e65aeb4e2c6cce3811dec4fed6",
+ "reference": "b796c5ea5df588e65aeb4e2c6cce3811dec4fed6",
+ "shasum": ""
+ },
+ "require": {
+ "composer/ca-bundle": "^1.1",
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.33",
+ "phpunit/phpunit": "^8 || ^9",
+ "symfony/console": "^3.4 || ^4.2 || ^4.3 || ^5.0",
+ "symfony/filesystem": "^3.4 || ^4.2 || ^4.3 || ^5.0",
+ "symfony/finder": "^3.4 || ^4.2 || ^4.3 || ^5.0",
+ "symfony/yaml": "^3.4 || ^4.2 || ^4.3 || ^5.0",
+ "vimeo/psalm": "^3.12"
+ },
+ "suggest": {
+ "symfony/console": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
+ "symfony/filesystem": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
+ "symfony/finder": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
+ "symfony/yaml": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0"
+ },
+ "bin": [
+ "bin/uaparser"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "UAParser\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Dave Olsen",
+ "email": "dmolsen@gmail.com"
+ },
+ {
+ "name": "Lars Strojny",
+ "email": "lars@strojny.net"
+ }
+ ],
+ "description": "A multi-language port of Browserscope's user agent parser.",
+ "support": {
+ "issues": "https://github.com/ua-parser/uap-php/issues",
+ "source": "https://github.com/ua-parser/uap-php/tree/v3.9.14"
+ },
+ "time": "2020-10-02T23:36:20+00:00"
+ },
+ {
+ "name": "webimpress/safe-writer",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webimpress/safe-writer.git",
+ "reference": "9d37cc8bee20f7cb2f58f6e23e05097eab5072e6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webimpress/safe-writer/zipball/9d37cc8bee20f7cb2f58f6e23e05097eab5072e6",
+ "reference": "9d37cc8bee20f7cb2f58f6e23e05097eab5072e6",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3 || ^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5.4",
+ "vimeo/psalm": "^4.7",
+ "webimpress/coding-standard": "^1.2.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2.x-dev",
+ "dev-develop": "2.3.x-dev",
+ "dev-release-1.0": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webimpress\\SafeWriter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "description": "Tool to write files safely, to avoid race conditions",
+ "keywords": [
+ "concurrent write",
+ "file writer",
+ "race condition",
+ "safe writer",
+ "webimpress"
+ ],
+ "support": {
+ "issues": "https://github.com/webimpress/safe-writer/issues",
+ "source": "https://github.com/webimpress/safe-writer/tree/2.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/michalbundyra",
+ "type": "github"
+ }
+ ],
+ "time": "2021-04-19T16:34:45+00:00"
+ },
+ {
+ "name": "webmozart/assert",
+ "version": "1.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5.13"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.10-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Assertions to validate method input/output with nice error messages.",
+ "keywords": [
+ "assert",
+ "check",
+ "validate"
+ ],
+ "support": {
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/1.11.0"
+ },
+ "time": "2022-06-03T18:03:27+00:00"
+ },
+ {
+ "name": "webmozart/path-util",
+ "version": "2.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozart/path-util.git",
+ "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
+ "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "webmozart/assert": "~1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.6",
+ "sebastian/version": "^1.0.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\PathUtil\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
}
],
- "abandoned": true,
- "time": "2022-06-27T13:16:42+00:00"
+ "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
+ "support": {
+ "issues": "https://github.com/webmozart/path-util/issues",
+ "source": "https://github.com/webmozart/path-util/tree/2.3.0"
+ },
+ "abandoned": "symfony/filesystem",
+ "time": "2015-12-17T08:42:14+00:00"
},
{
- "name": "symfony/webpack-encore-bundle",
- "version": "v1.17.2",
+ "name": "webonyx/graphql-php",
+ "version": "v14.11.10",
"source": {
"type": "git",
- "url": "https://github.com/symfony/webpack-encore-bundle.git",
- "reference": "471ebbc03072dad6e31840dc317bc634a32785f5"
+ "url": "https://github.com/webonyx/graphql-php.git",
+ "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/471ebbc03072dad6e31840dc317bc634a32785f5",
- "reference": "471ebbc03072dad6e31840dc317bc634a32785f5",
+ "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/d9c2fdebc6aa01d831bc2969da00e8588cffef19",
+ "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
- "symfony/asset": "^4.4 || ^5.0 || ^6.0",
- "symfony/config": "^4.4 || ^5.0 || ^6.0",
- "symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0",
- "symfony/deprecation-contracts": "^2.1 || ^3.0",
- "symfony/http-kernel": "^4.4 || ^5.0 || ^6.0",
- "symfony/polyfill-php80": "^1.25.0",
- "symfony/service-contracts": "^1.0 || ^2.0 || ^3.0"
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "php": "^7.1 || ^8"
},
"require-dev": {
- "symfony/framework-bundle": "^4.4 || ^5.0 || ^6.0",
- "symfony/phpunit-bridge": "^5.3 || ^6.0",
- "symfony/twig-bundle": "^4.4 || ^5.0 || ^6.0",
- "symfony/web-link": "^4.4 || ^5.0 || ^6.0"
+ "amphp/amp": "^2.3",
+ "doctrine/coding-standard": "^6.0",
+ "nyholm/psr7": "^1.2",
+ "phpbench/phpbench": "^1.2",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "0.12.82",
+ "phpstan/phpstan-phpunit": "0.12.18",
+ "phpstan/phpstan-strict-rules": "0.12.9",
+ "phpunit/phpunit": "^7.2 || ^8.5",
+ "psr/http-message": "^1.0",
+ "react/promise": "2.*",
+ "simpod/php-coveralls-mirror": "^3.0"
},
- "type": "symfony-bundle",
- "extra": {
- "thanks": {
- "name": "symfony/webpack-encore",
- "url": "https://github.com/symfony/webpack-encore"
- }
+ "suggest": {
+ "psr/http-message": "To use standard GraphQL server",
+ "react/promise": "To leverage async resolving on React PHP platform"
},
+ "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\WebpackEncoreBundle\\": "src"
+ "GraphQL\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
+ "description": "A PHP port of GraphQL reference implementation",
+ "homepage": "https://github.com/webonyx/graphql-php",
+ "keywords": [
+ "api",
+ "graphql"
],
- "description": "Integration with your Symfony app & Webpack Encore!",
"support": {
- "issues": "https://github.com/symfony/webpack-encore-bundle/issues",
- "source": "https://github.com/symfony/webpack-encore-bundle/tree/v1.17.2"
+ "issues": "https://github.com/webonyx/graphql-php/issues",
+ "source": "https://github.com/webonyx/graphql-php/tree/v14.11.10"
},
"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"
+ "url": "https://opencollective.com/webonyx-graphql-php",
+ "type": "open_collective"
}
],
- "time": "2023-09-26T14:36:28+00:00"
+ "time": "2023-07-05T14:23:37+00:00"
},
{
- "name": "symfony/yaml",
- "version": "v5.4.23",
+ "name": "willdurand/negotiation",
+ "version": "3.1.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b"
+ "url": "https://github.com/willdurand/Negotiation.git",
+ "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/4cd2e3ea301aadd76a4172756296fe552fb45b0b",
- "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b",
+ "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/68e9ea0553ef6e2ee8db5c1d98829f111e623ec2",
+ "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "symfony/console": "<5.3"
+ "php": ">=7.1.0"
},
"require-dev": {
- "symfony/console": "^5.3|^6.0"
- },
- "suggest": {
- "symfony/console": "For validating YAML files using the lint command"
+ "symfony/phpunit-bridge": "^5.0"
},
- "bin": [
- "Resources/bin/yaml-lint"
- ],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Symfony\\Component\\Yaml\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Negotiation\\": "src/Negotiation"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -13975,116 +16418,121 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "William Durand",
+ "email": "will+git@drnd.me"
}
],
- "description": "Loads and dumps YAML files",
- "homepage": "https://symfony.com",
+ "description": "Content Negotiation tools for PHP provided as a standalone library.",
+ "homepage": "http://williamdurand.fr/Negotiation/",
+ "keywords": [
+ "accept",
+ "content",
+ "format",
+ "header",
+ "negotiation"
+ ],
"support": {
- "source": "https://github.com/symfony/yaml/tree/v5.4.23"
+ "issues": "https://github.com/willdurand/Negotiation/issues",
+ "source": "https://github.com/willdurand/Negotiation/tree/3.1.0"
},
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2023-04-23T19:33:36+00:00"
+ "time": "2022-01-30T20:08:53+00:00"
},
{
- "name": "symfonycasts/reset-password-bundle",
- "version": "v1.18.0",
+ "name": "xemlock/htmlpurifier-html5",
+ "version": "v0.1.11",
"source": {
"type": "git",
- "url": "https://github.com/SymfonyCasts/reset-password-bundle.git",
- "reference": "9906cebac5676adf5d05384dfeebd7cac7c0da83"
+ "url": "https://github.com/xemlock/htmlpurifier-html5.git",
+ "reference": "f0d563f9fd4a82a3d759043483f9a94c0d8c2255"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/SymfonyCasts/reset-password-bundle/zipball/9906cebac5676adf5d05384dfeebd7cac7c0da83",
- "reference": "9906cebac5676adf5d05384dfeebd7cac7c0da83",
+ "url": "https://api.github.com/repos/xemlock/htmlpurifier-html5/zipball/f0d563f9fd4a82a3d759043483f9a94c0d8c2255",
+ "reference": "f0d563f9fd4a82a3d759043483f9a94c0d8c2255",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "php": ">=7.2.5",
- "symfony/config": "^5.4 | ^6.0",
- "symfony/dependency-injection": "^5.4 | ^6.0",
- "symfony/deprecation-contracts": "^2.2 | ^3.0",
- "symfony/http-kernel": "^5.4 | ^6.0"
- },
- "conflict": {
- "doctrine/orm": "<2.7",
- "php": ">=8.1 <8.1.10"
+ "ezyang/htmlpurifier": "^4.8",
+ "php": ">=5.2"
},
"require-dev": {
- "doctrine/annotations": "^1.0",
- "doctrine/doctrine-bundle": "^2.0.3",
- "doctrine/orm": "^2.7",
- "symfony/framework-bundle": "^5.4 | ^6.0",
- "symfony/phpunit-bridge": "^5.4 | ^6.0"
+ "php-coveralls/php-coveralls": "^1.1|^2.1",
+ "phpunit/phpunit": ">=4.7 <8.0"
},
- "type": "symfony-bundle",
+ "type": "library",
"autoload": {
- "psr-4": {
- "SymfonyCasts\\Bundle\\ResetPassword\\": "src/"
- }
+ "classmap": [
+ "library/HTMLPurifier/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Symfony bundle that adds password reset functionality.",
+ "authors": [
+ {
+ "name": "xemlock",
+ "email": "xemlock@gmail.com"
+ }
+ ],
+ "description": "HTML5 element definitions for HTML Purifier",
+ "keywords": [
+ "HTML5",
+ "Purifier",
+ "html",
+ "htmlpurifier",
+ "security",
+ "tidy",
+ "validator",
+ "xss"
+ ],
"support": {
- "issues": "https://github.com/SymfonyCasts/reset-password-bundle/issues",
- "source": "https://github.com/SymfonyCasts/reset-password-bundle/tree/v1.18.0"
+ "issues": "https://github.com/xemlock/htmlpurifier-html5/issues",
+ "source": "https://github.com/xemlock/htmlpurifier-html5/tree/master"
},
- "time": "2023-09-19T14:10:50+00:00"
- },
+ "time": "2019-08-07T17:19:21+00:00"
+ }
+ ],
+ "packages-dev": [
{
- "name": "tightenco/collect",
- "version": "v8.83.27",
+ "name": "amphp/amp",
+ "version": "v2.6.2",
"source": {
"type": "git",
- "url": "https://github.com/tighten/collect.git",
- "reference": "07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6"
+ "url": "https://github.com/amphp/amp.git",
+ "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tighten/collect/zipball/07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6",
- "reference": "07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6",
+ "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
+ "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
"shasum": ""
},
"require": {
- "php": "^7.3|^8.0",
- "symfony/var-dumper": "^3.4 || ^4.0 || ^5.0 || ^6.0"
+ "php": ">=7.1"
},
"require-dev": {
- "mockery/mockery": "^1.0",
- "nesbot/carbon": "^2.23.0",
- "phpunit/phpunit": "^8.3"
+ "amphp/php-cs-fixer-config": "dev-master",
+ "amphp/phpunit-util": "^1",
+ "ext-json": "*",
+ "jetbrains/phpstorm-stubs": "^2019.3",
+ "phpunit/phpunit": "^7 | ^8 | ^9",
+ "psalm/phar": "^3.11@dev",
+ "react/promise": "^2"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.x-dev"
+ }
+ },
"autoload": {
"files": [
- "src/Collect/Support/helpers.php",
- "src/Collect/Support/alias.php"
+ "lib/functions.php",
+ "lib/Internal/functions.php"
],
"psr-4": {
- "Tightenco\\Collect\\": "src/Collect"
+ "Amp\\": "lib"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -14093,60 +16541,87 @@
],
"authors": [
{
- "name": "Taylor Otwell",
- "email": "taylorotwell@gmail.com"
+ "name": "Daniel Lowrey",
+ "email": "rdlowrey@php.net"
+ },
+ {
+ "name": "Aaron Piotrowski",
+ "email": "aaron@trowski.com"
+ },
+ {
+ "name": "Bob Weinand",
+ "email": "bobwei9@hotmail.com"
+ },
+ {
+ "name": "Niklas Keller",
+ "email": "me@kelunik.com"
}
],
- "description": "Collect - Illuminate Collections as a separate package.",
+ "description": "A non-blocking concurrency framework for PHP applications.",
+ "homepage": "https://amphp.org/amp",
"keywords": [
- "collection",
- "laravel"
+ "async",
+ "asynchronous",
+ "awaitable",
+ "concurrency",
+ "event",
+ "event-loop",
+ "future",
+ "non-blocking",
+ "promise"
],
"support": {
- "issues": "https://github.com/tighten/collect/issues",
- "source": "https://github.com/tighten/collect/tree/v8.83.27"
+ "irc": "irc://irc.freenode.org/amphp",
+ "issues": "https://github.com/amphp/amp/issues",
+ "source": "https://github.com/amphp/amp/tree/v2.6.2"
},
- "time": "2023-01-13T18:05:42+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/amphp",
+ "type": "github"
+ }
+ ],
+ "time": "2022-02-20T17:52:18+00:00"
},
{
- "name": "twig/extra-bundle",
- "version": "v3.7.1",
+ "name": "amphp/byte-stream",
+ "version": "v1.8.1",
"source": {
"type": "git",
- "url": "https://github.com/twigphp/twig-extra-bundle.git",
- "reference": "f10baafe6eb0ecd615d52d5cbfb713a39f68e8f3"
+ "url": "https://github.com/amphp/byte-stream.git",
+ "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/f10baafe6eb0ecd615d52d5cbfb713a39f68e8f3",
- "reference": "f10baafe6eb0ecd615d52d5cbfb713a39f68e8f3",
+ "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd",
+ "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/framework-bundle": "^5.4|^6.0",
- "symfony/twig-bundle": "^5.4|^6.0",
- "twig/twig": "^2.7|^3.0"
+ "amphp/amp": "^2",
+ "php": ">=7.1"
},
"require-dev": {
- "league/commonmark": "^1.0|^2.0",
- "symfony/phpunit-bridge": "^5.4|^6.3",
- "twig/cache-extra": "^3.0",
- "twig/cssinliner-extra": "^2.12|^3.0",
- "twig/html-extra": "^2.12|^3.0",
- "twig/inky-extra": "^2.12|^3.0",
- "twig/intl-extra": "^2.12|^3.0",
- "twig/markdown-extra": "^2.12|^3.0",
- "twig/string-extra": "^2.12|^3.0"
+ "amphp/php-cs-fixer-config": "dev-master",
+ "amphp/phpunit-util": "^1.4",
+ "friendsofphp/php-cs-fixer": "^2.3",
+ "jetbrains/phpstorm-stubs": "^2019.3",
+ "phpunit/phpunit": "^6 || ^7 || ^8",
+ "psalm/phar": "^3.11.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
},
- "type": "symfony-bundle",
"autoload": {
+ "files": [
+ "lib/functions.php"
+ ],
"psr-4": {
- "Twig\\Extra\\TwigExtraBundle\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Amp\\ByteStream\\": "lib"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -14154,128 +16629,101 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com",
- "homepage": "http://fabien.potencier.org",
- "role": "Lead Developer"
+ "name": "Aaron Piotrowski",
+ "email": "aaron@trowski.com"
+ },
+ {
+ "name": "Niklas Keller",
+ "email": "me@kelunik.com"
}
],
- "description": "A Symfony bundle for extra Twig extensions",
- "homepage": "https://twig.symfony.com",
+ "description": "A stream abstraction to make working with non-blocking I/O simple.",
+ "homepage": "http://amphp.org/byte-stream",
"keywords": [
- "bundle",
- "extra",
- "twig"
+ "amp",
+ "amphp",
+ "async",
+ "io",
+ "non-blocking",
+ "stream"
],
"support": {
- "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.7.1"
+ "irc": "irc://irc.freenode.org/amphp",
+ "issues": "https://github.com/amphp/byte-stream/issues",
+ "source": "https://github.com/amphp/byte-stream/tree/v1.8.1"
},
"funding": [
{
- "url": "https://github.com/fabpot",
+ "url": "https://github.com/amphp",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/twig/twig",
- "type": "tidelift"
}
],
- "time": "2023-07-29T15:34:56+00:00"
+ "time": "2021-03-30T17:13:30+00:00"
},
{
- "name": "twig/html-extra",
- "version": "v3.7.1",
+ "name": "dnoegel/php-xdg-base-dir",
+ "version": "v0.1.1",
"source": {
"type": "git",
- "url": "https://github.com/twigphp/html-extra.git",
- "reference": "95ceb36e70fa8d07af08cf5135ecbf5e0bd8f386"
+ "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
+ "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/html-extra/zipball/95ceb36e70fa8d07af08cf5135ecbf5e0bd8f386",
- "reference": "95ceb36e70fa8d07af08cf5135ecbf5e0bd8f386",
+ "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
+ "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
- "symfony/mime": "^5.4|^6.0",
- "twig/twig": "^2.7|^3.0"
+ "php": ">=5.3.2"
},
"require-dev": {
- "symfony/phpunit-bridge": "^5.4|^6.3"
+ "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35"
},
"type": "library",
"autoload": {
"psr-4": {
- "Twig\\Extra\\Html\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "XdgBaseDir\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com",
- "homepage": "http://fabien.potencier.org",
- "role": "Lead Developer"
- }
- ],
- "description": "A Twig extension for HTML",
- "homepage": "https://twig.symfony.com",
- "keywords": [
- "html",
- "twig"
- ],
+ "description": "implementation of xdg base directory specification for php",
"support": {
- "source": "https://github.com/twigphp/html-extra/tree/v3.7.1"
+ "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues",
+ "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1"
},
- "funding": [
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/twig/twig",
- "type": "tidelift"
- }
- ],
- "time": "2023-07-29T15:34:56+00:00"
+ "time": "2019-12-04T15:06:13+00:00"
},
{
- "name": "twig/intl-extra",
- "version": "v3.7.1",
+ "name": "facade/ignition-contracts",
+ "version": "1.0.2",
"source": {
"type": "git",
- "url": "https://github.com/twigphp/intl-extra.git",
- "reference": "4f4fe572f635534649cc069e1dafe4a8ad63774d"
+ "url": "https://github.com/facade/ignition-contracts.git",
+ "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/4f4fe572f635534649cc069e1dafe4a8ad63774d",
- "reference": "4f4fe572f635534649cc069e1dafe4a8ad63774d",
+ "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267",
+ "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
- "symfony/intl": "^5.4|^6.0",
- "twig/twig": "^2.7|^3.0"
+ "php": "^7.3|^8.0"
},
"require-dev": {
- "symfony/phpunit-bridge": "^5.4|^6.3"
+ "friendsofphp/php-cs-fixer": "^v2.15.8",
+ "phpunit/phpunit": "^9.3.11",
+ "vimeo/psalm": "^3.17.1"
},
"type": "library",
"autoload": {
"psr-4": {
- "Twig\\Extra\\Intl\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Facade\\IgnitionContracts\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -14283,260 +16731,223 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com",
- "homepage": "http://fabien.potencier.org",
- "role": "Lead Developer"
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://flareapp.io",
+ "role": "Developer"
}
],
- "description": "A Twig extension for Intl",
- "homepage": "https://twig.symfony.com",
+ "description": "Solution contracts for Ignition",
+ "homepage": "https://github.com/facade/ignition-contracts",
"keywords": [
- "intl",
- "twig"
+ "contracts",
+ "flare",
+ "ignition"
],
"support": {
- "source": "https://github.com/twigphp/intl-extra/tree/v3.7.1"
+ "issues": "https://github.com/facade/ignition-contracts/issues",
+ "source": "https://github.com/facade/ignition-contracts/tree/1.0.2"
},
- "funding": [
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/twig/twig",
- "type": "tidelift"
- }
- ],
- "time": "2023-07-29T15:34:56+00:00"
+ "time": "2020-10-16T08:27:54+00:00"
},
{
- "name": "twig/twig",
- "version": "v3.7.1",
+ "name": "felixfbecker/advanced-json-rpc",
+ "version": "v3.2.1",
"source": {
"type": "git",
- "url": "https://github.com/twigphp/Twig.git",
- "reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554"
+ "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
+ "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/a0ce373a0ca3bf6c64b9e3e2124aca502ba39554",
- "reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554",
+ "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
+ "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-mbstring": "^1.3"
+ "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
+ "php": "^7.1 || ^8.0",
+ "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
},
"require-dev": {
- "psr/container": "^1.0|^2.0",
- "symfony/phpunit-bridge": "^5.4.9|^6.3"
+ "phpunit/phpunit": "^7.0 || ^8.0"
},
"type": "library",
"autoload": {
"psr-4": {
- "Twig\\": "src/"
+ "AdvancedJsonRpc\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "ISC"
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com",
- "homepage": "http://fabien.potencier.org",
- "role": "Lead Developer"
- },
- {
- "name": "Twig Team",
- "role": "Contributors"
- },
- {
- "name": "Armin Ronacher",
- "email": "armin.ronacher@active-4.com",
- "role": "Project Founder"
+ "name": "Felix Becker",
+ "email": "felix.b@outlook.com"
}
],
- "description": "Twig, the flexible, fast, and secure template language for PHP",
- "homepage": "https://twig.symfony.com",
- "keywords": [
- "templating"
- ],
+ "description": "A more advanced JSONRPC implementation",
"support": {
- "issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.7.1"
+ "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
+ "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
},
- "funding": [
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/twig/twig",
- "type": "tidelift"
- }
- ],
- "time": "2023-08-28T11:09:02+00:00"
+ "time": "2021-06-11T22:34:44+00:00"
},
{
- "name": "ua-parser/uap-php",
- "version": "v3.9.14",
+ "name": "felixfbecker/language-server-protocol",
+ "version": "v1.5.2",
"source": {
"type": "git",
- "url": "https://github.com/ua-parser/uap-php.git",
- "reference": "b796c5ea5df588e65aeb4e2c6cce3811dec4fed6"
+ "url": "https://github.com/felixfbecker/php-language-server-protocol.git",
+ "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ua-parser/uap-php/zipball/b796c5ea5df588e65aeb4e2c6cce3811dec4fed6",
- "reference": "b796c5ea5df588e65aeb4e2c6cce3811dec4fed6",
+ "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842",
+ "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842",
"shasum": ""
},
"require": {
- "composer/ca-bundle": "^1.1",
- "php": "^7.2 || ^8.0"
+ "php": ">=7.1"
},
"require-dev": {
- "phpstan/phpstan": "^0.12.33",
- "phpunit/phpunit": "^8 || ^9",
- "symfony/console": "^3.4 || ^4.2 || ^4.3 || ^5.0",
- "symfony/filesystem": "^3.4 || ^4.2 || ^4.3 || ^5.0",
- "symfony/finder": "^3.4 || ^4.2 || ^4.3 || ^5.0",
- "symfony/yaml": "^3.4 || ^4.2 || ^4.3 || ^5.0",
- "vimeo/psalm": "^3.12"
- },
- "suggest": {
- "symfony/console": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
- "symfony/filesystem": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
- "symfony/finder": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0",
- "symfony/yaml": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0"
+ "phpstan/phpstan": "*",
+ "squizlabs/php_codesniffer": "^3.1",
+ "vimeo/psalm": "^4.0"
},
- "bin": [
- "bin/uaparser"
- ],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "UAParser\\": "src"
+ "LanguageServerProtocol\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "ISC"
],
"authors": [
{
- "name": "Dave Olsen",
- "email": "dmolsen@gmail.com"
- },
- {
- "name": "Lars Strojny",
- "email": "lars@strojny.net"
+ "name": "Felix Becker",
+ "email": "felix.b@outlook.com"
}
],
- "description": "A multi-language port of Browserscope's user agent parser.",
+ "description": "PHP classes for the Language Server Protocol",
+ "keywords": [
+ "language",
+ "microsoft",
+ "php",
+ "server"
+ ],
"support": {
- "issues": "https://github.com/ua-parser/uap-php/issues",
- "source": "https://github.com/ua-parser/uap-php/tree/v3.9.14"
+ "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
+ "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2"
},
- "time": "2020-10-02T23:36:20+00:00"
+ "time": "2022-03-02T22:36:06+00:00"
},
{
- "name": "webimpress/safe-writer",
- "version": "2.2.0",
+ "name": "fidry/cpu-core-counter",
+ "version": "1.0.0",
"source": {
"type": "git",
- "url": "https://github.com/webimpress/safe-writer.git",
- "reference": "9d37cc8bee20f7cb2f58f6e23e05097eab5072e6"
+ "url": "https://github.com/theofidry/cpu-core-counter.git",
+ "reference": "85193c0b0cb5c47894b5eaec906e946f054e7077"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webimpress/safe-writer/zipball/9d37cc8bee20f7cb2f58f6e23e05097eab5072e6",
- "reference": "9d37cc8bee20f7cb2f58f6e23e05097eab5072e6",
+ "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/85193c0b0cb5c47894b5eaec906e946f054e7077",
+ "reference": "85193c0b0cb5c47894b5eaec906e946f054e7077",
"shasum": ""
},
"require": {
- "php": "^7.3 || ^8.0"
+ "php": "^7.2 || ^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.5.4",
- "vimeo/psalm": "^4.7",
- "webimpress/coding-standard": "^1.2.2"
+ "fidry/makefile": "^0.2.0",
+ "fidry/php-cs-fixer-config": "^1.1.2",
+ "phpstan/extension-installer": "^1.2.0",
+ "phpstan/phpstan": "^1.9.2",
+ "phpstan/phpstan-deprecation-rules": "^1.0.0",
+ "phpstan/phpstan-phpunit": "^1.2.2",
+ "phpstan/phpstan-strict-rules": "^1.4.4",
+ "phpunit/phpunit": "^8.5.31 || ^9.5.26",
+ "webmozarts/strict-phpunit": "^7.5"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2.x-dev",
- "dev-develop": "2.3.x-dev",
- "dev-release-1.0": "1.0.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Webimpress\\SafeWriter\\": "src/"
+ "Fidry\\CpuCoreCounter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-2-Clause"
+ "MIT"
],
- "description": "Tool to write files safely, to avoid race conditions",
+ "authors": [
+ {
+ "name": "Théo FIDRY",
+ "email": "theo.fidry@gmail.com"
+ }
+ ],
+ "description": "Tiny utility to get the number of CPU cores.",
"keywords": [
- "concurrent write",
- "file writer",
- "race condition",
- "safe writer",
- "webimpress"
+ "CPU",
+ "core"
],
"support": {
- "issues": "https://github.com/webimpress/safe-writer/issues",
- "source": "https://github.com/webimpress/safe-writer/tree/2.2.0"
+ "issues": "https://github.com/theofidry/cpu-core-counter/issues",
+ "source": "https://github.com/theofidry/cpu-core-counter/tree/1.0.0"
},
"funding": [
{
- "url": "https://github.com/michalbundyra",
+ "url": "https://github.com/theofidry",
"type": "github"
}
],
- "time": "2021-04-19T16:34:45+00:00"
+ "time": "2023-09-17T21:38:23+00:00"
},
{
- "name": "webmozart/assert",
- "version": "1.11.0",
+ "name": "filp/whoops",
+ "version": "2.15.4",
"source": {
"type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+ "url": "https://github.com/filp/whoops.git",
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546",
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
- "php": "^7.2 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
+ "php": "^5.5.9 || ^7.0 || ^8.0",
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.13"
+ "mockery/mockery": "^0.9 || ^1.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
+ "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
+ },
+ "suggest": {
+ "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
+ "whoops/soap": "Formats errors as SOAP responses"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.10-dev"
+ "dev-master": "2.7-dev"
}
},
"autoload": {
"psr-4": {
- "Webmozart\\Assert\\": "src/"
+ "Whoops\\": "src/Whoops/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -14545,53 +16956,89 @@
],
"authors": [
{
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
+ "name": "Filipe Dobreira",
+ "homepage": "https://github.com/filp",
+ "role": "Developer"
}
],
- "description": "Assertions to validate method input/output with nice error messages.",
+ "description": "php error handling for cool kids",
+ "homepage": "https://filp.github.io/whoops/",
"keywords": [
- "assert",
- "check",
- "validate"
+ "error",
+ "exception",
+ "handling",
+ "library",
+ "throwable",
+ "whoops"
],
- "support": {
- "issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.11.0"
+ "support": {
+ "issues": "https://github.com/filp/whoops/issues",
+ "source": "https://github.com/filp/whoops/tree/2.15.4"
},
- "time": "2022-06-03T18:03:27+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/denis-sokolov",
+ "type": "github"
+ }
+ ],
+ "time": "2023-11-03T12:00:00+00:00"
},
{
- "name": "webmozart/path-util",
- "version": "2.3.0",
+ "name": "friendsofphp/php-cs-fixer",
+ "version": "v3.47.1",
"source": {
"type": "git",
- "url": "https://github.com/webmozart/path-util.git",
- "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
+ "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
+ "reference": "173c60d1eff911c9c54322704623a45561d3241d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
- "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/173c60d1eff911c9c54322704623a45561d3241d",
+ "reference": "173c60d1eff911c9c54322704623a45561d3241d",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "webmozart/assert": "~1.0"
+ "composer/semver": "^3.4",
+ "composer/xdebug-handler": "^3.0.3",
+ "ext-filter": "*",
+ "ext-json": "*",
+ "ext-tokenizer": "*",
+ "php": "^7.4 || ^8.0",
+ "sebastian/diff": "^4.0 || ^5.0",
+ "symfony/console": "^5.4 || ^6.0 || ^7.0",
+ "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0",
+ "symfony/filesystem": "^5.4 || ^6.0 || ^7.0",
+ "symfony/finder": "^5.4 || ^6.0 || ^7.0",
+ "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0",
+ "symfony/polyfill-mbstring": "^1.28",
+ "symfony/polyfill-php80": "^1.28",
+ "symfony/polyfill-php81": "^1.28",
+ "symfony/process": "^5.4 || ^6.0 || ^7.0",
+ "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.6",
- "sebastian/version": "^1.0.1"
+ "facile-it/paraunit": "^1.3 || ^2.0",
+ "justinrainbow/json-schema": "^5.2",
+ "keradus/cli-executor": "^2.1",
+ "mikey179/vfsstream": "^1.6.11",
+ "php-coveralls/php-coveralls": "^2.7",
+ "php-cs-fixer/accessible-object": "^1.1",
+ "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4",
+ "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4",
+ "phpunit/phpunit": "^9.6 || ^10.5.5",
+ "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.3-dev"
- }
+ "suggest": {
+ "ext-dom": "For handling output formats in XML",
+ "ext-mbstring": "For handling non-UTF8 characters."
},
+ "bin": [
+ "php-cs-fixer"
+ ],
+ "type": "application",
"autoload": {
"psr-4": {
- "Webmozart\\PathUtil\\": "src/"
+ "PhpCsFixer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -14600,166 +17047,186 @@
],
"authors": [
{
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Dariusz Rumiński",
+ "email": "dariusz.ruminski@gmail.com"
}
],
- "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
+ "description": "A tool to automatically fix PHP code style",
+ "keywords": [
+ "Static code analysis",
+ "fixer",
+ "standards",
+ "static analysis"
+ ],
"support": {
- "issues": "https://github.com/webmozart/path-util/issues",
- "source": "https://github.com/webmozart/path-util/tree/2.3.0"
+ "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.47.1"
},
- "abandoned": "symfony/filesystem",
- "time": "2015-12-17T08:42:14+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/keradus",
+ "type": "github"
+ }
+ ],
+ "time": "2024-01-16T18:54:21+00:00"
},
{
- "name": "webonyx/graphql-php",
- "version": "v14.11.10",
+ "name": "myclabs/deep-copy",
+ "version": "1.11.1",
"source": {
"type": "git",
- "url": "https://github.com/webonyx/graphql-php.git",
- "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19"
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/d9c2fdebc6aa01d831bc2969da00e8588cffef19",
- "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "ext-mbstring": "*",
- "php": "^7.1 || ^8"
+ "php": "^7.1 || ^8.0"
},
- "require-dev": {
- "amphp/amp": "^2.3",
- "doctrine/coding-standard": "^6.0",
- "nyholm/psr7": "^1.2",
- "phpbench/phpbench": "^1.2",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "0.12.82",
- "phpstan/phpstan-phpunit": "0.12.18",
- "phpstan/phpstan-strict-rules": "0.12.9",
- "phpunit/phpunit": "^7.2 || ^8.5",
- "psr/http-message": "^1.0",
- "react/promise": "2.*",
- "simpod/php-coveralls-mirror": "^3.0"
+ "conflict": {
+ "doctrine/collections": "<1.6.8",
+ "doctrine/common": "<2.13.3 || >=3,<3.2.2"
},
- "suggest": {
- "psr/http-message": "To use standard GraphQL server",
- "react/promise": "To leverage async resolving on React PHP platform"
+ "require-dev": {
+ "doctrine/collections": "^1.6.8",
+ "doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
"type": "library",
"autoload": {
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ],
"psr-4": {
- "GraphQL\\": "src/"
+ "DeepCopy\\": "src/DeepCopy/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "A PHP port of GraphQL reference implementation",
- "homepage": "https://github.com/webonyx/graphql-php",
+ "description": "Create deep copies (clones) of your objects",
"keywords": [
- "api",
- "graphql"
+ "clone",
+ "copy",
+ "duplicate",
+ "object",
+ "object graph"
],
"support": {
- "issues": "https://github.com/webonyx/graphql-php/issues",
- "source": "https://github.com/webonyx/graphql-php/tree/v14.11.10"
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
},
"funding": [
{
- "url": "https://opencollective.com/webonyx-graphql-php",
- "type": "open_collective"
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
}
],
- "time": "2023-07-05T14:23:37+00:00"
+ "time": "2023-03-08T13:26:56+00:00"
},
{
- "name": "willdurand/negotiation",
- "version": "3.1.0",
+ "name": "netresearch/jsonmapper",
+ "version": "v4.2.0",
"source": {
"type": "git",
- "url": "https://github.com/willdurand/Negotiation.git",
- "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2"
+ "url": "https://github.com/cweiske/jsonmapper.git",
+ "reference": "f60565f8c0566a31acf06884cdaa591867ecc956"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/68e9ea0553ef6e2ee8db5c1d98829f111e623ec2",
- "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956",
+ "reference": "f60565f8c0566a31acf06884cdaa591867ecc956",
"shasum": ""
},
"require": {
- "php": ">=7.1.0"
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-reflection": "*",
+ "ext-spl": "*",
+ "php": ">=7.1"
},
"require-dev": {
- "symfony/phpunit-bridge": "^5.0"
+ "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
+ "squizlabs/php_codesniffer": "~3.5"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
"autoload": {
- "psr-4": {
- "Negotiation\\": "src/Negotiation"
+ "psr-0": {
+ "JsonMapper": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "OSL-3.0"
],
"authors": [
{
- "name": "William Durand",
- "email": "will+git@drnd.me"
+ "name": "Christian Weiske",
+ "email": "cweiske@cweiske.de",
+ "homepage": "http://github.com/cweiske/jsonmapper/",
+ "role": "Developer"
}
],
- "description": "Content Negotiation tools for PHP provided as a standalone library.",
- "homepage": "http://williamdurand.fr/Negotiation/",
- "keywords": [
- "accept",
- "content",
- "format",
- "header",
- "negotiation"
- ],
+ "description": "Map nested JSON structures onto PHP classes",
"support": {
- "issues": "https://github.com/willdurand/Negotiation/issues",
- "source": "https://github.com/willdurand/Negotiation/tree/3.1.0"
+ "email": "cweiske@cweiske.de",
+ "issues": "https://github.com/cweiske/jsonmapper/issues",
+ "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0"
},
- "time": "2022-01-30T20:08:53+00:00"
+ "time": "2023-04-09T17:37:40+00:00"
},
{
- "name": "xemlock/htmlpurifier-html5",
- "version": "v0.1.11",
+ "name": "nunomaduro/collision",
+ "version": "v5.11.0",
"source": {
"type": "git",
- "url": "https://github.com/xemlock/htmlpurifier-html5.git",
- "reference": "f0d563f9fd4a82a3d759043483f9a94c0d8c2255"
+ "url": "https://github.com/nunomaduro/collision.git",
+ "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/xemlock/htmlpurifier-html5/zipball/f0d563f9fd4a82a3d759043483f9a94c0d8c2255",
- "reference": "f0d563f9fd4a82a3d759043483f9a94c0d8c2255",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/8b610eef8582ccdc05d8f2ab23305e2d37049461",
+ "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461",
"shasum": ""
},
"require": {
- "ezyang/htmlpurifier": "^4.8",
- "php": ">=5.2"
+ "facade/ignition-contracts": "^1.0",
+ "filp/whoops": "^2.14.3",
+ "php": "^7.3 || ^8.0",
+ "symfony/console": "^5.0"
},
"require-dev": {
- "php-coveralls/php-coveralls": "^1.1|^2.1",
- "phpunit/phpunit": ">=4.7 <8.0"
+ "brianium/paratest": "^6.1",
+ "fideloper/proxy": "^4.4.1",
+ "fruitcake/laravel-cors": "^2.0.3",
+ "laravel/framework": "8.x-dev",
+ "nunomaduro/larastan": "^0.6.2",
+ "nunomaduro/mock-final-classes": "^1.0",
+ "orchestra/testbench": "^6.0",
+ "phpstan/phpstan": "^0.12.64",
+ "phpunit/phpunit": "^9.5.0"
},
"type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
+ ]
+ }
+ },
"autoload": {
- "classmap": [
- "library/HTMLPurifier/"
- ]
+ "psr-4": {
+ "NunoMaduro\\Collision\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -14767,92 +17234,99 @@
],
"authors": [
{
- "name": "xemlock",
- "email": "xemlock@gmail.com"
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
}
],
- "description": "HTML5 element definitions for HTML Purifier",
+ "description": "Cli error handling for console/command-line PHP applications.",
"keywords": [
- "HTML5",
- "Purifier",
- "html",
- "htmlpurifier",
- "security",
- "tidy",
- "validator",
- "xss"
+ "artisan",
+ "cli",
+ "command-line",
+ "console",
+ "error",
+ "handling",
+ "laravel",
+ "laravel-zero",
+ "php",
+ "symfony"
],
"support": {
- "issues": "https://github.com/xemlock/htmlpurifier-html5/issues",
- "source": "https://github.com/xemlock/htmlpurifier-html5/tree/master"
+ "issues": "https://github.com/nunomaduro/collision/issues",
+ "source": "https://github.com/nunomaduro/collision"
},
- "time": "2019-08-07T17:19:21+00:00"
- }
- ],
- "packages-dev": [
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/nunomaduro",
+ "type": "patreon"
+ }
+ ],
+ "time": "2022-01-10T16:22:52+00:00"
+ },
{
- "name": "friendsofphp/php-cs-fixer",
- "version": "v3.34.0",
+ "name": "pestphp/pest",
+ "version": "v1.23.1",
"source": {
"type": "git",
- "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "7c7a4ad2ed8fe50df3e25528218b13d383608f23"
+ "url": "https://github.com/pestphp/pest.git",
+ "reference": "5c56ad8772b89611c72a07e23f6e30aa29dc677a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/7c7a4ad2ed8fe50df3e25528218b13d383608f23",
- "reference": "7c7a4ad2ed8fe50df3e25528218b13d383608f23",
+ "url": "https://api.github.com/repos/pestphp/pest/zipball/5c56ad8772b89611c72a07e23f6e30aa29dc677a",
+ "reference": "5c56ad8772b89611c72a07e23f6e30aa29dc677a",
"shasum": ""
},
"require": {
- "composer/semver": "^3.3",
- "composer/xdebug-handler": "^3.0.3",
- "ext-json": "*",
- "ext-tokenizer": "*",
- "php": "^7.4 || ^8.0",
- "sebastian/diff": "^4.0 || ^5.0",
- "symfony/console": "^5.4 || ^6.0",
- "symfony/event-dispatcher": "^5.4 || ^6.0",
- "symfony/filesystem": "^5.4 || ^6.0",
- "symfony/finder": "^5.4 || ^6.0",
- "symfony/options-resolver": "^5.4 || ^6.0",
- "symfony/polyfill-mbstring": "^1.27",
- "symfony/polyfill-php80": "^1.27",
- "symfony/polyfill-php81": "^1.27",
- "symfony/process": "^5.4 || ^6.0",
- "symfony/stopwatch": "^5.4 || ^6.0"
- },
- "conflict": {
- "stevebauman/unfinalize": "*"
+ "nunomaduro/collision": "^5.11.0|^6.4.0",
+ "pestphp/pest-plugin": "^1.1.0",
+ "php": "^7.3 || ^8.0",
+ "phpunit/phpunit": "^9.6.10"
},
"require-dev": {
- "facile-it/paraunit": "^1.3 || ^2.0",
- "justinrainbow/json-schema": "^5.2",
- "keradus/cli-executor": "^2.0",
- "mikey179/vfsstream": "^1.6.11",
- "php-coveralls/php-coveralls": "^2.5.3",
- "php-cs-fixer/accessible-object": "^1.1",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1",
- "phpspec/prophecy": "^1.16",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpunit/phpunit": "^9.5",
- "phpunitgoodpractices/polyfill": "^1.6",
- "phpunitgoodpractices/traits": "^1.9.2",
- "symfony/phpunit-bridge": "^6.2.3",
- "symfony/yaml": "^5.4 || ^6.0"
+ "illuminate/console": "^8.83.27",
+ "illuminate/support": "^8.83.27",
+ "laravel/dusk": "^6.25.2",
+ "pestphp/pest-dev-tools": "^1.0.0",
+ "pestphp/pest-plugin-parallel": "^1.2.1"
},
- "suggest": {
- "ext-dom": "For handling output formats in XML",
- "ext-mbstring": "For handling non-UTF8 characters."
+ "bin": [
+ "bin/pest"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.x-dev"
+ },
+ "pest": {
+ "plugins": [
+ "Pest\\Plugins\\Coverage",
+ "Pest\\Plugins\\Init",
+ "Pest\\Plugins\\Version",
+ "Pest\\Plugins\\Environment"
+ ]
+ },
+ "laravel": {
+ "providers": [
+ "Pest\\Laravel\\PestServiceProvider"
+ ]
+ }
},
- "bin": [
- "php-cs-fixer"
- ],
- "type": "application",
"autoload": {
+ "files": [
+ "src/Functions.php",
+ "src/Pest.php"
+ ],
"psr-4": {
- "PhpCsFixer\\": "src/"
+ "Pest\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -14861,91 +17335,106 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Dariusz Rumiński",
- "email": "dariusz.ruminski@gmail.com"
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
}
],
- "description": "A tool to automatically fix PHP code style",
+ "description": "An elegant PHP Testing Framework.",
"keywords": [
- "Static code analysis",
- "fixer",
- "standards",
- "static analysis"
+ "framework",
+ "pest",
+ "php",
+ "test",
+ "testing",
+ "unit"
],
"support": {
- "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.34.0"
+ "issues": "https://github.com/pestphp/pest/issues",
+ "source": "https://github.com/pestphp/pest/tree/v1.23.1"
},
"funding": [
{
- "url": "https://github.com/keradus",
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
"type": "github"
}
],
- "time": "2023-09-29T15:34:26+00:00"
+ "time": "2023-07-12T19:42:47+00:00"
},
{
- "name": "myclabs/deep-copy",
- "version": "1.11.1",
+ "name": "pestphp/pest-plugin",
+ "version": "v1.1.0",
"source": {
"type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+ "url": "https://github.com/pestphp/pest-plugin.git",
+ "reference": "606c5f79c6a339b49838ffbee0151ca519efe378"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
- "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/606c5f79c6a339b49838ffbee0151ca519efe378",
+ "reference": "606c5f79c6a339b49838ffbee0151ca519efe378",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "composer-plugin-api": "^1.1.0 || ^2.0.0",
+ "php": "^7.3 || ^8.0"
},
"conflict": {
- "doctrine/collections": "<1.6.8",
- "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+ "pestphp/pest": "<1.0"
},
"require-dev": {
- "doctrine/collections": "^1.6.8",
- "doctrine/common": "^2.13.3 || ^3.2.2",
- "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
+ "composer/composer": "^2.4.2",
+ "pestphp/pest": "^1.22.1",
+ "pestphp/pest-dev-tools": "^1.0.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ },
+ "class": "Pest\\Plugin\\Manager"
},
- "type": "library",
"autoload": {
- "files": [
- "src/DeepCopy/deep_copy.php"
- ],
"psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
+ "Pest\\Plugin\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Create deep copies (clones) of your objects",
+ "description": "The Pest plugin manager",
"keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
+ "framework",
+ "manager",
+ "pest",
+ "php",
+ "plugin",
+ "test",
+ "testing",
+ "unit"
],
"support": {
- "issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+ "source": "https://github.com/pestphp/pest-plugin/tree/v1.1.0"
},
"funding": [
{
- "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
- "type": "tidelift"
+ "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/nunomaduro",
+ "type": "patreon"
}
],
- "time": "2023-03-08T13:26:56+00:00"
+ "time": "2022-09-18T13:18:17+00:00"
},
{
"name": "phar-io/manifest",
@@ -15060,16 +17549,16 @@
},
{
"name": "phpstan/phpstan",
- "version": "1.10.37",
+ "version": "1.10.56",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "058ba07e92f744d4dcf6061ae75283d0c6456f2e"
+ "reference": "27816a01aea996191ee14d010f325434c0ee76fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/058ba07e92f744d4dcf6061ae75283d0c6456f2e",
- "reference": "058ba07e92f744d4dcf6061ae75283d0c6456f2e",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/27816a01aea996191ee14d010f325434c0ee76fa",
+ "reference": "27816a01aea996191ee14d010f325434c0ee76fa",
"shasum": ""
},
"require": {
@@ -15118,25 +17607,25 @@
"type": "tidelift"
}
],
- "time": "2023-10-02T16:18:37+00:00"
+ "time": "2024-01-15T10:43:00+00:00"
},
{
"name": "phpstan/phpstan-doctrine",
- "version": "1.3.43",
+ "version": "1.3.57",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-doctrine.git",
- "reference": "c5015035755ad2d5013bd6bf98ff423ca6150822"
+ "reference": "b3e7d2d45edf5e423132901a5563f30c391990a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/c5015035755ad2d5013bd6bf98ff423ca6150822",
- "reference": "c5015035755ad2d5013bd6bf98ff423ca6150822",
+ "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/b3e7d2d45edf5e423132901a5563f30c391990a0",
+ "reference": "b3e7d2d45edf5e423132901a5563f30c391990a0",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0",
- "phpstan/phpstan": "^1.10.12"
+ "phpstan/phpstan": "^1.10.48"
},
"conflict": {
"doctrine/collections": "<1.0",
@@ -15153,7 +17642,7 @@
"doctrine/dbal": "^2.13.8 || ^3.3.3",
"doctrine/lexer": "^1.2.1",
"doctrine/mongodb-odm": "^1.3 || ^2.1",
- "doctrine/orm": "^2.11.0",
+ "doctrine/orm": "^2.14.0",
"doctrine/persistence": "^1.3.8 || ^2.2.1",
"gedmo/doctrine-extensions": "^3.8",
"nesbot/carbon": "^2.49",
@@ -15186,22 +17675,22 @@
"description": "Doctrine extensions for PHPStan",
"support": {
"issues": "https://github.com/phpstan/phpstan-doctrine/issues",
- "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.43"
+ "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.57"
},
- "time": "2023-09-01T15:01:13+00:00"
+ "time": "2024-01-16T12:26:37+00:00"
},
{
"name": "phpstan/phpstan-symfony",
- "version": "1.3.4",
+ "version": "1.3.7",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-symfony.git",
- "reference": "383855999db6a7d65d0bf580ce2762e17188c2a5"
+ "reference": "ef7db637be9b85fa00278fc3477ac66abe8eb7d1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/383855999db6a7d65d0bf580ce2762e17188c2a5",
- "reference": "383855999db6a7d65d0bf580ce2762e17188c2a5",
+ "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/ef7db637be9b85fa00278fc3477ac66abe8eb7d1",
+ "reference": "ef7db637be9b85fa00278fc3477ac66abe8eb7d1",
"shasum": ""
},
"require": {
@@ -15258,29 +17747,29 @@
"description": "Symfony Framework extensions and rules for PHPStan",
"support": {
"issues": "https://github.com/phpstan/phpstan-symfony/issues",
- "source": "https://github.com/phpstan/phpstan-symfony/tree/1.3.4"
+ "source": "https://github.com/phpstan/phpstan-symfony/tree/1.3.7"
},
- "time": "2023-09-29T14:10:11+00:00"
+ "time": "2024-01-10T21:54:42+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.29",
+ "version": "9.2.30",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
+ "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089",
+ "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.15",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@@ -15330,7 +17819,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30"
},
"funding": [
{
@@ -15338,7 +17827,7 @@
"type": "github"
}
],
- "time": "2023-09-19T04:57:46+00:00"
+ "time": "2023-12-22T06:47:57+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -15583,16 +18072,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.13",
+ "version": "9.6.15",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be"
+ "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be",
- "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/05017b80304e0eb3f31d90194a563fd53a6021f1",
+ "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1",
"shasum": ""
},
"require": {
@@ -15666,7 +18155,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.15"
},
"funding": [
{
@@ -15682,7 +18171,72 @@
"type": "tidelift"
}
],
- "time": "2023-09-19T05:39:22+00:00"
+ "time": "2023-12-01T16:55:19+00:00"
+ },
+ {
+ "name": "psalm/plugin-symfony",
+ "version": "v5.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/psalm/psalm-plugin-symfony.git",
+ "reference": "f23ec3439743fb24f5c1101e52d032f23d5befa6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/psalm/psalm-plugin-symfony/zipball/f23ec3439743fb24f5c1101e52d032f23d5befa6",
+ "reference": "f23ec3439743fb24f5c1101e52d032f23d5befa6",
+ "shasum": ""
+ },
+ "require": {
+ "ext-simplexml": "*",
+ "php": "^7.4 || ^8.0",
+ "symfony/framework-bundle": "^5.0 || ^6.0 || ^7.0",
+ "vimeo/psalm": "^5.1"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.8|^2",
+ "doctrine/orm": "^2.9",
+ "phpunit/phpunit": "~7.5 || ~9.5",
+ "symfony/cache-contracts": "^1.0 || ^2.0",
+ "symfony/console": "*",
+ "symfony/form": "^5.0 || ^6.0 || ^7.0",
+ "symfony/messenger": "^5.0 || ^6.0 || ^7.0",
+ "symfony/security-guard": "*",
+ "symfony/serializer": "^5.0 || ^6.0 || ^7.0",
+ "symfony/validator": "*",
+ "twig/twig": "^2.10 || ^3.0",
+ "weirdan/codeception-psalm-module": "dev-master"
+ },
+ "suggest": {
+ "weirdan/doctrine-psalm-plugin": "If Doctrine is used, it is recommended install this plugin"
+ },
+ "type": "psalm-plugin",
+ "extra": {
+ "psalm": {
+ "pluginClass": "Psalm\\SymfonyPsalmPlugin\\Plugin"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psalm\\SymfonyPsalmPlugin\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Farhad Safarov",
+ "email": "farhad.safarov@gmail.com"
+ }
+ ],
+ "description": "Psalm Plugin for Symfony",
+ "support": {
+ "issues": "https://github.com/psalm/psalm-plugin-symfony/issues",
+ "source": "https://github.com/psalm/psalm-plugin-symfony/tree/v5.1.0"
+ },
+ "time": "2023-11-12T10:04:27+00:00"
},
{
"name": "qossmic/deptrac-shim",
@@ -15982,20 +18536,20 @@
},
{
"name": "sebastian/complexity",
- "version": "2.0.2",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.7",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=7.3"
},
"require-dev": {
@@ -16027,7 +18581,7 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
},
"funding": [
{
@@ -16035,7 +18589,7 @@
"type": "github"
}
],
- "time": "2020-10-26T15:52:27+00:00"
+ "time": "2023-12-22T06:19:30+00:00"
},
{
"name": "sebastian/diff",
@@ -16309,20 +18863,20 @@
},
{
"name": "sebastian/lines-of-code",
- "version": "1.0.3",
+ "version": "1.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.6",
+ "nikic/php-parser": "^4.18 || ^5.0",
"php": ">=7.3"
},
"require-dev": {
@@ -16354,7 +18908,7 @@
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4"
},
"funding": [
{
@@ -16362,7 +18916,7 @@
"type": "github"
}
],
- "time": "2020-11-28T06:42:11+00:00"
+ "time": "2023-12-22T06:20:34+00:00"
},
{
"name": "sebastian/object-enumerator",
@@ -16703,18 +19257,81 @@
],
"time": "2020-09-28T06:39:44+00:00"
},
+ {
+ "name": "spatie/array-to-xml",
+ "version": "3.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/array-to-xml.git",
+ "reference": "96be97e664c87613121d073ea39af4c74e57a7f8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/96be97e664c87613121d073ea39af4c74e57a7f8",
+ "reference": "96be97e664c87613121d073ea39af4c74e57a7f8",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.2",
+ "pestphp/pest": "^1.21",
+ "spatie/pest-plugin-snapshots": "^1.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\ArrayToXml\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://freek.dev",
+ "role": "Developer"
+ }
+ ],
+ "description": "Convert an array to xml",
+ "homepage": "https://github.com/spatie/array-to-xml",
+ "keywords": [
+ "array",
+ "convert",
+ "xml"
+ ],
+ "support": {
+ "source": "https://github.com/spatie/array-to-xml/tree/3.2.2"
+ },
+ "funding": [
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2023-11-14T14:08:51+00:00"
+ },
{
"name": "symfony/phpunit-bridge",
- "version": "v6.3.2",
+ "version": "v6.4.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git",
- "reference": "e020e1efbd1b42cb670fcd7d19a25abbddba035d"
+ "reference": "bd0455b7888e4adac29cf175d819c51f88fed942"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/e020e1efbd1b42cb670fcd7d19a25abbddba035d",
- "reference": "e020e1efbd1b42cb670fcd7d19a25abbddba035d",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/bd0455b7888e4adac29cf175d819c51f88fed942",
+ "reference": "bd0455b7888e4adac29cf175d819c51f88fed942",
"shasum": ""
},
"require": {
@@ -16725,7 +19342,7 @@
},
"require-dev": {
"symfony/deprecation-contracts": "^2.5|^3.0",
- "symfony/error-handler": "^5.4|^6.0",
+ "symfony/error-handler": "^5.4|^6.0|^7.0",
"symfony/polyfill-php81": "^1.27"
},
"bin": [
@@ -16766,7 +19383,7 @@
"description": "Provides utilities for PHPUnit, especially user deprecation notices management",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/phpunit-bridge/tree/v6.3.2"
+ "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.2"
},
"funding": [
{
@@ -16782,7 +19399,7 @@
"type": "tidelift"
}
],
- "time": "2023-07-12T16:00:22+00:00"
+ "time": "2023-12-19T09:12:31+00:00"
},
{
"name": "symplify/easy-coding-standard",
@@ -16841,16 +19458,16 @@
},
{
"name": "theseer/tokenizer",
- "version": "1.2.1",
+ "version": "1.2.2",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
+ "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
"shasum": ""
},
"require": {
@@ -16879,7 +19496,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.2"
},
"funding": [
{
@@ -16887,7 +19504,195 @@
"type": "github"
}
],
- "time": "2021-07-28T10:34:58+00:00"
+ "time": "2023-11-20T00:12:19+00:00"
+ },
+ {
+ "name": "vimeo/psalm",
+ "version": "5.19.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/vimeo/psalm.git",
+ "reference": "06b71be009a6bd6d81b9811855d6629b9fe90e1b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/vimeo/psalm/zipball/06b71be009a6bd6d81b9811855d6629b9fe90e1b",
+ "reference": "06b71be009a6bd6d81b9811855d6629b9fe90e1b",
+ "shasum": ""
+ },
+ "require": {
+ "amphp/amp": "^2.4.2",
+ "amphp/byte-stream": "^1.5",
+ "composer-runtime-api": "^2",
+ "composer/semver": "^1.4 || ^2.0 || ^3.0",
+ "composer/xdebug-handler": "^2.0 || ^3.0",
+ "dnoegel/php-xdg-base-dir": "^0.1.1",
+ "ext-ctype": "*",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "felixfbecker/advanced-json-rpc": "^3.1",
+ "felixfbecker/language-server-protocol": "^1.5.2",
+ "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0",
+ "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
+ "nikic/php-parser": "^4.16",
+ "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0",
+ "sebastian/diff": "^4.0 || ^5.0",
+ "spatie/array-to-xml": "^2.17.0 || ^3.0",
+ "symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0",
+ "symfony/filesystem": "^5.4 || ^6.0 || ^7.0"
+ },
+ "conflict": {
+ "nikic/php-parser": "4.17.0"
+ },
+ "provide": {
+ "psalm/psalm": "self.version"
+ },
+ "require-dev": {
+ "amphp/phpunit-util": "^2.0",
+ "bamarni/composer-bin-plugin": "^1.4",
+ "brianium/paratest": "^6.9",
+ "ext-curl": "*",
+ "mockery/mockery": "^1.5",
+ "nunomaduro/mock-final-classes": "^1.1",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/phpdoc-parser": "^1.6",
+ "phpunit/phpunit": "^9.6",
+ "psalm/plugin-mockery": "^1.1",
+ "psalm/plugin-phpunit": "^0.18",
+ "slevomat/coding-standard": "^8.4",
+ "squizlabs/php_codesniffer": "^3.6",
+ "symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0"
+ },
+ "suggest": {
+ "ext-curl": "In order to send data to shepherd",
+ "ext-igbinary": "^2.0.5 is required, used to serialize caching data"
+ },
+ "bin": [
+ "psalm",
+ "psalm-language-server",
+ "psalm-plugin",
+ "psalm-refactor",
+ "psalter"
+ ],
+ "type": "project",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev",
+ "dev-4.x": "4.x-dev",
+ "dev-3.x": "3.x-dev",
+ "dev-2.x": "2.x-dev",
+ "dev-1.x": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psalm\\": "src/Psalm/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matthew Brown"
+ }
+ ],
+ "description": "A static analysis tool for finding errors in PHP applications",
+ "keywords": [
+ "code",
+ "inspection",
+ "php",
+ "static analysis"
+ ],
+ "support": {
+ "docs": "https://psalm.dev/docs",
+ "issues": "https://github.com/vimeo/psalm/issues",
+ "source": "https://github.com/vimeo/psalm"
+ },
+ "time": "2024-01-09T21:02:43+00:00"
+ },
+ {
+ "name": "weirdan/doctrine-psalm-plugin",
+ "version": "v2.9.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/psalm/psalm-plugin-doctrine.git",
+ "reference": "3db8e55b2ea15373338d2a3eab71c5f5a31c8b08"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/psalm/psalm-plugin-doctrine/zipball/3db8e55b2ea15373338d2a3eab71c5f5a31c8b08",
+ "reference": "3db8e55b2ea15373338d2a3eab71c5f5a31c8b08",
+ "shasum": ""
+ },
+ "require": {
+ "composer/semver": "^1.4 || ^2.0 || ^3.0",
+ "php": "^7.2 || ^8",
+ "vimeo/psalm": "^4.28|^5.0"
+ },
+ "conflict": {
+ "doctrine/collections": "<1.8",
+ "doctrine/orm": "<2.6",
+ "doctrine/persistence": "<2.0"
+ },
+ "require-dev": {
+ "codeception/codeception": "^4.0",
+ "doctrine/coding-standard": "^9.0",
+ "doctrine/collections": "^1.8 || ^2.0",
+ "doctrine/doctrine-bundle": "^1.11 || ^2.0",
+ "doctrine/orm": "^2.6",
+ "doctrine/persistence": "^2.0",
+ "phly/keep-a-changelog": "^2.1",
+ "squizlabs/php_codesniffer": "^3.3",
+ "weirdan/codeception-psalm-module": "^0.13.1"
+ },
+ "type": "psalm-plugin",
+ "extra": {
+ "psalm": {
+ "pluginClass": "Weirdan\\DoctrinePsalmPlugin\\Plugin"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Weirdan\\DoctrinePsalmPlugin\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bruce Weirdan",
+ "email": "weirdan@gmail.com"
+ }
+ ],
+ "description": "Stubs to let Psalm understand Doctrine better",
+ "keywords": [
+ "code",
+ "dbal",
+ "doctrine",
+ "doctrine2",
+ "extension",
+ "inspection",
+ "orm",
+ "php",
+ "plugin",
+ "psalm",
+ "psalm-plugin",
+ "static analysis",
+ "static-analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/psalm/psalm-plugin-doctrine/issues",
+ "source": "https://github.com/psalm/psalm-plugin-doctrine/tree/v2.9.0"
+ },
+ "time": "2023-07-15T05:44:30+00:00"
}
],
"aliases": [],
diff --git a/config/bolt/menu.yaml b/config/bolt/menu.yaml
index bb75570..fc5bf97 100644
--- a/config/bolt/menu.yaml
+++ b/config/bolt/menu.yaml
@@ -25,6 +25,9 @@ top:
- label: Heist op den Berg
link: locatie/124
class: heistopdenberg
+ - label: Herselt
+ link: locatie/138
+ class: heistopdenberg
- label: Praktische info
class: mdi mdi-information
submenu:
@@ -80,7 +83,9 @@ footer_c1:
- label: Heist op den Berg
link: locatie/124
class: footer_heistopdenberg
-
+ - label: Herselt
+ link: locatie/138
+ class: footer_herselt
footer_c2:
- label: Over ons
link: trainers
diff --git a/config/bundles.php b/config/bundles.php
index d190461..a77fdb7 100644
--- a/config/bundles.php
+++ b/config/bundles.php
@@ -25,4 +25,5 @@
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle::class => ['all' => true],
DH\AuditorBundle\DHAuditorBundle::class => ['all' => true],
+ Sentry\SentryBundle\SentryBundle::class => ['prod' => true],
];
diff --git a/config/packages/http_discovery.yaml b/config/packages/http_discovery.yaml
new file mode 100644
index 0000000..2a789e7
--- /dev/null
+++ b/config/packages/http_discovery.yaml
@@ -0,0 +1,10 @@
+services:
+ Psr\Http\Message\RequestFactoryInterface: '@http_discovery.psr17_factory'
+ Psr\Http\Message\ResponseFactoryInterface: '@http_discovery.psr17_factory'
+ Psr\Http\Message\ServerRequestFactoryInterface: '@http_discovery.psr17_factory'
+ Psr\Http\Message\StreamFactoryInterface: '@http_discovery.psr17_factory'
+ Psr\Http\Message\UploadedFileFactoryInterface: '@http_discovery.psr17_factory'
+ Psr\Http\Message\UriFactoryInterface: '@http_discovery.psr17_factory'
+
+ http_discovery.psr17_factory:
+ class: Http\Discovery\Psr17Factory
diff --git a/config/packages/sentry.yaml b/config/packages/sentry.yaml
new file mode 100644
index 0000000..e042cb3
--- /dev/null
+++ b/config/packages/sentry.yaml
@@ -0,0 +1,28 @@
+when@prod:
+ sentry:
+ dsn: '%env(SENTRY_DSN)%'
+
+ # this hooks into critical paths of the framework (and vendors) to perform
+ # automatic instrumentation (there might be some performance penalty)
+ # https://docs.sentry.io/platforms/php/guides/symfony/performance/instrumentation/automatic-instrumentation/
+ #tracing:
+ # enabled: false
+
+
+# If you are using Monolog, you also need this additional configuration to log the errors correctly:
+# https://docs.sentry.io/platforms/php/guides/symfony/#monolog-integration
+# register_error_listener: false
+# register_error_handler: false
+
+# monolog:
+# handlers:
+# sentry:
+# type: sentry
+# level: !php/const Monolog\Logger::ERROR
+# hub_id: Sentry\State\HubInterface
+
+# Uncomment these lines to register a log message processor that resolves PSR-3 placeholders
+# https://docs.sentry.io/platforms/php/guides/symfony/#monolog-integration
+# services:
+# Monolog\Processor\PsrLogMessageProcessor:
+# tags: { name: monolog.processor, handler: sentry }
diff --git a/docker-compose.yml b/docker-compose.yml
index bdcc8e7..721d475 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -100,7 +100,7 @@ services:
# working_dir: /app
# volumes:
# - .:/app
-# command: bash -c "cd frontends/member_module/ && npm install && npm run build"
+# command: bash -c "cd frontends/member_module/ && npm install && npm run build-only"
# docs-builder:
# image: node:latest
diff --git a/ecs.php b/ecs.php
index 93b0e68..5a6b178 100644
--- a/ecs.php
+++ b/ecs.php
@@ -57,10 +57,10 @@
$parameters->set('sets', ['clean-code', 'common', 'php70', 'php71', 'php81', 'psr12', 'symfony', 'symfony-risky']);
$parameters->set('paths', [
- __DIR__ . '/application',
- __DIR__ . '/tests',
- __DIR__ . '/src',
- __DIR__ . '/ecs.php',
+ __DIR__.'/application',
+ __DIR__.'/tests',
+ __DIR__.'/src',
+ __DIR__.'/ecs.php',
]);
$parameters->set('cache_directory', 'var/cache/ecs');
diff --git a/frontends/member_module/package.json b/frontends/member_module/package.json
index 2599ab1..27a2170 100644
--- a/frontends/member_module/package.json
+++ b/frontends/member_module/package.json
@@ -49,16 +49,16 @@
},
"devDependencies": {
"@types/dropzone": "^5.7.4",
- "@types/node": "^16.11.56",
+ "@types/node": "^20.11.0",
"@types/twig": "^1.12.9",
- "@vitejs/plugin-vue": "^3.0.3",
+ "@vitejs/plugin-vue": "^5.0.3",
"@vue/tsconfig": "^0.1.3",
"autoprefixer": "^10.4.12",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.17",
"tailwindcss": "^3.1.8",
- "typescript": "~4.7.4",
- "vite": "^3.0.9",
+ "typescript": "^5.3.3",
+ "vite": "^5.0.11",
"vue-tsc": "^0.40.7"
}
}
diff --git a/frontends/member_module/public/theme/nano/theme.css b/frontends/member_module/public/theme/nano/theme.css
new file mode 100644
index 0000000..3cabdd0
--- /dev/null
+++ b/frontends/member_module/public/theme/nano/theme.css
@@ -0,0 +1,5704 @@
+:root {
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+ --font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+ --surface-a:#ffffff;
+ --surface-b:#f2f4f8;
+ --surface-c:#dde1e6;
+ --surface-d:#dee2e6;
+ --surface-e:#ffffff;
+ --surface-f:#ffffff;
+ --text-color:#343a3f;
+ --text-color-secondary:#697077;
+ --primary-color:#1174c0;
+ --primary-color-text:#ffffff;
+ --surface-0: #ffffff;
+ --surface-50: #eff0f0;
+ --surface-100: #dfe0e1;
+ --surface-200: #bfc1c4;
+ --surface-300: #9fa3a6;
+ --surface-400: #7f8489;
+ --surface-500: #5f656b;
+ --surface-600: #4c5156;
+ --surface-700: #393d40;
+ --surface-800: #26282b;
+ --surface-900: #131415;
+ --gray-50: #eff0f0;
+ --gray-100: #dfe0e1;
+ --gray-200: #bfc1c4;
+ --gray-300: #9fa3a6;
+ --gray-400: #7f8489;
+ --gray-500: #5f656b;
+ --gray-600: #4c5156;
+ --gray-700: #393d40;
+ --gray-800: #26282b;
+ --gray-900: #131415;
+ --content-padding:0.5rem;
+ --inline-spacing:0.5rem;
+ --border-radius:1px;
+ --surface-ground:#f2f4f8;
+ --surface-section:#ffffff;
+ --surface-card:#ffffff;
+ --surface-overlay:#ffffff;
+ --surface-border:#dee2e6;
+ --surface-hover:#dde1e6;
+ --focus-ring: 0 0 0 0.2rem #90c9f5;
+ --maskbg: rgba(0, 0, 0, 0.4);
+ --highlight-bg: #44A1D9;
+ --highlight-text-color: #ffffff;
+ color-scheme: light;
+}
+
+:root {
+ --blue-50:#f4f9fd;
+ --blue-100:#c9e2f4;
+ --blue-200:#9ecbec;
+ --blue-300:#74b3e4;
+ --blue-400:#499cdb;
+ --blue-500:#1e85d3;
+ --blue-600:#1a71b3;
+ --blue-700:#155d94;
+ --blue-800:#114974;
+ --blue-900:#0c3554;
+ --green-50:#f5fbf7;
+ --green-100:#cfead7;
+ --green-200:#a9dab7;
+ --green-300:#84ca97;
+ --green-400:#5eb978;
+ --green-500:#38a958;
+ --green-600:#30904b;
+ --green-700:#27763e;
+ --green-800:#1f5d30;
+ --green-900:#164423;
+ --yellow-50:#fefcf5;
+ --yellow-100:#fbf0cf;
+ --yellow-200:#f9e4a8;
+ --yellow-300:#f6d982;
+ --yellow-400:#f3cd5b;
+ --yellow-500:#f0c135;
+ --yellow-600:#cca42d;
+ --yellow-700:#a88725;
+ --yellow-800:#846a1d;
+ --yellow-900:#604d15;
+ --cyan-50:#f4fcfe;
+ --cyan-100:#caf0fc;
+ --cyan-200:#a0e4fa;
+ --cyan-300:#75d9f8;
+ --cyan-400:#4bcdf5;
+ --cyan-500:#21c1f3;
+ --cyan-600:#1ca4cf;
+ --cyan-700:#1787aa;
+ --cyan-800:#126a86;
+ --cyan-900:#0d4d61;
+ --pink-50:#fdf6f6;
+ --pink-100:#f5d3d6;
+ --pink-200:#eeb0b5;
+ --pink-300:#e68e94;
+ --pink-400:#df6b74;
+ --pink-500:#d74853;
+ --pink-600:#b73d47;
+ --pink-700:#97323a;
+ --pink-800:#76282e;
+ --pink-900:#561d21;
+ --indigo-50:#f3f6fc;
+ --indigo-100:#c6d4f0;
+ --indigo-200:#99b2e4;
+ --indigo-300:#6b90d8;
+ --indigo-400:#3e6ecc;
+ --indigo-500:#114cc0;
+ --indigo-600:#0e41a3;
+ --indigo-700:#0c3586;
+ --indigo-800:#092a6a;
+ --indigo-900:#071e4d;
+ --teal-50:#f3f9f8;
+ --teal-100:#c6e0df;
+ --teal-200:#98c7c5;
+ --teal-300:#6baeac;
+ --teal-400:#3d9692;
+ --teal-500:#107d79;
+ --teal-600:#0e6a67;
+ --teal-700:#0b5855;
+ --teal-800:#094543;
+ --teal-900:#063230;
+ --orange-50:#fef9f5;
+ --orange-100:#fbe4cf;
+ --orange-200:#f9cfa8;
+ --orange-300:#f6ba82;
+ --orange-400:#f3a45b;
+ --orange-500:#f08f35;
+ --orange-600:#cc7a2d;
+ --orange-700:#a86425;
+ --orange-800:#844f1d;
+ --orange-900:#603915;
+ --bluegray-50:#f8f8f8;
+ --bluegray-100:#dbddde;
+ --bluegray-200:#bfc2c5;
+ --bluegray-300:#a2a6ab;
+ --bluegray-400:#868b91;
+ --bluegray-500:#697077;
+ --bluegray-600:#595f65;
+ --bluegray-700:#4a4e53;
+ --bluegray-800:#3a3e41;
+ --bluegray-900:#2a2d30;
+ --purple-50:#f9f6ff;
+ --purple-100:#e3d3fd;
+ --purple-200:#ccb1fc;
+ --purple-300:#b68efb;
+ --purple-400:#9f6cf9;
+ --purple-500:#8949f8;
+ --purple-600:#743ed3;
+ --purple-700:#6033ae;
+ --purple-800:#4b2888;
+ --purple-900:#371d63;
+ --red-50:#fff4f5;
+ --red-100:#ffccce;
+ --red-200:#ffa4a7;
+ --red-300:#ff7c80;
+ --red-400:#ff5359;
+ --red-500:#ff2b32;
+ --red-600:#d9252b;
+ --red-700:#b31e23;
+ --red-800:#8c181c;
+ --red-900:#661114;
+ --primary-50:#f3f8fc;
+ --primary-100:#c6def0;
+ --primary-200:#99c3e4;
+ --primary-300:#6ba9d8;
+ --primary-400:#3e8ecc;
+ --primary-500:#1174c0;
+ --primary-600:#0e63a3;
+ --primary-700:#0c5186;
+ --primary-800:#09406a;
+ --primary-900:#072e4d;
+}
+
+.p-editor-container .p-editor-toolbar {
+ background: #f2f4f8;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+}
+.p-editor-container .p-editor-toolbar.ql-snow {
+ border: 1px solid #dee2e6;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
+ stroke: #697077;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {
+ fill: #697077;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {
+ border: 0 none;
+ color: #697077;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {
+ color: #343a3f;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {
+ stroke: #343a3f;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {
+ fill: #343a3f;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
+ color: #343a3f;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
+ stroke: #343a3f;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
+ fill: #343a3f;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 1px;
+ padding: 0.25rem 0;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {
+ color: #343a3f;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {
+ color: #343a3f;
+ background: #dde1e6;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {
+ padding: 0.25rem 0.5rem;
+}
+.p-editor-container .p-editor-content {
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+}
+.p-editor-container .p-editor-content.ql-snow {
+ border: 1px solid #dee2e6;
+}
+.p-editor-container .p-editor-content .ql-editor {
+ background: #ffffff;
+ color: #343a3f;
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+}
+.p-editor-container .ql-snow.ql-toolbar button:hover,
+.p-editor-container .ql-snow.ql-toolbar button:focus {
+ color: #343a3f;
+}
+.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,
+.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {
+ stroke: #343a3f;
+}
+.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,
+.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {
+ fill: #343a3f;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
+ color: #1174c0;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke {
+ stroke: #1174c0;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill {
+ fill: #1174c0;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label {
+ color: #1174c0;
+}
+
+@layer primevue {
+ * {
+ box-sizing: border-box;
+ }
+
+ .p-component {
+ font-family: var(--font-family);
+ font-feature-settings: var(--font-feature-settings, normal);
+ font-size: 1rem;
+ font-weight: normal;
+ }
+
+ .p-component-overlay {
+ background-color: rgba(0, 0, 0, 0.4);
+ transition-duration: 0.2s;
+ }
+
+ .p-disabled, .p-component:disabled {
+ opacity: 0.6;
+ }
+
+ .p-error {
+ color: #d8222f;
+ }
+
+ .p-text-secondary {
+ color: #697077;
+ }
+
+ .pi {
+ font-size: 1rem;
+ }
+
+ .p-icon {
+ width: 1rem;
+ height: 1rem;
+ }
+
+ .p-link {
+ font-family: var(--font-family);
+ font-feature-settings: var(--font-feature-settings, normal);
+ font-size: 1rem;
+ border-radius: 1px;
+ }
+ .p-link:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+
+ .p-component-overlay-enter {
+ animation: p-component-overlay-enter-animation 150ms forwards;
+ }
+
+ .p-component-overlay-leave {
+ animation: p-component-overlay-leave-animation 150ms forwards;
+ }
+
+ @keyframes p-component-overlay-enter-animation {
+ from {
+ background-color: transparent;
+ }
+ to {
+ background-color: var(--maskbg);
+ }
+ }
+ @keyframes p-component-overlay-leave-animation {
+ from {
+ background-color: var(--maskbg);
+ }
+ to {
+ background-color: transparent;
+ }
+ }
+
+ .p-autocomplete .p-autocomplete-loader {
+ right: 0.25rem;
+ }
+ .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader {
+ right: 2.607rem;
+ }
+ .p-autocomplete:not(.p-disabled):hover .p-autocomplete-multiple-container {
+ border-color: #1174c0;
+ }
+ .p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-multiple-container {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-autocomplete .p-autocomplete-multiple-container {
+ padding: 0.125rem 0.25rem;
+ gap: 0.5rem;
+ }
+ .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token {
+ padding: 0.125rem 0;
+ }
+ .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input {
+ font-family: var(--font-family);
+ font-feature-settings: var(--font-feature-settings, normal);
+ font-size: 1rem;
+ color: #343a3f;
+ padding: 0;
+ margin: 0;
+ }
+ .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token {
+ padding: 0.125rem 0.25rem;
+ background: #dee2e6;
+ color: #343a3f;
+ border-radius: 16px;
+ }
+ .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon {
+ margin-left: 0.5rem;
+ }
+ .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token.p-focus {
+ background: #c8cbcf;
+ color: #343a3f;
+ }
+ .p-autocomplete.p-invalid.p-component > .p-inputtext {
+ border-color: #d8222f;
+ }
+
+ .p-autocomplete-panel {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ border-radius: 1px;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-autocomplete-panel .p-autocomplete-items {
+ padding: 0.25rem 0;
+ }
+ .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ border: 0 none;
+ color: #343a3f;
+ background: transparent;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight.p-focus {
+ background: #1174c0;
+ }
+ .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:not(.p-highlight):not(.p-disabled).p-focus {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:not(.p-highlight):not(.p-disabled):hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: #ffffff;
+ font-weight: 600;
+ }
+
+ .p-calendar.p-invalid.p-component > .p-inputtext {
+ border-color: #d8222f;
+ }
+ .p-calendar:not(.p-calendar-disabled).p-focus > .p-inputtext {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+
+ .p-datepicker {
+ padding: 0.25rem;
+ background: #ffffff;
+ color: #343a3f;
+ border: 1px solid #a5acb3;
+ border-radius: 1px;
+ }
+ .p-datepicker:not(.p-datepicker-inline) {
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header {
+ background: #ffffff;
+ }
+ .p-datepicker .p-datepicker-header {
+ padding: 0.5rem;
+ color: #343a3f;
+ background: #ffffff;
+ font-weight: 600;
+ margin: 0;
+ border-bottom: 1px solid #dee2e6;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-datepicker .p-datepicker-header .p-datepicker-prev,
+.p-datepicker .p-datepicker-header .p-datepicker-next {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover,
+.p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible,
+.p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-datepicker .p-datepicker-header .p-datepicker-title {
+ line-height: 1rem;
+ }
+ .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year,
+.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {
+ color: #343a3f;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ font-weight: 600;
+ padding: 0.5rem;
+ }
+ .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover,
+.p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover {
+ color: #1174c0;
+ }
+ .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {
+ margin-right: 0.5rem;
+ }
+ .p-datepicker table {
+ font-size: 1rem;
+ margin: 0.25rem 0;
+ }
+ .p-datepicker table th {
+ padding: 0.5rem;
+ }
+ .p-datepicker table th > span {
+ width: 1.75rem;
+ height: 1.75rem;
+ }
+ .p-datepicker table td {
+ padding: 0.5rem;
+ }
+ .p-datepicker table td > span {
+ width: 1.75rem;
+ height: 1.75rem;
+ border-radius: 50%;
+ transition: box-shadow 0.2s;
+ border: 1px solid transparent;
+ }
+ .p-datepicker table td > span.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-datepicker table td > span:focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-datepicker table td.p-datepicker-today > span {
+ background: #a5acb3;
+ color: #343a3f;
+ border-color: transparent;
+ }
+ .p-datepicker table td.p-datepicker-today > span.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-datepicker .p-datepicker-buttonbar {
+ padding: 0.5rem 0;
+ border-top: 1px solid #dee2e6;
+ }
+ .p-datepicker .p-datepicker-buttonbar .p-button {
+ width: auto;
+ }
+ .p-datepicker .p-timepicker {
+ border-top: 1px solid #dee2e6;
+ padding: 0.5rem;
+ }
+ .p-datepicker .p-timepicker button {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-datepicker .p-timepicker button:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-datepicker .p-timepicker button:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-datepicker .p-timepicker button:last-child {
+ margin-top: 0.2em;
+ }
+ .p-datepicker .p-timepicker span {
+ font-size: 1rem;
+ }
+ .p-datepicker .p-timepicker > div {
+ padding: 0 0.5rem;
+ }
+ .p-datepicker.p-datepicker-timeonly .p-timepicker {
+ border-top: 0 none;
+ }
+ .p-datepicker .p-monthpicker {
+ margin: 0.25rem 0;
+ }
+ .p-datepicker .p-monthpicker .p-monthpicker-month {
+ padding: 0.5rem;
+ transition: box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-datepicker .p-yearpicker {
+ margin: 0.25rem 0;
+ }
+ .p-datepicker .p-yearpicker .p-yearpicker-year {
+ padding: 0.5rem;
+ transition: box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-datepicker.p-datepicker-multiple-month .p-datepicker-group {
+ border-left: 1px solid #dee2e6;
+ padding-right: 0.25rem;
+ padding-left: 0.25rem;
+ padding-top: 0;
+ padding-bottom: 0;
+ }
+ .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child {
+ padding-left: 0;
+ border-left: 0 none;
+ }
+ .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child {
+ padding-right: 0;
+ }
+ .p-datepicker.p-datepicker-mobile table th, .p-datepicker.p-datepicker-mobile table td {
+ padding: 0;
+ }
+ .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover {
+ background: #dde1e6;
+ }
+ .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover {
+ background: #dde1e6;
+ }
+ .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover {
+ background: #dde1e6;
+ }
+ .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+
+ .p-cascadeselect {
+ background: #ffffff;
+ border: 1px solid #a5acb3;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-cascadeselect:not(.p-disabled):hover {
+ border-color: #1174c0;
+ }
+ .p-cascadeselect:not(.p-disabled).p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-cascadeselect .p-cascadeselect-label {
+ background: transparent;
+ border: 0 none;
+ padding: 0.25rem 0.25rem;
+ }
+ .p-cascadeselect .p-cascadeselect-label.p-placeholder {
+ color: #697077;
+ }
+ .p-cascadeselect .p-cascadeselect-label:enabled:focus {
+ outline: 0 none;
+ box-shadow: none;
+ }
+ .p-cascadeselect .p-cascadeselect-trigger {
+ background: transparent;
+ color: #697077;
+ width: 2.357rem;
+ border-top-right-radius: 1px;
+ border-bottom-right-radius: 1px;
+ }
+ .p-cascadeselect.p-invalid.p-component {
+ border-color: #d8222f;
+ }
+
+ .p-cascadeselect-panel {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ border-radius: 1px;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-cascadeselect-panel .p-cascadeselect-items {
+ padding: 0.25rem 0;
+ }
+ .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item {
+ margin: 0;
+ border: 0 none;
+ color: #343a3f;
+ background: transparent;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight.p-focus {
+ background: #1174c0;
+ }
+ .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled).p-focus {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled):hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content {
+ padding: 0.25rem 0.5rem;
+ }
+ .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon {
+ font-size: 0.875rem;
+ }
+
+ .p-input-filled .p-cascadeselect {
+ background: #f2f4f8;
+ }
+ .p-input-filled .p-cascadeselect:not(.p-disabled):hover {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-cascadeselect:not(.p-disabled).p-focus {
+ background-color: #ffffff;
+ }
+
+ .p-checkbox {
+ width: 14px;
+ height: 14px;
+ }
+ .p-checkbox .p-checkbox-box {
+ border: 2px solid #a5acb3;
+ background: #ffffff;
+ width: 14px;
+ height: 14px;
+ color: #343a3f;
+ border-radius: 1px;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-checkbox .p-checkbox-box .p-checkbox-icon {
+ transition-duration: 0.2s;
+ color: #ffffff;
+ font-size: 12px;
+ }
+ .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon {
+ width: 12px;
+ height: 12px;
+ }
+ .p-checkbox .p-checkbox-box.p-highlight {
+ border-color: #1174c0;
+ background: #1174c0;
+ }
+ .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover {
+ border-color: #1174c0;
+ }
+ .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover {
+ border-color: #0e5d9a;
+ background: #0e5d9a;
+ color: #ffffff;
+ }
+ .p-checkbox.p-invalid > .p-checkbox-box {
+ border-color: #d8222f;
+ }
+
+ .p-input-filled .p-checkbox .p-checkbox-box {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-checkbox .p-checkbox-box.p-highlight {
+ background: #1174c0;
+ }
+ .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box.p-highlight:hover {
+ background: #0e5d9a;
+ }
+
+ .p-chips:not(.p-disabled):hover .p-chips-multiple-container {
+ border-color: #1174c0;
+ }
+ .p-chips:not(.p-disabled).p-focus .p-chips-multiple-container {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-chips .p-chips-multiple-container {
+ padding: 0.125rem 0.25rem;
+ }
+ .p-chips .p-chips-multiple-container .p-chips-token {
+ padding: 0.125rem 0.25rem;
+ margin-right: 0.5rem;
+ background: #dee2e6;
+ color: #343a3f;
+ border-radius: 16px;
+ }
+ .p-chips .p-chips-multiple-container .p-chips-token.p-focus {
+ background: #c8cbcf;
+ color: #343a3f;
+ }
+ .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon {
+ margin-left: 0.5rem;
+ }
+ .p-chips .p-chips-multiple-container .p-chips-input-token {
+ padding: 0.125rem 0;
+ }
+ .p-chips .p-chips-multiple-container .p-chips-input-token input {
+ font-family: var(--font-family);
+ font-feature-settings: var(--font-feature-settings, normal);
+ font-size: 1rem;
+ color: #343a3f;
+ padding: 0;
+ margin: 0;
+ }
+ .p-chips.p-invalid.p-component > .p-inputtext {
+ border-color: #d8222f;
+ }
+
+ .p-colorpicker-preview {
+ width: 2rem;
+ height: 2rem;
+ }
+
+ .p-colorpicker-panel {
+ background: #323232;
+ border: 1px solid #191919;
+ }
+ .p-colorpicker-panel .p-colorpicker-color-handle,
+.p-colorpicker-panel .p-colorpicker-hue-handle {
+ border-color: #ffffff;
+ }
+
+ .p-colorpicker-overlay-panel {
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+
+ .p-dropdown {
+ background: #ffffff;
+ border: 1px solid #a5acb3;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-dropdown:not(.p-disabled):hover {
+ border-color: #1174c0;
+ }
+ .p-dropdown:not(.p-disabled).p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-dropdown.p-dropdown-clearable .p-dropdown-label {
+ padding-right: 1.25rem;
+ }
+ .p-dropdown .p-dropdown-label {
+ background: transparent;
+ border: 0 none;
+ }
+ .p-dropdown .p-dropdown-label.p-placeholder {
+ color: #697077;
+ }
+ .p-dropdown .p-dropdown-label:focus, .p-dropdown .p-dropdown-label:enabled:focus {
+ outline: 0 none;
+ box-shadow: none;
+ }
+ .p-dropdown .p-dropdown-trigger {
+ background: transparent;
+ color: #697077;
+ width: 2.357rem;
+ border-top-right-radius: 1px;
+ border-bottom-right-radius: 1px;
+ }
+ .p-dropdown .p-dropdown-clear-icon {
+ color: #697077;
+ right: 2.357rem;
+ }
+ .p-dropdown.p-invalid.p-component {
+ border-color: #d8222f;
+ }
+
+ .p-dropdown-panel {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ border-radius: 1px;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-dropdown-panel .p-dropdown-header {
+ padding: 0.25rem 0.5rem;
+ border-bottom: 0 none;
+ color: #343a3f;
+ background: #f2f4f8;
+ margin: 0;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-dropdown-panel .p-dropdown-header .p-dropdown-filter {
+ padding-right: 1.25rem;
+ margin-right: -1.25rem;
+ }
+ .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon {
+ right: 0.25rem;
+ color: #697077;
+ }
+ .p-dropdown-panel .p-dropdown-items {
+ padding: 0.25rem 0;
+ }
+ .p-dropdown-panel .p-dropdown-items .p-dropdown-item {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ border: 0 none;
+ color: #343a3f;
+ background: transparent;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus {
+ background: #1174c0;
+ }
+ .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled).p-focus {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: #ffffff;
+ font-weight: 600;
+ }
+ .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message {
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: transparent;
+ }
+
+ .p-input-filled .p-dropdown {
+ background: #f2f4f8;
+ }
+ .p-input-filled .p-dropdown:not(.p-disabled):hover {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-dropdown:not(.p-disabled).p-focus {
+ background-color: #ffffff;
+ }
+ .p-input-filled .p-dropdown:not(.p-disabled).p-focus .p-inputtext {
+ background-color: transparent;
+ }
+
+ .p-inputgroup-addon {
+ background: #dde1e6;
+ color: #697077;
+ border-top: 1px solid #a5acb3;
+ border-left: 1px solid #a5acb3;
+ border-bottom: 1px solid #a5acb3;
+ padding: 0.25rem 0.25rem;
+ min-width: 2.357rem;
+ }
+ .p-inputgroup-addon:last-child {
+ border-right: 1px solid #a5acb3;
+ }
+
+ .p-inputgroup > .p-component,
+.p-inputgroup > .p-inputwrapper > .p-inputtext,
+.p-inputgroup > .p-float-label > .p-component {
+ border-radius: 0;
+ margin: 0;
+ }
+ .p-inputgroup > .p-component + .p-inputgroup-addon,
+.p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon,
+.p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon {
+ border-left: 0 none;
+ }
+ .p-inputgroup > .p-component:focus,
+.p-inputgroup > .p-inputwrapper > .p-inputtext:focus,
+.p-inputgroup > .p-float-label > .p-component:focus {
+ z-index: 1;
+ }
+ .p-inputgroup > .p-component:focus ~ label,
+.p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label,
+.p-inputgroup > .p-float-label > .p-component:focus ~ label {
+ z-index: 1;
+ }
+
+ .p-inputgroup-addon:first-child,
+.p-inputgroup button:first-child,
+.p-inputgroup input:first-child,
+.p-inputgroup > .p-inputwrapper:first-child,
+.p-inputgroup > .p-inputwrapper:first-child > .p-inputtext {
+ border-top-left-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+
+ .p-inputgroup .p-float-label:first-child input {
+ border-top-left-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+
+ .p-inputgroup-addon:last-child,
+.p-inputgroup button:last-child,
+.p-inputgroup input:last-child,
+.p-inputgroup > .p-inputwrapper:last-child,
+.p-inputgroup > .p-inputwrapper:last-child > .p-inputtext {
+ border-top-right-radius: 1px;
+ border-bottom-right-radius: 1px;
+ }
+
+ .p-inputgroup .p-float-label:last-child input {
+ border-top-right-radius: 1px;
+ border-bottom-right-radius: 1px;
+ }
+
+ .p-fluid .p-inputgroup .p-button {
+ width: auto;
+ }
+ .p-fluid .p-inputgroup .p-button.p-button-icon-only {
+ width: 2.357rem;
+ }
+
+ .p-inputnumber.p-invalid.p-component > .p-inputtext {
+ border-color: #d8222f;
+ }
+
+ .p-inputswitch {
+ width: 2rem;
+ height: 1.155rem;
+ }
+ .p-inputswitch .p-inputswitch-slider {
+ background: #a5acb3;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ border-radius: 30px;
+ }
+ .p-inputswitch .p-inputswitch-slider:before {
+ background: #ffffff;
+ width: 0.825rem;
+ height: 0.825rem;
+ left: 0.165rem;
+ margin-top: -0.4125rem;
+ border-radius: 50%;
+ transition-duration: 0.2s;
+ }
+ .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before {
+ transform: translateX(0.825rem);
+ }
+ .p-inputswitch.p-focus .p-inputswitch-slider {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-inputswitch:not(.p-disabled):hover .p-inputswitch-slider {
+ background: #929ba3;
+ }
+ .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider {
+ background: #1174c0;
+ }
+ .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before {
+ background: #ffffff;
+ }
+ .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider {
+ background: #0f68ad;
+ }
+ .p-inputswitch.p-invalid .p-inputswitch-slider {
+ border-color: #d8222f;
+ }
+
+ .p-inputtext {
+ font-family: var(--font-family);
+ font-feature-settings: var(--font-feature-settings, normal);
+ font-size: 1rem;
+ color: #343a3f;
+ background: #ffffff;
+ padding: 0.25rem 0.25rem;
+ border: 1px solid #a5acb3;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ appearance: none;
+ border-radius: 1px;
+ }
+ .p-inputtext:enabled:hover {
+ border-color: #1174c0;
+ }
+ .p-inputtext:enabled:focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-inputtext.p-invalid.p-component {
+ border-color: #d8222f;
+ }
+ .p-inputtext.p-inputtext-sm {
+ font-size: 0.875rem;
+ padding: 0.21875rem 0.21875rem;
+ }
+ .p-inputtext.p-inputtext-lg {
+ font-size: 1.25rem;
+ padding: 0.3125rem 0.3125rem;
+ }
+
+ .p-float-label > label {
+ left: 0.25rem;
+ color: #697077;
+ transition-duration: 0.2s;
+ }
+
+ .p-float-label > .p-invalid + label {
+ color: #d8222f;
+ }
+
+ .p-input-icon-left > svg:first-of-type,
+.p-input-icon-left > i:first-of-type {
+ left: 0.25rem;
+ color: #697077;
+ }
+
+ .p-input-icon-left > .p-inputtext {
+ padding-left: 1.5rem;
+ }
+
+ .p-input-icon-left.p-float-label > label {
+ left: 1.5rem;
+ }
+
+ .p-input-icon-right > svg:last-of-type,
+.p-input-icon-right > i:last-of-type {
+ right: 0.25rem;
+ color: #697077;
+ }
+
+ .p-input-icon-right > .p-inputtext {
+ padding-right: 1.5rem;
+ }
+
+ ::-webkit-input-placeholder {
+ color: #697077;
+ }
+
+ :-moz-placeholder {
+ color: #697077;
+ }
+
+ ::-moz-placeholder {
+ color: #697077;
+ }
+
+ :-ms-input-placeholder {
+ color: #697077;
+ }
+
+ .p-input-filled .p-inputtext {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-inputtext:enabled:hover {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-inputtext:enabled:focus {
+ background-color: #ffffff;
+ }
+
+ .p-inputtext-sm .p-inputtext {
+ font-size: 0.875rem;
+ padding: 0.21875rem 0.21875rem;
+ }
+
+ .p-inputtext-lg .p-inputtext {
+ font-size: 1.25rem;
+ padding: 0.3125rem 0.3125rem;
+ }
+
+ .p-listbox {
+ background: #ffffff;
+ color: #343a3f;
+ border: 1px solid #a5acb3;
+ border-radius: 1px;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-listbox .p-listbox-header {
+ padding: 0.25rem 0.5rem;
+ border-bottom: 0 none;
+ color: #343a3f;
+ background: #f2f4f8;
+ margin: 0;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-listbox .p-listbox-header .p-listbox-filter {
+ padding-right: 1.25rem;
+ }
+ .p-listbox .p-listbox-header .p-listbox-filter-icon {
+ right: 0.25rem;
+ color: #697077;
+ }
+ .p-listbox .p-listbox-list {
+ padding: 0.25rem 0;
+ outline: 0 none;
+ }
+ .p-listbox .p-listbox-list .p-listbox-item {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ border: 0 none;
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-listbox .p-listbox-list .p-listbox-item.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-listbox .p-listbox-list .p-listbox-item-group {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: #ffffff;
+ font-weight: 600;
+ }
+ .p-listbox .p-listbox-list .p-listbox-empty-message {
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: transparent;
+ }
+ .p-listbox:not(.p-disabled) .p-listbox-item.p-highlight.p-focus {
+ background: #1174c0;
+ }
+ .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled).p-focus {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-listbox.p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-listbox.p-invalid {
+ border-color: #d8222f;
+ }
+
+ .p-multiselect {
+ background: #ffffff;
+ border: 1px solid #a5acb3;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-multiselect:not(.p-disabled):hover {
+ border-color: #1174c0;
+ }
+ .p-multiselect:not(.p-disabled).p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-multiselect .p-multiselect-label {
+ padding: 0.25rem 0.25rem;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-multiselect .p-multiselect-label.p-placeholder {
+ color: #697077;
+ }
+ .p-multiselect.p-multiselect-chip .p-multiselect-token {
+ padding: 0.125rem 0.25rem;
+ margin-right: 0.5rem;
+ background: #dee2e6;
+ color: #343a3f;
+ border-radius: 16px;
+ }
+ .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon {
+ margin-left: 0.5rem;
+ }
+ .p-multiselect .p-multiselect-trigger {
+ background: transparent;
+ color: #697077;
+ width: 2.357rem;
+ border-top-right-radius: 1px;
+ border-bottom-right-radius: 1px;
+ }
+ .p-multiselect.p-invalid.p-component {
+ border-color: #d8222f;
+ }
+
+ .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label {
+ padding: 0.125rem 0.25rem;
+ }
+
+ .p-multiselect-panel {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ border-radius: 1px;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-multiselect-panel .p-multiselect-header {
+ padding: 0.25rem 0.5rem;
+ border-bottom: 0 none;
+ color: #343a3f;
+ background: #f2f4f8;
+ margin: 0;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext {
+ padding-right: 1.25rem;
+ }
+ .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon {
+ right: 0.25rem;
+ color: #697077;
+ }
+ .p-multiselect-panel .p-multiselect-header .p-checkbox {
+ margin-right: 0.5rem;
+ }
+ .p-multiselect-panel .p-multiselect-header .p-multiselect-close {
+ margin-left: 0.5rem;
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-multiselect-panel .p-multiselect-items {
+ padding: 0.25rem 0;
+ }
+ .p-multiselect-panel .p-multiselect-items .p-multiselect-item {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ border: 0 none;
+ color: #343a3f;
+ background: transparent;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight.p-focus {
+ background: #1174c0;
+ }
+ .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled).p-focus {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox {
+ margin-right: 0.5rem;
+ }
+ .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: #ffffff;
+ font-weight: 600;
+ }
+ .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message {
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: transparent;
+ }
+
+ .p-input-filled .p-multiselect {
+ background: #f2f4f8;
+ }
+ .p-input-filled .p-multiselect:not(.p-disabled):hover {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-multiselect:not(.p-disabled).p-focus {
+ background-color: #ffffff;
+ }
+
+ .p-password.p-invalid.p-component > .p-inputtext {
+ border-color: #d8222f;
+ }
+
+ .p-password-panel {
+ padding: 0.5rem;
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 1px;
+ }
+ .p-password-panel .p-password-meter {
+ margin-bottom: 0.5rem;
+ background: #dee2e6;
+ }
+ .p-password-panel .p-password-meter .p-password-strength.weak {
+ background: #d8222f;
+ }
+ .p-password-panel .p-password-meter .p-password-strength.medium {
+ background: #f0c135;
+ }
+ .p-password-panel .p-password-meter .p-password-strength.strong {
+ background: #207f3b;
+ }
+
+ .p-radiobutton {
+ width: 14px;
+ height: 14px;
+ }
+ .p-radiobutton .p-radiobutton-box {
+ border: 2px solid #a5acb3;
+ background: #ffffff;
+ width: 14px;
+ height: 14px;
+ color: #343a3f;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-radiobutton .p-radiobutton-box:not(.p-disabled):not(.p-highlight):hover {
+ border-color: #1174c0;
+ }
+ .p-radiobutton .p-radiobutton-box:not(.p-disabled).p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-radiobutton .p-radiobutton-box .p-radiobutton-icon {
+ width: 8px;
+ height: 8px;
+ transition-duration: 0.2s;
+ background-color: #ffffff;
+ }
+ .p-radiobutton .p-radiobutton-box.p-highlight {
+ border-color: #1174c0;
+ background: #1174c0;
+ }
+ .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover {
+ border-color: #0e5d9a;
+ background: #0e5d9a;
+ color: #ffffff;
+ }
+ .p-radiobutton.p-invalid > .p-radiobutton-box {
+ border-color: #d8222f;
+ }
+ .p-radiobutton:focus {
+ outline: 0 none;
+ }
+
+ .p-input-filled .p-radiobutton .p-radiobutton-box {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-radiobutton .p-radiobutton-box:not(.p-disabled):hover {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight {
+ background: #1174c0;
+ }
+ .p-input-filled .p-radiobutton .p-radiobutton-box.p-highlight:not(.p-disabled):hover {
+ background: #0e5d9a;
+ }
+
+ .p-rating {
+ gap: 0.5rem;
+ }
+ .p-rating .p-rating-item .p-rating-icon {
+ color: #343a3f;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ font-size: 1.143rem;
+ }
+ .p-rating .p-rating-item .p-rating-icon.p-icon {
+ width: 1.143rem;
+ height: 1.143rem;
+ }
+ .p-rating .p-rating-item .p-rating-icon.p-rating-cancel {
+ color: #e74c3c;
+ }
+ .p-rating .p-rating-item.p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-rating .p-rating-item.p-rating-item-active .p-rating-icon {
+ color: #1174c0;
+ }
+ .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon {
+ color: #1174c0;
+ }
+ .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel {
+ color: #c0392b;
+ }
+
+ .p-selectbutton .p-button {
+ background: #ffffff;
+ border: 1px solid #a5acb3;
+ color: #343a3f;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-selectbutton .p-button .p-button-icon-left,
+.p-selectbutton .p-button .p-button-icon-right {
+ color: #697077;
+ }
+ .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover {
+ background: #dde1e6;
+ border-color: #a5acb3;
+ color: #343a3f;
+ }
+ .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,
+.p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right {
+ color: #697077;
+ }
+ .p-selectbutton .p-button.p-highlight {
+ background: #1174c0;
+ border-color: #1174c0;
+ color: #ffffff;
+ }
+ .p-selectbutton .p-button.p-highlight .p-button-icon-left,
+.p-selectbutton .p-button.p-highlight .p-button-icon-right {
+ color: #ffffff;
+ }
+ .p-selectbutton .p-button.p-highlight:hover {
+ background: #0f68ad;
+ border-color: #0f68ad;
+ color: #ffffff;
+ }
+ .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left,
+.p-selectbutton .p-button.p-highlight:hover .p-button-icon-right {
+ color: #ffffff;
+ }
+ .p-selectbutton.p-invalid > .p-button {
+ border-color: #d8222f;
+ }
+
+ .p-slider {
+ background: #dee2e6;
+ border: 0 none;
+ border-radius: 1px;
+ }
+ .p-slider.p-slider-horizontal {
+ height: 0.286rem;
+ }
+ .p-slider.p-slider-horizontal .p-slider-handle {
+ margin-top: -0.5715rem;
+ margin-left: -0.5715rem;
+ }
+ .p-slider.p-slider-vertical {
+ width: 0.286rem;
+ }
+ .p-slider.p-slider-vertical .p-slider-handle {
+ margin-left: -0.5715rem;
+ margin-bottom: -0.5715rem;
+ }
+ .p-slider .p-slider-handle {
+ height: 1.143rem;
+ width: 1.143rem;
+ background: #ffffff;
+ border: 2px solid #1174c0;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-slider .p-slider-handle:focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-slider .p-slider-range {
+ background: #1174c0;
+ }
+ .p-slider:not(.p-disabled) .p-slider-handle:hover {
+ background: #1174c0;
+ border-color: #1174c0;
+ }
+
+ .p-treeselect {
+ background: #ffffff;
+ border: 1px solid #a5acb3;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-treeselect:not(.p-disabled):hover {
+ border-color: #1174c0;
+ }
+ .p-treeselect:not(.p-disabled).p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-treeselect .p-treeselect-label {
+ padding: 0.25rem 0.25rem;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-treeselect .p-treeselect-label.p-placeholder {
+ color: #697077;
+ }
+ .p-treeselect.p-treeselect-chip .p-treeselect-token {
+ padding: 0.125rem 0.25rem;
+ margin-right: 0.5rem;
+ background: #dee2e6;
+ color: #343a3f;
+ border-radius: 16px;
+ }
+ .p-treeselect .p-treeselect-trigger {
+ background: transparent;
+ color: #697077;
+ width: 2.357rem;
+ border-top-right-radius: 1px;
+ border-bottom-right-radius: 1px;
+ }
+ .p-treeselect.p-invalid.p-component {
+ border-color: #d8222f;
+ }
+
+ .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label {
+ padding: 0.125rem 0.25rem;
+ }
+
+ .p-treeselect-panel {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ border-radius: 1px;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-treeselect-panel .p-treeselect-items-wrapper .p-tree {
+ border: 0 none;
+ }
+ .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message {
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: transparent;
+ }
+
+ .p-input-filled .p-treeselect {
+ background: #f2f4f8;
+ }
+ .p-input-filled .p-treeselect:not(.p-disabled):hover {
+ background-color: #f2f4f8;
+ }
+ .p-input-filled .p-treeselect:not(.p-disabled).p-focus {
+ background-color: #ffffff;
+ }
+
+ .p-togglebutton.p-button {
+ background: #ffffff;
+ border: 1px solid #a5acb3;
+ color: #343a3f;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-togglebutton.p-button .p-button-icon-left,
+.p-togglebutton.p-button .p-button-icon-right {
+ color: #697077;
+ }
+ .p-togglebutton.p-button:not(.p-disabled).p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: #1174c0;
+ }
+ .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover {
+ background: #dde1e6;
+ border-color: #a5acb3;
+ color: #343a3f;
+ }
+ .p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,
+.p-togglebutton.p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right {
+ color: #697077;
+ }
+ .p-togglebutton.p-button.p-highlight {
+ background: #1174c0;
+ border-color: #1174c0;
+ color: #ffffff;
+ }
+ .p-togglebutton.p-button.p-highlight .p-button-icon-left,
+.p-togglebutton.p-button.p-highlight .p-button-icon-right {
+ color: #ffffff;
+ }
+ .p-togglebutton.p-button.p-highlight:hover {
+ background: #0f68ad;
+ border-color: #0f68ad;
+ color: #ffffff;
+ }
+ .p-togglebutton.p-button.p-highlight:hover .p-button-icon-left,
+.p-togglebutton.p-button.p-highlight:hover .p-button-icon-right {
+ color: #ffffff;
+ }
+ .p-togglebutton.p-button.p-invalid > .p-button {
+ border-color: #d8222f;
+ }
+
+ .p-button {
+ color: #ffffff;
+ background: #1174c0;
+ border: 1px solid #1174c0;
+ padding: 0.25rem 0.5rem;
+ font-size: 1rem;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-button:not(:disabled):hover {
+ background: #0f68ad;
+ color: #ffffff;
+ border-color: #0f68ad;
+ }
+ .p-button:not(:disabled):active {
+ background: #0e5d9a;
+ color: #ffffff;
+ border-color: #0e5d9a;
+ }
+ .p-button.p-button-outlined {
+ background-color: transparent;
+ color: #1174c0;
+ border: 1px solid;
+ }
+ .p-button.p-button-outlined:not(:disabled):hover {
+ background: rgba(17, 116, 192, 0.04);
+ color: #1174c0;
+ border: 1px solid;
+ }
+ .p-button.p-button-outlined:not(:disabled):active {
+ background: rgba(17, 116, 192, 0.16);
+ color: #1174c0;
+ border: 1px solid;
+ }
+ .p-button.p-button-outlined.p-button-plain {
+ color: #697077;
+ border-color: #697077;
+ }
+ .p-button.p-button-outlined.p-button-plain:not(:disabled):hover {
+ background: #dde1e6;
+ color: #697077;
+ }
+ .p-button.p-button-outlined.p-button-plain:not(:disabled):active {
+ background: #dee2e6;
+ color: #697077;
+ }
+ .p-button.p-button-text {
+ background-color: transparent;
+ color: #1174c0;
+ border-color: transparent;
+ }
+ .p-button.p-button-text:not(:disabled):hover {
+ background: rgba(17, 116, 192, 0.04);
+ color: #1174c0;
+ border-color: transparent;
+ }
+ .p-button.p-button-text:not(:disabled):active {
+ background: rgba(17, 116, 192, 0.16);
+ color: #1174c0;
+ border-color: transparent;
+ }
+ .p-button.p-button-text.p-button-plain {
+ color: #697077;
+ }
+ .p-button.p-button-text.p-button-plain:not(:disabled):hover {
+ background: #dde1e6;
+ color: #697077;
+ }
+ .p-button.p-button-text.p-button-plain:not(:disabled):active {
+ background: #dee2e6;
+ color: #697077;
+ }
+ .p-button:focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-button .p-button-label {
+ transition-duration: 0.2s;
+ }
+ .p-button .p-button-icon-left {
+ margin-right: 0.5rem;
+ }
+ .p-button .p-button-icon-right {
+ margin-left: 0.5rem;
+ }
+ .p-button .p-button-icon-bottom {
+ margin-top: 0.5rem;
+ }
+ .p-button .p-button-icon-top {
+ margin-bottom: 0.5rem;
+ }
+ .p-button .p-badge {
+ margin-left: 0.5rem;
+ min-width: 1rem;
+ height: 1rem;
+ line-height: 1rem;
+ color: #1174c0;
+ background-color: #ffffff;
+ }
+ .p-button.p-button-raised {
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-button.p-button-rounded {
+ border-radius: 2rem;
+ }
+ .p-button.p-button-icon-only {
+ width: 2.357rem;
+ padding: 0.25rem 0;
+ }
+ .p-button.p-button-icon-only .p-button-icon-left,
+.p-button.p-button-icon-only .p-button-icon-right {
+ margin: 0;
+ }
+ .p-button.p-button-icon-only.p-button-rounded {
+ border-radius: 50%;
+ height: 2.357rem;
+ }
+ .p-button.p-button-sm {
+ font-size: 0.875rem;
+ padding: 0.21875rem 0.4375rem;
+ }
+ .p-button.p-button-sm .p-button-icon {
+ font-size: 0.875rem;
+ }
+ .p-button.p-button-lg {
+ font-size: 1.25rem;
+ padding: 0.3125rem 0.625rem;
+ }
+ .p-button.p-button-lg .p-button-icon {
+ font-size: 1.25rem;
+ }
+ .p-button.p-button-loading-label-only .p-button-label {
+ margin-left: 0.5rem;
+ }
+ .p-button.p-button-loading-label-only .p-button-loading-icon {
+ margin-right: 0;
+ }
+
+ .p-fluid .p-button {
+ width: 100%;
+ }
+ .p-fluid .p-button-icon-only {
+ width: 2.357rem;
+ }
+ .p-fluid .p-buttonset {
+ display: flex;
+ }
+ .p-fluid .p-buttonset .p-button {
+ flex: 1;
+ }
+
+ .p-button.p-button-secondary, .p-buttonset.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button {
+ color: #ffffff;
+ background: #697077;
+ border: 1px solid #697077;
+ }
+ .p-button.p-button-secondary:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover {
+ background: #5f656b;
+ color: #ffffff;
+ border-color: #5f656b;
+ }
+ .p-button.p-button-secondary:not(:disabled):focus, .p-buttonset.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus {
+ box-shadow: 0 0 0 0.2rem #c2c6c9;
+ }
+ .p-button.p-button-secondary:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active {
+ background: #545a5f;
+ color: #ffffff;
+ border-color: #545a5f;
+ }
+ .p-button.p-button-secondary.p-button-outlined, .p-buttonset.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined {
+ background-color: transparent;
+ color: #697077;
+ border: 1px solid;
+ }
+ .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover {
+ background: rgba(105, 112, 119, 0.04);
+ color: #697077;
+ border: 1px solid;
+ }
+ .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active {
+ background: rgba(105, 112, 119, 0.16);
+ color: #697077;
+ border: 1px solid;
+ }
+ .p-button.p-button-secondary.p-button-text, .p-buttonset.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text {
+ background-color: transparent;
+ color: #697077;
+ border-color: transparent;
+ }
+ .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover {
+ background: rgba(105, 112, 119, 0.04);
+ border-color: transparent;
+ color: #697077;
+ }
+ .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-buttonset.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active {
+ background: rgba(105, 112, 119, 0.16);
+ border-color: transparent;
+ color: #697077;
+ }
+
+ .p-button.p-button-info, .p-buttonset.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button {
+ color: #ffffff;
+ background: #107d79;
+ border: 1px solid #107d79;
+ }
+ .p-button.p-button-info:not(:disabled):hover, .p-buttonset.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover {
+ background: #0e716d;
+ color: #ffffff;
+ border-color: #0e716d;
+ }
+ .p-button.p-button-info:not(:disabled):focus, .p-buttonset.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus {
+ box-shadow: 0 0 0 0.2rem #7ceeea;
+ }
+ .p-button.p-button-info:not(:disabled):active, .p-buttonset.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active {
+ background: #0d6461;
+ color: #ffffff;
+ border-color: #0d6461;
+ }
+ .p-button.p-button-info.p-button-outlined, .p-buttonset.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined {
+ background-color: transparent;
+ color: #107d79;
+ border: 1px solid;
+ }
+ .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover {
+ background: rgba(16, 125, 121, 0.04);
+ color: #107d79;
+ border: 1px solid;
+ }
+ .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active {
+ background: rgba(16, 125, 121, 0.16);
+ color: #107d79;
+ border: 1px solid;
+ }
+ .p-button.p-button-info.p-button-text, .p-buttonset.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text {
+ background-color: transparent;
+ color: #107d79;
+ border-color: transparent;
+ }
+ .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover {
+ background: rgba(16, 125, 121, 0.04);
+ border-color: transparent;
+ color: #107d79;
+ }
+ .p-button.p-button-info.p-button-text:not(:disabled):active, .p-buttonset.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active {
+ background: rgba(16, 125, 121, 0.16);
+ border-color: transparent;
+ color: #107d79;
+ }
+
+ .p-button.p-button-success, .p-buttonset.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button {
+ color: #ffffff;
+ background: #207f3b;
+ border: 1px solid #207f3b;
+ }
+ .p-button.p-button-success:not(:disabled):hover, .p-buttonset.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover {
+ background: #1d7235;
+ color: #ffffff;
+ border-color: #1d7235;
+ }
+ .p-button.p-button-success:not(:disabled):focus, .p-buttonset.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus {
+ box-shadow: 0 0 0 0.2rem #8fe3a7;
+ }
+ .p-button.p-button-success:not(:disabled):active, .p-buttonset.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active {
+ background: #1a662f;
+ color: #ffffff;
+ border-color: #1a662f;
+ }
+ .p-button.p-button-success.p-button-outlined, .p-buttonset.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined {
+ background-color: transparent;
+ color: #207f3b;
+ border: 1px solid;
+ }
+ .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover {
+ background: rgba(32, 127, 59, 0.04);
+ color: #207f3b;
+ border: 1px solid;
+ }
+ .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active {
+ background: rgba(32, 127, 59, 0.16);
+ color: #207f3b;
+ border: 1px solid;
+ }
+ .p-button.p-button-success.p-button-text, .p-buttonset.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text {
+ background-color: transparent;
+ color: #207f3b;
+ border-color: transparent;
+ }
+ .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover {
+ background: rgba(32, 127, 59, 0.04);
+ border-color: transparent;
+ color: #207f3b;
+ }
+ .p-button.p-button-success.p-button-text:not(:disabled):active, .p-buttonset.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active {
+ background: rgba(32, 127, 59, 0.16);
+ border-color: transparent;
+ color: #207f3b;
+ }
+
+ .p-button.p-button-warning, .p-buttonset.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button {
+ color: #212529;
+ background: #f0c135;
+ border: 1px solid #f0c135;
+ }
+ .p-button.p-button-warning:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover {
+ background: #eeb91a;
+ color: #212529;
+ border-color: #eeb91a;
+ }
+ .p-button.p-button-warning:not(:disabled):focus, .p-buttonset.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus {
+ box-shadow: 0 0 0 0.2rem #f9e6ae;
+ }
+ .p-button.p-button-warning:not(:disabled):active, .p-buttonset.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active {
+ background: #daa710;
+ color: #212529;
+ border-color: #daa710;
+ }
+ .p-button.p-button-warning.p-button-outlined, .p-buttonset.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined {
+ background-color: transparent;
+ color: #f0c135;
+ border: 1px solid;
+ }
+ .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover {
+ background: rgba(240, 193, 53, 0.04);
+ color: #f0c135;
+ border: 1px solid;
+ }
+ .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active {
+ background: rgba(240, 193, 53, 0.16);
+ color: #f0c135;
+ border: 1px solid;
+ }
+ .p-button.p-button-warning.p-button-text, .p-buttonset.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text {
+ background-color: transparent;
+ color: #f0c135;
+ border-color: transparent;
+ }
+ .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover {
+ background: rgba(240, 193, 53, 0.04);
+ border-color: transparent;
+ color: #f0c135;
+ }
+ .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-buttonset.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active {
+ background: rgba(240, 193, 53, 0.16);
+ border-color: transparent;
+ color: #f0c135;
+ }
+
+ .p-button.p-button-help, .p-buttonset.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button {
+ color: #ffffff;
+ background: #8949f8;
+ border: 1px solid #8949f8;
+ }
+ .p-button.p-button-help:not(:disabled):hover, .p-buttonset.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover {
+ background: #752af7;
+ color: #ffffff;
+ border-color: #752af7;
+ }
+ .p-button.p-button-help:not(:disabled):focus, .p-buttonset.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus {
+ box-shadow: 0 0 0 0.2rem #d0b6fc;
+ }
+ .p-button.p-button-help:not(:disabled):active, .p-buttonset.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active {
+ background: #610bf6;
+ color: #ffffff;
+ border-color: #610bf6;
+ }
+ .p-button.p-button-help.p-button-outlined, .p-buttonset.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined {
+ background-color: transparent;
+ color: #8949f8;
+ border: 1px solid;
+ }
+ .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover {
+ background: rgba(137, 73, 248, 0.04);
+ color: #8949f8;
+ border: 1px solid;
+ }
+ .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active {
+ background: rgba(137, 73, 248, 0.16);
+ color: #8949f8;
+ border: 1px solid;
+ }
+ .p-button.p-button-help.p-button-text, .p-buttonset.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text {
+ background-color: transparent;
+ color: #8949f8;
+ border-color: transparent;
+ }
+ .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover {
+ background: rgba(137, 73, 248, 0.04);
+ border-color: transparent;
+ color: #8949f8;
+ }
+ .p-button.p-button-help.p-button-text:not(:disabled):active, .p-buttonset.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active {
+ background: rgba(137, 73, 248, 0.16);
+ border-color: transparent;
+ color: #8949f8;
+ }
+
+ .p-button.p-button-danger, .p-buttonset.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button {
+ color: #ffffff;
+ background: #d8222f;
+ border: 1px solid #d8222f;
+ }
+ .p-button.p-button-danger:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover {
+ background: #c21f2a;
+ color: #ffffff;
+ border-color: #c21f2a;
+ }
+ .p-button.p-button-danger:not(:disabled):focus, .p-buttonset.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus {
+ box-shadow: 0 0 0 0.2rem #f1a5ab;
+ }
+ .p-button.p-button-danger:not(:disabled):active, .p-buttonset.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active {
+ background: #ad1b26;
+ color: #ffffff;
+ border-color: #ad1b26;
+ }
+ .p-button.p-button-danger.p-button-outlined, .p-buttonset.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined {
+ background-color: transparent;
+ color: #d8222f;
+ border: 1px solid;
+ }
+ .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover {
+ background: rgba(216, 34, 47, 0.04);
+ color: #d8222f;
+ border: 1px solid;
+ }
+ .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active {
+ background: rgba(216, 34, 47, 0.16);
+ color: #d8222f;
+ border: 1px solid;
+ }
+ .p-button.p-button-danger.p-button-text, .p-buttonset.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text {
+ background-color: transparent;
+ color: #d8222f;
+ border-color: transparent;
+ }
+ .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover {
+ background: rgba(216, 34, 47, 0.04);
+ border-color: transparent;
+ color: #d8222f;
+ }
+ .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-buttonset.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active {
+ background: rgba(216, 34, 47, 0.16);
+ border-color: transparent;
+ color: #d8222f;
+ }
+
+ .p-button.p-button-link {
+ color: #0e5d9a;
+ background: transparent;
+ border: transparent;
+ }
+ .p-button.p-button-link:not(:disabled):hover {
+ background: transparent;
+ color: #0e5d9a;
+ border-color: transparent;
+ }
+ .p-button.p-button-link:not(:disabled):hover .p-button-label {
+ text-decoration: underline;
+ }
+ .p-button.p-button-link:not(:disabled):focus {
+ background: transparent;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ border-color: transparent;
+ }
+ .p-button.p-button-link:not(:disabled):active {
+ background: transparent;
+ color: #0e5d9a;
+ border-color: transparent;
+ }
+
+ .p-speeddial-button.p-button.p-button-icon-only {
+ width: 2.75rem;
+ height: 2.75rem;
+ }
+ .p-speeddial-button.p-button.p-button-icon-only .p-button-icon {
+ font-size: 1rem;
+ }
+ .p-speeddial-button.p-button.p-button-icon-only .p-icon {
+ width: 1rem;
+ height: 1rem;
+ }
+
+ .p-speeddial-list {
+ outline: 0 none;
+ }
+
+ .p-speeddial-item.p-focus > .p-speeddial-action {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+
+ .p-speeddial-action {
+ width: 2.25rem;
+ height: 2.25rem;
+ background: #343a3f;
+ color: #fff;
+ }
+ .p-speeddial-action:hover {
+ background: #21272a;
+ color: #fff;
+ }
+
+ .p-speeddial-direction-up .p-speeddial-item {
+ margin: 0.25rem 0;
+ }
+ .p-speeddial-direction-up .p-speeddial-item:first-child {
+ margin-bottom: 0.5rem;
+ }
+
+ .p-speeddial-direction-down .p-speeddial-item {
+ margin: 0.25rem 0;
+ }
+ .p-speeddial-direction-down .p-speeddial-item:first-child {
+ margin-top: 0.5rem;
+ }
+
+ .p-speeddial-direction-left .p-speeddial-item {
+ margin: 0 0.25rem;
+ }
+ .p-speeddial-direction-left .p-speeddial-item:first-child {
+ margin-right: 0.5rem;
+ }
+
+ .p-speeddial-direction-right .p-speeddial-item {
+ margin: 0 0.25rem;
+ }
+ .p-speeddial-direction-right .p-speeddial-item:first-child {
+ margin-left: 0.5rem;
+ }
+
+ .p-speeddial-circle .p-speeddial-item,
+.p-speeddial-semi-circle .p-speeddial-item,
+.p-speeddial-quarter-circle .p-speeddial-item {
+ margin: 0;
+ }
+ .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child,
+.p-speeddial-semi-circle .p-speeddial-item:first-child,
+.p-speeddial-semi-circle .p-speeddial-item:last-child,
+.p-speeddial-quarter-circle .p-speeddial-item:first-child,
+.p-speeddial-quarter-circle .p-speeddial-item:last-child {
+ margin: 0;
+ }
+
+ .p-speeddial-mask {
+ background-color: rgba(0, 0, 0, 0.4);
+ border-radius: 1px;
+ }
+
+ .p-splitbutton {
+ border-radius: 1px;
+ }
+ .p-splitbutton.p-button-outlined > .p-button {
+ background-color: transparent;
+ color: #1174c0;
+ border: 1px solid;
+ }
+ .p-splitbutton.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(17, 116, 192, 0.04);
+ color: #1174c0;
+ }
+ .p-splitbutton.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(17, 116, 192, 0.16);
+ color: #1174c0;
+ }
+ .p-splitbutton.p-button-outlined.p-button-plain > .p-button {
+ color: #697077;
+ border-color: #697077;
+ }
+ .p-splitbutton.p-button-outlined.p-button-plain > .p-button:enabled:hover, .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: #dde1e6;
+ color: #697077;
+ }
+ .p-splitbutton.p-button-outlined.p-button-plain > .p-button:enabled:active, .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: #dee2e6;
+ color: #697077;
+ }
+ .p-splitbutton.p-button-text > .p-button {
+ background-color: transparent;
+ color: #1174c0;
+ border-color: transparent;
+ }
+ .p-splitbutton.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(17, 116, 192, 0.04);
+ color: #1174c0;
+ border-color: transparent;
+ }
+ .p-splitbutton.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(17, 116, 192, 0.16);
+ color: #1174c0;
+ border-color: transparent;
+ }
+ .p-splitbutton.p-button-text.p-button-plain > .p-button {
+ color: #697077;
+ }
+ .p-splitbutton.p-button-text.p-button-plain > .p-button:enabled:hover, .p-splitbutton.p-button-text.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: #dde1e6;
+ color: #697077;
+ }
+ .p-splitbutton.p-button-text.p-button-plain > .p-button:enabled:active, .p-splitbutton.p-button-text.p-button-plain > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: #dee2e6;
+ color: #697077;
+ }
+ .p-splitbutton.p-button-raised {
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-splitbutton.p-button-rounded {
+ border-radius: 2rem;
+ }
+ .p-splitbutton.p-button-rounded > .p-button {
+ border-radius: 2rem;
+ }
+ .p-splitbutton.p-button-sm > .p-button {
+ font-size: 0.875rem;
+ padding: 0.21875rem 0.4375rem;
+ }
+ .p-splitbutton.p-button-sm > .p-button .p-button-icon {
+ font-size: 0.875rem;
+ }
+ .p-splitbutton.p-button-lg > .p-button {
+ font-size: 1.25rem;
+ padding: 0.3125rem 0.625rem;
+ }
+ .p-splitbutton.p-button-lg > .p-button.p-button-icon-only {
+ width: auto;
+ }
+ .p-splitbutton.p-button-lg > .p-button .p-button-icon {
+ font-size: 1.25rem;
+ }
+ .p-splitbutton.p-button-lg > .p-button .p-icon {
+ width: 1.25rem;
+ height: 1.25rem;
+ }
+
+ .p-splitbutton.p-button-secondary.p-button-outlined > .p-button {
+ background-color: transparent;
+ color: #697077;
+ border: 1px solid;
+ }
+ .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(105, 112, 119, 0.04);
+ color: #697077;
+ }
+ .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(105, 112, 119, 0.16);
+ color: #697077;
+ }
+ .p-splitbutton.p-button-secondary.p-button-text > .p-button {
+ background-color: transparent;
+ color: #697077;
+ border-color: transparent;
+ }
+ .p-splitbutton.p-button-secondary.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(105, 112, 119, 0.04);
+ border-color: transparent;
+ color: #697077;
+ }
+ .p-splitbutton.p-button-secondary.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(105, 112, 119, 0.16);
+ border-color: transparent;
+ color: #697077;
+ }
+
+ .p-splitbutton.p-button-info.p-button-outlined > .p-button {
+ background-color: transparent;
+ color: #107d79;
+ border: 1px solid;
+ }
+ .p-splitbutton.p-button-info.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(16, 125, 121, 0.04);
+ color: #107d79;
+ }
+ .p-splitbutton.p-button-info.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(16, 125, 121, 0.16);
+ color: #107d79;
+ }
+ .p-splitbutton.p-button-info.p-button-text > .p-button {
+ background-color: transparent;
+ color: #107d79;
+ border-color: transparent;
+ }
+ .p-splitbutton.p-button-info.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-info.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(16, 125, 121, 0.04);
+ border-color: transparent;
+ color: #107d79;
+ }
+ .p-splitbutton.p-button-info.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-info.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(16, 125, 121, 0.16);
+ border-color: transparent;
+ color: #107d79;
+ }
+
+ .p-splitbutton.p-button-success.p-button-outlined > .p-button {
+ background-color: transparent;
+ color: #207f3b;
+ border: 1px solid;
+ }
+ .p-splitbutton.p-button-success.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(32, 127, 59, 0.04);
+ color: #207f3b;
+ }
+ .p-splitbutton.p-button-success.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(32, 127, 59, 0.16);
+ color: #207f3b;
+ }
+ .p-splitbutton.p-button-success.p-button-text > .p-button {
+ background-color: transparent;
+ color: #207f3b;
+ border-color: transparent;
+ }
+ .p-splitbutton.p-button-success.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-success.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(32, 127, 59, 0.04);
+ border-color: transparent;
+ color: #207f3b;
+ }
+ .p-splitbutton.p-button-success.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-success.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(32, 127, 59, 0.16);
+ border-color: transparent;
+ color: #207f3b;
+ }
+
+ .p-splitbutton.p-button-warning.p-button-outlined > .p-button {
+ background-color: transparent;
+ color: #f0c135;
+ border: 1px solid;
+ }
+ .p-splitbutton.p-button-warning.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(240, 193, 53, 0.04);
+ color: #f0c135;
+ }
+ .p-splitbutton.p-button-warning.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(240, 193, 53, 0.16);
+ color: #f0c135;
+ }
+ .p-splitbutton.p-button-warning.p-button-text > .p-button {
+ background-color: transparent;
+ color: #f0c135;
+ border-color: transparent;
+ }
+ .p-splitbutton.p-button-warning.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-warning.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(240, 193, 53, 0.04);
+ border-color: transparent;
+ color: #f0c135;
+ }
+ .p-splitbutton.p-button-warning.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-warning.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(240, 193, 53, 0.16);
+ border-color: transparent;
+ color: #f0c135;
+ }
+
+ .p-splitbutton.p-button-help.p-button-outlined > .p-button {
+ background-color: transparent;
+ color: #8949f8;
+ border: 1px solid;
+ }
+ .p-splitbutton.p-button-help.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(137, 73, 248, 0.04);
+ color: #8949f8;
+ }
+ .p-splitbutton.p-button-help.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(137, 73, 248, 0.16);
+ color: #8949f8;
+ }
+ .p-splitbutton.p-button-help.p-button-text > .p-button {
+ background-color: transparent;
+ color: #8949f8;
+ border-color: transparent;
+ }
+ .p-splitbutton.p-button-help.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-help.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(137, 73, 248, 0.04);
+ border-color: transparent;
+ color: #8949f8;
+ }
+ .p-splitbutton.p-button-help.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-help.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(137, 73, 248, 0.16);
+ border-color: transparent;
+ color: #8949f8;
+ }
+
+ .p-splitbutton.p-button-danger.p-button-outlined > .p-button {
+ background-color: transparent;
+ color: #d8222f;
+ border: 1px solid;
+ }
+ .p-splitbutton.p-button-danger.p-button-outlined > .p-button:enabled:hover, .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(216, 34, 47, 0.04);
+ color: #d8222f;
+ }
+ .p-splitbutton.p-button-danger.p-button-outlined > .p-button:enabled:active, .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(216, 34, 47, 0.16);
+ color: #d8222f;
+ }
+ .p-splitbutton.p-button-danger.p-button-text > .p-button {
+ background-color: transparent;
+ color: #d8222f;
+ border-color: transparent;
+ }
+ .p-splitbutton.p-button-danger.p-button-text > .p-button:enabled:hover, .p-splitbutton.p-button-danger.p-button-text > .p-button:not(button):not(a):not(.p-disabled):hover {
+ background: rgba(216, 34, 47, 0.04);
+ border-color: transparent;
+ color: #d8222f;
+ }
+ .p-splitbutton.p-button-danger.p-button-text > .p-button:enabled:active, .p-splitbutton.p-button-danger.p-button-text > .p-button:not(button):not(a):not(.p-disabled):active {
+ background: rgba(216, 34, 47, 0.16);
+ border-color: transparent;
+ color: #d8222f;
+ }
+
+ .p-carousel .p-carousel-content .p-carousel-prev,
+.p-carousel .p-carousel-content .p-carousel-next {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ margin: 0.5rem;
+ }
+ .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover,
+.p-carousel .p-carousel-content .p-carousel-next:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-carousel .p-carousel-content .p-carousel-prev:focus-visible,
+.p-carousel .p-carousel-content .p-carousel-next:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-carousel .p-carousel-indicators {
+ padding: 1rem;
+ }
+ .p-carousel .p-carousel-indicators .p-carousel-indicator {
+ margin-right: 0.5rem;
+ margin-bottom: 0.5rem;
+ }
+ .p-carousel .p-carousel-indicators .p-carousel-indicator button {
+ background-color: #dde1e6;
+ width: 2rem;
+ height: 0.5rem;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover {
+ background: #dee2e6;
+ }
+ .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+
+ .p-datatable .p-paginator-top {
+ border-width: 0 0 1px 0;
+ border-radius: 0;
+ }
+ .p-datatable .p-paginator-bottom {
+ border-width: 0 0 1px 0;
+ border-radius: 0;
+ }
+ .p-datatable .p-datatable-header {
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dde1e6;
+ border-width: 1px 0 1px 0;
+ padding: 0.25rem 1rem;
+ font-weight: 600;
+ }
+ .p-datatable .p-datatable-footer {
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dde1e6;
+ border-width: 0 0 1px 0;
+ padding: 0.25rem 1rem;
+ font-weight: 600;
+ }
+ .p-datatable .p-datatable-thead > tr > th {
+ text-align: left;
+ padding: 0.25rem 1rem;
+ border: 1px solid #dde1e6;
+ border-width: 0 0 1px 0;
+ font-weight: 600;
+ color: #343a3f;
+ background: #f2f4f8;
+ transition: box-shadow 0.2s;
+ }
+ .p-datatable .p-datatable-tfoot > tr > td {
+ text-align: left;
+ padding: 0.25rem 1rem;
+ border: 1px solid #dde1e6;
+ border-width: 0 0 1px 0;
+ font-weight: 600;
+ color: #343a3f;
+ background: #f2f4f8;
+ }
+ .p-datatable .p-sortable-column .p-sortable-column-icon {
+ color: #697077;
+ margin-left: 0.5rem;
+ }
+ .p-datatable .p-sortable-column .p-sortable-column-badge {
+ border-radius: 50%;
+ height: 1.143rem;
+ min-width: 1.143rem;
+ line-height: 1.143rem;
+ color: #ffffff;
+ background: #44A1D9;
+ margin-left: 0.5rem;
+ }
+ .p-datatable .p-sortable-column:not(.p-highlight):hover {
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-datatable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon {
+ color: #697077;
+ }
+ .p-datatable .p-sortable-column.p-highlight {
+ background: #f2f4f8;
+ color: #1174c0;
+ }
+ .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon {
+ color: #1174c0;
+ }
+ .p-datatable .p-sortable-column.p-highlight:hover {
+ background: #dde1e6;
+ color: #1174c0;
+ }
+ .p-datatable .p-sortable-column.p-highlight:hover .p-sortable-column-icon {
+ color: #1174c0;
+ }
+ .p-datatable .p-sortable-column:focus-visible {
+ box-shadow: inset 0 0 0 0.15rem #90c9f5;
+ outline: 0 none;
+ }
+ .p-datatable .p-datatable-tbody > tr {
+ background: #ffffff;
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ }
+ .p-datatable .p-datatable-tbody > tr > td {
+ text-align: left;
+ border: 1px solid #dde1e6;
+ border-width: 0 0 1px 0;
+ padding: 0.25rem 1rem;
+ }
+ .p-datatable .p-datatable-tbody > tr > td .p-row-toggler,
+.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init,
+.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save,
+.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover,
+.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover,
+.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover,
+.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible,
+.p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible,
+.p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible,
+.p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save {
+ margin-right: 0.5rem;
+ }
+ .p-datatable .p-datatable-tbody > tr > td > .p-column-title {
+ font-weight: 600;
+ }
+ .p-datatable .p-datatable-tbody > tr:focus-visible {
+ outline: 0.15rem solid #90c9f5;
+ outline-offset: -0.15rem;
+ }
+ .p-datatable .p-datatable-tbody > tr.p-highlight {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+ .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu {
+ outline: 0.15rem solid #90c9f5;
+ outline-offset: -0.15rem;
+ }
+ .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {
+ box-shadow: inset 0 2px 0 0 #44A1D9;
+ }
+ .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
+ box-shadow: inset 0 -2px 0 0 #44A1D9;
+ }
+ .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):hover {
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-datatable .p-column-resizer-helper {
+ background: #1174c0;
+ }
+ .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead,
+.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead,
+.p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot {
+ background-color: #f2f4f8;
+ }
+ .p-datatable .p-datatable-loading-icon {
+ font-size: 2rem;
+ }
+ .p-datatable .p-datatable-loading-icon.p-icon {
+ width: 2rem;
+ height: 2rem;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-header {
+ border-width: 1px 1px 0 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-footer {
+ border-width: 0 1px 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-paginator-top {
+ border-width: 0 1px 0 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-paginator-bottom {
+ border-width: 0 1px 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th {
+ border-width: 1px 0 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child {
+ border-width: 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td {
+ border-width: 1px 0 0 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {
+ border-width: 1px 1px 0 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td {
+ border-width: 1px 0 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child {
+ border-width: 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td {
+ border-width: 1px 0 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child {
+ border-width: 1px 1px 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td {
+ border-width: 0 0 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child {
+ border-width: 0 1px 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td {
+ border-width: 0 0 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child {
+ border-width: 0 1px 1px 1px;
+ }
+ .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td {
+ border-width: 0 0 0 1px;
+ }
+ .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child {
+ border-width: 0 1px 0 1px;
+ }
+ .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd {
+ background: #fcfcfc;
+ }
+ .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+ .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler {
+ color: #ffffff;
+ }
+ .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover {
+ color: #ffffff;
+ }
+ .p-datatable.p-datatable-sm .p-datatable-header {
+ padding: 0.125rem 0.5rem;
+ }
+ .p-datatable.p-datatable-sm .p-datatable-thead > tr > th {
+ padding: 0.125rem 0.5rem;
+ }
+ .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td {
+ padding: 0.125rem 0.5rem;
+ }
+ .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td {
+ padding: 0.125rem 0.5rem;
+ }
+ .p-datatable.p-datatable-sm .p-datatable-footer {
+ padding: 0.125rem 0.5rem;
+ }
+ .p-datatable.p-datatable-lg .p-datatable-header {
+ padding: 0.3125rem 1.25rem;
+ }
+ .p-datatable.p-datatable-lg .p-datatable-thead > tr > th {
+ padding: 0.3125rem 1.25rem;
+ }
+ .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td {
+ padding: 0.3125rem 1.25rem;
+ }
+ .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td {
+ padding: 0.3125rem 1.25rem;
+ }
+ .p-datatable.p-datatable-lg .p-datatable-footer {
+ padding: 0.3125rem 1.25rem;
+ }
+
+ .p-dataview .p-paginator-top {
+ border-width: 0 0 1px 0;
+ border-radius: 0;
+ }
+ .p-dataview .p-paginator-bottom {
+ border-width: 0 0 1px 0;
+ border-radius: 0;
+ }
+ .p-dataview .p-dataview-header {
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dde1e6;
+ border-width: 1px 0 1px 0;
+ padding: 0.25rem 1rem;
+ font-weight: 600;
+ }
+ .p-dataview .p-dataview-content {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ padding: 0;
+ }
+ .p-dataview .p-dataview-footer {
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dde1e6;
+ border-width: 0 0 1px 0;
+ padding: 0.25rem 1rem;
+ font-weight: 600;
+ border-bottom-left-radius: 1px;
+ border-bottom-right-radius: 1px;
+ }
+
+ .p-column-filter-row .p-column-filter-menu-button,
+.p-column-filter-row .p-column-filter-clear-button {
+ margin-left: 0.5rem;
+ }
+
+ .p-column-filter-menu-button {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-column-filter-menu-button:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover {
+ background: transparent;
+ color: #343a3f;
+ }
+ .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+ .p-column-filter-menu-button:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+
+ .p-column-filter-clear-button {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-column-filter-clear-button:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-column-filter-clear-button:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+
+ .p-column-filter-overlay {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ border-radius: 1px;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ min-width: 12.5rem;
+ }
+ .p-column-filter-overlay .p-column-filter-row-items {
+ padding: 0.25rem 0;
+ }
+ .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ border: 0 none;
+ color: #343a3f;
+ background: transparent;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: inset 0 0 0 0.15rem #90c9f5;
+ }
+ .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator {
+ border-top: 1px solid #dee2e6;
+ margin: 0.25rem 0;
+ }
+
+ .p-column-filter-overlay-menu .p-column-filter-operator {
+ padding: 0.25rem 0.5rem;
+ border-bottom: 0 none;
+ color: #343a3f;
+ background: #f2f4f8;
+ margin: 0;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-column-filter-overlay-menu .p-column-filter-constraint {
+ padding: 0.5rem;
+ border-bottom: 1px solid #dee2e6;
+ }
+ .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown {
+ margin-bottom: 0.5rem;
+ }
+ .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button {
+ margin-top: 0.5rem;
+ }
+ .p-column-filter-overlay-menu .p-column-filter-constraint:last-child {
+ border-bottom: 0 none;
+ }
+ .p-column-filter-overlay-menu .p-column-filter-add-rule {
+ padding: 0.5rem 1rem;
+ }
+ .p-column-filter-overlay-menu .p-column-filter-buttonbar {
+ padding: 0.5rem;
+ }
+
+ .p-orderlist .p-orderlist-controls {
+ padding: 0.5rem;
+ }
+ .p-orderlist .p-orderlist-controls .p-button {
+ margin-bottom: 0.5rem;
+ }
+ .p-orderlist .p-orderlist-header {
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dee2e6;
+ padding: 0.75rem;
+ font-weight: 600;
+ border-bottom: 0 none;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-orderlist .p-orderlist-list {
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ color: #343a3f;
+ padding: 0.25rem 0;
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ outline: 0 none;
+ }
+ .p-orderlist .p-orderlist-list .p-orderlist-item {
+ padding: 0.25rem 0.5rem;
+ margin: 0;
+ border: 0 none;
+ color: #343a3f;
+ background: transparent;
+ transition: transform 0.2s, box-shadow 0.2s;
+ }
+ .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover {
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-orderlist .p-orderlist-list .p-orderlist-item.p-focus {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight.p-focus {
+ background: #1174c0;
+ }
+ .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) {
+ background: #fcfcfc;
+ }
+ .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover {
+ background: #dde1e6;
+ }
+
+ .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover {
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-organizationchart .p-organizationchart-node-content.p-highlight {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+ .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i {
+ color: #1b5c83;
+ }
+ .p-organizationchart .p-organizationchart-line-down {
+ background: #dee2e6;
+ }
+ .p-organizationchart .p-organizationchart-line-left {
+ border-right: 1px solid #dee2e6;
+ border-color: #dee2e6;
+ }
+ .p-organizationchart .p-organizationchart-line-top {
+ border-top: 1px solid #dee2e6;
+ border-color: #dee2e6;
+ }
+ .p-organizationchart .p-organizationchart-node-content {
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ color: #343a3f;
+ padding: 0.5rem;
+ }
+ .p-organizationchart .p-organizationchart-node-content .p-node-toggler {
+ background: inherit;
+ color: inherit;
+ border-radius: 50%;
+ }
+ .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+
+ .p-paginator {
+ background: #ffffff;
+ color: #697077;
+ border: solid #dde1e6;
+ border-width: 0;
+ padding: 0.5rem 1rem;
+ border-radius: 1px;
+ }
+ .p-paginator .p-paginator-first,
+.p-paginator .p-paginator-prev,
+.p-paginator .p-paginator-next,
+.p-paginator .p-paginator-last {
+ background-color: transparent;
+ border: 0 none;
+ color: #697077;
+ min-width: 2.357rem;
+ height: 2.357rem;
+ margin: 0.143rem;
+ transition: box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,
+.p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover,
+.p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,
+.p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover {
+ background: #dde1e6;
+ border-color: transparent;
+ color: #343a3f;
+ }
+ .p-paginator .p-paginator-first {
+ border-top-left-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+ .p-paginator .p-paginator-last {
+ border-top-right-radius: 1px;
+ border-bottom-right-radius: 1px;
+ }
+ .p-paginator .p-dropdown {
+ margin-left: 0.5rem;
+ margin-right: 0.5rem;
+ height: 2.357rem;
+ }
+ .p-paginator .p-dropdown .p-dropdown-label {
+ padding-right: 0;
+ }
+ .p-paginator .p-paginator-page-input {
+ margin-left: 0.5rem;
+ margin-right: 0.5rem;
+ }
+ .p-paginator .p-paginator-page-input .p-inputtext {
+ max-width: 2.357rem;
+ }
+ .p-paginator .p-paginator-current {
+ background-color: transparent;
+ border: 0 none;
+ color: #697077;
+ min-width: 2.357rem;
+ height: 2.357rem;
+ margin: 0.143rem;
+ padding: 0 0.5rem;
+ }
+ .p-paginator .p-paginator-pages .p-paginator-page {
+ background-color: transparent;
+ border: 0 none;
+ color: #697077;
+ min-width: 2.357rem;
+ height: 2.357rem;
+ margin: 0.143rem;
+ transition: box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-paginator .p-paginator-pages .p-paginator-page.p-highlight {
+ background: #44A1D9;
+ border-color: #44A1D9;
+ color: #ffffff;
+ }
+ .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover {
+ background: #dde1e6;
+ border-color: transparent;
+ color: #343a3f;
+ }
+
+ .p-picklist .p-picklist-buttons {
+ padding: 0.5rem;
+ }
+ .p-picklist .p-picklist-buttons .p-button {
+ margin-bottom: 0.5rem;
+ }
+ .p-picklist .p-picklist-header {
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dee2e6;
+ padding: 0.75rem;
+ font-weight: 600;
+ border-bottom: 0 none;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-picklist .p-picklist-list {
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ color: #343a3f;
+ padding: 0.25rem 0;
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ outline: 0 none;
+ }
+ .p-picklist .p-picklist-list .p-picklist-item {
+ padding: 0.25rem 0.5rem;
+ margin: 0;
+ border: 0 none;
+ color: #343a3f;
+ background: transparent;
+ transition: transform 0.2s, box-shadow 0.2s;
+ }
+ .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover {
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-picklist .p-picklist-list .p-picklist-item.p-focus {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-picklist .p-picklist-list .p-picklist-item.p-highlight {
+ color: #ffffff;
+ background: #44A1D9;
+ }
+ .p-picklist .p-picklist-list .p-picklist-item.p-highlight.p-focus {
+ background: #1174c0;
+ }
+ .p-picklist.p-picklist-striped .p-picklist-list .p-picklist-item:nth-child(even) {
+ background: #fcfcfc;
+ }
+ .p-picklist.p-picklist-striped .p-picklist-list .p-picklist-item:nth-child(even):hover {
+ background: #dde1e6;
+ }
+
+ .p-timeline .p-timeline-event-marker {
+ border: 0 none;
+ border-radius: 50%;
+ width: 1rem;
+ height: 1rem;
+ background-color: #1174c0;
+ }
+ .p-timeline .p-timeline-event-connector {
+ background-color: #dee2e6;
+ }
+ .p-timeline.p-timeline-vertical .p-timeline-event-opposite,
+.p-timeline.p-timeline-vertical .p-timeline-event-content {
+ padding: 0 1rem;
+ }
+ .p-timeline.p-timeline-vertical .p-timeline-event-connector {
+ width: 2px;
+ }
+ .p-timeline.p-timeline-horizontal .p-timeline-event-opposite,
+.p-timeline.p-timeline-horizontal .p-timeline-event-content {
+ padding: 1rem 0;
+ }
+ .p-timeline.p-timeline-horizontal .p-timeline-event-connector {
+ height: 2px;
+ }
+
+ .p-tree {
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ color: #343a3f;
+ padding: 0.5rem;
+ border-radius: 1px;
+ }
+ .p-tree .p-tree-container .p-treenode {
+ padding: 0.143rem;
+ outline: 0 none;
+ }
+ .p-tree .p-tree-container .p-treenode:focus > .p-treenode-content {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: inset 0 0 0 0.15rem #90c9f5;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content {
+ border-radius: 1px;
+ transition: box-shadow 0.2s;
+ padding: 0.25rem;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler {
+ margin-right: 0.5rem;
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon {
+ margin-right: 0.5rem;
+ color: #697077;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox {
+ margin-right: 0.5rem;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox .p-indeterminate .p-checkbox-icon {
+ color: #343a3f;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler,
+.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon {
+ color: #ffffff;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover,
+.p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover {
+ color: #ffffff;
+ }
+ .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover {
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-tree .p-tree-filter-container {
+ margin-bottom: 0.5rem;
+ }
+ .p-tree .p-tree-filter-container .p-tree-filter {
+ width: 100%;
+ padding-right: 1.25rem;
+ }
+ .p-tree .p-tree-filter-container .p-tree-filter-icon {
+ right: 0.25rem;
+ color: #697077;
+ }
+ .p-tree .p-treenode-children {
+ padding: 0 0 0 1rem;
+ }
+ .p-tree .p-tree-loading-icon {
+ font-size: 2rem;
+ }
+ .p-tree .p-tree-loading-icon.p-icon {
+ width: 2rem;
+ height: 2rem;
+ }
+
+ .p-treetable .p-paginator-top {
+ border-width: 0 0 1px 0;
+ border-radius: 0;
+ }
+ .p-treetable .p-paginator-bottom {
+ border-width: 0 0 1px 0;
+ border-radius: 0;
+ }
+ .p-treetable .p-treetable-header {
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dde1e6;
+ border-width: 1px 0 1px 0;
+ padding: 0.25rem 1rem;
+ font-weight: 600;
+ }
+ .p-treetable .p-treetable-footer {
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dde1e6;
+ border-width: 0 0 1px 0;
+ padding: 0.25rem 1rem;
+ font-weight: 600;
+ }
+ .p-treetable .p-treetable-thead > tr > th {
+ text-align: left;
+ padding: 0.25rem 1rem;
+ border: 1px solid #dde1e6;
+ border-width: 0 0 1px 0;
+ font-weight: 600;
+ color: #343a3f;
+ background: #f2f4f8;
+ transition: box-shadow 0.2s;
+ }
+ .p-treetable .p-treetable-tfoot > tr > td {
+ text-align: left;
+ padding: 0.25rem 1rem;
+ border: 1px solid #dde1e6;
+ border-width: 0 0 1px 0;
+ font-weight: 600;
+ color: #343a3f;
+ background: #f2f4f8;
+ }
+ .p-treetable .p-sortable-column {
+ outline-color: #90c9f5;
+ }
+ .p-treetable .p-sortable-column .p-sortable-column-icon {
+ color: #697077;
+ margin-left: 0.5rem;
+ }
+ .p-treetable .p-sortable-column .p-sortable-column-badge {
+ border-radius: 50%;
+ height: 1.143rem;
+ min-width: 1.143rem;
+ line-height: 1.143rem;
+ color: #ffffff;
+ background: #44A1D9;
+ margin-left: 0.5rem;
+ }
+ .p-treetable .p-sortable-column:not(.p-highlight):hover {
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon {
+ color: #697077;
+ }
+ .p-treetable .p-sortable-column.p-highlight {
+ background: #f2f4f8;
+ color: #1174c0;
+ }
+ .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon {
+ color: #1174c0;
+ }
+ .p-treetable .p-treetable-tbody > tr {
+ background: #ffffff;
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ }
+ .p-treetable .p-treetable-tbody > tr > td {
+ text-align: left;
+ border: 1px solid #dde1e6;
+ border-width: 0 0 1px 0;
+ padding: 0.25rem 1rem;
+ }
+ .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ margin-right: 0.5rem;
+ }
+ .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox {
+ margin-right: 0.5rem;
+ }
+ .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon {
+ color: #343a3f;
+ }
+ .p-treetable .p-treetable-tbody > tr:focus-visible {
+ outline: 0.15rem solid #90c9f5;
+ outline-offset: -0.15rem;
+ }
+ .p-treetable .p-treetable-tbody > tr.p-highlight {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+ .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler {
+ color: #ffffff;
+ }
+ .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover {
+ color: #ffffff;
+ }
+ .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover {
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler {
+ color: #343a3f;
+ }
+ .p-treetable .p-column-resizer-helper {
+ background: #1174c0;
+ }
+ .p-treetable .p-treetable-scrollable-header,
+.p-treetable .p-treetable-scrollable-footer {
+ background: #f2f4f8;
+ }
+ .p-treetable .p-treetable-loading-icon {
+ font-size: 2rem;
+ }
+ .p-treetable .p-treetable-loading-icon.p-icon {
+ width: 2rem;
+ height: 2rem;
+ }
+ .p-treetable.p-treetable-gridlines .p-datatable-header {
+ border-width: 1px 1px 0 1px;
+ }
+ .p-treetable.p-treetable-gridlines .p-treetable-footer {
+ border-width: 0 1px 1px 1px;
+ }
+ .p-treetable.p-treetable-gridlines .p-treetable-top {
+ border-width: 0 1px 0 1px;
+ }
+ .p-treetable.p-treetable-gridlines .p-treetable-bottom {
+ border-width: 0 1px 1px 1px;
+ }
+ .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th {
+ border-width: 1px;
+ }
+ .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td {
+ border-width: 1px;
+ }
+ .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td {
+ border-width: 1px;
+ }
+ .p-treetable.p-treetable-sm .p-treetable-header {
+ padding: 0.21875rem 0.875rem;
+ }
+ .p-treetable.p-treetable-sm .p-treetable-thead > tr > th {
+ padding: 0.125rem 0.5rem;
+ }
+ .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td {
+ padding: 0.125rem 0.5rem;
+ }
+ .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td {
+ padding: 0.125rem 0.5rem;
+ }
+ .p-treetable.p-treetable-sm .p-treetable-footer {
+ padding: 0.125rem 0.5rem;
+ }
+ .p-treetable.p-treetable-lg .p-treetable-header {
+ padding: 0.3125rem 1.25rem;
+ }
+ .p-treetable.p-treetable-lg .p-treetable-thead > tr > th {
+ padding: 0.3125rem 1.25rem;
+ }
+ .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td {
+ padding: 0.3125rem 1.25rem;
+ }
+ .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td {
+ padding: 0.3125rem 1.25rem;
+ }
+ .p-treetable.p-treetable-lg .p-treetable-footer {
+ padding: 0.3125rem 1.25rem;
+ }
+
+ .p-accordion .p-accordion-header .p-accordion-header-link {
+ padding: 0.75rem;
+ border: 1px solid #dee2e6;
+ color: #343a3f;
+ background: #f2f4f8;
+ font-weight: 600;
+ border-radius: 1px;
+ transition: box-shadow 0.2s;
+ }
+ .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon {
+ margin-right: 0.5rem;
+ }
+ .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: inset 0 0 0 0.2rem #90c9f5;
+ }
+ .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link {
+ background: #dde1e6;
+ border-color: #dee2e6;
+ color: #343a3f;
+ }
+ .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link {
+ background: #f2f4f8;
+ border-color: #dee2e6;
+ color: #343a3f;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link {
+ border-color: #dee2e6;
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-accordion .p-accordion-content {
+ padding: 0.5rem;
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ color: #343a3f;
+ border-top: 0;
+ border-top-right-radius: 0;
+ border-top-left-radius: 0;
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+ .p-accordion .p-accordion-tab {
+ margin-bottom: 0;
+ }
+ .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link {
+ border-radius: 0;
+ }
+ .p-accordion .p-accordion-tab .p-accordion-content {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link {
+ border-top: 0 none;
+ }
+ .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link {
+ border-top: 0 none;
+ }
+ .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link {
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link {
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+ .p-accordion .p-accordion-tab:last-child .p-accordion-content {
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+
+ .p-card {
+ background: #ffffff;
+ color: #343a3f;
+ box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 1px;
+ }
+ .p-card .p-card-body {
+ padding: 1rem;
+ }
+ .p-card .p-card-title {
+ font-size: 1.5rem;
+ font-weight: 700;
+ margin-bottom: 0.5rem;
+ }
+ .p-card .p-card-subtitle {
+ font-weight: 400;
+ margin-bottom: 0.5rem;
+ color: #697077;
+ }
+ .p-card .p-card-content {
+ padding: 1rem 0;
+ }
+ .p-card .p-card-footer {
+ padding: 1rem 0 0 0;
+ }
+
+ .p-fieldset {
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ color: #343a3f;
+ border-radius: 1px;
+ }
+ .p-fieldset .p-fieldset-legend {
+ padding: 0.75rem;
+ border: 1px solid #dee2e6;
+ color: #343a3f;
+ background: #f2f4f8;
+ font-weight: 600;
+ border-radius: 1px;
+ }
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend {
+ padding: 0;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a {
+ padding: 0.75rem;
+ color: #343a3f;
+ border-radius: 1px;
+ transition: box-shadow 0.2s;
+ }
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler {
+ margin-right: 0.5rem;
+ }
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:hover {
+ color: #343a3f;
+ }
+ .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {
+ background: #dde1e6;
+ border-color: #dee2e6;
+ color: #343a3f;
+ }
+ .p-fieldset .p-fieldset-content {
+ padding: 0.5rem;
+ }
+
+ .p-divider .p-divider-content {
+ background-color: #ffffff;
+ }
+ .p-divider.p-divider-horizontal {
+ margin: 0.5rem 0;
+ padding: 0 0.5rem;
+ }
+ .p-divider.p-divider-horizontal:before {
+ border-top: 1px #dee2e6;
+ }
+ .p-divider.p-divider-horizontal .p-divider-content {
+ padding: 0 0.5rem;
+ }
+ .p-divider.p-divider-vertical {
+ margin: 0 0.5rem;
+ padding: 0.5rem 0;
+ }
+ .p-divider.p-divider-vertical:before {
+ border-left: 1px #dee2e6;
+ }
+ .p-divider.p-divider-vertical .p-divider-content {
+ padding: 0.5rem 0;
+ }
+
+ .p-panel .p-panel-header {
+ border: 1px solid #dee2e6;
+ padding: 0.75rem;
+ background: #f2f4f8;
+ color: #343a3f;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-panel .p-panel-header .p-panel-title {
+ font-weight: 600;
+ }
+ .p-panel .p-panel-header .p-panel-header-icon {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-panel .p-panel-header .p-panel-header-icon:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-panel .p-panel-header .p-panel-header-icon:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-panel.p-panel-toggleable .p-panel-header {
+ padding: 0.5rem 1rem;
+ }
+ .p-panel .p-panel-content {
+ padding: 0.5rem;
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ color: #343a3f;
+ border-top: 0 none;
+ }
+ .p-panel .p-panel-content:last-child {
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+ .p-panel .p-panel-footer {
+ padding: 0.5rem 1rem;
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ color: #343a3f;
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ border-top: 0 none;
+ }
+
+ .p-scrollpanel .p-scrollpanel-bar {
+ background: #f2f4f8;
+ border: 0 none;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-scrollpanel .p-scrollpanel-bar:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+
+ .p-splitter {
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ border-radius: 1px;
+ color: #343a3f;
+ }
+ .p-splitter .p-splitter-gutter {
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ background: #f2f4f8;
+ }
+ .p-splitter .p-splitter-gutter .p-splitter-gutter-handle {
+ background: #dee2e6;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-splitter .p-splitter-gutter .p-splitter-gutter-handle:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-splitter .p-splitter-gutter-resizing {
+ background: #dee2e6;
+ }
+
+ .p-tabview .p-tabview-nav {
+ background: #ffffff;
+ border: 1px solid #dee2e6;
+ border-width: 0 0 2px 0;
+ }
+ .p-tabview .p-tabview-nav li {
+ margin-right: 0;
+ }
+ .p-tabview .p-tabview-nav li .p-tabview-nav-link {
+ border: solid #dee2e6;
+ border-width: 0 0 2px 0;
+ border-color: transparent transparent #dee2e6 transparent;
+ background: #ffffff;
+ color: #697077;
+ padding: 0.75rem;
+ font-weight: 600;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ transition: box-shadow 0.2s;
+ margin: 0 0 -2px 0;
+ }
+ .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: inset 0 0 0 0.2rem #90c9f5;
+ }
+ .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {
+ background: #ffffff;
+ border-color: #697077;
+ color: #697077;
+ }
+ .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {
+ background: #ffffff;
+ border-color: #1174c0;
+ color: #1174c0;
+ }
+ .p-tabview .p-tabview-nav-btn.p-link {
+ background: #ffffff;
+ color: #1174c0;
+ width: 2.357rem;
+ box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 0;
+ }
+ .p-tabview .p-tabview-nav-btn.p-link:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: inset 0 0 0 0.2rem #90c9f5;
+ }
+ .p-tabview .p-tabview-panels {
+ background: #ffffff;
+ padding: 0.5rem;
+ border: 0 none;
+ color: #343a3f;
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+
+ .p-toolbar {
+ background: #f2f4f8;
+ border: 1px solid #dee2e6;
+ padding: 0.75rem;
+ border-radius: 1px;
+ gap: 0.5rem;
+ }
+ .p-toolbar .p-toolbar-separator {
+ margin: 0 0.5rem;
+ }
+
+ .p-confirm-popup {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ border-radius: 1px;
+ box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
+ }
+ .p-confirm-popup .p-confirm-popup-content {
+ padding: 0.5rem;
+ }
+ .p-confirm-popup .p-confirm-popup-footer {
+ text-align: right;
+ padding: 0 0.5rem 0.5rem 0.5rem;
+ }
+ .p-confirm-popup .p-confirm-popup-footer button {
+ margin: 0 0.5rem 0 0;
+ width: auto;
+ }
+ .p-confirm-popup .p-confirm-popup-footer button:last-child {
+ margin: 0;
+ }
+ .p-confirm-popup:after {
+ border: solid transparent;
+ border-color: rgba(255, 255, 255, 0);
+ border-bottom-color: #ffffff;
+ }
+ .p-confirm-popup:before {
+ border: solid transparent;
+ border-color: rgba(255, 255, 255, 0);
+ border-bottom-color: #f2f2f2;
+ }
+ .p-confirm-popup.p-confirm-popup-flipped:after {
+ border-top-color: #ffffff;
+ }
+ .p-confirm-popup.p-confirm-popup-flipped:before {
+ border-top-color: #ffffff;
+ }
+ .p-confirm-popup .p-confirm-popup-icon {
+ font-size: 1.5rem;
+ }
+ .p-confirm-popup .p-confirm-popup-icon.p-icon {
+ width: 1.5rem;
+ height: 1.5rem;
+ }
+ .p-confirm-popup .p-confirm-popup-message {
+ margin-left: 1rem;
+ }
+
+ .p-dialog {
+ border-radius: 1px;
+ box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
+ border: 0 none;
+ }
+ .p-dialog .p-dialog-header {
+ border-bottom: 0 none;
+ background: #ffffff;
+ color: #343a3f;
+ padding: 0.75rem;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-dialog .p-dialog-header .p-dialog-title {
+ font-weight: 600;
+ font-size: 1.25rem;
+ }
+ .p-dialog .p-dialog-header .p-dialog-header-icon {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ margin-right: 0.5rem;
+ }
+ .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-dialog .p-dialog-header .p-dialog-header-icon:last-child {
+ margin-right: 0;
+ }
+ .p-dialog .p-dialog-content {
+ background: #ffffff;
+ color: #343a3f;
+ padding: 0 0.75rem 1rem 0.75rem;
+ }
+ .p-dialog .p-dialog-content:last-of-type {
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+ .p-dialog .p-dialog-footer {
+ border-top: 0 none;
+ background: #ffffff;
+ color: #343a3f;
+ padding: 0 0.75rem 0.75rem 0.75rem;
+ text-align: right;
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+ .p-dialog .p-dialog-footer button {
+ margin: 0 0.5rem 0 0;
+ width: auto;
+ }
+ .p-dialog.p-confirm-dialog .p-confirm-dialog-icon {
+ font-size: 2rem;
+ }
+ .p-dialog.p-confirm-dialog .p-confirm-dialog-message:not(:first-child) {
+ margin-left: 1rem;
+ }
+
+ .p-overlaypanel {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ border-radius: 1px;
+ box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
+ }
+ .p-overlaypanel .p-overlaypanel-content {
+ padding: 0.5rem;
+ }
+ .p-overlaypanel .p-overlaypanel-close {
+ background: #1174c0;
+ color: #ffffff;
+ width: 1rem;
+ height: 1rem;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ border-radius: 50%;
+ position: absolute;
+ top: -0.5rem;
+ right: -0.5rem;
+ }
+ .p-overlaypanel .p-overlaypanel-close:enabled:hover {
+ background: #0f68ad;
+ color: #ffffff;
+ }
+ .p-overlaypanel:after {
+ border: solid transparent;
+ border-color: rgba(255, 255, 255, 0);
+ border-bottom-color: #ffffff;
+ }
+ .p-overlaypanel:before {
+ border: solid transparent;
+ border-color: rgba(255, 255, 255, 0);
+ border-bottom-color: #f2f2f2;
+ }
+ .p-overlaypanel.p-overlaypanel-flipped:after {
+ border-top-color: #ffffff;
+ }
+ .p-overlaypanel.p-overlaypanel-flipped:before {
+ border-top-color: #ffffff;
+ }
+
+ .p-sidebar {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
+ }
+ .p-sidebar .p-sidebar-header {
+ padding: 0.75rem;
+ }
+ .p-sidebar .p-sidebar-header .p-sidebar-header-content {
+ font-weight: 600;
+ font-size: 1.25rem;
+ }
+ .p-sidebar .p-sidebar-header .p-sidebar-close,
+.p-sidebar .p-sidebar-header .p-sidebar-icon {
+ width: 1rem;
+ height: 1rem;
+ color: #878d96;
+ border: 0 none;
+ background: transparent;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover,
+.p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover {
+ color: #343a3f;
+ border-color: #121619;
+ background: transparent;
+ }
+ .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible,
+.p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-sidebar .p-sidebar-header + .p-sidebar-content {
+ padding-top: 0;
+ }
+ .p-sidebar .p-sidebar-content {
+ padding: 0.5rem;
+ }
+
+ .p-tooltip .p-tooltip-text {
+ background: #343a3f;
+ color: #ffffff;
+ padding: 0.25rem 0.25rem;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 1px;
+ }
+ .p-tooltip.p-tooltip-right .p-tooltip-arrow {
+ border-right-color: #343a3f;
+ }
+ .p-tooltip.p-tooltip-left .p-tooltip-arrow {
+ border-left-color: #343a3f;
+ }
+ .p-tooltip.p-tooltip-top .p-tooltip-arrow {
+ border-top-color: #343a3f;
+ }
+ .p-tooltip.p-tooltip-bottom .p-tooltip-arrow {
+ border-bottom-color: #343a3f;
+ }
+
+ .p-fileupload .p-fileupload-buttonbar {
+ background: #f2f4f8;
+ padding: 0.75rem;
+ border: 1px solid #dee2e6;
+ color: #343a3f;
+ border-bottom: 0 none;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ gap: 0.5rem;
+ }
+ .p-fileupload .p-fileupload-buttonbar .p-button.p-fileupload-choose.p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-fileupload .p-fileupload-content {
+ background: #ffffff;
+ padding: 2rem 1rem;
+ border: 1px solid #dee2e6;
+ color: #343a3f;
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+ .p-fileupload .p-fileupload-content.p-fileupload-highlight {
+ border: 1px dashed #1174c0;
+ background-color: #44A1D9;
+ }
+ .p-fileupload .p-fileupload-file {
+ padding: 1rem;
+ border: 1px solid #dee2e6;
+ border-radius: 1px;
+ gap: 0.5rem;
+ margin-bottom: 0.5rem;
+ }
+ .p-fileupload .p-fileupload-file:last-child {
+ margin-bottom: 0;
+ }
+ .p-fileupload .p-fileupload-file-name {
+ margin-bottom: 0.5rem;
+ }
+ .p-fileupload .p-fileupload-file-size {
+ margin-right: 0.5rem;
+ }
+ .p-fileupload .p-progressbar {
+ height: 0.25rem;
+ }
+ .p-fileupload .p-fileupload-row > div {
+ padding: 0.25rem 1rem;
+ }
+ .p-fileupload.p-fileupload-advanced .p-message {
+ margin-top: 0;
+ }
+
+ .p-fileupload-choose:not(.p-disabled):hover {
+ background: #0f68ad;
+ color: #ffffff;
+ border-color: #0f68ad;
+ }
+ .p-fileupload-choose:not(.p-disabled):active {
+ background: #0e5d9a;
+ color: #ffffff;
+ border-color: #0e5d9a;
+ }
+
+ .p-breadcrumb {
+ background: #ffffff;
+ border: 1px solid #dee2e6;
+ border-radius: 1px;
+ padding: 0.5rem;
+ }
+ .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link {
+ transition: box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon {
+ color: #697077;
+ }
+ .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator {
+ margin: 0 0.5rem 0 0.5rem;
+ color: #343a3f;
+ }
+ .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon {
+ color: #697077;
+ }
+
+ .p-contextmenu {
+ padding: 0.25rem 0;
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 1px;
+ min-width: 12.5rem;
+ }
+ .p-contextmenu .p-contextmenu-root-list {
+ outline: 0 none;
+ }
+ .p-contextmenu .p-submenu-list {
+ padding: 0.25rem 0;
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 1px;
+ }
+ .p-contextmenu .p-menuitem > .p-menuitem-content {
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
+ color: #343a3f;
+ padding: 0.5rem 0.5rem;
+ user-select: none;
+ }
+ .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
+ color: #697077;
+ margin-right: 0.5rem;
+ }
+ .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-contextmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
+ background: #dde1e6;
+ }
+ .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #343a3f;
+ }
+ .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon, .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-contextmenu .p-menuitem-separator {
+ border-top: 1px solid #dee2e6;
+ margin: 0.25rem 0;
+ }
+ .p-contextmenu .p-submenu-icon {
+ font-size: 0.875rem;
+ }
+ .p-contextmenu .p-submenu-icon.p-icon {
+ width: 0.875rem;
+ height: 0.875rem;
+ }
+
+ .p-dock .p-dock-list-container {
+ background: rgba(255, 255, 255, 0.1);
+ border: 1px solid rgba(255, 255, 255, 0.2);
+ padding: 0.5rem 0.5rem;
+ border-radius: 0.5rem;
+ }
+ .p-dock .p-dock-list-container .p-dock-list {
+ outline: 0 none;
+ }
+ .p-dock .p-dock-item {
+ padding: 0.5rem;
+ border-radius: 1px;
+ }
+ .p-dock .p-dock-item.p-focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: inset 0 0 0 0.15rem #90c9f5;
+ }
+ .p-dock .p-dock-link {
+ width: 4rem;
+ height: 4rem;
+ }
+ .p-dock.p-dock-top .p-dock-item-second-prev,
+.p-dock.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-bottom .p-dock-item-second-prev,
+.p-dock.p-dock-bottom .p-dock-item-second-next {
+ margin: 0 0.9rem;
+ }
+ .p-dock.p-dock-top .p-dock-item-prev,
+.p-dock.p-dock-top .p-dock-item-next, .p-dock.p-dock-bottom .p-dock-item-prev,
+.p-dock.p-dock-bottom .p-dock-item-next {
+ margin: 0 1.3rem;
+ }
+ .p-dock.p-dock-top .p-dock-item-current, .p-dock.p-dock-bottom .p-dock-item-current {
+ margin: 0 1.5rem;
+ }
+ .p-dock.p-dock-left .p-dock-item-second-prev,
+.p-dock.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-right .p-dock-item-second-prev,
+.p-dock.p-dock-right .p-dock-item-second-next {
+ margin: 0.9rem 0;
+ }
+ .p-dock.p-dock-left .p-dock-item-prev,
+.p-dock.p-dock-left .p-dock-item-next, .p-dock.p-dock-right .p-dock-item-prev,
+.p-dock.p-dock-right .p-dock-item-next {
+ margin: 1.3rem 0;
+ }
+ .p-dock.p-dock-left .p-dock-item-current, .p-dock.p-dock-right .p-dock-item-current {
+ margin: 1.5rem 0;
+ }
+ .p-dock.p-dock-mobile.p-dock-top .p-dock-list-container, .p-dock.p-dock-mobile.p-dock-bottom .p-dock-list-container {
+ overflow-x: auto;
+ width: 100%;
+ }
+ .p-dock.p-dock-mobile.p-dock-top .p-dock-list-container .p-dock-list, .p-dock.p-dock-mobile.p-dock-bottom .p-dock-list-container .p-dock-list {
+ margin: 0 auto;
+ }
+ .p-dock.p-dock-mobile.p-dock-left .p-dock-list-container, .p-dock.p-dock-mobile.p-dock-right .p-dock-list-container {
+ overflow-y: auto;
+ height: 100%;
+ }
+ .p-dock.p-dock-mobile.p-dock-left .p-dock-list-container .p-dock-list, .p-dock.p-dock-mobile.p-dock-right .p-dock-list-container .p-dock-list {
+ margin: auto 0;
+ }
+ .p-dock.p-dock-mobile .p-dock-list .p-dock-item {
+ transform: none;
+ margin: 0;
+ }
+
+ .p-megamenu {
+ padding: 0.5rem;
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dee2e6;
+ border-radius: 1px;
+ }
+ .p-megamenu .p-megamenu-root-list {
+ outline: 0 none;
+ }
+ .p-megamenu .p-menuitem > .p-menuitem-content {
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
+ color: #343a3f;
+ padding: 0.5rem 0.5rem;
+ user-select: none;
+ }
+ .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
+ color: #697077;
+ margin-right: 0.5rem;
+ }
+ .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-megamenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
+ background: #dde1e6;
+ }
+ .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #343a3f;
+ }
+ .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon, .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-megamenu .p-megamenu-panel {
+ background: #ffffff;
+ color: #343a3f;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-megamenu .p-submenu-header {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: #ffffff;
+ font-weight: 600;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-megamenu .p-submenu-list {
+ padding: 0.25rem 0;
+ min-width: 12.5rem;
+ }
+ .p-megamenu .p-submenu-list .p-menuitem-separator {
+ border-top: 1px solid #dee2e6;
+ margin: 0.25rem 0;
+ }
+ .p-megamenu.p-megamenu-vertical {
+ min-width: 12.5rem;
+ padding: 0.25rem 0;
+ }
+ .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content {
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link {
+ padding: 0.5rem 0.5rem;
+ user-select: none;
+ }
+ .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
+ color: #697077;
+ margin-right: 0.5rem;
+ }
+ .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ margin-left: 0.5rem;
+ }
+ .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon, .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-megamenu.p-megamenu-mobile.p-megamenu-vertical {
+ width: 100%;
+ padding: 0.5rem;
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-button {
+ width: 1rem;
+ height: 1rem;
+ color: #697077;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-button:hover {
+ color: #697077;
+ background: #dde1e6;
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-button:focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-root-list {
+ padding: 0.25rem 0;
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-root-list .p-menuitem-separator {
+ border-top: 1px solid #dee2e6;
+ margin: 0.25rem 0;
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-root-list .p-submenu-icon {
+ font-size: 0.875rem;
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-root-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ margin-left: auto;
+ transition: transform 0.2s;
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-root-list .p-menuitem.p-menuitem-active > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {
+ transform: rotate(-180deg);
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-root-list .p-submenu-list .p-submenu-icon {
+ transition: transform 0.2s;
+ transform: rotate(90deg);
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {
+ transform: rotate(-90deg);
+ }
+ .p-megamenu.p-megamenu-mobile .p-megamenu-root-list .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link {
+ padding-left: 1.5rem;
+ }
+
+ .p-menu {
+ padding: 0.25rem 0;
+ background: #ffffff;
+ color: #343a3f;
+ border: 1px solid #dee2e6;
+ border-radius: 1px;
+ min-width: 12.5rem;
+ }
+ .p-menu .p-menuitem > .p-menuitem-content {
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link {
+ color: #343a3f;
+ padding: 0.5rem 0.5rem;
+ user-select: none;
+ }
+ .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
+ color: #697077;
+ margin-right: 0.5rem;
+ }
+ .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-menu .p-menuitem.p-highlight > .p-menuitem-content {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-menu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
+ background: #dde1e6;
+ }
+ .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #343a3f;
+ }
+ .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon, .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-menu.p-menu-overlay {
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-menu .p-submenu-header {
+ margin: 0;
+ padding: 0.25rem 0.5rem;
+ color: #343a3f;
+ background: #ffffff;
+ font-weight: 600;
+ border-top-right-radius: 0;
+ border-top-left-radius: 0;
+ }
+ .p-menu .p-menuitem-separator {
+ border-top: 1px solid #dee2e6;
+ margin: 0.25rem 0;
+ }
+
+ .p-menubar {
+ padding: 0.5rem;
+ background: #f2f4f8;
+ color: #343a3f;
+ border: 1px solid #dee2e6;
+ border-radius: 1px;
+ }
+ .p-menubar .p-menubar-root-list {
+ outline: 0 none;
+ }
+ .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content {
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ border-radius: 1px;
+ }
+ .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link {
+ padding: 0.5rem 0.5rem;
+ user-select: none;
+ }
+ .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
+ color: #697077;
+ margin-right: 0.5rem;
+ }
+ .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ margin-left: 0.5rem;
+ }
+ .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-menubar .p-menuitem > .p-menuitem-content {
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link {
+ color: #343a3f;
+ padding: 0.5rem 0.5rem;
+ user-select: none;
+ }
+ .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
+ color: #697077;
+ margin-right: 0.5rem;
+ }
+ .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-menubar .p-menuitem.p-highlight > .p-menuitem-content {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-menubar .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
+ background: #dde1e6;
+ }
+ .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #343a3f;
+ }
+ .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon, .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-menubar .p-submenu-list {
+ padding: 0.25rem 0;
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ min-width: 12.5rem;
+ }
+ .p-menubar .p-submenu-list .p-menuitem-separator {
+ border-top: 1px solid #dee2e6;
+ margin: 0.25rem 0;
+ }
+ .p-menubar .p-submenu-list .p-submenu-icon {
+ font-size: 0.875rem;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-button {
+ width: 1rem;
+ height: 1rem;
+ color: #697077;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-button:hover {
+ color: #697077;
+ background: #dde1e6;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-button:focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list {
+ padding: 0.25rem 0;
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-menuitem-separator {
+ border-top: 1px solid #dee2e6;
+ margin: 0.25rem 0;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-icon {
+ font-size: 0.875rem;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ margin-left: auto;
+ transition: transform 0.2s;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-menuitem.p-menuitem-active > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {
+ transform: rotate(-180deg);
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-submenu-icon {
+ transition: transform 0.2s;
+ transform: rotate(90deg);
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {
+ transform: rotate(-90deg);
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link {
+ padding-left: 1.5rem;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link {
+ padding-left: 2.5rem;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link {
+ padding-left: 3.5rem;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link {
+ padding-left: 4.5rem;
+ }
+ .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link {
+ padding-left: 5.5rem;
+ }
+
+ .p-panelmenu .p-panelmenu-header {
+ outline: 0 none;
+ }
+ .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content {
+ border: 1px solid #dee2e6;
+ color: #343a3f;
+ background: #f2f4f8;
+ border-radius: 1px;
+ transition: box-shadow 0.2s;
+ }
+ .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-action {
+ color: #343a3f;
+ padding: 0.75rem;
+ font-weight: 600;
+ }
+ .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-action .p-submenu-icon {
+ margin-right: 0.5rem;
+ }
+ .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-action .p-menuitem-icon {
+ margin-right: 0.5rem;
+ }
+ .p-panelmenu .p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: inset 0 0 0 0.2rem #90c9f5;
+ }
+ .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover .p-panelmenu-header-content {
+ background: #dde1e6;
+ border-color: #dee2e6;
+ color: #343a3f;
+ }
+ .p-panelmenu .p-panelmenu-header:not(.p-disabled).p-highlight .p-panelmenu-header-content {
+ background: #f2f4f8;
+ border-color: #dee2e6;
+ color: #343a3f;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+ margin-bottom: 0;
+ }
+ .p-panelmenu .p-panelmenu-header:not(.p-disabled).p-highlight:hover .p-panelmenu-header-content {
+ border-color: #dee2e6;
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-panelmenu .p-panelmenu-content {
+ padding: 0.25rem 0;
+ border: 1px solid #dee2e6;
+ background: #ffffff;
+ color: #343a3f;
+ border-top: 0;
+ border-top-right-radius: 0;
+ border-top-left-radius: 0;
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+ .p-panelmenu .p-panelmenu-content .p-panelmenu-root-list {
+ outline: 0 none;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content {
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link {
+ color: #343a3f;
+ padding: 0.5rem 0.5rem;
+ user-select: none;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
+ color: #697077;
+ margin-right: 0.5rem;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
+ background: #dde1e6;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #343a3f;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon, .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ margin-right: 0.5rem;
+ }
+ .p-panelmenu .p-panelmenu-content .p-menuitem-separator {
+ border-top: 1px solid #dee2e6;
+ margin: 0.25rem 0;
+ }
+ .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-list) {
+ padding: 0 0 0 1rem;
+ }
+ .p-panelmenu .p-panelmenu-panel {
+ margin-bottom: 0;
+ }
+ .p-panelmenu .p-panelmenu-panel .p-panelmenu-header .p-panelmenu-header-content {
+ border-radius: 0;
+ }
+ .p-panelmenu .p-panelmenu-panel .p-panelmenu-content {
+ border-radius: 0;
+ }
+ .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header .p-panelmenu-header-content {
+ border-top: 0 none;
+ }
+ .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover .p-panelmenu-header-content, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover .p-panelmenu-header-content {
+ border-top: 0 none;
+ }
+ .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header .p-panelmenu-header-content {
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ }
+ .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) .p-panelmenu-header-content {
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+ .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content {
+ border-bottom-right-radius: 1px;
+ border-bottom-left-radius: 1px;
+ }
+
+ .p-steps .p-steps-item .p-menuitem-link {
+ background: transparent;
+ transition: box-shadow 0.2s;
+ border-radius: 1px;
+ background: #ffffff;
+ }
+ .p-steps .p-steps-item .p-menuitem-link .p-steps-number {
+ color: #343a3f;
+ border: 1px solid #dde1e6;
+ background: #ffffff;
+ min-width: 2rem;
+ height: 2rem;
+ line-height: 2rem;
+ font-size: 1.143rem;
+ z-index: 1;
+ border-radius: 50%;
+ }
+ .p-steps .p-steps-item .p-menuitem-link .p-steps-title {
+ margin-top: 0.5rem;
+ color: #697077;
+ }
+ .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-steps .p-steps-item.p-highlight .p-steps-number {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+ .p-steps .p-steps-item.p-highlight .p-steps-title {
+ font-weight: 600;
+ color: #343a3f;
+ }
+ .p-steps .p-steps-item:before {
+ content: " ";
+ border-top: 1px solid #dee2e6;
+ width: 100%;
+ top: 50%;
+ left: 0;
+ display: block;
+ position: absolute;
+ margin-top: -1rem;
+ }
+
+ .p-tabmenu .p-tabmenu-nav {
+ background: #ffffff;
+ border: 1px solid #dee2e6;
+ border-width: 0 0 2px 0;
+ }
+ .p-tabmenu .p-tabmenu-nav .p-tabmenuitem {
+ margin-right: 0;
+ }
+ .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link {
+ border: solid #dee2e6;
+ border-width: 0 0 2px 0;
+ border-color: transparent transparent #dee2e6 transparent;
+ background: #ffffff;
+ color: #697077;
+ padding: 0.75rem;
+ font-weight: 600;
+ border-top-right-radius: 1px;
+ border-top-left-radius: 1px;
+ transition: box-shadow 0.2s;
+ margin: 0 0 -2px 0;
+ }
+ .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon {
+ margin-right: 0.5rem;
+ }
+ .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: inset 0 0 0 0.2rem #90c9f5;
+ }
+ .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link {
+ background: #ffffff;
+ border-color: #697077;
+ color: #697077;
+ }
+ .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link {
+ background: #ffffff;
+ border-color: #1174c0;
+ color: #1174c0;
+ }
+
+ .p-tieredmenu {
+ padding: 0.25rem 0;
+ background: #ffffff;
+ color: #343a3f;
+ border: 1px solid #dee2e6;
+ border-radius: 1px;
+ min-width: 12.5rem;
+ }
+ .p-tieredmenu.p-tieredmenu-overlay {
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-tieredmenu .p-tieredmenu-root-list {
+ outline: 0 none;
+ }
+ .p-tieredmenu .p-submenu-list {
+ padding: 0.25rem 0;
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ }
+ .p-tieredmenu .p-menuitem > .p-menuitem-content {
+ color: #343a3f;
+ transition: box-shadow 0.2s;
+ border-radius: 0;
+ }
+ .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
+ color: #343a3f;
+ padding: 0.5rem 0.5rem;
+ user-select: none;
+ }
+ .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
+ color: #697077;
+ margin-right: 0.5rem;
+ }
+ .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-tieredmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
+ background: #dde1e6;
+ }
+ .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
+ color: #343a3f;
+ background: #d2d6db;
+ }
+ .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
+ color: #343a3f;
+ }
+ .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
+ color: #343a3f;
+ background: #dde1e6;
+ }
+ .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
+ color: #343a3f;
+ }
+ .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon, .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
+ color: #697077;
+ }
+ .p-tieredmenu .p-menuitem-separator {
+ border-top: 1px solid #dee2e6;
+ margin: 0.25rem 0;
+ }
+ .p-tieredmenu .p-submenu-icon {
+ font-size: 0.875rem;
+ }
+ .p-tieredmenu .p-submenu-icon.p-icon {
+ width: 0.875rem;
+ height: 0.875rem;
+ }
+
+ .p-inline-message {
+ padding: 0.25rem 0.25rem;
+ margin: 0;
+ border-radius: 1px;
+ }
+ .p-inline-message.p-inline-message-info {
+ background: #CDF2FB;
+ border: solid #11add3;
+ border-width: 0px;
+ color: #08576a;
+ }
+ .p-inline-message.p-inline-message-info .p-inline-message-icon {
+ color: #08576a;
+ }
+ .p-inline-message.p-inline-message-success {
+ background: #D7F8D3;
+ border: solid #32c620;
+ border-width: 0px;
+ color: #196310;
+ }
+ .p-inline-message.p-inline-message-success .p-inline-message-icon {
+ color: #196310;
+ }
+ .p-inline-message.p-inline-message-warn {
+ background: #FEF8D6;
+ border: solid #e4c306;
+ border-width: 0px;
+ color: #726203;
+ }
+ .p-inline-message.p-inline-message-warn .p-inline-message-icon {
+ color: #726203;
+ }
+ .p-inline-message.p-inline-message-error {
+ background: #FDDED2;
+ border: solid #de450a;
+ border-width: 0px;
+ color: #6f2205;
+ }
+ .p-inline-message.p-inline-message-error .p-inline-message-icon {
+ color: #6f2205;
+ }
+ .p-inline-message .p-inline-message-icon {
+ font-size: 1rem;
+ margin-right: 0.5rem;
+ }
+ .p-inline-message .p-inline-message-text {
+ font-size: 1rem;
+ }
+ .p-inline-message.p-inline-message-icon-only .p-inline-message-icon {
+ margin-right: 0;
+ }
+
+ .p-message {
+ margin: 1rem 0;
+ border-radius: 1px;
+ }
+ .p-message .p-message-wrapper {
+ padding: 1rem 1.5rem;
+ }
+ .p-message .p-message-close {
+ width: 1rem;
+ height: 1rem;
+ border-radius: 50%;
+ background: transparent;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-message .p-message-close:hover {
+ background: rgba(255, 255, 255, 0.5);
+ }
+ .p-message .p-message-close:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-message.p-message-info {
+ background: #CDF2FB;
+ border: solid #11add3;
+ border-width: 0 0 0 6px;
+ color: #08576a;
+ }
+ .p-message.p-message-info .p-message-icon {
+ color: #08576a;
+ }
+ .p-message.p-message-info .p-message-close {
+ color: #08576a;
+ }
+ .p-message.p-message-success {
+ background: #D7F8D3;
+ border: solid #32c620;
+ border-width: 0 0 0 6px;
+ color: #196310;
+ }
+ .p-message.p-message-success .p-message-icon {
+ color: #196310;
+ }
+ .p-message.p-message-success .p-message-close {
+ color: #196310;
+ }
+ .p-message.p-message-warn {
+ background: #FEF8D6;
+ border: solid #e4c306;
+ border-width: 0 0 0 6px;
+ color: #726203;
+ }
+ .p-message.p-message-warn .p-message-icon {
+ color: #726203;
+ }
+ .p-message.p-message-warn .p-message-close {
+ color: #726203;
+ }
+ .p-message.p-message-error {
+ background: #FDDED2;
+ border: solid #de450a;
+ border-width: 0 0 0 6px;
+ color: #6f2205;
+ }
+ .p-message.p-message-error .p-message-icon {
+ color: #6f2205;
+ }
+ .p-message.p-message-error .p-message-close {
+ color: #6f2205;
+ }
+ .p-message .p-message-text {
+ font-size: 1rem;
+ font-weight: 500;
+ }
+ .p-message .p-message-icon {
+ font-size: 1.5rem;
+ margin-right: 0.5rem;
+ }
+ .p-message .p-icon:not(.p-message-close-icon) {
+ width: 1.5rem;
+ height: 1.5rem;
+ }
+
+ .p-toast {
+ opacity: 0.9;
+ }
+ .p-toast .p-toast-message {
+ margin: 0 0 1rem 0;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 1px;
+ }
+ .p-toast .p-toast-message .p-toast-message-content {
+ padding: 1rem;
+ border-width: 0 0 0 6px;
+ }
+ .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text {
+ margin: 0 0 0 1rem;
+ }
+ .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon {
+ font-size: 2rem;
+ }
+ .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon {
+ width: 2rem;
+ height: 2rem;
+ }
+ .p-toast .p-toast-message .p-toast-message-content .p-toast-summary {
+ font-weight: 700;
+ }
+ .p-toast .p-toast-message .p-toast-message-content .p-toast-detail {
+ margin: 0.5rem 0 0 0;
+ }
+ .p-toast .p-toast-message .p-toast-icon-close {
+ width: 2rem;
+ height: 2rem;
+ border-radius: 50%;
+ background: transparent;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-toast .p-toast-message .p-toast-icon-close:hover {
+ background: rgba(255, 255, 255, 0.5);
+ }
+ .p-toast .p-toast-message .p-toast-icon-close:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-toast .p-toast-message.p-toast-message-info {
+ background: #CDF2FB;
+ border: solid #11add3;
+ border-width: 0 0 0 6px;
+ color: #08576a;
+ }
+ .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon,
+.p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close {
+ color: #08576a;
+ }
+ .p-toast .p-toast-message.p-toast-message-success {
+ background: #D7F8D3;
+ border: solid #32c620;
+ border-width: 0 0 0 6px;
+ color: #196310;
+ }
+ .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon,
+.p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close {
+ color: #196310;
+ }
+ .p-toast .p-toast-message.p-toast-message-warn {
+ background: #FEF8D6;
+ border: solid #e4c306;
+ border-width: 0 0 0 6px;
+ color: #726203;
+ }
+ .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon,
+.p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close {
+ color: #726203;
+ }
+ .p-toast .p-toast-message.p-toast-message-error {
+ background: #FDDED2;
+ border: solid #de450a;
+ border-width: 0 0 0 6px;
+ color: #6f2205;
+ }
+ .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon,
+.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close {
+ color: #6f2205;
+ }
+
+ .p-galleria .p-galleria-close {
+ margin: 0.5rem;
+ background: transparent;
+ color: #f2f4f8;
+ width: 4rem;
+ height: 4rem;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ border-radius: 50%;
+ }
+ .p-galleria .p-galleria-close .p-galleria-close-icon {
+ font-size: 2rem;
+ }
+ .p-galleria .p-galleria-close .p-icon {
+ width: 2rem;
+ height: 2rem;
+ }
+ .p-galleria .p-galleria-close:hover {
+ background: rgba(255, 255, 255, 0.1);
+ color: #f2f4f8;
+ }
+ .p-galleria .p-galleria-item-nav {
+ background: transparent;
+ color: #f2f4f8;
+ width: 4rem;
+ height: 4rem;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ border-radius: 1px;
+ margin: 0 0.5rem;
+ }
+ .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon,
+.p-galleria .p-galleria-item-nav .p-galleria-item-next-icon {
+ font-size: 2rem;
+ }
+ .p-galleria .p-galleria-item-nav .p-icon {
+ width: 2rem;
+ height: 2rem;
+ }
+ .p-galleria .p-galleria-item-nav:not(.p-disabled):hover {
+ background: rgba(255, 255, 255, 0.1);
+ color: #f2f4f8;
+ }
+ .p-galleria .p-galleria-caption {
+ background: rgba(0, 0, 0, 0.5);
+ color: #f2f4f8;
+ padding: 1rem;
+ }
+ .p-galleria .p-galleria-indicators {
+ padding: 1rem;
+ }
+ .p-galleria .p-galleria-indicators .p-galleria-indicator button {
+ background-color: #dde1e6;
+ width: 1rem;
+ height: 1rem;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ border-radius: 50%;
+ }
+ .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover {
+ background: #dee2e6;
+ }
+ .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+ .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator {
+ margin-right: 0.5rem;
+ }
+ .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator {
+ margin-bottom: 0.5rem;
+ }
+ .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators {
+ background: rgba(0, 0, 0, 0.5);
+ }
+ .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button {
+ background: rgba(255, 255, 255, 0.4);
+ }
+ .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover {
+ background: rgba(255, 255, 255, 0.6);
+ }
+ .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button {
+ background: #44A1D9;
+ color: #ffffff;
+ }
+ .p-galleria .p-galleria-thumbnail-container {
+ background: rgba(0, 0, 0, 0.9);
+ padding: 1rem 0.25rem;
+ }
+ .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev,
+.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next {
+ margin: 0.5rem;
+ background-color: transparent;
+ color: #f2f4f8;
+ width: 2rem;
+ height: 2rem;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ border-radius: 50%;
+ }
+ .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover,
+.p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover {
+ background: rgba(255, 255, 255, 0.1);
+ color: #f2f4f8;
+ }
+ .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+
+ .p-galleria-mask {
+ --maskbg: rgba(0, 0, 0, 0.9);
+ }
+
+ .p-image-mask {
+ --maskbg: rgba(0, 0, 0, 0.9);
+ }
+
+ .p-image-preview-indicator {
+ background-color: transparent;
+ color: #f8f9fa;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-image-preview-indicator .p-icon {
+ width: 1.5rem;
+ height: 1.5rem;
+ }
+
+ .p-image-preview-container:hover > .p-image-preview-indicator {
+ background-color: rgba(0, 0, 0, 0.5);
+ }
+
+ .p-image-toolbar {
+ padding: 1rem;
+ }
+
+ .p-image-action.p-link {
+ color: #f8f9fa;
+ background-color: transparent;
+ width: 3rem;
+ height: 3rem;
+ border-radius: 50%;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ margin-right: 0.5rem;
+ }
+ .p-image-action.p-link:last-child {
+ margin-right: 0;
+ }
+ .p-image-action.p-link:hover {
+ color: #f8f9fa;
+ background-color: rgba(255, 255, 255, 0.1);
+ }
+ .p-image-action.p-link i {
+ font-size: 1.5rem;
+ }
+ .p-image-action.p-link .p-icon {
+ width: 1.5rem;
+ height: 1.5rem;
+ }
+
+ .p-avatar {
+ background-color: #dee2e6;
+ border-radius: 1px;
+ }
+ .p-avatar.p-avatar-lg {
+ width: 3rem;
+ height: 3rem;
+ font-size: 1.5rem;
+ }
+ .p-avatar.p-avatar-lg .p-avatar-icon {
+ font-size: 1.5rem;
+ }
+ .p-avatar.p-avatar-xl {
+ width: 4rem;
+ height: 4rem;
+ font-size: 2rem;
+ }
+ .p-avatar.p-avatar-xl .p-avatar-icon {
+ font-size: 2rem;
+ }
+
+ .p-avatar-group .p-avatar {
+ border: 2px solid #ffffff;
+ }
+
+ .p-badge {
+ background: #1174c0;
+ color: #ffffff;
+ font-size: 0.75rem;
+ font-weight: 700;
+ min-width: 1.5rem;
+ height: 1.5rem;
+ line-height: 1.5rem;
+ }
+ .p-badge.p-badge-secondary {
+ background-color: #697077;
+ color: #ffffff;
+ }
+ .p-badge.p-badge-success {
+ background-color: #207f3b;
+ color: #ffffff;
+ }
+ .p-badge.p-badge-info {
+ background-color: #107d79;
+ color: #ffffff;
+ }
+ .p-badge.p-badge-warning {
+ background-color: #f0c135;
+ color: #212529;
+ }
+ .p-badge.p-badge-danger {
+ background-color: #d8222f;
+ color: #ffffff;
+ }
+ .p-badge.p-badge-lg {
+ font-size: 1.125rem;
+ min-width: 2.25rem;
+ height: 2.25rem;
+ line-height: 2.25rem;
+ }
+ .p-badge.p-badge-xl {
+ font-size: 1.5rem;
+ min-width: 3rem;
+ height: 3rem;
+ line-height: 3rem;
+ }
+
+ .p-chip {
+ background-color: #dee2e6;
+ color: #343a3f;
+ border-radius: 16px;
+ padding: 0 0.25rem;
+ }
+ .p-chip .p-chip-text {
+ line-height: 1.5;
+ margin-top: 0.125rem;
+ margin-bottom: 0.125rem;
+ }
+ .p-chip .p-chip-icon {
+ margin-right: 0.5rem;
+ }
+ .p-chip img {
+ width: 1.75rem;
+ height: 1.75rem;
+ margin-left: -0.25rem;
+ margin-right: 0.5rem;
+ }
+ .p-chip .p-chip-remove-icon {
+ margin-left: 0.5rem;
+ border-radius: 1px;
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-chip .p-chip-remove-icon:focus-visible {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+ .p-chip .p-chip-remove-icon:focus {
+ outline: 0 none;
+ }
+
+ .p-inplace .p-inplace-display {
+ padding: 0.25rem 0.25rem;
+ border-radius: 1px;
+ transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+ .p-inplace .p-inplace-display:not(.p-disabled):hover {
+ background: #dde1e6;
+ color: #343a3f;
+ }
+ .p-inplace .p-inplace-display:focus {
+ outline: 0 none;
+ outline-offset: 0;
+ box-shadow: 0 0 0 0.2rem #90c9f5;
+ }
+
+ .p-progressbar {
+ border: 0 none;
+ height: 1.5rem;
+ background: #dee2e6;
+ border-radius: 1px;
+ }
+ .p-progressbar .p-progressbar-value {
+ border: 0 none;
+ margin: 0;
+ background: #1174c0;
+ }
+ .p-progressbar .p-progressbar-label {
+ color: #ffffff;
+ line-height: 1.5rem;
+ }
+
+ .p-progress-spinner-svg {
+ animation: p-progress-spinner-rotate 2s linear infinite;
+ }
+
+ .p-progress-spinner-circle {
+ stroke-dasharray: 89, 200;
+ stroke-dashoffset: 0;
+ stroke: #6f2205;
+ animation: p-progress-spinner-dash 1.5s ease-in-out infinite, p-progress-spinner-color 6s ease-in-out infinite;
+ stroke-linecap: round;
+ }
+
+ @keyframes p-progress-spinner-rotate {
+ 100% {
+ transform: rotate(360deg);
+ }
+ }
+ @keyframes p-progress-spinner-dash {
+ 0% {
+ stroke-dasharray: 1, 200;
+ stroke-dashoffset: 0;
+ }
+ 50% {
+ stroke-dasharray: 89, 200;
+ stroke-dashoffset: -35px;
+ }
+ 100% {
+ stroke-dasharray: 89, 200;
+ stroke-dashoffset: -124px;
+ }
+ }
+ @keyframes p-progress-spinner-color {
+ 100%, 0% {
+ stroke: #6f2205;
+ }
+ 40% {
+ stroke: #08576a;
+ }
+ 66% {
+ stroke: #196310;
+ }
+ 80%, 90% {
+ stroke: #726203;
+ }
+ }
+ .p-scrolltop {
+ width: 2rem;
+ height: 2rem;
+ border-radius: 1px;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
+ }
+ .p-scrolltop.p-link {
+ background: rgba(0, 0, 0, 0.7);
+ }
+ .p-scrolltop.p-link:hover {
+ background: rgba(0, 0, 0, 0.8);
+ }
+ .p-scrolltop .p-scrolltop-icon {
+ font-size: 1rem;
+ color: #f2f4f8;
+ }
+ .p-scrolltop .p-scrolltop-icon.p-icon {
+ width: 1rem;
+ height: 1rem;
+ }
+
+ .p-skeleton {
+ background-color: #dde1e6;
+ border-radius: 1px;
+ }
+ .p-skeleton:after {
+ background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
+ }
+
+ .p-tag {
+ background: #1174c0;
+ color: #ffffff;
+ font-size: 0.75rem;
+ font-weight: 700;
+ padding: 0.25rem 0.4rem;
+ border-radius: 1px;
+ }
+ .p-tag.p-tag-success {
+ background-color: #207f3b;
+ color: #ffffff;
+ }
+ .p-tag.p-tag-info {
+ background-color: #107d79;
+ color: #ffffff;
+ }
+ .p-tag.p-tag-warning {
+ background-color: #f0c135;
+ color: #212529;
+ }
+ .p-tag.p-tag-danger {
+ background-color: #d8222f;
+ color: #ffffff;
+ }
+ .p-tag .p-tag-icon {
+ margin-right: 0.25rem;
+ font-size: 0.75rem;
+ }
+ .p-tag .p-tag-icon.p-icon {
+ width: 0.75rem;
+ height: 0.75rem;
+ }
+
+ .p-terminal {
+ background: #ffffff;
+ color: #343a3f;
+ border: 1px solid #dee2e6;
+ padding: 0.5rem;
+ }
+ .p-terminal .p-terminal-input {
+ font-family: var(--font-family);
+ font-feature-settings: var(--font-feature-settings, normal);
+ font-size: 1rem;
+ }
+}
+@layer primevue {
+ .p-selectbutton > .p-button,
+.p-togglebutton.p-button {
+ transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
+ }
+}
diff --git a/frontends/member_module/src/App.vue b/frontends/member_module/src/App.vue
index 05d6925..4488908 100644
--- a/frontends/member_module/src/App.vue
+++ b/frontends/member_module/src/App.vue
@@ -15,7 +15,7 @@
-
+
@@ -26,9 +26,11 @@
-
@@ -44,12 +46,14 @@ import {useToast} from "primevue/usetoast";
import {useRouter} from "vue-router";
import Navigation from "@/components/Navigation.vue";
import {useAppStore} from "@/store/app";
+import {useTwoFactorStore} from "@/store/twoFactor";
const toaster = useToast();
const app = getCurrentInstance();
const progress = app?.appContext.config.globalProperties.$Progress ?? '';
const router = useRouter();
const appStore = useAppStore();
+const twoFactorStore = useTwoFactorStore();
/* eslint-disable no-unused-vars */
router.beforeEach((to, from, next) => {
@@ -95,3 +99,16 @@ async function loadConfiguration() {
}
+
+
diff --git a/frontends/member_module/src/api/command/subscription/markSubscriptionAsFinished.ts b/frontends/member_module/src/api/command/subscription/markSubscriptionAsFinished.ts
new file mode 100644
index 0000000..6ff4888
--- /dev/null
+++ b/frontends/member_module/src/api/command/subscription/markSubscriptionAsFinished.ts
@@ -0,0 +1,21 @@
+/*
+ * This file is part of the Yoshi-Kan software.
+ *
+ * (c) Koen Caerels
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+import axios from "axios";
+
+export interface MarkSubscriptionAsFinishedCommand {
+ id: number;
+}
+
+export async function markSubscriptionAsFinished(command: MarkSubscriptionAsFinishedCommand) {
+ const formData = new FormData();
+ formData.append('command', JSON.stringify(command));
+ const response = await axios.post
(`/subscription/${command.id}/mark-as-finished`, formData);
+ return response.data;
+}
diff --git a/frontends/member_module/src/api/command/subscription/newMemberWebSubscription.ts b/frontends/member_module/src/api/command/subscription/newMemberWebSubscription.ts
new file mode 100644
index 0000000..67dca8c
--- /dev/null
+++ b/frontends/member_module/src/api/command/subscription/newMemberWebSubscription.ts
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the Yoshi-Kan software.
+ *
+ * (c) Koen Caerels
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+import axios from "axios";
+
+export interface NewMemberWebSubscriptionCommand {
+
+ subscriptionId: number;
+ memberId: number;
+
+ type: string;
+ federationId: number;
+ locationId: number;
+
+ contactFirstname: string;
+ contactLastname: string;
+ contactEmail: string;
+ contactPhone: string;
+
+ addressStreet: string;
+ addressNumber: string;
+ addressBox: string;
+ addressZip: string;
+ addressCity: string;
+
+ firstname: string;
+ lastname: string;
+ email: string;
+ nationalRegisterNumber: string;
+ dateOfBirthDD: '',
+ dateOfBirthMM: '',
+ dateOfBirthYYYY: '',
+ dateOfBirth: Date;
+ gender: string;
+
+ memberSubscriptionStart: Date;
+ memberSubscriptionStartMM: string;
+ memberSubscriptionStartYY: string;
+ memberSubscriptionEnd: Date;
+ memberSubscriptionTotal: number;
+ memberSubscriptionIsPartSubscription: boolean;
+ memberSubscriptionIsHalfYear: boolean;
+ memberSubscriptionIsPayed: boolean;
+
+ licenseStart: Date;
+ licenseStartMM: string;
+ licenseStartYY: string;
+ licenseEnd: Date;
+ licenseTotal: number;
+ licenseIsPartSubscription: boolean;
+ licenseIsPayed: boolean;
+
+ numberOfTraining: number;
+ isExtraTraining: boolean;
+ isNewMember: boolean;
+ isReductionFamily: boolean;
+
+ total: number;
+ remarks: string;
+
+ isJudogiBelt: boolean;
+}
+
+export async function newMemberWebSubscription(command: NewMemberWebSubscriptionCommand) {
+ const formData = new FormData();
+ formData.append('command', JSON.stringify(command));
+ const response = await axios.post(`/member/confirm-web-subscription`, formData);
+ return response.data;
+}
diff --git a/frontends/member_module/src/api/query/enum.ts b/frontends/member_module/src/api/query/enum.ts
index 1dfab50..6bbd151 100644
--- a/frontends/member_module/src/api/query/enum.ts
+++ b/frontends/member_module/src/api/query/enum.ts
@@ -12,6 +12,7 @@ export const SubscriptionStatusEnum: SubscriptionStatus = {
PAYED: 'betaald',
COMPLETE: 'afgewerkt',
CANCELED: 'canceled',
+ ARCHIVED: 'archived',
};
type SubscriptionItemType = {
diff --git a/frontends/member_module/src/api/query/model.ts b/frontends/member_module/src/api/query/model.ts
index e328729..5b6da98 100644
--- a/frontends/member_module/src/api/query/model.ts
+++ b/frontends/member_module/src/api/query/model.ts
@@ -119,6 +119,7 @@ export interface Subscription {
memberSubscriptionEnd: Date;
memberSubscriptionTotal: number;
memberSubscriptionIsPartSubscription: boolean;
+ memberSubscriptionIsHalfYear: boolean;
licenseStart: Date;
licenseEnd: Date;
licenseTotal: number;
diff --git a/frontends/member_module/src/assets/active.png b/frontends/member_module/src/assets/active.png
new file mode 100644
index 0000000..a24206a
Binary files /dev/null and b/frontends/member_module/src/assets/active.png differ
diff --git a/frontends/member_module/src/assets/euro.png b/frontends/member_module/src/assets/euro.png
new file mode 100644
index 0000000..d43fac2
Binary files /dev/null and b/frontends/member_module/src/assets/euro.png differ
diff --git a/frontends/member_module/src/assets/lock.png b/frontends/member_module/src/assets/lock.png
new file mode 100644
index 0000000..38f27f0
Binary files /dev/null and b/frontends/member_module/src/assets/lock.png differ
diff --git a/frontends/member_module/src/assets/tailwind.css b/frontends/member_module/src/assets/tailwind.css
index a60c3a2..e88014c 100644
--- a/frontends/member_module/src/assets/tailwind.css
+++ b/frontends/member_module/src/assets/tailwind.css
@@ -7,6 +7,10 @@
* file that was distributed with this source code.
*/
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
/*@layer tailwind-base, primevue, tailwind-utilities;*/
/*@layer tailwind-base {*/
@@ -14,10 +18,6 @@
/*}*/
/*@layer tailwind-utilities {*/
+/* @tailwind components;*/
/* @tailwind utilities;*/
-/* @tailwind variants;*/
/*}*/
-
-@tailwind base;
-@tailwind utilities;
-@tailwind variants;
diff --git a/frontends/member_module/src/components/Navigation.vue b/frontends/member_module/src/components/Navigation.vue
index cb3c178..6ca41b7 100644
--- a/frontends/member_module/src/components/Navigation.vue
+++ b/frontends/member_module/src/components/Navigation.vue
@@ -23,7 +23,7 @@ const items = computed(() => {
{
label: 'Dashboard',
icon: 'pi pi-chart-bar',
- to: '/'
+ to: '/dashboard'
},
{
label: 'Actieve leden',
diff --git a/frontends/member_module/src/components/NavigationSubscription.vue b/frontends/member_module/src/components/NavigationSubscription.vue
index 06b7b73..2dae5d9 100644
--- a/frontends/member_module/src/components/NavigationSubscription.vue
+++ b/frontends/member_module/src/components/NavigationSubscription.vue
@@ -31,7 +31,7 @@ const items = computed(() => {
to: '/inschrijvingen/te-betalen'
},
{
- label: 'Archief',
+ label: 'Betaald & Afgewerkt',
icon: 'pi pi-bars',
to: '/inschrijvingen/archief'
},
diff --git a/frontends/member_module/src/components/member/dialogChangeDetails.vue b/frontends/member_module/src/components/member/dialogChangeDetails.vue
index 5c55e38..4d6c50f 100644
--- a/frontends/member_module/src/components/member/dialogChangeDetails.vue
+++ b/frontends/member_module/src/components/member/dialogChangeDetails.vue
@@ -1,17 +1,9 @@
-
+
-
Voornaam *
@@ -19,83 +11,117 @@
+
-
+
-
-
- Actief?
+
+
-
-
+
+
-
- Rijksregisternummer *
-
-
-
-
-
-
-
-
-
-
-
- M
-
-
-
- V
-
-
-
- X
-
-
-
-
-
-
- Geboortedatum *
-
-
-
-
-
-
-
- /
-
-
-
-
-
-
-
- /
-
-
-
-
-
-
-
+
+
+
+
+ Geslacht *
+
+
+
+
+ M
+
+
+
+ V
+
+
+
+ X
+
+
+
+
+
+
+
+ Geboortedatum *
+
+
+
+
+
+
+
+
+
+
+
/
+
+
+
+
+
+
+
+
/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (niet verplicht)
+
+
+
+
+
+
-
+
Locatie *
@@ -112,6 +138,9 @@
+
+
Adres
+
Email *
@@ -133,11 +162,7 @@
Bus
@@ -164,43 +189,45 @@
-
-
-
-
Contact Naam *
-
+
+
Contact gegevens (ouders)
+
-
-
-
+
+
+
+
{{ member.lastname }} {{ member.firstname }}
diff --git a/frontends/member_module/src/components/member/memberList.vue b/frontends/member_module/src/components/member/memberList.vue
index 58f33ca..5ed3694 100644
--- a/frontends/member_module/src/components/member/memberList.vue
+++ b/frontends/member_module/src/components/member/memberList.vue
@@ -158,12 +158,15 @@
YK-{{ member.id }}
-
+
{{ member.lastname }}
{{ member.firstname }}
+
+
+
° {{ moment(member.dateOfBirth).format("DD/MM/YYYY") }}
diff --git a/frontends/member_module/src/components/member/overview/memberOverviewTable.vue b/frontends/member_module/src/components/member/overview/memberOverviewTable.vue
index a11122c..ff2ce8d 100644
--- a/frontends/member_module/src/components/member/overview/memberOverviewTable.vue
+++ b/frontends/member_module/src/components/member/overview/memberOverviewTable.vue
@@ -12,8 +12,8 @@