🤖 Auto commit for release 'develop' on 2025-08-22

This commit is contained in:
JC5
2025-08-22 07:04:13 +02:00
parent 8a8bbaf827
commit 93085599b7
62 changed files with 530 additions and 379 deletions

View File

@@ -255,7 +255,7 @@ trait ConvertsDataTypes
if (10 === strlen((string) $value)) {
// probably a date format.
try {
$carbon = Carbon::createFromFormat('Y-m-d', $value,config('app.timezone'));
$carbon = Carbon::createFromFormat('Y-m-d', $value, config('app.timezone'));
} catch (InvalidDateException $e) { // @phpstan-ignore-line
Log::error(sprintf('[1] "%s" is not a valid date: %s', $value, $e->getMessage()));
@@ -276,7 +276,7 @@ trait ConvertsDataTypes
// is an atom string, I hope?
try {
$carbon = Carbon::parse($value, $value,config('app.timezone'));
$carbon = Carbon::parse($value, $value, config('app.timezone'));
} catch (InvalidDateException $e) { // @phpstan-ignore-line
Log::error(sprintf('[3] "%s" is not a valid date or time: %s', $value, $e->getMessage()));

View File

@@ -1,5 +1,7 @@
<?php
declare(strict_types=1);
namespace FireflyIII\Support\Request;
use FireflyIII\Enums\WebhookTrigger;
@@ -17,9 +19,9 @@ trait ValidatesWebhooks
if ($validator->failed()) {
return;
}
$data = $validator->getData();
$triggers = $data['triggers'] ?? [];
$responses = $data['responses'] ?? [];
$data = $validator->getData();
$triggers = $data['triggers'] ?? [];
$responses = $data['responses'] ?? [];
if (0 === count($triggers) || 0 === count($responses)) {
Log::debug('No trigger or response, return.');
@@ -28,19 +30,20 @@ trait ValidatesWebhooks
}
$validTriggers = array_values(Webhook::getTriggers());
$validResponses = array_values(Webhook::getResponses());
$containsAny = false;
$count = 0;
$containsAny = false;
$count = 0;
foreach ($triggers as $trigger) {
if (!in_array($trigger, $validTriggers, true)) {
return;
}
$count++;
if($trigger === WebhookTrigger::ANY->name) {
++$count;
if ($trigger === WebhookTrigger::ANY->name) {
$containsAny = true;
}
}
if($containsAny && $count > 1) {
if ($containsAny && $count > 1) {
$validator->errors()->add('triggers.0', trans('validation.only_any_trigger'));
return;
}
foreach ($responses as $response) {
@@ -52,13 +55,15 @@ trait ValidatesWebhooks
foreach ($triggers as $i => $trigger) {
$forbidden = config(sprintf('webhooks.forbidden_responses.%s', $trigger));
if (null === $forbidden) {
$validator->errors()->add(sprintf('triggers.%d', $i), trans('validation.unknown_webhook_trigger', ['trigger' => $trigger,]));
$validator->errors()->add(sprintf('triggers.%d', $i), trans('validation.unknown_webhook_trigger', ['trigger' => $trigger]));
continue;
}
foreach ($responses as $ii => $response) {
if (in_array($response, $forbidden, true)) {
Log::debug(sprintf('Trigger %s and response %s are forbidden.', $trigger, $response));
$validator->errors()->add(sprintf('responses.%d', $ii), trans('validation.bad_webhook_combination', ['trigger' => $trigger, 'response' => $response,]));
$validator->errors()->add(sprintf('responses.%d', $ii), trans('validation.bad_webhook_combination', ['trigger' => $trigger, 'response' => $response]));
return;
}
}