From aa45e686ee62923d96c1cb79040304036d88a6d0 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 13 Aug 2023 16:21:55 +1000 Subject: [PATCH 01/16] Internal lightlogs --- app/DataMapper/Analytics/RevenueTrack.php | 98 +++++++++++++++++++ app/Listeners/Payment/PaymentNotification.php | 17 +++- 2 files changed, 112 insertions(+), 3 deletions(-) create mode 100644 app/DataMapper/Analytics/RevenueTrack.php diff --git a/app/DataMapper/Analytics/RevenueTrack.php b/app/DataMapper/Analytics/RevenueTrack.php new file mode 100644 index 000000000000..75af0ded48fa --- /dev/null +++ b/app/DataMapper/Analytics/RevenueTrack.php @@ -0,0 +1,98 @@ +int_metric1 = $int_metric1; + $this->double_metric2 = $double_metric2; + $this->string_metric5 = $string_metric5; + $this->string_metric6 = $string_metric6; + $this->string_metric7 = $string_metric7; + $this->string_metric8 = $string_metric8; + $this->string_metric9 = $string_metric9; + } +} diff --git a/app/Listeners/Payment/PaymentNotification.php b/app/Listeners/Payment/PaymentNotification.php index 37623bf8dc75..2c4607dfc994 100644 --- a/app/Listeners/Payment/PaymentNotification.php +++ b/app/Listeners/Payment/PaymentNotification.php @@ -11,14 +11,16 @@ namespace App\Listeners\Payment; +use App\Utils\Ninja; +use App\Libraries\MultiDB; use App\Jobs\Mail\NinjaMailer; use App\Jobs\Mail\NinjaMailerJob; use App\Jobs\Mail\NinjaMailerObject; -use App\Libraries\MultiDB; use App\Mail\Admin\EntityPaidObject; -use App\Utils\Ninja; -use App\Utils\Traits\Notifications\UserNotifies; +use Turbo124\Beacon\Facades\LightLogs; +use App\DataMapper\Analytics\RevenueTrack; use Illuminate\Contracts\Queue\ShouldQueue; +use App\Utils\Traits\Notifications\UserNotifies; class PaymentNotification implements ShouldQueue { @@ -158,6 +160,15 @@ class PaymentNotification implements ShouldQueue $url = $base."&t=item&in={$item}&ip={$amount}&iq=1"; $this->sendAnalytics($url); + + $email = $client->present()->email(); + $account_key = $client->custom_value2 ?? 'unknown'; + $product = $item; + $gateway_reference = $client->gateway_tokens()->count() >= 1 ? ($client->gateway_tokens()->first()->gateway_customer_reference ?? '') : ''; + + LightLogs::create(new RevenueTrack($email, $account_key, 1, $amount, $product, $gateway_reference, $entity_number)) + ->batch(); + } /** From 6eb85636971d1beac18695eb5fbc930aefda8187 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 13 Aug 2023 20:00:26 +1000 Subject: [PATCH 02/16] Fixes for types --- app/Jobs/User/UserEmailChanged.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Jobs/User/UserEmailChanged.php b/app/Jobs/User/UserEmailChanged.php index c397f1ae65dd..f49718c916c4 100644 --- a/app/Jobs/User/UserEmailChanged.php +++ b/app/Jobs/User/UserEmailChanged.php @@ -36,10 +36,10 @@ class UserEmailChanged implements ShouldQueue * Create a new job instance. * * @param \App\Models\User $new_user - * @param \App\Models\User $old_user + * @param \stdClass $old_user * @param \App\Models\Company $company */ - public function __construct(protected User $new_user, protected User $old_user, protected Company $company) + public function __construct(protected User $new_user, protected \stdClass $old_user, protected Company $company) { $this->settings = $this->company->settings; } From 68c817bdcd2a089ce2c55e7335a929e180eed26d Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 14 Aug 2023 07:30:38 +1000 Subject: [PATCH 03/16] Fixes for types --- app/Http/Livewire/BillingPortalPurchase.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Http/Livewire/BillingPortalPurchase.php b/app/Http/Livewire/BillingPortalPurchase.php index 9a7fae37b9ca..74e693faa459 100644 --- a/app/Http/Livewire/BillingPortalPurchase.php +++ b/app/Http/Livewire/BillingPortalPurchase.php @@ -62,11 +62,11 @@ class BillingPortalPurchase extends Component public $password; /** - * Instance of subscription. + * This arrives as an int and we resolve in the mount method * - * @var \App\Models\Subscription $subscription + * @var int|Subscription */ - public Subscription $subscription; + public $subscription; /** * Instance of client contact. From fda2b1d4f0566e77f6d7827fb7c95ee3e27db2e9 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 14 Aug 2023 07:38:17 +1000 Subject: [PATCH 04/16] fixes for imports --- app/Repositories/Migration/InvoiceMigrationRepository.php | 6 +++++- app/Utils/TemplateEngine.php | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/Repositories/Migration/InvoiceMigrationRepository.php b/app/Repositories/Migration/InvoiceMigrationRepository.php index 05b4dafc20aa..729a9551b95f 100644 --- a/app/Repositories/Migration/InvoiceMigrationRepository.php +++ b/app/Repositories/Migration/InvoiceMigrationRepository.php @@ -136,7 +136,11 @@ class InvoiceMigrationRepository extends BaseRepository $state['finished_amount'] = $model->amount; - $model = $model->service()->applyNumber()->setReminder()->save(); + $model = $model->service()->applyNumber()->save(); + + if ($class->name == Invoice::class) { + $model->service()->setReminder()->save(); + } if ($class->name == Invoice::class || $class->name == RecurringInvoice::class) { if (($state['finished_amount'] != $state['starting_amount']) && ($model->status_id != Invoice::STATUS_DRAFT)) { diff --git a/app/Utils/TemplateEngine.php b/app/Utils/TemplateEngine.php index 2e531daf9484..4bd3b8310a26 100644 --- a/app/Utils/TemplateEngine.php +++ b/app/Utils/TemplateEngine.php @@ -52,8 +52,8 @@ class TemplateEngine public $template; - /** @var \App\Models\Invoice | \App\Models\Quote | \App\Models\Credit | \App\Models\PurchaseOrder | \App\Models\RecurringInvoice $entity_obj **/ - private \App\Models\Invoice | \App\Models\Quote | \App\Models\Credit | \App\Models\PurchaseOrder | \App\Models\RecurringInvoice $entity_obj; + /** @var \App\Models\Invoice | \App\Models\Quote | \App\Models\Credit | \App\Models\PurchaseOrder | \App\Models\RecurringInvoice | \App\Models\Payment $entity_obj **/ + private \App\Models\Invoice | \App\Models\Quote | \App\Models\Credit | \App\Models\PurchaseOrder | \App\Models\RecurringInvoice | \App\Models\Payment $entity_obj; /** @var \App\Models\Company | \App\Models\Client | null $settings_entity **/ private $settings_entity; From 6609f89d94333f3088c43e3758d024abf8315aab Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 14 Aug 2023 07:54:51 +1000 Subject: [PATCH 05/16] Fixes for list search --- app/Filters/CreditFilters.php | 5 +++++ app/Filters/InvoiceFilters.php | 5 +++++ app/Filters/PaymentFilters.php | 7 ++++++- app/Filters/QuoteFilters.php | 7 ++++++- app/Filters/RecurringInvoiceFilters.php | 7 ++++++- app/Filters/TaskFilters.php | 7 ++++++- 6 files changed, 34 insertions(+), 4 deletions(-) diff --git a/app/Filters/CreditFilters.php b/app/Filters/CreditFilters.php index 83dc2c7781fd..bd17e34819a5 100644 --- a/app/Filters/CreditFilters.php +++ b/app/Filters/CreditFilters.php @@ -88,6 +88,11 @@ class CreditFilters extends QueryFilters ->orWhere('credits.custom_value4', 'like', '%'.$filter.'%') ->orWhereHas('client', function ($q) use ($filter) { $q->where('name', 'like', '%'.$filter.'%'); + }) + ->orWhereHas('client.contacts', function ($q) use ($filter) { + $q->where('first_name', 'like', '%'.$filter.'%') + ->orWhere('last_name', 'like', '%'.$filter.'%') + ->orWhere('email', 'like', '%'.$filter.'%'); }); }); } diff --git a/app/Filters/InvoiceFilters.php b/app/Filters/InvoiceFilters.php index deab3483fd8b..8ade4be3a6a1 100644 --- a/app/Filters/InvoiceFilters.php +++ b/app/Filters/InvoiceFilters.php @@ -116,6 +116,11 @@ class InvoiceFilters extends QueryFilters ->orWhere('custom_value4', 'like', '%'.$filter.'%') ->orWhereHas('client', function ($q) use ($filter) { $q->where('name', 'like', '%'.$filter.'%'); + }) + ->orWhereHas('client.contacts', function ($q) use ($filter) { + $q->where('first_name', 'like', '%'.$filter.'%') + ->orWhere('last_name', 'like', '%'.$filter.'%') + ->orWhere('email', 'like', '%'.$filter.'%'); }); }); } diff --git a/app/Filters/PaymentFilters.php b/app/Filters/PaymentFilters.php index 38381ed786bb..b6c82430baad 100644 --- a/app/Filters/PaymentFilters.php +++ b/app/Filters/PaymentFilters.php @@ -44,7 +44,12 @@ class PaymentFilters extends QueryFilters ->orWhere('custom_value4', 'like', '%'.$filter.'%') ->orWhereHas('client', function ($q) use ($filter) { $q->where('name', 'like', '%'.$filter.'%'); - }); + }) + ->orWhereHas('client.contacts', function ($q) use ($filter) { + $q->where('first_name', 'like', '%'.$filter.'%') + ->orWhere('last_name', 'like', '%'.$filter.'%') + ->orWhere('email', 'like', '%'.$filter.'%'); + }); }); } diff --git a/app/Filters/QuoteFilters.php b/app/Filters/QuoteFilters.php index a08c6aa09418..26a6b3f0ae2e 100644 --- a/app/Filters/QuoteFilters.php +++ b/app/Filters/QuoteFilters.php @@ -40,7 +40,12 @@ class QuoteFilters extends QueryFilters ->orWhere('custom_value4', 'like', '%'.$filter.'%') ->orWhereHas('client', function ($q) use ($filter) { $q->where('name', 'like', '%'.$filter.'%'); - }); + }) + ->orWhereHas('client.contacts', function ($q) use ($filter) { + $q->where('first_name', 'like', '%'.$filter.'%') + ->orWhere('last_name', 'like', '%'.$filter.'%') + ->orWhere('email', 'like', '%'.$filter.'%'); + }); }); } diff --git a/app/Filters/RecurringInvoiceFilters.php b/app/Filters/RecurringInvoiceFilters.php index 03a66b11f127..71fcca9d101f 100644 --- a/app/Filters/RecurringInvoiceFilters.php +++ b/app/Filters/RecurringInvoiceFilters.php @@ -42,7 +42,12 @@ class RecurringInvoiceFilters extends QueryFilters ->orWhere('custom_value4', 'like', '%'.$filter.'%') ->orWhereHas('client', function ($q) use ($filter) { $q->where('name', 'like', '%'.$filter.'%'); - }); + }) + ->orWhereHas('client.contacts', function ($q) use ($filter) { + $q->where('first_name', 'like', '%'.$filter.'%') + ->orWhere('last_name', 'like', '%'.$filter.'%') + ->orWhere('email', 'like', '%'.$filter.'%'); + }); }); } diff --git a/app/Filters/TaskFilters.php b/app/Filters/TaskFilters.php index 3e09a0d2addf..0c564af5a4f6 100644 --- a/app/Filters/TaskFilters.php +++ b/app/Filters/TaskFilters.php @@ -45,7 +45,12 @@ class TaskFilters extends QueryFilters }) ->orWhereHas('client', function ($q) use ($filter) { $q->where('name', 'like', '%'.$filter.'%'); - }); + }) + ->orWhereHas('client.contacts', function ($q) use ($filter) { + $q->where('first_name', 'like', '%'.$filter.'%') + ->orWhere('last_name', 'like', '%'.$filter.'%') + ->orWhere('email', 'like', '%'.$filter.'%'); + }); }); } From 1d7d55447ac6ba08d9d342d5598904c2c13daba2 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 14 Aug 2023 20:01:28 +1000 Subject: [PATCH 06/16] Add specific delays for some activities --- app/Listeners/Activity/PaymentCreatedActivity.php | 1 + app/Listeners/Invoice/InvoicePaidActivity.php | 2 ++ app/Services/PurchaseOrder/PurchaseOrderExpense.php | 2 +- app/Services/PurchaseOrder/PurchaseOrderService.php | 7 ++----- phpstan.neon | 6 ++---- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/Listeners/Activity/PaymentCreatedActivity.php b/app/Listeners/Activity/PaymentCreatedActivity.php index ff0c0abd0889..12ed24c288b4 100644 --- a/app/Listeners/Activity/PaymentCreatedActivity.php +++ b/app/Listeners/Activity/PaymentCreatedActivity.php @@ -21,6 +21,7 @@ class PaymentCreatedActivity implements ShouldQueue { protected $activity_repo; + public $delay = 5; /** * Create the event listener. * diff --git a/app/Listeners/Invoice/InvoicePaidActivity.php b/app/Listeners/Invoice/InvoicePaidActivity.php index 2d340dfb08df..836136aad0e0 100644 --- a/app/Listeners/Invoice/InvoicePaidActivity.php +++ b/app/Listeners/Invoice/InvoicePaidActivity.php @@ -21,6 +21,8 @@ class InvoicePaidActivity implements ShouldQueue { protected $activity_repo; + public $delay = 10; + /** * Create the event listener. * diff --git a/app/Services/PurchaseOrder/PurchaseOrderExpense.php b/app/Services/PurchaseOrder/PurchaseOrderExpense.php index d206efbb28fb..e25bc84de163 100644 --- a/app/Services/PurchaseOrder/PurchaseOrderExpense.php +++ b/app/Services/PurchaseOrder/PurchaseOrderExpense.php @@ -57,7 +57,7 @@ class PurchaseOrderExpense $expense->number = empty($expense->number) ? $this->getNextExpenseNumber($expense) : $expense->number; - $expense->save(); + $expense->saveQuietly(); event('eloquent.created: App\Models\Expense', $expense); $this->purchase_order->expense_id = $expense->id; diff --git a/app/Services/PurchaseOrder/PurchaseOrderService.php b/app/Services/PurchaseOrder/PurchaseOrderService.php index f9bc5d7c75e1..3445e261dd7d 100644 --- a/app/Services/PurchaseOrder/PurchaseOrderService.php +++ b/app/Services/PurchaseOrder/PurchaseOrderService.php @@ -20,11 +20,8 @@ class PurchaseOrderService { use MakesHash; - public PurchaseOrder $purchase_order; - - public function __construct(PurchaseOrder $purchase_order) + public function __construct(public PurchaseOrder $purchase_order) { - $this->purchase_order = $purchase_order; } public function createInvitations() @@ -156,7 +153,7 @@ class PurchaseOrderService /** * Saves the purchase order. - * @return \App\Models\PurchaseOrder object + * @return \App\Models\PurchaseOrder */ public function save(): ?PurchaseOrder { diff --git a/phpstan.neon b/phpstan.neon index 92bb5444400e..ff93e96cc5b3 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -8,6 +8,7 @@ parameters: excludePaths: - 'vendor/' - 'app/Jobs/Ninja/*' + - 'app/Models/Presenters/*' - 'app/Console/Commands/*' - 'app/DataMapper/Analytics/*' - 'app/PaymentDrivers/Authorize/*' @@ -17,10 +18,7 @@ parameters: - App\DataMapper\FeesAndLimits reportUnmatchedIgnoredErrors: false ignoreErrors: - - '#Call to an undefined method [a-zA-Z0-9\\_]+::company\(\)#' - - '#Call to an undefined method [a-zA-Z0-9\\_]+::entityFilter\(\)#' - - '#Call to an undefined method [a-zA-Z0-9\\_]+::exclude\(\)#' - '#Array has 2 duplicate keys with value#' - - '#Undefined method#' + - '#Call to an undefined method#' - '#makeHidden#' - '#Socialite#' \ No newline at end of file From 8630acb41268c4783df2b5664a4b8a0045850f3f Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 14 Aug 2023 21:26:51 +1000 Subject: [PATCH 07/16] Block rev tracking --- app/Listeners/Payment/PaymentNotification.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Listeners/Payment/PaymentNotification.php b/app/Listeners/Payment/PaymentNotification.php index 2c4607dfc994..f46c228b836e 100644 --- a/app/Listeners/Payment/PaymentNotification.php +++ b/app/Listeners/Payment/PaymentNotification.php @@ -166,8 +166,8 @@ class PaymentNotification implements ShouldQueue $product = $item; $gateway_reference = $client->gateway_tokens()->count() >= 1 ? ($client->gateway_tokens()->first()->gateway_customer_reference ?? '') : ''; - LightLogs::create(new RevenueTrack($email, $account_key, 1, $amount, $product, $gateway_reference, $entity_number)) - ->batch(); + // LightLogs::create(new RevenueTrack($email, $account_key, 1, $amount, $product, $gateway_reference, $entity_number)) + // ->batch(); } From 17e4e901bddcfa72cf81132857042089be38a6a7 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 15 Aug 2023 08:31:34 +1000 Subject: [PATCH 08/16] Improve return types for vendor settings --- app/Console/Commands/CheckData.php | 6 +++--- app/Models/Company.php | 1 + app/Models/Vendor.php | 4 ++-- config/beacon.php | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/Console/Commands/CheckData.php b/app/Console/Commands/CheckData.php index 4f522262d093..8f49531ea467 100644 --- a/app/Console/Commands/CheckData.php +++ b/app/Console/Commands/CheckData.php @@ -471,7 +471,7 @@ class CheckData extends Command $ii->saveQuietly(); }); - collect([Invoice::class, Quote::class, Credit::class, PurchaseOrder::class])->each(function ($entity) { + collect([Invoice::class, Quote::class, Credit::class, PurchaseOrder::class, RecurringInvoice::class])->each(function ($entity) { if ($entity::doesntHave('invitations')->count() > 0) { $entity::doesntHave('invitations')->cursor()->each(function ($entity) { $client_vendor_key = 'client_id'; @@ -694,7 +694,7 @@ class CheckData extends Command { $this->wrong_balances = 0; - Client::cursor()->where('is_deleted', 0)->where('clients.updated_at', '>', now()->subDays(2))->each(function ($client) { + Client::query()->cursor()->where('is_deleted', 0)->where('clients.updated_at', '>', now()->subDays(2))->each(function ($client) { $client->invoices->where('is_deleted', false)->whereIn('status_id', '!=', Invoice::STATUS_DRAFT)->each(function ($invoice) use ($client) { $total_paid = $invoice->payments() ->where('is_deleted', false)->whereIn('status_id', [Payment::STATUS_COMPLETED, Payment::STATUS_PENDING, Payment::STATUS_PARTIALLY_REFUNDED, Payment::STATUS_REFUNDED]) @@ -876,7 +876,7 @@ class CheckData extends Command $this->wrong_balances = 0; $this->wrong_paid_to_dates = 0; - foreach (Client::where('is_deleted', 0)->where('clients.updated_at', '>', now()->subDays(2))->cursor() as $client) { + foreach (Client::query()->where('is_deleted', 0)->where('clients.updated_at', '>', now()->subDays(2))->cursor() as $client) { $invoice_balance = $client->invoices()->where('is_deleted', false)->whereIn('status_id', [2,3])->sum('balance'); $ledger = CompanyLedger::where('client_id', $client->id)->orderBy('id', 'DESC')->first(); diff --git a/app/Models/Company.php b/app/Models/Company.php index 9b9f12c11858..644dcab807e1 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -707,6 +707,7 @@ class Company extends BaseModel public function getSetting($setting) { + //todo $this->setting ?? false if (property_exists($this->settings, $setting) != false) { return $this->settings->{$setting}; } diff --git a/app/Models/Vendor.php b/app/Models/Vendor.php index a055ed7992b4..84dcd3f286a1 100644 --- a/app/Models/Vendor.php +++ b/app/Models/Vendor.php @@ -230,9 +230,9 @@ class Vendor extends BaseModel * Returns a vendor settings proxying company setting * * @param string $setting - * @return string + * @return mixed */ - public function getSetting($setting): string + public function getSetting($setting): mixed { if ((property_exists($this->company->settings, $setting) != false) && (isset($this->company->settings->{$setting}) !== false)) { return $this->company->settings->{$setting}; diff --git a/config/beacon.php b/config/beacon.php index 801fb16091e7..06006106b268 100644 --- a/config/beacon.php +++ b/config/beacon.php @@ -22,8 +22,8 @@ return [ */ 'batch' => true, - 'cache_connection' => 'sentinel-cache', - + // 'cache_connection' => 'sentinel-cache', + 'cache_connection' => 'cache', /* * The default key used to store * metrics for batching From c91e093a414861eed3a96d29fd0eb21310e914d8 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 15 Aug 2023 09:49:09 +1000 Subject: [PATCH 09/16] Fixes for static analysis --- app/Http/Controllers/InvoiceController.php | 86 +++++++--------------- app/Jobs/Util/Import.php | 2 +- 2 files changed, 26 insertions(+), 62 deletions(-) diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index d52068faa310..f9977878988c 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -162,7 +162,9 @@ class InvoiceController extends BaseController */ public function create(CreateInvoiceRequest $request) { - $invoice = InvoiceFactory::create(auth()->user()->company()->id, auth()->user()->id); + /** @var \App\Models\User $user */ + $user = auth()->user(); + $invoice = InvoiceFactory::create($user->company()->id, $user->id); return $this->itemResponse($invoice); } @@ -211,7 +213,11 @@ class InvoiceController extends BaseController */ public function store(StoreInvoiceRequest $request) { - $invoice = $this->invoice_repo->save($request->all(), InvoiceFactory::create(auth()->user()->company()->id, auth()->user()->id)); + + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $invoice = $this->invoice_repo->save($request->all(), InvoiceFactory::create($user->company()->id, $user->id)); $invoice = $invoice->service() ->fillDefaults() @@ -219,7 +225,7 @@ class InvoiceController extends BaseController ->adjustInventory() ->save(); - event(new InvoiceWasCreated($invoice, $invoice->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); + event(new InvoiceWasCreated($invoice, $invoice->company, Ninja::eventVars($user ? $user->id : null))); $transaction = [ 'invoice' => $invoice->transaction_event(), @@ -473,62 +479,17 @@ class InvoiceController extends BaseController return $this->itemResponse($invoice->fresh()); } - /** - * Perform bulk actions on the list view. - * - * @return \Illuminate\Support\Collection - * - * @OA\Post( - * path="/api/v1/invoices/bulk", - * operationId="bulkInvoices", - * tags={"invoices"}, - * summary="Performs bulk actions on an array of invoices", - * description="", - * @OA\Parameter(ref="#/components/parameters/X-API-TOKEN"), - * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), - * @OA\Parameter(ref="#/components/parameters/index"), - * @OA\RequestBody( - * description="User credentials", - * required=true, - * @OA\MediaType( - * mediaType="application/json", - * @OA\Schema( - * type="array", - * @OA\Items( - * type="integer", - * description="Array of hashed IDs to be bulk 'actioned", - * example="[0,1,2,3]", - * ), - * ) - * ) - * ), - * @OA\Response( - * response=200, - * description="The Bulk Action response", - * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"), - * @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"), - * @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"), - * ), - * @OA\Response( - * response=422, - * description="Validation error", - * @OA\JsonContent(ref="#/components/schemas/ValidationError"), - - * ), - * @OA\Response( - * response="default", - * description="Unexpected Error", - * @OA\JsonContent(ref="#/components/schemas/Error"), - * ), - * ) - */ public function bulk(BulkInvoiceRequest $request) { + + /** @var \App\Models\User $user */ + $user = auth()->user(); + $action = $request->input('action'); $ids = $request->input('ids'); - if (Ninja::isHosted() && (stripos($action, 'email') !== false) && !auth()->user()->company()->account->account_sms_verified) { + if (Ninja::isHosted() && (stripos($action, 'email') !== false) && !$user->company()->account->account_sms_verified) { return response(['message' => 'Please verify your account to send emails.'], 400); } @@ -543,8 +504,8 @@ class InvoiceController extends BaseController */ if ($action == 'bulk_download' && $invoices->count() > 1) { - $invoices->each(function ($invoice) { - if (auth()->user()->cannot('view', $invoice)) { + $invoices->each(function ($invoice) use($user) { + if ($user->cannot('view', $invoice)) { nlog('access denied'); return response()->json(['message' => ctrans('text.access_denied')]); @@ -556,7 +517,7 @@ class InvoiceController extends BaseController return response()->json(['message' => ctrans('texts.sent_message')], 200); } - if ($action == 'download' && $invoices->count() >=1 && auth()->user()->can('view', $invoices->first())) { + if ($action == 'download' && $invoices->count() >=1 && $user->can('view', $invoices->first())) { $file = $invoices->first()->service()->getInvoicePdf(); return response()->streamDownload(function () use ($file) { @@ -564,7 +525,7 @@ class InvoiceController extends BaseController }, basename($file), ['Content-Type' => 'application/pdf']); } - if ($action == 'bulk_print' && auth()->user()->can('view', $invoices->first())) { + if ($action == 'bulk_print' && $user->can('view', $invoices->first())) { $paths = $invoices->map(function ($invoice) { return $invoice->service()->getInvoicePdf(); }); @@ -579,15 +540,15 @@ class InvoiceController extends BaseController /* * Send the other actions to the switch */ - $invoices->each(function ($invoice, $key) use ($action) { - if (auth()->user()->can('edit', $invoice)) { + $invoices->each(function ($invoice, $key) use ($action, $user) { + if ($user->can('edit', $invoice)) { $this->performAction($invoice, $action, true); } }); /* Need to understand which permission are required for the given bulk action ie. view / edit */ - return $this->listResponse(Invoice::withTrashed()->whereIn('id', $this->transformKeys($ids))->company()); + return $this->listResponse(Invoice::query()->withTrashed()->whereIn('id', $this->transformKeys($ids))->company()); } /** @@ -1022,7 +983,10 @@ class InvoiceController extends BaseController public function update_reminders(UpdateReminderRequest $request) { - UpdateReminders::dispatch(auth()->user()->company()); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + UpdateReminders::dispatch($user->company()); return response()->json(['message' => 'Updating reminders'], 200); } diff --git a/app/Jobs/Util/Import.php b/app/Jobs/Util/Import.php index 175074cf221a..8a12e02e11d4 100644 --- a/app/Jobs/Util/Import.php +++ b/app/Jobs/Util/Import.php @@ -1821,7 +1821,7 @@ class Import implements ShouldQueue private function processActivities(array $data): void { - Activity::where('company_id', $this->company->id)->cursor()->each(function ($a){ + Activity::query()->where('company_id', $this->company->id)->cursor()->each(function ($a){ $a->forceDelete(); nlog("deleting {$a->id}"); }); From 16c907958315559c3a3c79ef540230a5f91426e5 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 15 Aug 2023 22:14:00 +1000 Subject: [PATCH 10/16] Add listener for Stripe Connect where users have not yet linked Stripe --- app/Events/Account/StripeConnectFailure.php | 36 ++++++ .../Account/StripeConnectFailureListener.php | 57 +++++++++ app/Mail/Ninja/StripeConnectFailed.php | 114 ++++++++++++++++++ app/Providers/EventServiceProvider.php | 9 ++ .../admin/stripe_connect_failed.blade.php | 59 +++++++++ .../stripe_connect_failed_text.blade.php | 5 + 6 files changed, 280 insertions(+) create mode 100644 app/Events/Account/StripeConnectFailure.php create mode 100644 app/Listeners/Account/StripeConnectFailureListener.php create mode 100644 app/Mail/Ninja/StripeConnectFailed.php create mode 100644 resources/views/email/admin/stripe_connect_failed.blade.php create mode 100644 resources/views/email/admin/stripe_connect_failed_text.blade.php diff --git a/app/Events/Account/StripeConnectFailure.php b/app/Events/Account/StripeConnectFailure.php new file mode 100644 index 000000000000..fd6f5a5d5738 --- /dev/null +++ b/app/Events/Account/StripeConnectFailure.php @@ -0,0 +1,36 @@ +db); + + if (Ninja::isHosted() && is_null(Cache::get("stripe_connect_notification:{$event->company->company_key}"))) + { + + $nmo = new NinjaMailerObject(); + $nmo->mailable = new StripeConnectFailed($event->company->owner(), $event->company); + $nmo->company = $event->company; + $nmo->settings = $event->company->settings; + $nmo->to_user = $event->company->owner(); + + NinjaMailerJob::dispatch($nmo, true); + + Cache::put("stripe_connect_notification:{$event->company->company_key}", true, 60 * 60 * 24); + + } + } +} diff --git a/app/Mail/Ninja/StripeConnectFailed.php b/app/Mail/Ninja/StripeConnectFailed.php new file mode 100644 index 000000000000..4c935cdf291f --- /dev/null +++ b/app/Mail/Ninja/StripeConnectFailed.php @@ -0,0 +1,114 @@ +user->email, + ); + } + + /** + * Get the message content definition. + * + * @return \Illuminate\Mail\Mailables\Content + */ + public function content() + { + + return new Content( + view: 'email.admin.stripe_connect_failed', + text: 'email.admin.stripe_connect_failed_text', + with: [ + 'text_body' => $this->textBody(), //@todo this is a bit hacky here. + 'body' => $this->htmlBody(), + 'title' => 'Connect your Stripe account', + 'settings' => $this->company->settings, + 'logo' => $this->company->present()->logo(), + 'signature' => '', + 'company' => $this->company, + 'greeting' => '', + 'links' => [], + 'url' => 'https://www.loom.com/share/a3dc3131cc924e14a34634d5d48065c8?sid=b1971aa2-9deb-4339-8ebd-53f9947ef633', + 'button' => "texts.view" + ] + ); + } + + private function textBody() + { + return " + We note you are yet to connect your Stripe account to Invoice Ninja. Please log in to Invoice Ninja and connect your Stripe account.\n\n + Once logged in you can use the following resource to connect your Stripe account: \n\n + "; + } + + private function htmlBody() + { + return " + We note you are yet to connect your Stripe account to Invoice Ninja. Please log in to Invoice Ninja and connect your Stripe account.

+ + Once logged in you can use the following resource to connect your Stripe account:

+ + "; + } + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments() + { + return []; + } + + /** + * Get the message headers. + * + * @return \Illuminate\Mail\Mailables\Headers + */ + public function headers() + { + return new Headers( + messageId: null, + references: [], + text:['' => ''], + ); + } +} diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index d83f5602c8f3..028eeb4dffc7 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -94,6 +94,7 @@ use App\Events\Misc\InvitationWasViewed; use App\Events\Payment\PaymentWasVoided; use App\Events\Vendor\VendorWasArchived; use App\Events\Vendor\VendorWasRestored; +use App\Events\Account\StripeConnectFailure; use App\Listeners\Mail\MailSentListener; use App\Observers\ClientContactObserver; use App\Observers\PurchaseOrderObserver; @@ -198,6 +199,8 @@ use App\Listeners\Invoice\InvoiceRestoredActivity; use App\Listeners\Invoice\InvoiceReversedActivity; use App\Listeners\Payment\PaymentRestoredActivity; use App\Listeners\Quote\QuoteApprovedNotification; +use SocialiteProviders\Apple\AppleExtendSocialite; +use SocialiteProviders\Manager\SocialiteWasCalled; use App\Events\Subscription\SubscriptionWasCreated; use App\Events\Subscription\SubscriptionWasDeleted; use App\Events\Subscription\SubscriptionWasUpdated; @@ -221,10 +224,12 @@ use App\Listeners\Invoice\InvoiceEmailFailedActivity; use App\Events\PurchaseOrder\PurchaseOrderWasAccepted; use App\Events\PurchaseOrder\PurchaseOrderWasArchived; use App\Events\PurchaseOrder\PurchaseOrderWasRestored; +use App\Listeners\Payment\PaymentEmailFailureActivity; use App\Listeners\Vendor\UpdateVendorContactLastLogin; use App\Events\RecurringQuote\RecurringQuoteWasCreated; use App\Events\RecurringQuote\RecurringQuoteWasDeleted; use App\Events\RecurringQuote\RecurringQuoteWasUpdated; +use App\Listeners\Account\StripeConnectFailureListener; use App\Listeners\Activity\CreatedSubscriptionActivity; use App\Listeners\Activity\SubscriptionDeletedActivity; use App\Listeners\Activity\SubscriptionUpdatedActivity; @@ -234,6 +239,7 @@ use App\Events\RecurringQuote\RecurringQuoteWasRestored; use App\Listeners\Activity\SubscriptionArchivedActivity; use App\Listeners\Activity\SubscriptionRestoredActivity; use App\Listeners\Invoice\InvoiceFailedEmailNotification; +use SocialiteProviders\Microsoft\MicrosoftExtendSocialite; use App\Events\RecurringExpense\RecurringExpenseWasCreated; use App\Events\RecurringExpense\RecurringExpenseWasDeleted; use App\Events\RecurringExpense\RecurringExpenseWasUpdated; @@ -587,6 +593,9 @@ class EventServiceProvider extends ServiceProvider TaskWasRestored::class => [ TaskRestoredActivity::class, ], + StripeConnectFailure::class => [ + StripeConnectFailureListener::class, + ], SubscriptionWasCreated::class => [ CreatedSubscriptionActivity::class, ], diff --git a/resources/views/email/admin/stripe_connect_failed.blade.php b/resources/views/email/admin/stripe_connect_failed.blade.php new file mode 100644 index 000000000000..aba251b4892f --- /dev/null +++ b/resources/views/email/admin/stripe_connect_failed.blade.php @@ -0,0 +1,59 @@ +@component('email.template.admin', ['design' => 'light', 'settings' => $settings, 'logo' => $logo]) +
+ @isset($greeting) +

{{ $greeting }}

+ @endisset + + @isset($title) +

{{ $title }}

+ @endisset + + @isset($h2) +

{{ $title }}

+ @endisset + +
+ @isset($body) + {!! $body !!} + @endisset + + @isset($slot) + {{ $slot }} + @endisset +
+ + @isset($additional_info) +

{{ $additional_info }}

+ @endisset + + @isset($url) + + + + + + + +
+ + {{ ctrans($button) }} + +
+ + + + @endisset + + @isset($signature) +

{!! nl2br($signature) !!}

+ @endisset +
+@endcomponent diff --git a/resources/views/email/admin/stripe_connect_failed_text.blade.php b/resources/views/email/admin/stripe_connect_failed_text.blade.php new file mode 100644 index 000000000000..319daf0679d0 --- /dev/null +++ b/resources/views/email/admin/stripe_connect_failed_text.blade.php @@ -0,0 +1,5 @@ +{!! $title !!} + +{!! $text_body !!} + +{!! $url !!} \ No newline at end of file From d2fbf34bebcb14fd26f2dbe328f091642e0fabfc Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 15 Aug 2023 22:47:54 +1000 Subject: [PATCH 11/16] Fixes for static analysis --- app/Models/PaymentHash.php | 2 +- app/PaymentDrivers/CheckoutCom/CheckoutWebhook.php | 4 ++-- config/beacon.php | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Models/PaymentHash.php b/app/Models/PaymentHash.php index 9905feddab65..233cb2d36731 100644 --- a/app/Models/PaymentHash.php +++ b/app/Models/PaymentHash.php @@ -40,7 +40,7 @@ class PaymentHash extends Model /** - * @return array + * @return mixed */ public function invoices() { diff --git a/app/PaymentDrivers/CheckoutCom/CheckoutWebhook.php b/app/PaymentDrivers/CheckoutCom/CheckoutWebhook.php index fcac5acdc3ac..5b9b51599982 100644 --- a/app/PaymentDrivers/CheckoutCom/CheckoutWebhook.php +++ b/app/PaymentDrivers/CheckoutCom/CheckoutWebhook.php @@ -69,7 +69,7 @@ class CheckoutWebhook implements ShouldQueue { $payment_object = $this->webhook_array['data']; - $payment = Payment::withTrashed()->where('transaction_reference', $payment_object['id'])->first(); + $payment = Payment::query()->withTrashed()->where('transaction_reference', $payment_object['id'])->first(); if($payment && $payment->status_id == Payment::STATUS_COMPLETED) return; @@ -84,7 +84,7 @@ class CheckoutWebhook implements ShouldQueue $metadata = $this->webhook_array['metadata']; - $payment_hash = PaymentHash::where('hash', $metadata['udf2'])->first(); + $payment_hash = PaymentHash::query()->where('hash', $metadata['udf2'])->first(); $driver = $this->company_gateway->driver($payment_hash->fee_invoice->client)->init()->setPaymentMethod(); diff --git a/config/beacon.php b/config/beacon.php index 06006106b268..8fff666a8173 100644 --- a/config/beacon.php +++ b/config/beacon.php @@ -22,8 +22,8 @@ return [ */ 'batch' => true, - // 'cache_connection' => 'sentinel-cache', - 'cache_connection' => 'cache', + 'cache_connection' => 'sentinel-cache', + // 'cache_connection' => 'cache', /* * The default key used to store * metrics for batching From eec0920d1d076e5b192b1692b29842510e1b3fd9 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 15 Aug 2023 22:50:47 +1000 Subject: [PATCH 12/16] Allow xml files to be uploads --- app/Http/Requests/Invoice/UploadInvoiceRequest.php | 4 +++- app/Http/Requests/Request.php | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Requests/Invoice/UploadInvoiceRequest.php b/app/Http/Requests/Invoice/UploadInvoiceRequest.php index 070fb4443d1b..17af8468e9b3 100644 --- a/app/Http/Requests/Invoice/UploadInvoiceRequest.php +++ b/app/Http/Requests/Invoice/UploadInvoiceRequest.php @@ -23,7 +23,9 @@ class UploadInvoiceRequest extends Request */ public function authorize() : bool { - return auth()->user()->can('edit', $this->invoice); + /** @var \App\Models\User $user */ + $user = auth()->user(); + return $user->can('edit', $this->invoice); } public function rules() diff --git a/app/Http/Requests/Request.php b/app/Http/Requests/Request.php index 789d723938c7..5d8577efa189 100644 --- a/app/Http/Requests/Request.php +++ b/app/Http/Requests/Request.php @@ -20,7 +20,7 @@ class Request extends FormRequest use MakesHash; use RuntimeFormRequest; - protected $file_validation = 'sometimes|file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx,webp|max:20000'; + protected $file_validation = 'sometimes|file|mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx,webp,xml|max:20000'; /** * Get the validation rules that apply to the request. * From f3b1e9387372684031e5fc909c467aa742e5a7e5 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 16 Aug 2023 00:23:18 +1000 Subject: [PATCH 13/16] Set public/private for documents --- app/Http/Controllers/InvoiceController.php | 5 +++-- .../Requests/Invoice/UploadInvoiceRequest.php | 2 ++ app/Jobs/Util/UploadFile.php | 2 +- app/Models/PaymentHash.php | 16 +++++++++++----- .../CheckoutCom/CheckoutWebhook.php | 9 +++++---- app/PaymentDrivers/CheckoutCom/Webhook.php | 2 -- 6 files changed, 22 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index f9977878988c..ec86da941082 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -966,16 +966,17 @@ class InvoiceController extends BaseController */ public function upload(UploadInvoiceRequest $request, Invoice $invoice) { + if (! $this->checkFeature(Account::FEATURE_DOCUMENTS)) { return $this->featureFailure(); } if ($request->has('documents')) { - $this->saveDocuments($request->file('documents'), $invoice); + $this->saveDocuments($request->file('documents'), $invoice, $request->input('is_public', true)); } if ($request->has('file')) { - $this->saveDocuments($request->file('documents'), $invoice); + $this->saveDocuments($request->file('documents'), $invoice, $request->input('is_public', true)); } return $this->itemResponse($invoice->fresh()); diff --git a/app/Http/Requests/Invoice/UploadInvoiceRequest.php b/app/Http/Requests/Invoice/UploadInvoiceRequest.php index 17af8468e9b3..8339f64aa393 100644 --- a/app/Http/Requests/Invoice/UploadInvoiceRequest.php +++ b/app/Http/Requests/Invoice/UploadInvoiceRequest.php @@ -44,6 +44,8 @@ class UploadInvoiceRequest extends Request $rules['file'] = $this->file_validation; } + $rules['is_public'] = 'sometimes|boolean'; + return $rules; } diff --git a/app/Jobs/Util/UploadFile.php b/app/Jobs/Util/UploadFile.php index 43417f3529a1..33aeef21c0b3 100644 --- a/app/Jobs/Util/UploadFile.php +++ b/app/Jobs/Util/UploadFile.php @@ -53,7 +53,7 @@ class UploadFile implements ShouldQueue public $disk; - public function __construct($file, $type, $user, $company, $entity, $disk = null, $is_public = false) + public function __construct($file, $type, $user, $company, $entity, $disk = null, $is_public = true) { $this->file = $file; $this->type = $type; diff --git a/app/Models/PaymentHash.php b/app/Models/PaymentHash.php index 233cb2d36731..daf6b6197d9f 100644 --- a/app/Models/PaymentHash.php +++ b/app/Models/PaymentHash.php @@ -20,7 +20,7 @@ use Illuminate\Database\Eloquent\Model; * @property string $hash * @property float $fee_total * @property int|null $fee_invoice_id - * @property mixed $data + * @property \stdClass $data * @property int|null $payment_id * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at @@ -38,6 +38,13 @@ class PaymentHash extends Model 'data' => 'object', ]; + /** + * @class \App\Models\PaymentHash $this + * @property \App\Models\PaymentHash $data + * @class \stdClass $data + * @property string $raw_value + */ + /** * @return mixed @@ -75,9 +82,8 @@ class PaymentHash extends Model public function withData(string $property, $value): self { - $this->data = array_merge((array) $this->data, [$property => $value]); - $this->save(); - - return $this; + $this->data = array_merge((array) $this->data, [$property => $value]); // @phpstan-ignore-line + $this->save();// @phpstan-ignore-line + return $this; // @phpstan-ignore-line } } diff --git a/app/PaymentDrivers/CheckoutCom/CheckoutWebhook.php b/app/PaymentDrivers/CheckoutCom/CheckoutWebhook.php index 5b9b51599982..c7c1069c63ff 100644 --- a/app/PaymentDrivers/CheckoutCom/CheckoutWebhook.php +++ b/app/PaymentDrivers/CheckoutCom/CheckoutWebhook.php @@ -88,14 +88,15 @@ class CheckoutWebhook implements ShouldQueue $driver = $this->company_gateway->driver($payment_hash->fee_invoice->client)->init()->setPaymentMethod(); - $payment_hash->data = array_merge((array) $payment_hash->data, $this->webhook_array); - $payment_hash->save(); - $driver->setPaymentHash($payment_hash); + $payment_hash->data = array_merge((array) $payment_hash->data, $this->webhook_array); // @phpstan-ignore-line + $payment_hash->save(); + $driver->setPaymentHash($payment_hash); + // @phpstan-ignore-line $data = [ 'payment_method' => isset($this->webhook_array['source']['id']) ? $this->webhook_array['source']['id'] : '', 'payment_type' => PaymentType::CREDIT_CARD_OTHER, - 'amount' => $payment_hash->data->raw_value, + 'amount' => $payment_hash->data->raw_value, // @phpstan-ignore-line 'transaction_reference' => $payment_object['id'], 'gateway_type_id' => GatewayType::CREDIT_CARD, ]; diff --git a/app/PaymentDrivers/CheckoutCom/Webhook.php b/app/PaymentDrivers/CheckoutCom/Webhook.php index 187d2dad2220..8fc5744762b7 100644 --- a/app/PaymentDrivers/CheckoutCom/Webhook.php +++ b/app/PaymentDrivers/CheckoutCom/Webhook.php @@ -66,8 +66,6 @@ class Webhook /** * Lists the workflows in Checkout - * - * @return void */ public function getWorkFlows() { From 71b1428994001fc0bd0bfb464ad298064e105353 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 16 Aug 2023 09:37:11 +1000 Subject: [PATCH 14/16] Minor fixes --- app/DataMapper/Analytics/RevenueTrack.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/DataMapper/Analytics/RevenueTrack.php b/app/DataMapper/Analytics/RevenueTrack.php index 75af0ded48fa..0e790c63b4b5 100644 --- a/app/DataMapper/Analytics/RevenueTrack.php +++ b/app/DataMapper/Analytics/RevenueTrack.php @@ -70,6 +70,8 @@ class RevenueTrack extends GenericMixedMetric public $string_metric9 = 'entity_reference'; + public $string_metric10 = 'gateway_type'; + /** * The counter * set to 1. @@ -85,7 +87,7 @@ class RevenueTrack extends GenericMixedMetric */ public $double_metric2 = 0; - public function __construct($string_metric5, $string_metric6, $int_metric1, $double_metric2, $string_metric7, $string_metric8, $string_metric9) + public function __construct($string_metric5, $string_metric6, $int_metric1, $double_metric2, $string_metric7, $string_metric8, $string_metric9, $string_metric10) { $this->int_metric1 = $int_metric1; $this->double_metric2 = $double_metric2; @@ -94,5 +96,6 @@ class RevenueTrack extends GenericMixedMetric $this->string_metric7 = $string_metric7; $this->string_metric8 = $string_metric8; $this->string_metric9 = $string_metric9; + $this->string_metric10 = $string_metric10; } } From 3366db305a71dc1f1161977c081af199c7364c11 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 16 Aug 2023 09:45:08 +1000 Subject: [PATCH 15/16] Disable quantity in previews for mobile --- app/Http/Livewire/PdfSlot.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Livewire/PdfSlot.php b/app/Http/Livewire/PdfSlot.php index 8c8770eb1205..43cc14c1a1d6 100644 --- a/app/Http/Livewire/PdfSlot.php +++ b/app/Http/Livewire/PdfSlot.php @@ -106,6 +106,7 @@ class PdfSlot extends Component $this->show_cost = in_array('$product.unit_cost', $this->settings->pdf_variables->product_columns); $this->show_line_total = in_array('$product.line_total', $this->settings->pdf_variables->product_columns); + $this->show_quantity = in_array('$product.quantity', $this->settings->pdf_variables->product_columns); if($this->entity_type == 'quote' && !$this->settings->sync_invoice_quote_columns ){ $this->show_cost = in_array('$product.unit_cost', $this->settings->pdf_variables->product_quote_columns); From ed32d4441538e1d025a232033f74049b214508b6 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 16 Aug 2023 14:52:43 +1000 Subject: [PATCH 16/16] Updated lock --- composer.lock | 743 +++++++++++++++++++++++++------------------------- 1 file changed, 374 insertions(+), 369 deletions(-) diff --git a/composer.lock b/composer.lock index 6bf16dd7b2c8..3d3cb2598a93 100644 --- a/composer.lock +++ b/composer.lock @@ -370,16 +370,16 @@ }, { "name": "aws/aws-crt-php", - "version": "v1.2.1", + "version": "v1.2.2", "source": { "type": "git", "url": "https://github.com/awslabs/aws-crt-php.git", - "reference": "1926277fc71d253dfa820271ac5987bdb193ccf5" + "reference": "2f1dc7b7eda080498be96a4a6d683a41583030e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/1926277fc71d253dfa820271ac5987bdb193ccf5", - "reference": "1926277fc71d253dfa820271ac5987bdb193ccf5", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/2f1dc7b7eda080498be96a4a6d683a41583030e9", + "reference": "2f1dc7b7eda080498be96a4a6d683a41583030e9", "shasum": "" }, "require": { @@ -418,22 +418,22 @@ ], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.1" + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.2" }, - "time": "2023-03-24T20:22:19+00:00" + "time": "2023-07-20T16:49:55+00:00" }, { "name": "aws/aws-sdk-php", - "version": "3.276.2", + "version": "3.278.3", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "78c9510280512121e8fdaa9538b744778ab48bf9" + "reference": "596534c0627d8b38597061341e99b460437d1a16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/78c9510280512121e8fdaa9538b744778ab48bf9", - "reference": "78c9510280512121e8fdaa9538b744778ab48bf9", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/596534c0627d8b38597061341e99b460437d1a16", + "reference": "596534c0627d8b38597061341e99b460437d1a16", "shasum": "" }, "require": { @@ -513,9 +513,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.276.2" + "source": "https://github.com/aws/aws-sdk-php/tree/3.278.3" }, - "time": "2023-07-20T18:16:37+00:00" + "time": "2023-08-15T18:07:55+00:00" }, { "name": "bacon/bacon-qr-code", @@ -1351,16 +1351,16 @@ }, { "name": "doctrine/dbal", - "version": "3.6.4", + "version": "3.6.5", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f" + "reference": "96d5a70fd91efdcec81fc46316efc5bf3da17ddf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f", - "reference": "19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/96d5a70fd91efdcec81fc46316efc5bf3da17ddf", + "reference": "96d5a70fd91efdcec81fc46316efc5bf3da17ddf", "shasum": "" }, "require": { @@ -1375,10 +1375,10 @@ "require-dev": { "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", - "jetbrains/phpstorm-stubs": "2022.3", - "phpstan/phpstan": "1.10.14", + "jetbrains/phpstorm-stubs": "2023.1", + "phpstan/phpstan": "1.10.21", "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.7", + "phpunit/phpunit": "9.6.9", "psalm/plugin-phpunit": "0.18.4", "squizlabs/php_codesniffer": "3.7.2", "symfony/cache": "^5.4|^6.0", @@ -1443,7 +1443,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.6.4" + "source": "https://github.com/doctrine/dbal/tree/3.6.5" }, "funding": [ { @@ -1459,7 +1459,7 @@ "type": "tidelift" } ], - "time": "2023-06-15T07:40:12+00:00" + "time": "2023-07-17T09:15:50+00:00" }, { "name": "doctrine/deprecations", @@ -1762,28 +1762,27 @@ }, { "name": "doctrine/lexer", - "version": "2.1.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" + "reference": "84a527db05647743d50373e0ec53a152f2cde568" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", - "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", + "reference": "84a527db05647743d50373e0ec53a152f2cde568", "shasum": "" }, "require": { - "doctrine/deprecations": "^1.0", - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^10", - "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^9.5", "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^4.11 || ^5.0" + "vimeo/psalm": "^5.0" }, "type": "library", "autoload": { @@ -1820,7 +1819,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/3.0.0" }, "funding": [ { @@ -1836,20 +1835,20 @@ "type": "tidelift" } ], - "time": "2022-12-14T08:49:07+00:00" + "time": "2022-12-15T16:57:16+00:00" }, { "name": "dragonmantank/cron-expression", - "version": "v3.3.2", + "version": "v3.3.3", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8" + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8", - "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", "shasum": "" }, "require": { @@ -1889,7 +1888,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.2" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" }, "funding": [ { @@ -1897,7 +1896,7 @@ "type": "github" } ], - "time": "2022-09-10T18:51:20+00:00" + "time": "2023-08-10T19:36:49+00:00" }, { "name": "egulias/email-validator", @@ -2485,16 +2484,16 @@ }, { "name": "google/apiclient-services", - "version": "v0.309.0", + "version": "v0.312.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "562f8e5ddbca68d52afc3bf47d03839e78722026" + "reference": "45d47fed73b28254c511882bc743b1690a99558d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/562f8e5ddbca68d52afc3bf47d03839e78722026", - "reference": "562f8e5ddbca68d52afc3bf47d03839e78722026", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/45d47fed73b28254c511882bc743b1690a99558d", + "reference": "45d47fed73b28254c511882bc743b1690a99558d", "shasum": "" }, "require": { @@ -2523,9 +2522,9 @@ ], "support": { "issues": "https://github.com/googleapis/google-api-php-client-services/issues", - "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.309.0" + "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.312.0" }, - "time": "2023-07-16T01:08:14+00:00" + "time": "2023-08-14T00:56:12+00:00" }, { "name": "google/auth", @@ -2912,16 +2911,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.5.0", + "version": "2.6.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "b635f279edd83fc275f822a1188157ffea568ff6" + "reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6", - "reference": "b635f279edd83fc275f822a1188157ffea568ff6", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/8bd7c33a0734ae1c5d074360512beb716bef3f77", + "reference": "8bd7c33a0734ae1c5d074360512beb716bef3f77", "shasum": "" }, "require": { @@ -3008,7 +3007,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.5.0" + "source": "https://github.com/guzzle/psr7/tree/2.6.0" }, "funding": [ { @@ -3024,7 +3023,7 @@ "type": "tidelift" } ], - "time": "2023-04-17T16:11:26+00:00" + "time": "2023-08-03T15:06:02+00:00" }, { "name": "guzzlehttp/uri-template", @@ -3926,22 +3925,22 @@ }, { "name": "jms/serializer", - "version": "3.26.0", + "version": "3.27.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/serializer.git", - "reference": "926a7d57438fa1ff4ab794551c5ae26e68536853" + "reference": "e8c812460d7b47b15bc0ccd78901276bd44ad452" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/926a7d57438fa1ff4ab794551c5ae26e68536853", - "reference": "926a7d57438fa1ff4ab794551c5ae26e68536853", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/e8c812460d7b47b15bc0ccd78901276bd44ad452", + "reference": "e8c812460d7b47b15bc0ccd78901276bd44ad452", "shasum": "" }, "require": { "doctrine/annotations": "^1.13 || ^2.0", "doctrine/instantiator": "^1.0.3 || ^2.0", - "doctrine/lexer": "^2", + "doctrine/lexer": "^2.0 || ^3.0", "jms/metadata": "^2.6", "php": "^7.2||^8.0", "phpstan/phpdoc-parser": "^0.4 || ^0.5 || ^1.0" @@ -4010,7 +4009,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/serializer/issues", - "source": "https://github.com/schmittjoh/serializer/tree/3.26.0" + "source": "https://github.com/schmittjoh/serializer/tree/3.27.0" }, "funding": [ { @@ -4018,20 +4017,20 @@ "type": "github" } ], - "time": "2023-06-24T19:25:58+00:00" + "time": "2023-07-29T22:33:44+00:00" }, { "name": "josemmo/facturae-php", - "version": "v1.7.7", + "version": "v1.7.8", "source": { "type": "git", "url": "https://github.com/josemmo/Facturae-PHP.git", - "reference": "00c093bb4a618dca4f195d8d84120b2c762801b4" + "reference": "3c490fa60e668a6275ba2fb6c228f1e19216d02e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/josemmo/Facturae-PHP/zipball/00c093bb4a618dca4f195d8d84120b2c762801b4", - "reference": "00c093bb4a618dca4f195d8d84120b2c762801b4", + "url": "https://api.github.com/repos/josemmo/Facturae-PHP/zipball/3c490fa60e668a6275ba2fb6c228f1e19216d02e", + "reference": "3c490fa60e668a6275ba2fb6c228f1e19216d02e", "shasum": "" }, "require": { @@ -4073,9 +4072,9 @@ ], "support": { "issues": "https://github.com/josemmo/Facturae-PHP/issues", - "source": "https://github.com/josemmo/Facturae-PHP/tree/v1.7.7" + "source": "https://github.com/josemmo/Facturae-PHP/tree/v1.7.8" }, - "time": "2023-07-02T08:07:03+00:00" + "time": "2023-08-06T15:34:37+00:00" }, { "name": "khanamiryan/qrcode-detector-decoder", @@ -4235,16 +4234,16 @@ }, { "name": "laravel/framework", - "version": "v9.52.10", + "version": "v9.52.15", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "858add225ce88a76c43aec0e7866288321ee0ee9" + "reference": "e3350e87a52346af9cc655a3012d2175d2d05ad7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/858add225ce88a76c43aec0e7866288321ee0ee9", - "reference": "858add225ce88a76c43aec0e7866288321ee0ee9", + "url": "https://api.github.com/repos/laravel/framework/zipball/e3350e87a52346af9cc655a3012d2175d2d05ad7", + "reference": "e3350e87a52346af9cc655a3012d2175d2d05ad7", "shasum": "" }, "require": { @@ -4429,20 +4428,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-06-27T13:25:54+00:00" + "time": "2023-08-08T14:28:40+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.3.0", + "version": "v1.3.1", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "f23fe9d4e95255dacee1bf3525e0810d1a1b0f37" + "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f23fe9d4e95255dacee1bf3525e0810d1a1b0f37", - "reference": "f23fe9d4e95255dacee1bf3525e0810d1a1b0f37", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/e5a3057a5591e1cfe8183034b0203921abe2c902", + "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902", "shasum": "" }, "require": { @@ -4489,7 +4488,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2023-01-30T18:31:20+00:00" + "time": "2023-07-14T13:56:28+00:00" }, { "name": "laravel/slack-notification-channel", @@ -5079,16 +5078,16 @@ }, { "name": "league/csv", - "version": "9.9.0", + "version": "9.10.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "b4418ede47fbd88facc34e40a16c8ce9153b961b" + "reference": "d24b0d484812313b07ab74b0fe4db9661606df6c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/b4418ede47fbd88facc34e40a16c8ce9153b961b", - "reference": "b4418ede47fbd88facc34e40a16c8ce9153b961b", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/d24b0d484812313b07ab74b0fe4db9661606df6c", + "reference": "d24b0d484812313b07ab74b0fe4db9661606df6c", "shasum": "" }, "require": { @@ -5097,16 +5096,17 @@ "php": "^8.1.2" }, "require-dev": { - "doctrine/collections": "^2.1.2", + "doctrine/collections": "^2.1.3", "ext-dom": "*", "ext-xdebug": "*", - "friendsofphp/php-cs-fixer": "^v3.14.3", - "phpbench/phpbench": "^1.2.8", - "phpstan/phpstan": "^1.10.4", - "phpstan/phpstan-deprecation-rules": "^1.1.2", - "phpstan/phpstan-phpunit": "^1.3.10", - "phpstan/phpstan-strict-rules": "^1.5.0", - "phpunit/phpunit": "^10.0.14" + "friendsofphp/php-cs-fixer": "^v3.22.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/phpstan": "^1.10.26", + "phpstan/phpstan-deprecation-rules": "^1.1.3", + "phpstan/phpstan-phpunit": "^1.3.13", + "phpstan/phpstan-strict-rules": "^1.5.1", + "phpunit/phpunit": "^10.3.1", + "symfony/var-dumper": "^6.3.3" }, "suggest": { "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", @@ -5162,7 +5162,7 @@ "type": "github" } ], - "time": "2023-03-11T15:57:12+00:00" + "time": "2023-08-04T15:12:48+00:00" }, { "name": "league/flysystem", @@ -5448,26 +5448,26 @@ }, { "name": "league/mime-type-detection", - "version": "1.11.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" + "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/a6dfb1194a2946fcdc1f38219445234f65b35c96", + "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96", "shasum": "" }, "require": { "ext-fileinfo": "*", - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.2", "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3" + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" }, "type": "library", "autoload": { @@ -5488,7 +5488,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.11.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.13.0" }, "funding": [ { @@ -5500,7 +5500,7 @@ "type": "tidelift" } ], - "time": "2022-04-17T13:12:02+00:00" + "time": "2023-08-05T12:09:49+00:00" }, { "name": "league/oauth1-client", @@ -5643,16 +5643,16 @@ }, { "name": "livewire/livewire", - "version": "v2.12.3", + "version": "v2.12.6", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "019b1e69d8cd8c7e749eba7a38e4fa69ecbc8f74" + "reference": "7d3a57b3193299cf1a0639a3935c696f4da2cf92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/019b1e69d8cd8c7e749eba7a38e4fa69ecbc8f74", - "reference": "019b1e69d8cd8c7e749eba7a38e4fa69ecbc8f74", + "url": "https://api.github.com/repos/livewire/livewire/zipball/7d3a57b3193299cf1a0639a3935c696f4da2cf92", + "reference": "7d3a57b3193299cf1a0639a3935c696f4da2cf92", "shasum": "" }, "require": { @@ -5704,7 +5704,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v2.12.3" + "source": "https://github.com/livewire/livewire/tree/v2.12.6" }, "funding": [ { @@ -5712,20 +5712,20 @@ "type": "github" } ], - "time": "2023-03-03T20:12:38+00:00" + "time": "2023-08-11T04:02:34+00:00" }, { "name": "microsoft/microsoft-graph", - "version": "1.103.0", + "version": "1.104.0", "source": { "type": "git", "url": "https://github.com/microsoftgraph/msgraph-sdk-php.git", - "reference": "6e325c22145dbed4e51970ffecca4d7648c3c27e" + "reference": "fc2a3549e8efc9501dbf5d55d350882d8d641295" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/microsoftgraph/msgraph-sdk-php/zipball/6e325c22145dbed4e51970ffecca4d7648c3c27e", - "reference": "6e325c22145dbed4e51970ffecca4d7648c3c27e", + "url": "https://api.github.com/repos/microsoftgraph/msgraph-sdk-php/zipball/fc2a3549e8efc9501dbf5d55d350882d8d641295", + "reference": "fc2a3549e8efc9501dbf5d55d350882d8d641295", "shasum": "" }, "require": { @@ -5762,22 +5762,22 @@ "homepage": "https://developer.microsoft.com/en-us/graph", "support": { "issues": "https://github.com/microsoftgraph/msgraph-sdk-php/issues", - "source": "https://github.com/microsoftgraph/msgraph-sdk-php/tree/1.103.0" + "source": "https://github.com/microsoftgraph/msgraph-sdk-php/tree/1.104.0" }, - "time": "2023-07-19T03:27:15+00:00" + "time": "2023-08-11T07:41:39+00:00" }, { "name": "mollie/mollie-api-php", - "version": "v2.59.0", + "version": "v2.61.0", "source": { "type": "git", "url": "https://github.com/mollie/mollie-api-php.git", - "reference": "9834e5779c695d1cc278b2c78ee514de9434b084" + "reference": "d3ec7a191985aa57bec9b4425a665e95b4ba346a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/9834e5779c695d1cc278b2c78ee514de9434b084", - "reference": "9834e5779c695d1cc278b2c78ee514de9434b084", + "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/d3ec7a191985aa57bec9b4425a665e95b4ba346a", + "reference": "d3ec7a191985aa57bec9b4425a665e95b4ba346a", "shasum": "" }, "require": { @@ -5854,9 +5854,9 @@ ], "support": { "issues": "https://github.com/mollie/mollie-api-php/issues", - "source": "https://github.com/mollie/mollie-api-php/tree/v2.59.0" + "source": "https://github.com/mollie/mollie-api-php/tree/v2.61.0" }, - "time": "2023-07-18T13:41:40+00:00" + "time": "2023-07-31T15:37:46+00:00" }, { "name": "moneyphp/money", @@ -6350,21 +6350,21 @@ }, { "name": "nette/schema", - "version": "v1.2.3", + "version": "v1.2.4", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f" + "reference": "c9ff517a53903b3d4e29ec547fb20feecb05b8ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", + "url": "https://api.github.com/repos/nette/schema/zipball/c9ff517a53903b3d4e29ec547fb20feecb05b8ab", + "reference": "c9ff517a53903b3d4e29ec547fb20feecb05b8ab", "shasum": "" }, "require": { "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": ">=7.1 <8.3" + "php": "7.1 - 8.3" }, "require-dev": { "nette/tester": "^2.3 || ^2.4", @@ -6406,26 +6406,26 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.3" + "source": "https://github.com/nette/schema/tree/v1.2.4" }, - "time": "2022-10-13T01:24:26+00:00" + "time": "2023-08-05T18:56:25+00:00" }, { "name": "nette/utils", - "version": "v4.0.0", + "version": "v4.0.1", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e" + "reference": "9124157137da01b1f5a5a22d6486cb975f26db7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/cacdbf5a91a657ede665c541eda28941d4b09c1e", - "reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e", + "url": "https://api.github.com/repos/nette/utils/zipball/9124157137da01b1f5a5a22d6486cb975f26db7e", + "reference": "9124157137da01b1f5a5a22d6486cb975f26db7e", "shasum": "" }, "require": { - "php": ">=8.0 <8.3" + "php": ">=8.0 <8.4" }, "conflict": { "nette/finder": "<3", @@ -6433,7 +6433,7 @@ }, "require-dev": { "jetbrains/phpstorm-attributes": "dev-master", - "nette/tester": "^2.4", + "nette/tester": "^2.5", "phpstan/phpstan": "^1.0", "tracy/tracy": "^2.9" }, @@ -6493,22 +6493,22 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.0" + "source": "https://github.com/nette/utils/tree/v4.0.1" }, - "time": "2023-02-02T10:41:53+00:00" + "time": "2023-07-30T15:42:21+00:00" }, { "name": "nikic/php-parser", - "version": "v4.16.0", + "version": "v4.17.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "19526a33fb561ef417e822e85f08a00db4059c17" + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17", - "reference": "19526a33fb561ef417e822e85f08a00db4059c17", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "shasum": "" }, "require": { @@ -6549,9 +6549,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" }, - "time": "2023-06-25T14:52:30+00:00" + "time": "2023-08-13T19:53:39+00:00" }, { "name": "nunomaduro/termwind", @@ -7711,16 +7711,16 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.7.2", + "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "b2fe4d22a5426f38e014855322200b97b5362c0d" + "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b2fe4d22a5426f38e014855322200b97b5362c0d", - "reference": "b2fe4d22a5426f38e014855322200b97b5362c0d", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", + "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", "shasum": "" }, "require": { @@ -7763,9 +7763,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.2" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" }, - "time": "2023-05-30T18:13:47+00:00" + "time": "2023-08-12T11:01:26+00:00" }, { "name": "phpoption/phpoption", @@ -7954,16 +7954,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.22.1", + "version": "1.23.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "65c39594fbd8c67abfc68bb323f86447bab79cc0" + "reference": "846ae76eef31c6d7790fac9bc399ecee45160b26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/65c39594fbd8c67abfc68bb323f86447bab79cc0", - "reference": "65c39594fbd8c67abfc68bb323f86447bab79cc0", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/846ae76eef31c6d7790fac9bc399ecee45160b26", + "reference": "846ae76eef31c6d7790fac9bc399ecee45160b26", "shasum": "" }, "require": { @@ -7995,9 +7995,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.22.1" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.23.1" }, - "time": "2023-06-29T20:46:06+00:00" + "time": "2023-08-03T16:32:59+00:00" }, { "name": "pragmarx/google2fa", @@ -8514,16 +8514,16 @@ }, { "name": "psy/psysh", - "version": "v0.11.19", + "version": "v0.11.20", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "1724ceff278daeeac5a006744633bacbb2dc4706" + "reference": "0fa27040553d1d280a67a4393194df5228afea5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1724ceff278daeeac5a006744633bacbb2dc4706", - "reference": "1724ceff278daeeac5a006744633bacbb2dc4706", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/0fa27040553d1d280a67a4393194df5228afea5b", + "reference": "0fa27040553d1d280a67a4393194df5228afea5b", "shasum": "" }, "require": { @@ -8584,9 +8584,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.19" + "source": "https://github.com/bobthecow/psysh/tree/v0.11.20" }, - "time": "2023-07-15T19:42:19+00:00" + "time": "2023-07-31T14:32:22+00:00" }, { "name": "pusher/pusher-php-server", @@ -9207,16 +9207,16 @@ }, { "name": "sentry/sentry", - "version": "3.20.1", + "version": "3.21.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "644ad9768c18139a80ac510090fad000d9ffd8a4" + "reference": "624aafc22b84b089ffa43b71fb01e0096505ec4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/644ad9768c18139a80ac510090fad000d9ffd8a4", - "reference": "644ad9768c18139a80ac510090fad000d9ffd8a4", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/624aafc22b84b089ffa43b71fb01e0096505ec4f", + "reference": "624aafc22b84b089ffa43b71fb01e0096505ec4f", "shasum": "" }, "require": { @@ -9260,11 +9260,6 @@ "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler." }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.13.x-dev" - } - }, "autoload": { "files": [ "src/functions.php" @@ -9296,7 +9291,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/3.20.1" + "source": "https://github.com/getsentry/sentry-php/tree/3.21.0" }, "funding": [ { @@ -9308,20 +9303,20 @@ "type": "custom" } ], - "time": "2023-06-26T11:01:40+00:00" + "time": "2023-07-31T15:31:24+00:00" }, { "name": "sentry/sentry-laravel", - "version": "3.6.1", + "version": "3.7.3", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "eb94a52b88794d0c108dc46ca1a680531c3a8bad" + "reference": "2aee4ad217be8ef04ffcde6e9f7dd17af5a3b0bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/eb94a52b88794d0c108dc46ca1a680531c3a8bad", - "reference": "eb94a52b88794d0c108dc46ca1a680531c3a8bad", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/2aee4ad217be8ef04ffcde6e9f7dd17af5a3b0bf", + "reference": "2aee4ad217be8ef04ffcde6e9f7dd17af5a3b0bf", "shasum": "" }, "require": { @@ -9329,7 +9324,7 @@ "nyholm/psr7": "^1.0", "php": "^7.2 | ^8.0", "sentry/sdk": "^3.4", - "sentry/sentry": "^3.20", + "sentry/sentry": "^3.20.1", "symfony/psr-http-message-bridge": "^1.0 | ^2.0" }, "require-dev": { @@ -9337,6 +9332,7 @@ "laravel/framework": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0", "mockery/mockery": "^1.3", "orchestra/testbench": "^4.7 | ^5.1 | ^6.0 | ^7.0 | ^8.0", + "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^8.4 | ^9.3" }, "type": "library", @@ -9386,7 +9382,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/3.6.1" + "source": "https://github.com/getsentry/sentry-laravel/tree/3.7.3" }, "funding": [ { @@ -9398,7 +9394,7 @@ "type": "custom" } ], - "time": "2023-07-04T10:30:42+00:00" + "time": "2023-08-03T10:10:23+00:00" }, { "name": "setasign/fpdf", @@ -9448,16 +9444,16 @@ }, { "name": "setasign/fpdi", - "version": "v2.3.7", + "version": "v2.4.1", "source": { "type": "git", "url": "https://github.com/Setasign/FPDI.git", - "reference": "bccc892d5fa1f48c43f8ba7db5ed4ba6f30c8c05" + "reference": "f4ba73e5bc053ccc90b81717c5df1cb2ea7bae7b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Setasign/FPDI/zipball/bccc892d5fa1f48c43f8ba7db5ed4ba6f30c8c05", - "reference": "bccc892d5fa1f48c43f8ba7db5ed4ba6f30c8c05", + "url": "https://api.github.com/repos/Setasign/FPDI/zipball/f4ba73e5bc053ccc90b81717c5df1cb2ea7bae7b", + "reference": "f4ba73e5bc053ccc90b81717c5df1cb2ea7bae7b", "shasum": "" }, "require": { @@ -9470,7 +9466,7 @@ "require-dev": { "phpunit/phpunit": "~5.7", "setasign/fpdf": "~1.8", - "setasign/tfpdf": "1.31", + "setasign/tfpdf": "~1.31", "squizlabs/php_codesniffer": "^3.5", "tecnickcom/tcpdf": "~6.2" }, @@ -9508,7 +9504,7 @@ ], "support": { "issues": "https://github.com/Setasign/FPDI/issues", - "source": "https://github.com/Setasign/FPDI/tree/v2.3.7" + "source": "https://github.com/Setasign/FPDI/tree/v2.4.1" }, "funding": [ { @@ -9516,7 +9512,7 @@ "type": "tidelift" } ], - "time": "2023-02-09T10:38:43+00:00" + "time": "2023-07-27T08:12:09+00:00" }, { "name": "shopify/shopify-api", @@ -9583,16 +9579,16 @@ }, { "name": "smalot/pdfparser", - "version": "v2.5.0", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/smalot/pdfparser.git", - "reference": "9094d7777aeaa7d8a0a845b352f7dfe4a8baced3" + "reference": "eef0263bbaec86d30801d3551ac83f4e1015d4c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/smalot/pdfparser/zipball/9094d7777aeaa7d8a0a845b352f7dfe4a8baced3", - "reference": "9094d7777aeaa7d8a0a845b352f7dfe4a8baced3", + "url": "https://api.github.com/repos/smalot/pdfparser/zipball/eef0263bbaec86d30801d3551ac83f4e1015d4c3", + "reference": "eef0263bbaec86d30801d3551ac83f4e1015d4c3", "shasum": "" }, "require": { @@ -9628,9 +9624,9 @@ ], "support": { "issues": "https://github.com/smalot/pdfparser/issues", - "source": "https://github.com/smalot/pdfparser/tree/v2.5.0" + "source": "https://github.com/smalot/pdfparser/tree/v2.7.0" }, - "time": "2023-04-24T07:00:49+00:00" + "time": "2023-08-10T06:11:26+00:00" }, { "name": "socialiteproviders/apple", @@ -9830,16 +9826,16 @@ }, { "name": "spatie/laravel-data", - "version": "3.7.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-data.git", - "reference": "a975123d86e0133a361ac225d17acb3d11aa351f" + "reference": "7ead3d8f761846185a94d06e584bfe17e43b9239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-data/zipball/a975123d86e0133a361ac225d17acb3d11aa351f", - "reference": "a975123d86e0133a361ac225d17acb3d11aa351f", + "url": "https://api.github.com/repos/spatie/laravel-data/zipball/7ead3d8f761846185a94d06e584bfe17e43b9239", + "reference": "7ead3d8f761846185a94d06e584bfe17e43b9239", "shasum": "" }, "require": { @@ -9901,7 +9897,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-data/issues", - "source": "https://github.com/spatie/laravel-data/tree/3.7.0" + "source": "https://github.com/spatie/laravel-data/tree/3.8.1" }, "funding": [ { @@ -9909,20 +9905,20 @@ "type": "github" } ], - "time": "2023-07-05T11:45:14+00:00" + "time": "2023-08-11T11:59:07+00:00" }, { "name": "spatie/laravel-package-tools", - "version": "1.15.0", + "version": "1.16.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "efab1844b8826443135201c4443690f032c3d533" + "reference": "38fe533e93f86a1b2fb1000bf7df09c4748e6458" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/efab1844b8826443135201c4443690f032c3d533", - "reference": "efab1844b8826443135201c4443690f032c3d533", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/38fe533e93f86a1b2fb1000bf7df09c4748e6458", + "reference": "38fe533e93f86a1b2fb1000bf7df09c4748e6458", "shasum": "" }, "require": { @@ -9961,7 +9957,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.15.0" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.0" }, "funding": [ { @@ -9969,7 +9965,7 @@ "type": "github" } ], - "time": "2023-04-27T08:09:01+00:00" + "time": "2023-08-09T14:08:04+00:00" }, { "name": "sprain/swiss-qr-bill", @@ -10150,16 +10146,16 @@ }, { "name": "symfony/console", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7" + "reference": "aa5d64ad3f63f2e48964fc81ee45cb318a723898" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", - "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", + "url": "https://api.github.com/repos/symfony/console/zipball/aa5d64ad3f63f2e48964fc81ee45cb318a723898", + "reference": "aa5d64ad3f63f2e48964fc81ee45cb318a723898", "shasum": "" }, "require": { @@ -10220,7 +10216,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.3.0" + "source": "https://github.com/symfony/console/tree/v6.3.2" }, "funding": [ { @@ -10236,20 +10232,20 @@ "type": "tidelift" } ], - "time": "2023-05-29T12:49:39+00:00" + "time": "2023-07-19T20:17:28+00:00" }, { "name": "symfony/css-selector", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf" + "reference": "883d961421ab1709877c10ac99451632a3d6fa57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf", - "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/883d961421ab1709877c10ac99451632a3d6fa57", + "reference": "883d961421ab1709877c10ac99451632a3d6fa57", "shasum": "" }, "require": { @@ -10285,7 +10281,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.3.0" + "source": "https://github.com/symfony/css-selector/tree/v6.3.2" }, "funding": [ { @@ -10301,7 +10297,7 @@ "type": "tidelift" } ], - "time": "2023-03-20T16:43:42+00:00" + "time": "2023-07-12T16:00:22+00:00" }, { "name": "symfony/deprecation-contracts", @@ -10372,16 +10368,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "99d2d814a6351461af350ead4d963bd67451236f" + "reference": "85fd65ed295c4078367c784e8a5a6cee30348b7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/99d2d814a6351461af350ead4d963bd67451236f", - "reference": "99d2d814a6351461af350ead4d963bd67451236f", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/85fd65ed295c4078367c784e8a5a6cee30348b7a", + "reference": "85fd65ed295c4078367c784e8a5a6cee30348b7a", "shasum": "" }, "require": { @@ -10426,7 +10422,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.3.0" + "source": "https://github.com/symfony/error-handler/tree/v6.3.2" }, "funding": [ { @@ -10442,20 +10438,20 @@ "type": "tidelift" } ], - "time": "2023-05-10T12:03:13+00:00" + "time": "2023-07-16T17:05:46+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa" + "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", - "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e", + "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e", "shasum": "" }, "require": { @@ -10506,7 +10502,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2" }, "funding": [ { @@ -10522,7 +10518,7 @@ "type": "tidelift" } ], - "time": "2023-04-21T14:41:17+00:00" + "time": "2023-07-06T06:56:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -10665,16 +10661,16 @@ }, { "name": "symfony/finder", - "version": "v6.3.0", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2" + "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d9b01ba073c44cef617c7907ce2419f8d00d75e2", - "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2", + "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e", + "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e", "shasum": "" }, "require": { @@ -10709,7 +10705,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.0" + "source": "https://github.com/symfony/finder/tree/v6.3.3" }, "funding": [ { @@ -10725,20 +10721,20 @@ "type": "tidelift" } ], - "time": "2023-04-02T01:25:41+00:00" + "time": "2023-07-31T08:31:44+00:00" }, { "name": "symfony/http-client", - "version": "v6.3.1", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "1c828a06aef2f5eeba42026dfc532d4fc5406123" + "reference": "15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/1c828a06aef2f5eeba42026dfc532d4fc5406123", - "reference": "1c828a06aef2f5eeba42026dfc532d4fc5406123", + "url": "https://api.github.com/repos/symfony/http-client/zipball/15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00", + "reference": "15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00", "shasum": "" }, "require": { @@ -10801,7 +10797,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.3.1" + "source": "https://github.com/symfony/http-client/tree/v6.3.2" }, "funding": [ { @@ -10817,7 +10813,7 @@ "type": "tidelift" } ], - "time": "2023-06-24T11:51:27+00:00" + "time": "2023-07-05T08:41:27+00:00" }, { "name": "symfony/http-client-contracts", @@ -10899,16 +10895,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.3.1", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "e0ad0d153e1c20069250986cd9e9dd1ccebb0d66" + "reference": "43ed99d30f5f466ffa00bdac3f5f7aa9cd7617c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e0ad0d153e1c20069250986cd9e9dd1ccebb0d66", - "reference": "e0ad0d153e1c20069250986cd9e9dd1ccebb0d66", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/43ed99d30f5f466ffa00bdac3f5f7aa9cd7617c3", + "reference": "43ed99d30f5f466ffa00bdac3f5f7aa9cd7617c3", "shasum": "" }, "require": { @@ -10956,7 +10952,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.3.1" + "source": "https://github.com/symfony/http-foundation/tree/v6.3.2" }, "funding": [ { @@ -10972,20 +10968,20 @@ "type": "tidelift" } ], - "time": "2023-06-24T11:51:27+00:00" + "time": "2023-07-23T21:58:39+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.3.1", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "161e16fd2e35fb4881a43bc8b383dfd5be4ac374" + "reference": "d3b567f0addf695e10b0c6d57564a9bea2e058ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/161e16fd2e35fb4881a43bc8b383dfd5be4ac374", - "reference": "161e16fd2e35fb4881a43bc8b383dfd5be4ac374", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d3b567f0addf695e10b0c6d57564a9bea2e058ee", + "reference": "d3b567f0addf695e10b0c6d57564a9bea2e058ee", "shasum": "" }, "require": { @@ -11069,7 +11065,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.3.1" + "source": "https://github.com/symfony/http-kernel/tree/v6.3.3" }, "funding": [ { @@ -11085,20 +11081,20 @@ "type": "tidelift" } ], - "time": "2023-06-26T06:07:32+00:00" + "time": "2023-07-31T10:33:00+00:00" }, { "name": "symfony/intl", - "version": "v6.3.1", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "fdf4aff85fff2cc681cc45936b6b2a52731acc23" + "reference": "1f8cb145c869ed089a8531c51a6a4b31ed0b3c69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/fdf4aff85fff2cc681cc45936b6b2a52731acc23", - "reference": "fdf4aff85fff2cc681cc45936b6b2a52731acc23", + "url": "https://api.github.com/repos/symfony/intl/zipball/1f8cb145c869ed089a8531c51a6a4b31ed0b3c69", + "reference": "1f8cb145c869ed089a8531c51a6a4b31ed0b3c69", "shasum": "" }, "require": { @@ -11106,7 +11102,8 @@ }, "require-dev": { "symfony/filesystem": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0" + "symfony/finder": "^5.4|^6.0", + "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -11150,7 +11147,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v6.3.1" + "source": "https://github.com/symfony/intl/tree/v6.3.2" }, "funding": [ { @@ -11166,7 +11163,7 @@ "type": "tidelift" } ], - "time": "2023-06-21T12:08:28+00:00" + "time": "2023-07-20T07:43:09+00:00" }, { "name": "symfony/mailer", @@ -11250,16 +11247,16 @@ }, { "name": "symfony/mailgun-mailer", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/mailgun-mailer.git", - "reference": "2fafefe8683a93155aceb6cca622c7cee2e27174" + "reference": "df371e42a4c2a78a28c8de910f96949040e308fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/2fafefe8683a93155aceb6cca622c7cee2e27174", - "reference": "2fafefe8683a93155aceb6cca622c7cee2e27174", + "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/df371e42a4c2a78a28c8de910f96949040e308fd", + "reference": "df371e42a4c2a78a28c8de910f96949040e308fd", "shasum": "" }, "require": { @@ -11299,7 +11296,7 @@ "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailgun-mailer/tree/v6.3.0" + "source": "https://github.com/symfony/mailgun-mailer/tree/v6.3.2" }, "funding": [ { @@ -11315,24 +11312,25 @@ "type": "tidelift" } ], - "time": "2023-05-02T16:15:19+00:00" + "time": "2023-07-20T10:26:17+00:00" }, { "name": "symfony/mime", - "version": "v6.3.0", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad" + "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7b5d2121858cd6efbed778abce9cfdd7ab1f62ad", - "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad", + "url": "https://api.github.com/repos/symfony/mime/zipball/9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", + "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", "shasum": "" }, "require": { "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -11341,7 +11339,7 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<5.4", - "symfony/serializer": "<6.2" + "symfony/serializer": "<6.2.13|>=6.3,<6.3.2" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", @@ -11350,7 +11348,7 @@ "symfony/dependency-injection": "^5.4|^6.0", "symfony/property-access": "^5.4|^6.0", "symfony/property-info": "^5.4|^6.0", - "symfony/serializer": "^6.2" + "symfony/serializer": "~6.2.13|^6.3.2" }, "type": "library", "autoload": { @@ -11382,7 +11380,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.3.0" + "source": "https://github.com/symfony/mime/tree/v6.3.3" }, "funding": [ { @@ -11398,7 +11396,7 @@ "type": "tidelift" } ], - "time": "2023-04-28T15:57:00+00:00" + "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/options-resolver", @@ -12442,16 +12440,16 @@ }, { "name": "symfony/process", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628" + "reference": "c5ce962db0d9b6e80247ca5eb9af6472bd4d7b5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8741e3ed7fe2e91ec099e02446fb86667a0f1628", - "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628", + "url": "https://api.github.com/repos/symfony/process/zipball/c5ce962db0d9b6e80247ca5eb9af6472bd4d7b5d", + "reference": "c5ce962db0d9b6e80247ca5eb9af6472bd4d7b5d", "shasum": "" }, "require": { @@ -12483,7 +12481,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.3.0" + "source": "https://github.com/symfony/process/tree/v6.3.2" }, "funding": [ { @@ -12499,20 +12497,20 @@ "type": "tidelift" } ], - "time": "2023-05-19T08:06:44+00:00" + "time": "2023-07-12T16:00:22+00:00" }, { "name": "symfony/property-access", - "version": "v5.4.22", + "version": "v5.4.26", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "ffee082889586b5718347b291e04071f4d07b38f" + "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/ffee082889586b5718347b291e04071f4d07b38f", - "reference": "ffee082889586b5718347b291e04071f4d07b38f", + "url": "https://api.github.com/repos/symfony/property-access/zipball/0249e46f69e92049a488f39fcf531cb42c50caaa", + "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa", "shasum": "" }, "require": { @@ -12564,7 +12562,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v5.4.22" + "source": "https://github.com/symfony/property-access/tree/v5.4.26" }, "funding": [ { @@ -12580,7 +12578,7 @@ "type": "tidelift" } ], - "time": "2023-03-14T14:59:20+00:00" + "time": "2023-07-13T15:20:41+00:00" }, { "name": "symfony/property-info", @@ -12667,21 +12665,22 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v2.2.0", + "version": "v2.3.1", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "28a732c05bbad801304ad5a5c674cf2970508993" + "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/28a732c05bbad801304ad5a5c674cf2970508993", - "reference": "28a732c05bbad801304ad5a5c674cf2970508993", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/581ca6067eb62640de5ff08ee1ba6850a0ee472e", + "reference": "581ca6067eb62640de5ff08ee1ba6850a0ee472e", "shasum": "" }, "require": { "php": ">=7.2.5", "psr/http-message": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0", "symfony/http-foundation": "^5.4 || ^6.0" }, "require-dev": { @@ -12700,7 +12699,7 @@ "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-main": "2.2-dev" + "dev-main": "2.3-dev" } }, "autoload": { @@ -12735,7 +12734,7 @@ ], "support": { "issues": "https://github.com/symfony/psr-http-message-bridge/issues", - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.2.0" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.3.1" }, "funding": [ { @@ -12751,24 +12750,25 @@ "type": "tidelift" } ], - "time": "2023-04-21T08:40:19+00:00" + "time": "2023-07-26T11:53:26+00:00" }, { "name": "symfony/routing", - "version": "v6.3.1", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "d37ad1779c38b8eb71996d17dc13030dcb7f9cf5" + "reference": "e7243039ab663822ff134fbc46099b5fdfa16f6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/d37ad1779c38b8eb71996d17dc13030dcb7f9cf5", - "reference": "d37ad1779c38b8eb71996d17dc13030dcb7f9cf5", + "url": "https://api.github.com/repos/symfony/routing/zipball/e7243039ab663822ff134fbc46099b5fdfa16f6a", + "reference": "e7243039ab663822ff134fbc46099b5fdfa16f6a", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "doctrine/annotations": "<1.12", @@ -12817,7 +12817,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.3.1" + "source": "https://github.com/symfony/routing/tree/v6.3.3" }, "funding": [ { @@ -12833,7 +12833,7 @@ "type": "tidelift" } ], - "time": "2023-06-05T15:30:22+00:00" + "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/service-contracts", @@ -12919,16 +12919,16 @@ }, { "name": "symfony/string", - "version": "v6.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f" + "reference": "53d1a83225002635bca3482fcbf963001313fb68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f", - "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f", + "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68", + "reference": "53d1a83225002635bca3482fcbf963001313fb68", "shasum": "" }, "require": { @@ -12985,7 +12985,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.0" + "source": "https://github.com/symfony/string/tree/v6.3.2" }, "funding": [ { @@ -13001,24 +13001,25 @@ "type": "tidelift" } ], - "time": "2023-03-21T21:06:29+00:00" + "time": "2023-07-05T08:41:27+00:00" }, { "name": "symfony/translation", - "version": "v6.3.0", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f" + "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/f72b2cba8f79dd9d536f534f76874b58ad37876f", - "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f", + "url": "https://api.github.com/repos/symfony/translation/zipball/3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", + "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", "shasum": "" }, "require": { "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, @@ -13079,7 +13080,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.3.0" + "source": "https://github.com/symfony/translation/tree/v6.3.3" }, "funding": [ { @@ -13095,7 +13096,7 @@ "type": "tidelift" } ], - "time": "2023-05-19T12:46:45+00:00" + "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/translation-contracts", @@ -13251,16 +13252,16 @@ }, { "name": "symfony/validator", - "version": "v6.3.1", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "1b71f43c62ee867ab08195ba6039a1bc3e6654dc" + "reference": "b0c4ecf17d39eee1edfecc92299a03b9f5d5220b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/1b71f43c62ee867ab08195ba6039a1bc3e6654dc", - "reference": "1b71f43c62ee867ab08195ba6039a1bc3e6654dc", + "url": "https://api.github.com/repos/symfony/validator/zipball/b0c4ecf17d39eee1edfecc92299a03b9f5d5220b", + "reference": "b0c4ecf17d39eee1edfecc92299a03b9f5d5220b", "shasum": "" }, "require": { @@ -13327,7 +13328,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.3.1" + "source": "https://github.com/symfony/validator/tree/v6.3.2" }, "funding": [ { @@ -13343,24 +13344,25 @@ "type": "tidelift" } ], - "time": "2023-06-21T12:08:28+00:00" + "time": "2023-07-26T17:39:03+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.3.1", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c81268d6960ddb47af17391a27d222bd58cf0515" + "reference": "77fb4f2927f6991a9843633925d111147449ee7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c81268d6960ddb47af17391a27d222bd58cf0515", - "reference": "c81268d6960ddb47af17391a27d222bd58cf0515", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/77fb4f2927f6991a9843633925d111147449ee7a", + "reference": "77fb4f2927f6991a9843633925d111147449ee7a", "shasum": "" }, "require": { "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -13369,6 +13371,7 @@ "require-dev": { "ext-iconv": "*", "symfony/console": "^5.4|^6.0", + "symfony/http-kernel": "^5.4|^6.0", "symfony/process": "^5.4|^6.0", "symfony/uid": "^5.4|^6.0", "twig/twig": "^2.13|^3.0.4" @@ -13409,7 +13412,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.3.1" + "source": "https://github.com/symfony/var-dumper/tree/v6.3.3" }, "funding": [ { @@ -13425,24 +13428,25 @@ "type": "tidelift" } ], - "time": "2023-06-21T12:08:28+00:00" + "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/yaml", - "version": "v6.3.0", + "version": "v6.3.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "a9a8337aa641ef2aa39c3e028f9107ec391e5927" + "reference": "e23292e8c07c85b971b44c1c4b87af52133e2add" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/a9a8337aa641ef2aa39c3e028f9107ec391e5927", - "reference": "a9a8337aa641ef2aa39c3e028f9107ec391e5927", + "url": "https://api.github.com/repos/symfony/yaml/zipball/e23292e8c07c85b971b44c1c4b87af52133e2add", + "reference": "e23292e8c07c85b971b44c1c4b87af52133e2add", "shasum": "" }, "require": { "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -13480,7 +13484,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.3.0" + "source": "https://github.com/symfony/yaml/tree/v6.3.3" }, "funding": [ { @@ -13496,7 +13500,7 @@ "type": "tidelift" } ], - "time": "2023-04-28T13:28:14+00:00" + "time": "2023-07-31T07:08:24+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -14232,16 +14236,16 @@ }, { "name": "barryvdh/laravel-debugbar", - "version": "v3.8.1", + "version": "v3.8.2", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "aff3235fecb4104203b1e62c32239c56530eee32" + "reference": "56a2dc1da9d3219164074713983eef68996386cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/aff3235fecb4104203b1e62c32239c56530eee32", - "reference": "aff3235fecb4104203b1e62c32239c56530eee32", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/56a2dc1da9d3219164074713983eef68996386cf", + "reference": "56a2dc1da9d3219164074713983eef68996386cf", "shasum": "" }, "require": { @@ -14300,7 +14304,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.8.1" + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.8.2" }, "funding": [ { @@ -14312,7 +14316,7 @@ "type": "github" } ], - "time": "2023-02-21T14:21:02+00:00" + "time": "2023-07-26T04:57:49+00:00" }, { "name": "barryvdh/laravel-ide-helper", @@ -15188,16 +15192,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.22.0", + "version": "v3.23.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "92b019f6c8d79aa26349d0db7671d37440dc0ff3" + "reference": "35af3cbbacfa91e164b252a28ec0b644f1ed4e78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/92b019f6c8d79aa26349d0db7671d37440dc0ff3", - "reference": "92b019f6c8d79aa26349d0db7671d37440dc0ff3", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/35af3cbbacfa91e164b252a28ec0b644f1ed4e78", + "reference": "35af3cbbacfa91e164b252a28ec0b644f1ed4e78", "shasum": "" }, "require": { @@ -15273,7 +15277,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.22.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.23.0" }, "funding": [ { @@ -15281,7 +15285,7 @@ "type": "github" } ], - "time": "2023-07-16T23:08:06+00:00" + "time": "2023-08-14T12:27:35+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -15461,31 +15465,31 @@ }, { "name": "mockery/mockery", - "version": "1.6.4", + "version": "1.6.6", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "d1413755e26fe56a63455f7753221c86cbb88f66" + "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/d1413755e26fe56a63455f7753221c86cbb88f66", - "reference": "d1413755e26fe56a63455f7753221c86cbb88f66", + "url": "https://api.github.com/repos/mockery/mockery/zipball/b8e0bb7d8c604046539c1115994632c74dcb361e", + "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e", "shasum": "" }, "require": { "hamcrest/hamcrest-php": "^2.0.1", "lib-pcre": ">=7.0", - "php": ">=7.4,<8.3" + "php": ">=7.3" }, "conflict": { "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.3", + "phpunit/phpunit": "^8.5 || ^9.6.10", "psalm/plugin-phpunit": "^0.18.4", "symplify/easy-coding-standard": "^11.5.0", - "vimeo/psalm": "^5.13.1" + "vimeo/psalm": "^4.30" }, "type": "library", "autoload": { @@ -15542,7 +15546,7 @@ "security": "https://github.com/mockery/mockery/security/advisories", "source": "https://github.com/mockery/mockery" }, - "time": "2023-07-19T15:51:02+00:00" + "time": "2023-08-09T00:03:52+00:00" }, { "name": "myclabs/deep-copy", @@ -15744,16 +15748,16 @@ }, { "name": "nunomaduro/larastan", - "version": "v2.6.3", + "version": "v2.6.4", "source": { "type": "git", "url": "https://github.com/nunomaduro/larastan.git", - "reference": "73e5be5f5c732212ce6ca77ffd2753a136f36a23" + "reference": "6c5e8820f3db6397546f3ce48520af9d312aed27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/73e5be5f5c732212ce6ca77ffd2753a136f36a23", - "reference": "73e5be5f5c732212ce6ca77ffd2753a136f36a23", + "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/6c5e8820f3db6397546f3ce48520af9d312aed27", + "reference": "6c5e8820f3db6397546f3ce48520af9d312aed27", "shasum": "" }, "require": { @@ -15816,7 +15820,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/larastan/issues", - "source": "https://github.com/nunomaduro/larastan/tree/v2.6.3" + "source": "https://github.com/nunomaduro/larastan/tree/v2.6.4" }, "funding": [ { @@ -15836,7 +15840,7 @@ "type": "patreon" } ], - "time": "2023-06-13T21:39:27+00:00" + "time": "2023-07-29T12:13:13+00:00" }, { "name": "openlss/lib-array2xml", @@ -16148,16 +16152,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.26", + "version": "1.10.29", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "5d660cbb7e1b89253a47147ae44044f49832351f" + "reference": "ee5d8f2d3977fb09e55603eee6fb53bdd76ee9c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/5d660cbb7e1b89253a47147ae44044f49832351f", - "reference": "5d660cbb7e1b89253a47147ae44044f49832351f", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/ee5d8f2d3977fb09e55603eee6fb53bdd76ee9c1", + "reference": "ee5d8f2d3977fb09e55603eee6fb53bdd76ee9c1", "shasum": "" }, "require": { @@ -16206,20 +16210,20 @@ "type": "tidelift" } ], - "time": "2023-07-19T12:44:37+00:00" + "time": "2023-08-14T13:24:11+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.26", + "version": "9.2.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + "reference": "b0a88255cb70d52653d80c890bd7f38740ea50d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/b0a88255cb70d52653d80c890bd7f38740ea50d1", + "reference": "b0a88255cb70d52653d80c890bd7f38740ea50d1", "shasum": "" }, "require": { @@ -16275,7 +16279,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.27" }, "funding": [ { @@ -16283,7 +16288,7 @@ "type": "github" } ], - "time": "2023-03-06T12:58:08+00:00" + "time": "2023-07-26T13:44:30+00:00" }, { "name": "phpunit/php-file-iterator", @@ -17135,16 +17140,16 @@ }, { "name": "sebastian/global-state", - "version": "5.0.5", + "version": "5.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + "reference": "bde739e7565280bda77be70044ac1047bc007e34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", + "reference": "bde739e7565280bda77be70044ac1047bc007e34", "shasum": "" }, "require": { @@ -17187,7 +17192,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" }, "funding": [ { @@ -17195,7 +17200,7 @@ "type": "github" } ], - "time": "2022-02-14T08:28:10+00:00" + "time": "2023-08-02T09:26:13+00:00" }, { "name": "sebastian/lines-of-code", @@ -17657,16 +17662,16 @@ }, { "name": "spatie/flare-client-php", - "version": "1.4.1", + "version": "1.4.2", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "943894c6a6b00501365ac0b91ae0dce56f2226fa" + "reference": "5f2c6a7a0d2c1d90c12559dc7828fd942911a544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/943894c6a6b00501365ac0b91ae0dce56f2226fa", - "reference": "943894c6a6b00501365ac0b91ae0dce56f2226fa", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/5f2c6a7a0d2c1d90c12559dc7828fd942911a544", + "reference": "5f2c6a7a0d2c1d90c12559dc7828fd942911a544", "shasum": "" }, "require": { @@ -17715,7 +17720,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.4.1" + "source": "https://github.com/spatie/flare-client-php/tree/1.4.2" }, "funding": [ { @@ -17723,7 +17728,7 @@ "type": "github" } ], - "time": "2023-07-06T09:29:49+00:00" + "time": "2023-07-28T08:07:24+00:00" }, { "name": "spatie/ignition",