diff --git a/app/Helpers/Attachments/AttachmentHelper.php b/app/Helpers/Attachments/AttachmentHelper.php index 42f7034bd3..3d8583805e 100644 --- a/app/Helpers/Attachments/AttachmentHelper.php +++ b/app/Helpers/Attachments/AttachmentHelper.php @@ -185,7 +185,7 @@ class AttachmentHelper implements AttachmentHelperInterface return false; } - Log::debug(sprintf('Now in saveAttachmentsForModel for model %s', get_class($model))); + Log::debug(sprintf('Now in saveAttachmentsForModel for model %s', $model::class)); if (is_array($files)) { Log::debug('$files is an array.'); @@ -335,7 +335,7 @@ class AttachmentHelper implements AttachmentHelperInterface { $md5 = \Safe\md5_file($file->getRealPath()); $name = $file->getClientOriginalName(); - $class = get_class($model); + $class = $model::class; $count = 0; // ignore lines about polymorphic calls. if ($model instanceof PiggyBank) { diff --git a/app/Helpers/Report/NetWorth.php b/app/Helpers/Report/NetWorth.php index 968e8e2640..cea39dbf67 100644 --- a/app/Helpers/Report/NetWorth.php +++ b/app/Helpers/Report/NetWorth.php @@ -50,7 +50,7 @@ class NetWorth implements NetWorthInterface private AccountRepositoryInterface $accountRepository; private CurrencyRepositoryInterface $currencyRepos; private User $user; // @phpstan-ignore-line - private ?UserGroup $userGroup; // @phpstan-ignore-line + private ?UserGroup $userGroup = null; // @phpstan-ignore-line /** * This method collects the user's net worth in ALL the user's currencies @@ -94,8 +94,8 @@ class NetWorth implements NetWorthInterface } Log::debug(sprintf('Balance is %s, native balance is %s', $balance, $nativeBalance)); // always subtract virtual balance again. - $balance = '' !== (string) $account->virtual_balance ? bcsub($balance, $account->virtual_balance) : $balance; - $nativeBalance = '' !== (string) $account->native_virtual_balance ? bcsub($nativeBalance, $account->native_virtual_balance) : $nativeBalance; + $balance = '' !== (string) $account->virtual_balance ? bcsub($balance, (string) $account->virtual_balance) : $balance; + $nativeBalance = '' !== (string) $account->native_virtual_balance ? bcsub($nativeBalance, (string) $account->native_virtual_balance) : $nativeBalance; $amountToUse = $useNative ? $nativeBalance : $balance; Log::debug(sprintf('Will use %s %s', $currencyCode, $amountToUse)); @@ -108,7 +108,7 @@ class NetWorth implements NetWorthInterface 'currency_decimal_places' => $currency->decimal_places, ]; - $netWorth[$currencyCode]['balance'] = bcadd($amountToUse, $netWorth[$currencyCode]['balance']); + $netWorth[$currencyCode]['balance'] = bcadd((string) $amountToUse, $netWorth[$currencyCode]['balance']); } $cache->store($netWorth); @@ -153,7 +153,7 @@ class NetWorth implements NetWorthInterface // always subtract virtual balance. $virtualBalance = $account->virtual_balance; if ('' !== $virtualBalance) { - $balance = bcsub($balance, $virtualBalance); + $balance = bcsub($balance, (string) $virtualBalance); } $return[$currency->id] ??= [ @@ -164,7 +164,7 @@ class NetWorth implements NetWorthInterface 'decimal_places' => $currency->decimal_places, 'sum' => '0', ]; - $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], $balance); + $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], (string) $balance); } return $return; diff --git a/app/Helpers/Webhook/Sha3SignatureGenerator.php b/app/Helpers/Webhook/Sha3SignatureGenerator.php index 25aee00464..e1b77af37d 100644 --- a/app/Helpers/Webhook/Sha3SignatureGenerator.php +++ b/app/Helpers/Webhook/Sha3SignatureGenerator.php @@ -64,7 +64,7 @@ class Sha3SignatureGenerator implements SignatureGeneratorInterface // The actual JSON payload (i.e., the request body) $timestamp = time(); $payload = sprintf('%s.%s', $timestamp, $json); - $signature = hash_hmac('sha3-256', $payload, $message->webhook->secret, false); + $signature = hash_hmac('sha3-256', $payload, (string) $message->webhook->secret, false); // signature string: // header included in each signed event contains a timestamp and one or more signatures. diff --git a/app/Http/Controllers/Account/EditController.php b/app/Http/Controllers/Account/EditController.php index a62bfc4a15..09e01612d9 100644 --- a/app/Http/Controllers/Account/EditController.php +++ b/app/Http/Controllers/Account/EditController.php @@ -94,9 +94,9 @@ class EditController extends Controller $hasLocation = null !== $location; $locations = [ 'location' => [ - 'latitude' => null !== old('location_latitude') ? old('location_latitude') : $latitude, - 'longitude' => null !== old('location_longitude') ? old('location_longitude') : $longitude, - 'zoom_level' => null !== old('location_zoom_level') ? old('location_zoom_level') : $zoomLevel, + 'latitude' => old('location_latitude') ?? $latitude, + 'longitude' => old('location_longitude') ?? $longitude, + 'zoom_level' => old('location_zoom_level') ?? $zoomLevel, 'has_location' => $hasLocation || 'true' === old('location_has_location'), ], ]; @@ -138,7 +138,7 @@ class EditController extends Controller // code to handle active-checkboxes $hasOldInput = null !== $request->old('_token'); - $virtualBalance = null === $account->virtual_balance ? '0' : $account->virtual_balance; + $virtualBalance = $account->virtual_balance ?? '0'; $preFilled = [ 'account_number' => $repository->getMetaValue($account, 'account_number'), 'account_role' => $repository->getMetaValue($account, 'account_role'), diff --git a/app/Http/Controllers/Account/IndexController.php b/app/Http/Controllers/Account/IndexController.php index 9afdba5f4f..80cafd6990 100644 --- a/app/Http/Controllers/Account/IndexController.php +++ b/app/Http/Controllers/Account/IndexController.php @@ -204,7 +204,7 @@ class IndexController extends Controller { $result = []; foreach ($endBalances as $key => $value) { - $result[$key] = bcsub($value, $startBalances[$key] ?? '0'); + $result[$key] = bcsub((string) $value, $startBalances[$key] ?? '0'); } return $result; diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php index 56388c6d46..e7e0819b0c 100644 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -59,7 +59,7 @@ class ForgotPasswordController extends Controller * * @return Factory|RedirectResponse|View */ - public function sendResetLinkEmail(Request $request, UserRepositoryInterface $repository) + public function sendResetLinkEmail(Request $request, ?UserRepositoryInterface $repository = null) { app('log')->info('Start of sendResetLinkEmail()'); if ('web' !== config('firefly.authentication_guard')) { diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 1824453537..0ba8369ee8 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -89,7 +89,7 @@ class LoginController extends Controller try { $this->validateLogin($request); - } catch (ValidationException $e) { + } catch (ValidationException) { // basic validation exception. // report the failed login to the user if the count is 2 or 5. // TODO here be warning. @@ -220,7 +220,7 @@ class LoginController extends Controller * * @throws FireflyException */ - public function showLoginForm(Request $request) + public function showLoginForm(?Request $request = null) { Log::channel('audit')->info('Show login form (1.1).'); diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index effbd4f322..d15c6c0d59 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -121,7 +121,7 @@ class RegisterController extends Controller try { $singleUserMode = app('fireflyconfig')->get('single_user_mode', config('firefly.configuration.single_user_mode'))->data; - } catch (ContainerExceptionInterface|NotFoundExceptionInterface $e) { + } catch (ContainerExceptionInterface|NotFoundExceptionInterface) { $singleUserMode = true; } $userCount = User::count(); @@ -175,7 +175,7 @@ class RegisterController extends Controller * * @throws FireflyException */ - public function showRegistrationForm(Request $request) + public function showRegistrationForm(?Request $request = null) { $isDemoSite = app('fireflyconfig')->get('is_demo_site', config('firefly.configuration.is_demo_site'))->data; $pageTitle = (string) trans('firefly.register_page_title'); diff --git a/app/Http/Controllers/Bill/IndexController.php b/app/Http/Controllers/Bill/IndexController.php index cded2adb12..c42607eabb 100644 --- a/app/Http/Controllers/Bill/IndexController.php +++ b/app/Http/Controllers/Bill/IndexController.php @@ -243,8 +243,8 @@ class IndexController extends Controller 'period' => $entry['period'], 'per_period' => '0', ]; - $totals[$currencyId]['avg'] = bcadd($totals[$currencyId]['avg'], $entry['avg']); - $totals[$currencyId]['per_period'] = bcadd($totals[$currencyId]['per_period'], $entry['per_period']); + $totals[$currencyId]['avg'] = bcadd($totals[$currencyId]['avg'], (string) $entry['avg']); + $totals[$currencyId]['per_period'] = bcadd($totals[$currencyId]['per_period'], (string) $entry['per_period']); } } diff --git a/app/Http/Controllers/Bill/ShowController.php b/app/Http/Controllers/Bill/ShowController.php index a50540e6b3..81130d1f77 100644 --- a/app/Http/Controllers/Bill/ShowController.php +++ b/app/Http/Controllers/Bill/ShowController.php @@ -166,9 +166,7 @@ class ShowController extends Controller /** @var AttachmentTransformer $transformer */ $transformer = app(AttachmentTransformer::class); $attachments = $collection->each( - static function (Attachment $attachment) use ($transformer) { - return $transformer->transform($attachment); - } + static fn(Attachment $attachment) => $transformer->transform($attachment) ); } diff --git a/app/Http/Controllers/Budget/BudgetLimitController.php b/app/Http/Controllers/Budget/BudgetLimitController.php index f75a7a4c16..999768acd4 100644 --- a/app/Http/Controllers/Budget/BudgetLimitController.php +++ b/app/Http/Controllers/Budget/BudgetLimitController.php @@ -205,11 +205,11 @@ class BudgetLimitController extends Controller // add some extra metadata: $spentArr = $this->opsRepository->sumExpenses($limit->start_date, $limit->end_date, null, new Collection([$budget]), $currency); $array['spent'] = $spentArr[$currency->id]['sum'] ?? '0'; - $array['left_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, bcadd($array['spent'], $array['amount'])); + $array['left_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, bcadd($array['spent'], (string) $array['amount'])); $array['amount_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, $limit['amount']); $array['days_left'] = (string) $this->activeDaysLeft($start, $end); // left per day: - $array['left_per_day'] = 0 === bccomp('0', $array['days_left']) ? bcadd($array['spent'], $array['amount']) : bcdiv(bcadd($array['spent'], $array['amount']), $array['days_left']); + $array['left_per_day'] = 0 === bccomp('0', $array['days_left']) ? bcadd((string) $array['spent'], (string) $array['amount']) : bcdiv(bcadd((string) $array['spent'], (string) $array['amount']), $array['days_left']); // left per day formatted. $array['left_per_day_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, $array['left_per_day']); @@ -269,10 +269,10 @@ class BudgetLimitController extends Controller ); $daysLeft = $this->activeDaysLeft($limit->start_date, $limit->end_date); $array['spent'] = $spentArr[$budgetLimit->transactionCurrency->id]['sum'] ?? '0'; - $array['left_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, bcadd($array['spent'], $array['amount'])); + $array['left_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, bcadd($array['spent'], (string) $array['amount'])); $array['amount_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, $limit['amount']); $array['days_left'] = (string) $daysLeft; - $array['left_per_day'] = 0 === $daysLeft ? bcadd($array['spent'], $array['amount']) : bcdiv(bcadd($array['spent'], $array['amount']), $array['days_left']); + $array['left_per_day'] = 0 === $daysLeft ? bcadd((string) $array['spent'], (string) $array['amount']) : bcdiv(bcadd((string) $array['spent'], (string) $array['amount']), $array['days_left']); // left per day formatted. $array['amount'] = app('steam')->bcround($limit['amount'], $limit->transactionCurrency->decimal_places); diff --git a/app/Http/Controllers/Budget/IndexController.php b/app/Http/Controllers/Budget/IndexController.php index c348e30a29..cbaf9d35d5 100644 --- a/app/Http/Controllers/Budget/IndexController.php +++ b/app/Http/Controllers/Budget/IndexController.php @@ -269,7 +269,7 @@ class IndexController extends Controller 'currency_symbol' => $spent['currency_symbol'], 'currency_decimal_places' => $spent['currency_decimal_places'], ]; - $sums['spent'][$currencyId]['amount'] = bcadd($sums['spent'][$currencyId]['amount'], $spent['spent']); + $sums['spent'][$currencyId]['amount'] = bcadd($sums['spent'][$currencyId]['amount'], (string) $spent['spent']); } /** @var array $budgeted */ @@ -282,7 +282,7 @@ class IndexController extends Controller 'currency_symbol' => $budgeted['currency_symbol'], 'currency_decimal_places' => $budgeted['currency_decimal_places'], ]; - $sums['budgeted'][$currencyId]['amount'] = bcadd($sums['budgeted'][$currencyId]['amount'], $budgeted['amount']); + $sums['budgeted'][$currencyId]['amount'] = bcadd($sums['budgeted'][$currencyId]['amount'], (string) $budgeted['amount']); // also calculate how much left from budgeted: $sums['left'][$currencyId] diff --git a/app/Http/Controllers/Chart/AccountController.php b/app/Http/Controllers/Chart/AccountController.php index dc4810aaed..a01ba3f2ed 100644 --- a/app/Http/Controllers/Chart/AccountController.php +++ b/app/Http/Controllers/Chart/AccountController.php @@ -250,7 +250,7 @@ class AccountController extends Controller 'currency_code' => $journal['currency_code'], ]; } - $result[$key]['total'] = bcadd($journal['amount'], $result[$key]['total']); + $result[$key]['total'] = bcadd((string) $journal['amount'], $result[$key]['total']); } $names = $this->getBudgetNames($budgetIds); @@ -312,7 +312,7 @@ class AccountController extends Controller 'currency_code' => $journal['currency_code'], ]; } - $result[$key]['total'] = bcadd($journal['amount'], $result[$key]['total']); + $result[$key]['total'] = bcadd((string) $journal['amount'], $result[$key]['total']); } $names = $this->getCategoryNames(array_keys($result)); @@ -401,7 +401,7 @@ class AccountController extends Controller 'currency_code' => $journal['currency_code'], ]; } - $result[$key]['total'] = bcadd($journal['amount'], $result[$key]['total']); + $result[$key]['total'] = bcadd((string) $journal['amount'], $result[$key]['total']); } $names = $this->getCategoryNames(array_keys($result)); diff --git a/app/Http/Controllers/Chart/BillController.php b/app/Http/Controllers/Chart/BillController.php index 737698fc6e..1d60113c62 100644 --- a/app/Http/Controllers/Chart/BillController.php +++ b/app/Http/Controllers/Chart/BillController.php @@ -177,12 +177,12 @@ class BillController extends Controller if (!array_key_exists($date, $chartData[2]['entries'])) { $chartData[2]['entries'][$date] = '0'; } - $amount = bcmul($journal['amount'], '-1'); + $amount = bcmul((string) $journal['amount'], '-1'); if ($this->convertToNative && $currencyId !== $journal['currency_id']) { $amount = bcmul($journal['native_amount'] ?? '0', '-1'); } if ($this->convertToNative && $currencyId === $journal['foreign_currency_id']) { - $amount = bcmul($journal['foreign_amount'], '-1'); + $amount = bcmul((string) $journal['foreign_amount'], '-1'); } $chartData[2]['entries'][$date] = bcadd($chartData[2]['entries'][$date], $amount); // amount of journal diff --git a/app/Http/Controllers/Chart/BudgetController.php b/app/Http/Controllers/Chart/BudgetController.php index 54492ade81..eea4e5b724 100644 --- a/app/Http/Controllers/Chart/BudgetController.php +++ b/app/Http/Controllers/Chart/BudgetController.php @@ -110,7 +110,7 @@ class BudgetController extends Controller /** @var Carbon $loopEnd */ $loopEnd = app('navigation')->endOfPeriod($loopStart, $step); $spent = $this->opsRepository->sumExpenses($loopStart, $loopEnd, null, $collection); // this method already converts to native. - $label = trim(app('navigation')->periodShow($loopStart, $step)); + $label = trim((string) app('navigation')->periodShow($loopStart, $step)); foreach ($spent as $row) { $currencyId = $row['currency_id']; @@ -133,7 +133,7 @@ class BudgetController extends Controller 'entries' => $defaultEntries, ]; foreach ($currency['spent'] as $label => $spent) { - $chartData[$currencyId]['entries'][$label] = bcmul($spent, '-1'); + $chartData[$currencyId]['entries'][$label] = bcmul((string) $spent, '-1'); } } $data = $this->generator->multiSet(array_values($chartData)); @@ -180,7 +180,7 @@ class BudgetController extends Controller $current = clone $start; $expenses = $this->opsRepository->sumExpenses($current, $current, null, $budgetCollection, $budgetLimit->transactionCurrency, $this->convertToNative); $spent = $expenses[$currency->id]['sum'] ?? '0'; - $amount = bcadd($amount, $spent); + $amount = bcadd((string) $amount, $spent); $format = $start->isoFormat((string) trans('config.month_and_day_js', [], $locale)); $entries[$format] = $amount; @@ -257,7 +257,7 @@ class BudgetController extends Controller 'currency_code' => $code, 'currency_name' => $name, ]; - $result[$key]['amount'] = bcadd($amount, $result[$key]['amount']); + $result[$key]['amount'] = bcadd((string) $amount, $result[$key]['amount']); } $names = $this->getAccountNames(array_keys($result)); @@ -341,7 +341,7 @@ class BudgetController extends Controller 'currency_code' => $code, 'currency_name' => $name, ]; - $result[$key]['amount'] = bcadd($amount, $result[$key]['amount']); + $result[$key]['amount'] = bcadd((string) $amount, $result[$key]['amount']); } $names = $this->getCategoryNames(array_keys($result)); @@ -424,7 +424,7 @@ class BudgetController extends Controller 'currency_code' => $code, 'currency_name' => $name, ]; - $result[$key]['amount'] = bcadd($amount, $result[$key]['amount']); + $result[$key]['amount'] = bcadd((string) $amount, $result[$key]['amount']); } $names = $this->getAccountNames(array_keys($result)); diff --git a/app/Http/Controllers/Chart/BudgetReportController.php b/app/Http/Controllers/Chart/BudgetReportController.php index 89d24d1e02..aee1d2a958 100644 --- a/app/Http/Controllers/Chart/BudgetReportController.php +++ b/app/Http/Controllers/Chart/BudgetReportController.php @@ -85,7 +85,7 @@ class BudgetReportController extends Controller ]; foreach ($budget['transaction_journals'] as $journal) { $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -115,7 +115,7 @@ class BudgetReportController extends Controller ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -145,7 +145,7 @@ class BudgetReportController extends Controller ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -186,7 +186,7 @@ class BudgetReportController extends Controller $key = $journal['date']->isoFormat($format); $amount = app('steam')->positive($journal['amount']); $chartData[$spentKey]['entries'][$key] ??= '0'; - $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], $amount); + $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], (string) $amount); } } } @@ -233,7 +233,7 @@ class BudgetReportController extends Controller ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } diff --git a/app/Http/Controllers/Chart/CategoryController.php b/app/Http/Controllers/Chart/CategoryController.php index 79979e6a70..3a88fd8f5b 100644 --- a/app/Http/Controllers/Chart/CategoryController.php +++ b/app/Http/Controllers/Chart/CategoryController.php @@ -215,7 +215,7 @@ class CategoryController extends Controller $date = $journal['date']->isoFormat($format); $chartData[$outKey]['entries'][$date] ??= '0'; - $chartData[$outKey]['entries'][$date] = bcadd($amount, $chartData[$outKey]['entries'][$date]); + $chartData[$outKey]['entries'][$date] = bcadd((string) $amount, $chartData[$outKey]['entries'][$date]); } $inSet = $income[$currencyId]['categories'][$categoryId] ?? ['transaction_journals' => []]; @@ -223,7 +223,7 @@ class CategoryController extends Controller $amount = app('steam')->positive($journal['amount']); $date = $journal['date']->isoFormat($format); $chartData[$inKey]['entries'][$date] ??= '0'; - $chartData[$inKey]['entries'][$date] = bcadd($amount, $chartData[$inKey]['entries'][$date]); + $chartData[$inKey]['entries'][$date] = bcadd((string) $amount, $chartData[$inKey]['entries'][$date]); } } diff --git a/app/Http/Controllers/Chart/CategoryReportController.php b/app/Http/Controllers/Chart/CategoryReportController.php index 238065a1fc..e02288a458 100644 --- a/app/Http/Controllers/Chart/CategoryReportController.php +++ b/app/Http/Controllers/Chart/CategoryReportController.php @@ -83,7 +83,7 @@ class CategoryReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -110,7 +110,7 @@ class CategoryReportController extends Controller ]; foreach ($category['transaction_journals'] as $journal) { $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -138,7 +138,7 @@ class CategoryReportController extends Controller ]; foreach ($category['transaction_journals'] as $journal) { $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -166,7 +166,7 @@ class CategoryReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -194,7 +194,7 @@ class CategoryReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -233,7 +233,7 @@ class CategoryReportController extends Controller $key = $journal['date']->isoFormat($format); $amount = app('steam')->positive($journal['amount']); $chartData[$spentKey]['entries'][$key] ??= '0'; - $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], $amount); + $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], (string) $amount); } } } @@ -260,7 +260,7 @@ class CategoryReportController extends Controller $key = $journal['date']->isoFormat($format); $amount = app('steam')->positive($journal['amount']); $chartData[$spentKey]['entries'][$key] ??= '0'; - $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], $amount); + $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], (string) $amount); } } } @@ -308,7 +308,7 @@ class CategoryReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -336,7 +336,7 @@ class CategoryReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } diff --git a/app/Http/Controllers/Chart/DoubleReportController.php b/app/Http/Controllers/Chart/DoubleReportController.php index 159b6dfefa..1e88ceaa5d 100644 --- a/app/Http/Controllers/Chart/DoubleReportController.php +++ b/app/Http/Controllers/Chart/DoubleReportController.php @@ -82,7 +82,7 @@ class DoubleReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } @@ -109,7 +109,7 @@ class DoubleReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } @@ -136,7 +136,7 @@ class DoubleReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } @@ -178,7 +178,7 @@ class DoubleReportController extends Controller $key = $journal['date']->isoFormat($format); $amount = app('steam')->positive($journal['amount']); $chartData[$spentKey]['entries'][$key] ??= '0'; - $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], $amount); + $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], (string) $amount); } } // loop income. @@ -204,7 +204,7 @@ class DoubleReportController extends Controller $key = $journal['date']->isoFormat($format); $amount = app('steam')->positive($journal['amount']); $chartData[$earnedKey]['entries'][$key] ??= '0'; - $chartData[$earnedKey]['entries'][$key] = bcadd($chartData[$earnedKey]['entries'][$key], $amount); + $chartData[$earnedKey]['entries'][$key] = bcadd($chartData[$earnedKey]['entries'][$key], (string) $amount); } } @@ -275,7 +275,7 @@ class DoubleReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } // loop each tag: @@ -294,7 +294,7 @@ class DoubleReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -328,7 +328,7 @@ class DoubleReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } // loop each tag: @@ -347,7 +347,7 @@ class DoubleReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } diff --git a/app/Http/Controllers/Chart/PiggyBankController.php b/app/Http/Controllers/Chart/PiggyBankController.php index 661c362394..9aa4004a8b 100644 --- a/app/Http/Controllers/Chart/PiggyBankController.php +++ b/app/Http/Controllers/Chart/PiggyBankController.php @@ -90,9 +90,7 @@ class PiggyBankController extends Controller $chartData = []; while ($oldest <= $today) { $filtered = $set->filter( - static function (PiggyBankEvent $event) use ($oldest) { - return $event->date->lte($oldest); - } + static fn(PiggyBankEvent $event) => $event->date->lte($oldest) ); $currentSum = $filtered->sum('amount'); $label = $oldest->isoFormat((string) trans('config.month_and_day_js', [], $locale)); @@ -100,9 +98,7 @@ class PiggyBankController extends Controller $oldest = app('navigation')->addPeriod($oldest, $step, 0); } $finalFiltered = $set->filter( - static function (PiggyBankEvent $event) use ($today) { - return $event->date->lte($today); - } + static fn(PiggyBankEvent $event) => $event->date->lte($today) ); $finalSum = $finalFiltered->sum('amount'); $finalLabel = $today->isoFormat((string) trans('config.month_and_day_js', [], $locale)); diff --git a/app/Http/Controllers/Chart/ReportController.php b/app/Http/Controllers/Chart/ReportController.php index 1e1a048313..40bccc3727 100644 --- a/app/Http/Controllers/Chart/ReportController.php +++ b/app/Http/Controllers/Chart/ReportController.php @@ -207,7 +207,7 @@ class ReportController extends Controller && in_array($journal['destination_account_id'], $ids, true))) { $key = 'earned'; } - $data[$currencyId][$period][$key] = bcadd($data[$currencyId][$period][$key], $amount); + $data[$currencyId][$period][$key] = bcadd((string) $data[$currencyId][$period][$key], (string) $amount); } // loop this data, make chart bars for each currency: diff --git a/app/Http/Controllers/Chart/TagReportController.php b/app/Http/Controllers/Chart/TagReportController.php index 5bea78116c..dbc9451834 100644 --- a/app/Http/Controllers/Chart/TagReportController.php +++ b/app/Http/Controllers/Chart/TagReportController.php @@ -83,7 +83,7 @@ class TagReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -111,7 +111,7 @@ class TagReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -139,7 +139,7 @@ class TagReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -167,7 +167,7 @@ class TagReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -195,7 +195,7 @@ class TagReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -237,7 +237,7 @@ class TagReportController extends Controller $key = $journal['date']->isoFormat($format); $amount = app('steam')->positive($journal['amount']); $chartData[$spentKey]['entries'][$key] ??= '0'; - $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], $amount); + $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], (string) $amount); } } } @@ -264,7 +264,7 @@ class TagReportController extends Controller $key = $journal['date']->isoFormat($format); $amount = app('steam')->positive($journal['amount']); $chartData[$spentKey]['entries'][$key] ??= '0'; - $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], $amount); + $chartData[$spentKey]['entries'][$key] = bcadd($chartData[$spentKey]['entries'][$key], (string) $amount); } } } @@ -312,7 +312,7 @@ class TagReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -340,7 +340,7 @@ class TagReportController extends Controller 'currency_code' => $currency['currency_code'], ]; $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -367,7 +367,7 @@ class TagReportController extends Controller ]; foreach ($tag['transaction_journals'] as $journal) { $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } @@ -393,7 +393,7 @@ class TagReportController extends Controller ]; foreach ($tag['transaction_journals'] as $journal) { $amount = app('steam')->positive($journal['amount']); - $result[$title]['amount'] = bcadd($result[$title]['amount'], $amount); + $result[$title]['amount'] = bcadd($result[$title]['amount'], (string) $amount); } } } diff --git a/app/Http/Controllers/Chart/TransactionController.php b/app/Http/Controllers/Chart/TransactionController.php index 05ed97f518..973af0ee54 100644 --- a/app/Http/Controllers/Chart/TransactionController.php +++ b/app/Http/Controllers/Chart/TransactionController.php @@ -81,7 +81,7 @@ class TransactionController extends Controller 'currency_symbol' => $journal['currency_symbol'], 'currency_code' => $journal['currency_code'], ]; - $data[$title]['amount'] = bcadd($data[$title]['amount'], $journal['amount']); + $data[$title]['amount'] = bcadd($data[$title]['amount'], (string) $journal['amount']); } $chart = $this->generator->multiCurrencyPieChart($data); $cache->store($chart); @@ -131,7 +131,7 @@ class TransactionController extends Controller 'currency_symbol' => $journal['currency_symbol'], 'currency_code' => $journal['currency_code'], ]; - $data[$title]['amount'] = bcadd($data[$title]['amount'], $journal['amount']); + $data[$title]['amount'] = bcadd($data[$title]['amount'], (string) $journal['amount']); } $chart = $this->generator->multiCurrencyPieChart($data); $cache->store($chart); @@ -181,7 +181,7 @@ class TransactionController extends Controller 'currency_symbol' => $journal['currency_symbol'], 'currency_code' => $journal['currency_code'], ]; - $data[$title]['amount'] = bcadd($data[$title]['amount'], $journal['amount']); + $data[$title]['amount'] = bcadd($data[$title]['amount'], (string) $journal['amount']); } $chart = $this->generator->multiCurrencyPieChart($data); $cache->store($chart); @@ -231,7 +231,7 @@ class TransactionController extends Controller 'currency_symbol' => $journal['currency_symbol'], 'currency_code' => $journal['currency_code'], ]; - $data[$title]['amount'] = bcadd($data[$title]['amount'], $journal['amount']); + $data[$title]['amount'] = bcadd($data[$title]['amount'], (string) $journal['amount']); } $chart = $this->generator->multiCurrencyPieChart($data); $cache->store($chart); diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index ca4b5728be..7bbd63c15d 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -97,14 +97,14 @@ abstract class Controller extends BaseController $isAlpha = false; $isBeta = false; $isDevelop = false; - if (str_contains(config('firefly.version'), 'alpha')) { + if (str_contains((string) config('firefly.version'), 'alpha')) { $isAlpha = true; } - if (str_contains(config('firefly.version'), 'develop') || str_contains(config('firefly.version'), 'branch')) { + if (str_contains((string) config('firefly.version'), 'develop') || str_contains((string) config('firefly.version'), 'branch')) { $isDevelop = true; } - if (str_contains(config('firefly.version'), 'beta')) { + if (str_contains((string) config('firefly.version'), 'beta')) { $isBeta = true; } diff --git a/app/Http/Controllers/Export/IndexController.php b/app/Http/Controllers/Export/IndexController.php index 8fbadde074..d8a8da128a 100644 --- a/app/Http/Controllers/Export/IndexController.php +++ b/app/Http/Controllers/Export/IndexController.php @@ -106,7 +106,7 @@ class IndexController extends Controller ->header('Expires', '0') ->header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0') ->header('Pragma', 'public') - ->header('Content-Length', (string) strlen($result['transactions'])) + ->header('Content-Length', (string) strlen((string) $result['transactions'])) ; // return CSV file made from 'transactions' array. diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index ab2f6d6720..48d41acc0f 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -75,7 +75,7 @@ class HomeController extends Controller try { $stringEnd = e((string) $request->get('end')); $end = Carbon::createFromFormat('Y-m-d', $stringEnd); - } catch (InvalidFormatException $e) { + } catch (InvalidFormatException) { app('log')->error(sprintf('End could not parse date string "%s" so ignore it.', $stringEnd)); $end = Carbon::now()->endOfMonth(); } diff --git a/app/Http/Controllers/Json/BoxController.php b/app/Http/Controllers/Json/BoxController.php index 42aeaca80b..cc3ff13787 100644 --- a/app/Http/Controllers/Json/BoxController.php +++ b/app/Http/Controllers/Json/BoxController.php @@ -92,9 +92,9 @@ class BoxController extends Controller $currencyId = $this->convertToNative && $this->defaultCurrency->id !== (int) $journal['currency_id'] ? $this->defaultCurrency->id : (int) $journal['currency_id']; $amount = Amount::getAmountFromJournal($journal); $incomes[$currencyId] ??= '0'; - $incomes[$currencyId] = bcadd($incomes[$currencyId], app('steam')->positive($amount)); + $incomes[$currencyId] = bcadd($incomes[$currencyId], (string) app('steam')->positive($amount)); $sums[$currencyId] ??= '0'; - $sums[$currencyId] = bcadd($sums[$currencyId], app('steam')->positive($amount)); + $sums[$currencyId] = bcadd($sums[$currencyId], (string) app('steam')->positive($amount)); } // collect expenses diff --git a/app/Http/Controllers/Json/FrontpageController.php b/app/Http/Controllers/Json/FrontpageController.php index 88717a51f5..9cda94934f 100644 --- a/app/Http/Controllers/Json/FrontpageController.php +++ b/app/Http/Controllers/Json/FrontpageController.php @@ -55,8 +55,8 @@ class FrontpageController extends Controller if (1 === bccomp($amount, '0')) { // percentage! $pct = 0; - if (0 !== bccomp($piggyBank->target_amount, '0')) { - $pct = (int) bcmul(bcdiv($amount, $piggyBank->target_amount), '100'); + if (0 !== bccomp((string) $piggyBank->target_amount, '0')) { + $pct = (int) bcmul(bcdiv($amount, (string) $piggyBank->target_amount), '100'); } $entry = [ @@ -82,9 +82,7 @@ class FrontpageController extends Controller // sort by current percentage (lowest at the top) uasort( $info, - static function (array $a, array $b) { - return $a['percentage'] <=> $b['percentage']; - } + static fn(array $a, array $b) => $a['percentage'] <=> $b['percentage'] ); $html = ''; diff --git a/app/Http/Controllers/Json/ReconcileController.php b/app/Http/Controllers/Json/ReconcileController.php index 5469be7251..8ae747758f 100644 --- a/app/Http/Controllers/Json/ReconcileController.php +++ b/app/Http/Controllers/Json/ReconcileController.php @@ -160,15 +160,15 @@ class ReconcileController extends Controller } if ($account->id === $journal['destination_account_id']) { if ($currency->id === $journal['currency_id']) { - $toAdd = bcmul($journal['amount'], '-1'); + $toAdd = bcmul((string) $journal['amount'], '-1'); } if (null !== $journal['foreign_currency_id'] && $journal['foreign_currency_id'] === $currency->id) { - $toAdd = bcmul($journal['foreign_amount'], '-1'); + $toAdd = bcmul((string) $journal['foreign_amount'], '-1'); } } app('log')->debug(sprintf('Going to add %s to %s', $toAdd, $amount)); - $amount = bcadd($amount, $toAdd); + $amount = bcadd($amount, (string) $toAdd); app('log')->debug(sprintf('Result is %s', $amount)); return $amount; diff --git a/app/Http/Controllers/Json/RecurrenceController.php b/app/Http/Controllers/Json/RecurrenceController.php index d4685e5a30..7d91dd0a68 100644 --- a/app/Http/Controllers/Json/RecurrenceController.php +++ b/app/Http/Controllers/Json/RecurrenceController.php @@ -74,7 +74,7 @@ class RecurrenceController extends Controller $firstDate = Carbon::createFromFormat('Y-m-d', $request->get('first_date')); $endDate = '' !== (string) $request->get('end_date') ? Carbon::createFromFormat('Y-m-d', $request->get('end_date')) : null; $endsAt = (string) $request->get('ends'); - $repetitionType = explode(',', $request->get('type'))[0]; + $repetitionType = explode(',', (string) $request->get('type'))[0]; $repetitions = (int) $request->get('reps'); $weekend = (int) $request->get('weekend'); $repetitionMoment = ''; @@ -101,13 +101,13 @@ class RecurrenceController extends Controller $actualStart = clone $firstDate; if ('weekly' === $repetitionType || 'monthly' === $repetitionType) { - $repetitionMoment = explode(',', $request->get('type'))[1] ?? '1'; + $repetitionMoment = explode(',', (string) $request->get('type'))[1] ?? '1'; } if ('ndom' === $repetitionType) { $repetitionMoment = str_ireplace('ndom,', '', $request->get('type')); } if ('yearly' === $repetitionType) { - $repetitionMoment = explode(',', $request->get('type'))[1] ?? '2018-01-01'; + $repetitionMoment = explode(',', (string) $request->get('type'))[1] ?? '2018-01-01'; } $actualStart->startOfDay(); $repetition = new RecurrenceRepetition(); @@ -158,7 +158,7 @@ class RecurrenceController extends Controller try { $date = Carbon::createFromFormat('Y-m-d', $string, config('app.timezone')); - } catch (InvalidFormatException $e) { + } catch (InvalidFormatException) { $date = Carbon::today(config('app.timezone')); } if (null === $date) { diff --git a/app/Http/Controllers/PiggyBank/IndexController.php b/app/Http/Controllers/PiggyBank/IndexController.php index 469c326243..b6379e859c 100644 --- a/app/Http/Controllers/PiggyBank/IndexController.php +++ b/app/Http/Controllers/PiggyBank/IndexController.php @@ -195,10 +195,10 @@ class IndexController extends Controller foreach ($piggyBank['accounts'] as $piggyAccount) { $accountId = $piggyAccount['id']; if (array_key_exists($accountId, $accounts)) { - $accounts[$accountId]['left'] = bcsub($accounts[$accountId]['left'], $piggyAccount['current_amount']); - $accounts[$accountId]['saved'] = bcadd($accounts[$accountId]['saved'], $piggyAccount['current_amount']); - $accounts[$accountId]['target'] = bcadd($accounts[$accountId]['target'], $piggyBank['target_amount']); - $accounts[$accountId]['to_save'] = bcadd($accounts[$accountId]['to_save'], bcsub($piggyBank['target_amount'], $piggyAccount['current_amount'])); + $accounts[$accountId]['left'] = bcsub((string) $accounts[$accountId]['left'], (string) $piggyAccount['current_amount']); + $accounts[$accountId]['saved'] = bcadd((string) $accounts[$accountId]['saved'], (string) $piggyAccount['current_amount']); + $accounts[$accountId]['target'] = bcadd((string) $accounts[$accountId]['target'], (string) $piggyBank['target_amount']); + $accounts[$accountId]['to_save'] = bcadd((string) $accounts[$accountId]['to_save'], bcsub((string) $piggyBank['target_amount'], (string) $piggyAccount['current_amount'])); } } } diff --git a/app/Http/Controllers/Recurring/CreateController.php b/app/Http/Controllers/Recurring/CreateController.php index 391bb75365..35f4e25a8f 100644 --- a/app/Http/Controllers/Recurring/CreateController.php +++ b/app/Http/Controllers/Recurring/CreateController.php @@ -152,7 +152,7 @@ class CreateController extends Controller ]; // fill prefilled with journal info - $type = strtolower($journal->transactionType->type); + $type = strtolower((string) $journal->transactionType->type); /** @var Transaction $source */ $source = $journal->transactions()->where('amount', '<', 0)->first(); diff --git a/app/Http/Controllers/Recurring/EditController.php b/app/Http/Controllers/Recurring/EditController.php index 0a2cae44a1..00fdac8243 100644 --- a/app/Http/Controllers/Recurring/EditController.php +++ b/app/Http/Controllers/Recurring/EditController.php @@ -135,7 +135,7 @@ class EditController extends Controller $hasOldInput = null !== $request->old('_token'); $preFilled = [ - 'transaction_type' => strtolower($recurrence->transactionType->type), + 'transaction_type' => strtolower((string) $recurrence->transactionType->type), 'active' => $hasOldInput ? (bool) $request->old('active') : $recurrence->active, 'apply_rules' => $hasOldInput ? (bool) $request->old('apply_rules') : $recurrence->apply_rules, 'deposit_source_id' => $array['transactions'][0]['source_id'], diff --git a/app/Http/Controllers/Recurring/ShowController.php b/app/Http/Controllers/Recurring/ShowController.php index 2e5f6bd137..6e6da1518d 100644 --- a/app/Http/Controllers/Recurring/ShowController.php +++ b/app/Http/Controllers/Recurring/ShowController.php @@ -94,7 +94,7 @@ class ShowController extends Controller // transform dates back to Carbon objects and expand information foreach ($array['repetitions'] as $index => $repetition) { foreach ($repetition['occurrences'] as $item => $occurrence) { - $date = (new Carbon($occurrence))->startOfDay(); + $date = new Carbon($occurrence)->startOfDay(); $set = [ 'date' => $date, 'fired' => $this->recurring->createdPreviously($recurrence, $date) diff --git a/app/Http/Controllers/Report/BalanceController.php b/app/Http/Controllers/Report/BalanceController.php index 8efcb083f4..914f12061c 100644 --- a/app/Http/Controllers/Report/BalanceController.php +++ b/app/Http/Controllers/Report/BalanceController.php @@ -113,7 +113,7 @@ class BalanceController extends Controller 'currency_decimal_places' => $journal['currency_decimal_places'], 'spent' => '0', ]; - $spent[$sourceAccount]['spent'] = bcadd($spent[$sourceAccount]['spent'], $journal['amount']); + $spent[$sourceAccount]['spent'] = bcadd($spent[$sourceAccount]['spent'], (string) $journal['amount']); // also fix sum: $report['sums'][$budgetId][$currencyId] ??= [ @@ -124,8 +124,8 @@ class BalanceController extends Controller 'currency_symbol' => $journal['currency_symbol'], 'currency_decimal_places' => $journal['currency_decimal_places'], ]; - $report['sums'][$budgetId][$currencyId]['sum'] = bcadd($report['sums'][$budgetId][$currencyId]['sum'], $journal['amount']); - $report['accounts'][$sourceAccount]['sum'] = bcadd($report['accounts'][$sourceAccount]['sum'], $journal['amount']); + $report['sums'][$budgetId][$currencyId]['sum'] = bcadd($report['sums'][$budgetId][$currencyId]['sum'], (string) $journal['amount']); + $report['accounts'][$sourceAccount]['sum'] = bcadd($report['accounts'][$sourceAccount]['sum'], (string) $journal['amount']); // add currency info for account sum $report['accounts'][$sourceAccount]['currency_id'] = $journal['currency_id']; diff --git a/app/Http/Controllers/Report/BudgetController.php b/app/Http/Controllers/Report/BudgetController.php index 286978f049..67c316891d 100644 --- a/app/Http/Controllers/Report/BudgetController.php +++ b/app/Http/Controllers/Report/BudgetController.php @@ -126,9 +126,9 @@ class BudgetController extends Controller ]; $report[$sourceAccountId]['currencies'][$currencyId]['sum'] = bcadd( $report[$sourceAccountId]['currencies'][$currencyId]['sum'], - $journal['amount'] + (string) $journal['amount'] ); - $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], $journal['amount']); + $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']); } } } @@ -163,7 +163,7 @@ class BudgetController extends Controller 'currency_decimal_places' => $currency['currency_decimal_places'], ]; ++$result[$key]['transactions']; - $result[$key]['sum'] = bcadd($journal['amount'], $result[$key]['sum']); + $result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']); $result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']); $result[$key]['avg_float'] = (float) $result[$key]['avg']; // intentional float } @@ -229,8 +229,8 @@ class BudgetController extends Controller 'currency_name' => $currency['currency_name'], 'currency_decimal_places' => $currency['currency_decimal_places'], ]; - $report[$budgetId]['currencies'][$currencyId]['sum'] = bcadd($report[$budgetId]['currencies'][$currencyId]['sum'], $journal['amount']); - $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], $journal['amount']); + $report[$budgetId]['currencies'][$currencyId]['sum'] = bcadd($report[$budgetId]['currencies'][$currencyId]['sum'], (string) $journal['amount']); + $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']); } } } @@ -317,8 +317,8 @@ class BudgetController extends Controller 'entries' => [], ]; $report[$key]['entries'][$dateKey] ??= '0'; - $report[$key]['entries'][$dateKey] = bcadd($journal['amount'], $report[$key]['entries'][$dateKey]); - $report[$key]['sum'] = bcadd($report[$key]['sum'], $journal['amount']); + $report[$key]['entries'][$dateKey] = bcadd((string) $journal['amount'], $report[$key]['entries'][$dateKey]); + $report[$key]['sum'] = bcadd($report[$key]['sum'], (string) $journal['amount']); $report[$key]['avg'] = bcdiv($report[$key]['sum'], (string) count($periods)); } } diff --git a/app/Http/Controllers/Report/CategoryController.php b/app/Http/Controllers/Report/CategoryController.php index 258dba2d6a..0168fdd75e 100644 --- a/app/Http/Controllers/Report/CategoryController.php +++ b/app/Http/Controllers/Report/CategoryController.php @@ -107,11 +107,11 @@ class CategoryController extends Controller ]; $report[$sourceAccountId]['currencies'][$currencyId]['categories'][$category['id']]['spent'] = bcadd( $report[$sourceAccountId]['currencies'][$currencyId]['categories'][$category['id']]['spent'], - $journal['amount'] + (string) $journal['amount'] ); $report[$sourceAccountId]['currencies'][$currencyId]['categories'][$category['id']]['sum'] = bcadd( $report[$sourceAccountId]['currencies'][$currencyId]['categories'][$category['id']]['sum'], - $journal['amount'] + (string) $journal['amount'] ); } } @@ -140,11 +140,11 @@ class CategoryController extends Controller ]; $report[$destinationId]['currencies'][$currencyId]['categories'][$category['id']]['earned'] = bcadd( $report[$destinationId]['currencies'][$currencyId]['categories'][$category['id']]['earned'], - $journal['amount'] + (string) $journal['amount'] ); $report[$destinationId]['currencies'][$currencyId]['categories'][$category['id']]['sum'] = bcadd( $report[$destinationId]['currencies'][$currencyId]['categories'][$category['id']]['sum'], - $journal['amount'] + (string) $journal['amount'] ); } } @@ -202,14 +202,14 @@ class CategoryController extends Controller ]; $report[$sourceAccountId]['currencies'][$currencyId]['spent'] = bcadd( $report[$sourceAccountId]['currencies'][$currencyId]['spent'], - $journal['amount'] + (string) $journal['amount'] ); $report[$sourceAccountId]['currencies'][$currencyId]['sum'] = bcadd( $report[$sourceAccountId]['currencies'][$currencyId]['sum'], - $journal['amount'] + (string) $journal['amount'] ); - $sums[$currencyId]['spent_sum'] = bcadd($sums[$currencyId]['spent_sum'], $journal['amount']); - $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], $journal['amount']); + $sums[$currencyId]['spent_sum'] = bcadd($sums[$currencyId]['spent_sum'], (string) $journal['amount']); + $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], (string) $journal['amount']); } } } @@ -240,14 +240,14 @@ class CategoryController extends Controller ]; $report[$destinationAccountId]['currencies'][$currencyId]['earned'] = bcadd( $report[$destinationAccountId]['currencies'][$currencyId]['earned'], - $journal['amount'] + (string) $journal['amount'] ); $report[$destinationAccountId]['currencies'][$currencyId]['sum'] = bcadd( $report[$destinationAccountId]['currencies'][$currencyId]['sum'], - $journal['amount'] + (string) $journal['amount'] ); - $sums[$currencyId]['earned_sum'] = bcadd($sums[$currencyId]['earned_sum'], $journal['amount']); - $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], $journal['amount']); + $sums[$currencyId]['earned_sum'] = bcadd($sums[$currencyId]['earned_sum'], (string) $journal['amount']); + $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], (string) $journal['amount']); } } } @@ -282,7 +282,7 @@ class CategoryController extends Controller 'currency_decimal_places' => $currency['currency_decimal_places'], ]; ++$result[$key]['transactions']; - $result[$key]['sum'] = bcadd($journal['amount'], $result[$key]['sum']); + $result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']); $result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']); $result[$key]['avg_float'] = (float) $result[$key]['avg']; // intentional float } @@ -332,7 +332,7 @@ class CategoryController extends Controller 'currency_decimal_places' => $currency['currency_decimal_places'], ]; ++$result[$key]['transactions']; - $result[$key]['sum'] = bcadd($journal['amount'], $result[$key]['sum']); + $result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']); $result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']); $result[$key]['avg_float'] = (float) $result[$key]['avg']; } @@ -405,15 +405,15 @@ class CategoryController extends Controller ]; $report[$categoryId]['currencies'][$currencyId]['spent'] = bcadd( $report[$categoryId]['currencies'][$currencyId]['spent'], - $journal['amount'] + (string) $journal['amount'] ); $report[$categoryId]['currencies'][$currencyId]['sum'] = bcadd( $report[$categoryId]['currencies'][$currencyId]['sum'], - $journal['amount'] + (string) $journal['amount'] ); - $sums[$currencyId]['spent_sum'] = bcadd($sums[$currencyId]['spent_sum'], $journal['amount']); - $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], $journal['amount']); + $sums[$currencyId]['spent_sum'] = bcadd($sums[$currencyId]['spent_sum'], (string) $journal['amount']); + $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], (string) $journal['amount']); } } } @@ -447,15 +447,15 @@ class CategoryController extends Controller ]; $report[$categoryId]['currencies'][$currencyId]['earned'] = bcadd( $report[$categoryId]['currencies'][$currencyId]['earned'], - $journal['amount'] + (string) $journal['amount'] ); $report[$categoryId]['currencies'][$currencyId]['sum'] = bcadd( $report[$categoryId]['currencies'][$currencyId]['sum'], - $journal['amount'] + (string) $journal['amount'] ); - $sums[$currencyId]['earned_sum'] = bcadd($sums[$currencyId]['earned_sum'], $journal['amount']); - $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], $journal['amount']); + $sums[$currencyId]['earned_sum'] = bcadd($sums[$currencyId]['earned_sum'], (string) $journal['amount']); + $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], (string) $journal['amount']); } } } @@ -514,8 +514,8 @@ class CategoryController extends Controller foreach ($categoryRow['transaction_journals'] as $journal) { $date = $journal['date']->format($format); $data[$key]['entries'][$date] ??= '0'; - $data[$key]['entries'][$date] = bcadd($data[$key]['entries'][$date], $journal['amount']); - $data[$key]['sum'] = bcadd($data[$key]['sum'], $journal['amount']); + $data[$key]['entries'][$date] = bcadd($data[$key]['entries'][$date], (string) $journal['amount']); + $data[$key]['sum'] = bcadd($data[$key]['sum'], (string) $journal['amount']); } } } @@ -588,8 +588,8 @@ class CategoryController extends Controller foreach ($categoryRow['transaction_journals'] as $journal) { $date = $journal['date']->format($format); $data[$key]['entries'][$date] ??= '0'; - $data[$key]['entries'][$date] = bcadd($data[$key]['entries'][$date], $journal['amount']); - $data[$key]['sum'] = bcadd($data[$key]['sum'], $journal['amount']); + $data[$key]['entries'][$date] = bcadd($data[$key]['entries'][$date], (string) $journal['amount']); + $data[$key]['sum'] = bcadd($data[$key]['sum'], (string) $journal['amount']); } } } diff --git a/app/Http/Controllers/Report/DoubleController.php b/app/Http/Controllers/Report/DoubleController.php index d8a76e3f78..79d9d5fc1e 100644 --- a/app/Http/Controllers/Report/DoubleController.php +++ b/app/Http/Controllers/Report/DoubleController.php @@ -90,7 +90,7 @@ class DoubleController extends Controller 'currency_decimal_places' => $currency['currency_decimal_places'], ]; ++$result[$key]['transactions']; - $result[$key]['sum'] = bcadd($journal['amount'], $result[$key]['sum']); + $result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']); $result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']); $result[$key]['avg_float'] = (float) $result[$key]['avg']; } @@ -140,7 +140,7 @@ class DoubleController extends Controller 'currency_decimal_places' => $currency['currency_decimal_places'], ]; ++$result[$key]['transactions']; - $result[$key]['sum'] = bcadd($journal['amount'], $result[$key]['sum']); + $result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']); $result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']); $result[$key]['avg_float'] = (float) $result[$key]['avg']; } @@ -219,10 +219,10 @@ class DoubleController extends Controller $report[$objectName]['dest_iban'] = $destIban; // add amounts: - $report[$objectName]['spent'] = bcadd($report[$objectName]['spent'], $journal['amount']); - $report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], $journal['amount']); - $sums[$currencyId]['spent'] = bcadd($sums[$currencyId]['spent'], $journal['amount']); - $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], $journal['amount']); + $report[$objectName]['spent'] = bcadd($report[$objectName]['spent'], (string) $journal['amount']); + $report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']); + $sums[$currencyId]['spent'] = bcadd($sums[$currencyId]['spent'], (string) $journal['amount']); + $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']); } } @@ -268,10 +268,10 @@ class DoubleController extends Controller $report[$objectName]['source_iban'] = $sourceIban; // add amounts: - $report[$objectName]['earned'] = bcadd($report[$objectName]['earned'], $journal['amount']); - $report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], $journal['amount']); - $sums[$currencyId]['earned'] = bcadd($sums[$currencyId]['earned'], $journal['amount']); - $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], $journal['amount']); + $report[$objectName]['earned'] = bcadd($report[$objectName]['earned'], (string) $journal['amount']); + $report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']); + $sums[$currencyId]['earned'] = bcadd($sums[$currencyId]['earned'], (string) $journal['amount']); + $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']); } } @@ -342,10 +342,10 @@ class DoubleController extends Controller ]; // set name // add amounts: - $report[$objectName]['spent'] = bcadd($report[$objectName]['spent'], $journal['amount']); - $report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], $journal['amount']); - $sums[$currencyId]['spent'] = bcadd($sums[$currencyId]['spent'], $journal['amount']); - $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], $journal['amount']); + $report[$objectName]['spent'] = bcadd($report[$objectName]['spent'], (string) $journal['amount']); + $report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']); + $sums[$currencyId]['spent'] = bcadd($sums[$currencyId]['spent'], (string) $journal['amount']); + $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']); } } @@ -381,10 +381,10 @@ class DoubleController extends Controller ]; // add amounts: - $report[$objectName]['earned'] = bcadd($report[$objectName]['earned'], $journal['amount']); - $report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], $journal['amount']); - $sums[$currencyId]['earned'] = bcadd($sums[$currencyId]['earned'], $journal['amount']); - $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], $journal['amount']); + $report[$objectName]['earned'] = bcadd($report[$objectName]['earned'], (string) $journal['amount']); + $report[$objectName]['sum'] = bcadd($report[$objectName]['sum'], (string) $journal['amount']); + $sums[$currencyId]['earned'] = bcadd($sums[$currencyId]['earned'], (string) $journal['amount']); + $sums[$currencyId]['sum'] = bcadd($sums[$currencyId]['sum'], (string) $journal['amount']); } } diff --git a/app/Http/Controllers/Report/TagController.php b/app/Http/Controllers/Report/TagController.php index a60387539a..0b8f8cde7b 100644 --- a/app/Http/Controllers/Report/TagController.php +++ b/app/Http/Controllers/Report/TagController.php @@ -103,11 +103,11 @@ class TagController extends Controller ]; $report[$sourceAccountId]['currencies'][$currencyId]['tags'][$tagId]['spent'] = bcadd( $report[$sourceAccountId]['currencies'][$currencyId]['tags'][$tagId]['spent'], - $journal['amount'] + (string) $journal['amount'] ); $report[$sourceAccountId]['currencies'][$currencyId]['tags'][$tagId]['sum'] = bcadd( $report[$sourceAccountId]['currencies'][$currencyId]['tags'][$tagId]['sum'], - $journal['amount'] + (string) $journal['amount'] ); } } @@ -137,11 +137,11 @@ class TagController extends Controller ]; $report[$destinationId]['currencies'][$currencyId]['tags'][$tagId]['earned'] = bcadd( $report[$destinationId]['currencies'][$currencyId]['tags'][$tagId]['earned'], - $journal['amount'] + (string) $journal['amount'] ); $report[$destinationId]['currencies'][$currencyId]['tags'][$tagId]['sum'] = bcadd( $report[$destinationId]['currencies'][$currencyId]['tags'][$tagId]['sum'], - $journal['amount'] + (string) $journal['amount'] ); } } @@ -199,14 +199,14 @@ class TagController extends Controller ]; $report[$sourceAccountId]['currencies'][$currencyId]['spent'] = bcadd( $report[$sourceAccountId]['currencies'][$currencyId]['spent'], - $journal['amount'] + (string) $journal['amount'] ); $report[$sourceAccountId]['currencies'][$currencyId]['sum'] = bcadd( $report[$sourceAccountId]['currencies'][$currencyId]['sum'], - $journal['amount'] + (string) $journal['amount'] ); - $sums[$currencyId]['spent_sum'] = bcadd($sums[$currencyId]['spent_sum'], $journal['amount']); - $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], $journal['amount']); + $sums[$currencyId]['spent_sum'] = bcadd($sums[$currencyId]['spent_sum'], (string) $journal['amount']); + $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], (string) $journal['amount']); } } } @@ -237,14 +237,14 @@ class TagController extends Controller ]; $report[$destinationAccountId]['currencies'][$currencyId]['earned'] = bcadd( $report[$destinationAccountId]['currencies'][$currencyId]['earned'], - $journal['amount'] + (string) $journal['amount'] ); $report[$destinationAccountId]['currencies'][$currencyId]['sum'] = bcadd( $report[$destinationAccountId]['currencies'][$currencyId]['sum'], - $journal['amount'] + (string) $journal['amount'] ); - $sums[$currencyId]['earned_sum'] = bcadd($sums[$currencyId]['earned_sum'], $journal['amount']); - $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], $journal['amount']); + $sums[$currencyId]['earned_sum'] = bcadd($sums[$currencyId]['earned_sum'], (string) $journal['amount']); + $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], (string) $journal['amount']); } } } @@ -279,7 +279,7 @@ class TagController extends Controller 'currency_decimal_places' => $currency['currency_decimal_places'], ]; ++$result[$key]['transactions']; - $result[$key]['sum'] = bcadd($journal['amount'], $result[$key]['sum']); + $result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']); $result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']); $result[$key]['avg_float'] = (float) $result[$key]['avg']; } @@ -329,7 +329,7 @@ class TagController extends Controller 'currency_decimal_places' => $currency['currency_decimal_places'], ]; ++$result[$key]['transactions']; - $result[$key]['sum'] = bcadd($journal['amount'], $result[$key]['sum']); + $result[$key]['sum'] = bcadd((string) $journal['amount'], $result[$key]['sum']); $result[$key]['avg'] = bcdiv($result[$key]['sum'], (string) $result[$key]['transactions']); $result[$key]['avg_float'] = (float) $result[$key]['avg']; } @@ -403,10 +403,10 @@ class TagController extends Controller 'currency_name' => $currency['currency_name'], 'currency_decimal_places' => $currency['currency_decimal_places'], ]; - $report[$tagId]['currencies'][$currencyId]['spent'] = bcadd($report[$tagId]['currencies'][$currencyId]['spent'], $journal['amount']); - $report[$tagId]['currencies'][$currencyId]['sum'] = bcadd($report[$tagId]['currencies'][$currencyId]['sum'], $journal['amount']); - $sums[$currencyId]['spent_sum'] = bcadd($sums[$currencyId]['spent_sum'], $journal['amount']); - $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], $journal['amount']); + $report[$tagId]['currencies'][$currencyId]['spent'] = bcadd((string) $report[$tagId]['currencies'][$currencyId]['spent'], (string) $journal['amount']); + $report[$tagId]['currencies'][$currencyId]['sum'] = bcadd((string) $report[$tagId]['currencies'][$currencyId]['sum'], (string) $journal['amount']); + $sums[$currencyId]['spent_sum'] = bcadd($sums[$currencyId]['spent_sum'], (string) $journal['amount']); + $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], (string) $journal['amount']); } } } @@ -441,10 +441,10 @@ class TagController extends Controller 'currency_name' => $currency['currency_name'], 'currency_decimal_places' => $currency['currency_decimal_places'], ]; - $report[$tagId]['currencies'][$currencyId]['earned'] = bcadd($report[$tagId]['currencies'][$currencyId]['earned'], $journal['amount']); - $report[$tagId]['currencies'][$currencyId]['sum'] = bcadd($report[$tagId]['currencies'][$currencyId]['sum'], $journal['amount']); - $sums[$currencyId]['earned_sum'] = bcadd($sums[$currencyId]['earned_sum'], $journal['amount']); - $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], $journal['amount']); + $report[$tagId]['currencies'][$currencyId]['earned'] = bcadd((string) $report[$tagId]['currencies'][$currencyId]['earned'], (string) $journal['amount']); + $report[$tagId]['currencies'][$currencyId]['sum'] = bcadd((string) $report[$tagId]['currencies'][$currencyId]['sum'], (string) $journal['amount']); + $sums[$currencyId]['earned_sum'] = bcadd($sums[$currencyId]['earned_sum'], (string) $journal['amount']); + $sums[$currencyId]['total_sum'] = bcadd($sums[$currencyId]['total_sum'], (string) $journal['amount']); } } } diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php index 67a2fc6add..cd2bd4ec4a 100644 --- a/app/Http/Controllers/Transaction/MassController.php +++ b/app/Http/Controllers/Transaction/MassController.php @@ -173,7 +173,7 @@ class MassController extends Controller try { $this->updateJournal($integer, $request); ++$count; - } catch (FireflyException $e) { + } catch (FireflyException) { // @ignoreException } } diff --git a/app/Http/Controllers/Transaction/ShowController.php b/app/Http/Controllers/Transaction/ShowController.php index 5336712538..f9eaa1a490 100644 --- a/app/Http/Controllers/Transaction/ShowController.php +++ b/app/Http/Controllers/Transaction/ShowController.php @@ -150,11 +150,11 @@ class ShowController extends Controller 'decimal_places' => $transaction['currency_decimal_places'], ]; } - $amounts[$symbol]['amount'] = bcadd($amounts[$symbol]['amount'], $transaction['amount']); + $amounts[$symbol]['amount'] = bcadd($amounts[$symbol]['amount'], (string) $transaction['amount']); if (null !== $transaction['foreign_amount'] && '' !== $transaction['foreign_amount'] && 0 !== bccomp( '0', - $transaction['foreign_amount'] + (string) $transaction['foreign_amount'] )) { // same for foreign currency: $foreignSymbol = $transaction['foreign_currency_symbol']; @@ -167,7 +167,7 @@ class ShowController extends Controller } $amounts[$foreignSymbol]['amount'] = bcadd( $amounts[$foreignSymbol]['amount'], - $transaction['foreign_amount'] + (string) $transaction['foreign_amount'] ); } } diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index 4dafb75854..358b9b71c2 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -35,17 +35,16 @@ use Illuminate\Http\Request; */ class Authenticate { - /** - * The authentication factory instance. - */ - protected Auth $auth; - /** * Create a new middleware instance. */ - public function __construct(Auth $auth) + public function __construct( + /** + * The authentication factory instance. + */ + protected Auth $auth + ) { - $this->auth = $auth; } /** diff --git a/app/Http/Middleware/InterestingMessage.php b/app/Http/Middleware/InterestingMessage.php index 30f5bfd238..a953365c99 100644 --- a/app/Http/Middleware/InterestingMessage.php +++ b/app/Http/Middleware/InterestingMessage.php @@ -130,12 +130,12 @@ class InterestingMessage session()->flash('success', (string) trans('firefly.stored_journal', ['description' => $title])); } if ('updated' === $message) { - $type = strtolower($journal->transactionType->type); + $type = strtolower((string) $journal->transactionType->type); session()->flash('success_url', route('transactions.show', [$transactionGroupId])); session()->flash('success', (string) trans(sprintf('firefly.updated_%s', $type), ['description' => $title])); } if ('no_change' === $message) { - $type = strtolower($journal->transactionType->type); + $type = strtolower((string) $journal->transactionType->type); session()->flash('warning_url', route('transactions.show', [$transactionGroupId])); session()->flash('warning', (string) trans(sprintf('firefly.no_changes_%s', $type), ['description' => $title])); } diff --git a/app/Http/Middleware/Range.php b/app/Http/Middleware/Range.php index 60ca8eee65..7db74aa139 100644 --- a/app/Http/Middleware/Range.php +++ b/app/Http/Middleware/Range.php @@ -102,7 +102,7 @@ class Range $language = app('steam')->getLanguage(); $locale = app('steam')->getLocale(); \App::setLocale($language); - Carbon::setLocale(substr($locale, 0, 2)); + Carbon::setLocale(substr((string) $locale, 0, 2)); $localeArray = app('steam')->getLocaleArray($locale); diff --git a/app/Http/Middleware/SecureHeaders.php b/app/Http/Middleware/SecureHeaders.php index d481c820af..d316e8a677 100644 --- a/app/Http/Middleware/SecureHeaders.php +++ b/app/Http/Middleware/SecureHeaders.php @@ -45,7 +45,7 @@ class SecureHeaders // generate and share nonce. $nonce = base64_encode(random_bytes(16)); Vite::useCspNonce($nonce); - if (class_exists('Barryvdh\Debugbar\Facades\Debugbar')) { + if (class_exists(\Barryvdh\Debugbar\Facades\Debugbar::class)) { Debugbar::getJavascriptRenderer()->setCspNonce($nonce); } app('view')->share('JS_NONCE', $nonce); diff --git a/app/Http/Middleware/StartFireflySession.php b/app/Http/Middleware/StartFireflySession.php index dad24baa3c..03359f735a 100644 --- a/app/Http/Middleware/StartFireflySession.php +++ b/app/Http/Middleware/StartFireflySession.php @@ -37,6 +37,7 @@ class StartFireflySession extends StartSession * * @param Session $session */ + #[\Override] protected function storeCurrentUrl(Request $request, $session): void { $url = $request->fullUrl(); diff --git a/app/Http/Middleware/TrustHosts.php b/app/Http/Middleware/TrustHosts.php index 9c27228c4a..9dcd6a249a 100644 --- a/app/Http/Middleware/TrustHosts.php +++ b/app/Http/Middleware/TrustHosts.php @@ -33,6 +33,7 @@ class TrustHosts extends Middleware * * @return array */ + #[\Override] public function hosts(): array { return [ diff --git a/app/Http/Requests/AccountFormRequest.php b/app/Http/Requests/AccountFormRequest.php index fba3a9c101..9cd8d51163 100644 --- a/app/Http/Requests/AccountFormRequest.php +++ b/app/Http/Requests/AccountFormRequest.php @@ -137,7 +137,7 @@ class AccountFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/AttachmentFormRequest.php b/app/Http/Requests/AttachmentFormRequest.php index 0845dea163..f481510ee6 100644 --- a/app/Http/Requests/AttachmentFormRequest.php +++ b/app/Http/Requests/AttachmentFormRequest.php @@ -63,7 +63,7 @@ class AttachmentFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/BillStoreRequest.php b/app/Http/Requests/BillStoreRequest.php index ceb6f3d0e0..37e9f7ef02 100644 --- a/app/Http/Requests/BillStoreRequest.php +++ b/app/Http/Requests/BillStoreRequest.php @@ -83,7 +83,7 @@ class BillStoreRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/BillUpdateRequest.php b/app/Http/Requests/BillUpdateRequest.php index 8494b80294..cde6978364 100644 --- a/app/Http/Requests/BillUpdateRequest.php +++ b/app/Http/Requests/BillUpdateRequest.php @@ -87,7 +87,7 @@ class BillUpdateRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/BudgetFormStoreRequest.php b/app/Http/Requests/BudgetFormStoreRequest.php index f43a4c0624..86779d3794 100644 --- a/app/Http/Requests/BudgetFormStoreRequest.php +++ b/app/Http/Requests/BudgetFormStoreRequest.php @@ -84,7 +84,7 @@ class BudgetFormStoreRequest extends FormRequest ); if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/BudgetFormUpdateRequest.php b/app/Http/Requests/BudgetFormUpdateRequest.php index 81396f1748..5dbecfd4c8 100644 --- a/app/Http/Requests/BudgetFormUpdateRequest.php +++ b/app/Http/Requests/BudgetFormUpdateRequest.php @@ -93,7 +93,7 @@ class BudgetFormUpdateRequest extends FormRequest } ); if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/BudgetIncomeRequest.php b/app/Http/Requests/BudgetIncomeRequest.php index 0ba22c3f06..d75f81faa9 100644 --- a/app/Http/Requests/BudgetIncomeRequest.php +++ b/app/Http/Requests/BudgetIncomeRequest.php @@ -52,7 +52,7 @@ class BudgetIncomeRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/BulkEditJournalRequest.php b/app/Http/Requests/BulkEditJournalRequest.php index 40b0e794fa..4bbaafa77b 100644 --- a/app/Http/Requests/BulkEditJournalRequest.php +++ b/app/Http/Requests/BulkEditJournalRequest.php @@ -52,7 +52,7 @@ class BulkEditJournalRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/CategoryFormRequest.php b/app/Http/Requests/CategoryFormRequest.php index 367dede1a8..8ca3455168 100644 --- a/app/Http/Requests/CategoryFormRequest.php +++ b/app/Http/Requests/CategoryFormRequest.php @@ -73,7 +73,7 @@ class CategoryFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/ConfigurationRequest.php b/app/Http/Requests/ConfigurationRequest.php index ff7eb9b743..57f8a969b4 100644 --- a/app/Http/Requests/ConfigurationRequest.php +++ b/app/Http/Requests/ConfigurationRequest.php @@ -61,7 +61,7 @@ class ConfigurationRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/CurrencyFormRequest.php b/app/Http/Requests/CurrencyFormRequest.php index 02587f9b22..b1707e91ce 100644 --- a/app/Http/Requests/CurrencyFormRequest.php +++ b/app/Http/Requests/CurrencyFormRequest.php @@ -85,7 +85,7 @@ class CurrencyFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/DeleteAccountFormRequest.php b/app/Http/Requests/DeleteAccountFormRequest.php index 5d5296a99a..31222e084a 100644 --- a/app/Http/Requests/DeleteAccountFormRequest.php +++ b/app/Http/Requests/DeleteAccountFormRequest.php @@ -49,7 +49,7 @@ class DeleteAccountFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/EmailFormRequest.php b/app/Http/Requests/EmailFormRequest.php index 0cb58eb4ed..cd4369f3ec 100644 --- a/app/Http/Requests/EmailFormRequest.php +++ b/app/Http/Requests/EmailFormRequest.php @@ -51,7 +51,7 @@ class EmailFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/ExistingTokenFormRequest.php b/app/Http/Requests/ExistingTokenFormRequest.php index 243d1ac1bd..b843012fba 100644 --- a/app/Http/Requests/ExistingTokenFormRequest.php +++ b/app/Http/Requests/ExistingTokenFormRequest.php @@ -50,7 +50,7 @@ class ExistingTokenFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/InviteUserFormRequest.php b/app/Http/Requests/InviteUserFormRequest.php index 9e2cde1ede..2c31d965ce 100644 --- a/app/Http/Requests/InviteUserFormRequest.php +++ b/app/Http/Requests/InviteUserFormRequest.php @@ -51,7 +51,7 @@ class InviteUserFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/JournalLinkRequest.php b/app/Http/Requests/JournalLinkRequest.php index f03e2bf323..185aaea191 100644 --- a/app/Http/Requests/JournalLinkRequest.php +++ b/app/Http/Requests/JournalLinkRequest.php @@ -45,7 +45,7 @@ class JournalLinkRequest extends FormRequest { $return = []; $linkType = $this->get('link_type'); - $parts = explode('_', $linkType); + $parts = explode('_', (string) $linkType); $return['link_type_id'] = (int) $parts[0]; $return['transaction_journal_id'] = $this->convertInteger('opposing'); $return['notes'] = $this->convertString('notes'); @@ -80,7 +80,7 @@ class JournalLinkRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/LinkTypeFormRequest.php b/app/Http/Requests/LinkTypeFormRequest.php index 5b9b4470f7..3fb7511c6a 100644 --- a/app/Http/Requests/LinkTypeFormRequest.php +++ b/app/Http/Requests/LinkTypeFormRequest.php @@ -65,7 +65,7 @@ class LinkTypeFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/MassDeleteJournalRequest.php b/app/Http/Requests/MassDeleteJournalRequest.php index f6da58b661..603e8a7d51 100644 --- a/app/Http/Requests/MassDeleteJournalRequest.php +++ b/app/Http/Requests/MassDeleteJournalRequest.php @@ -49,7 +49,7 @@ class MassDeleteJournalRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/MassEditJournalRequest.php b/app/Http/Requests/MassEditJournalRequest.php index cb48c0b736..7f217aaf67 100644 --- a/app/Http/Requests/MassEditJournalRequest.php +++ b/app/Http/Requests/MassEditJournalRequest.php @@ -55,7 +55,7 @@ class MassEditJournalRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/NewUserFormRequest.php b/app/Http/Requests/NewUserFormRequest.php index 2e16f47c48..bed1e3def7 100644 --- a/app/Http/Requests/NewUserFormRequest.php +++ b/app/Http/Requests/NewUserFormRequest.php @@ -58,7 +58,7 @@ class NewUserFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/ObjectGroupFormRequest.php b/app/Http/Requests/ObjectGroupFormRequest.php index 03948c4486..8d8dcb1b8a 100644 --- a/app/Http/Requests/ObjectGroupFormRequest.php +++ b/app/Http/Requests/ObjectGroupFormRequest.php @@ -69,7 +69,7 @@ class ObjectGroupFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/PiggyBankStoreRequest.php b/app/Http/Requests/PiggyBankStoreRequest.php index ddef5126e3..d3ce9e2507 100644 --- a/app/Http/Requests/PiggyBankStoreRequest.php +++ b/app/Http/Requests/PiggyBankStoreRequest.php @@ -117,7 +117,7 @@ class PiggyBankStoreRequest extends FormRequest ); if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } diff --git a/app/Http/Requests/PiggyBankUpdateRequest.php b/app/Http/Requests/PiggyBankUpdateRequest.php index d1d38467e5..56f023768c 100644 --- a/app/Http/Requests/PiggyBankUpdateRequest.php +++ b/app/Http/Requests/PiggyBankUpdateRequest.php @@ -122,7 +122,7 @@ class PiggyBankUpdateRequest extends FormRequest if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } diff --git a/app/Http/Requests/ProfileFormRequest.php b/app/Http/Requests/ProfileFormRequest.php index 690697681e..bf741778e6 100644 --- a/app/Http/Requests/ProfileFormRequest.php +++ b/app/Http/Requests/ProfileFormRequest.php @@ -51,7 +51,7 @@ class ProfileFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/ReconciliationStoreRequest.php b/app/Http/Requests/ReconciliationStoreRequest.php index bd1d4bb239..75a1a6d8e3 100644 --- a/app/Http/Requests/ReconciliationStoreRequest.php +++ b/app/Http/Requests/ReconciliationStoreRequest.php @@ -82,7 +82,7 @@ class ReconciliationStoreRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/RecurrenceFormRequest.php b/app/Http/Requests/RecurrenceFormRequest.php index e08bca3a47..9613291d3f 100644 --- a/app/Http/Requests/RecurrenceFormRequest.php +++ b/app/Http/Requests/RecurrenceFormRequest.php @@ -281,7 +281,7 @@ class RecurrenceFormRequest extends FormRequest } ); if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } diff --git a/app/Http/Requests/ReportFormRequest.php b/app/Http/Requests/ReportFormRequest.php index 250d520122..a961936c3e 100644 --- a/app/Http/Requests/ReportFormRequest.php +++ b/app/Http/Requests/ReportFormRequest.php @@ -251,7 +251,7 @@ class ReportFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/RuleFormRequest.php b/app/Http/Requests/RuleFormRequest.php index aadf8c7fee..8b7d9ca061 100644 --- a/app/Http/Requests/RuleFormRequest.php +++ b/app/Http/Requests/RuleFormRequest.php @@ -165,7 +165,7 @@ class RuleFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/RuleGroupFormRequest.php b/app/Http/Requests/RuleGroupFormRequest.php index ac0a4fc891..8f5c4af01b 100644 --- a/app/Http/Requests/RuleGroupFormRequest.php +++ b/app/Http/Requests/RuleGroupFormRequest.php @@ -80,7 +80,7 @@ class RuleGroupFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/SelectTransactionsRequest.php b/app/Http/Requests/SelectTransactionsRequest.php index 13a5f7729a..e87b4af6b1 100644 --- a/app/Http/Requests/SelectTransactionsRequest.php +++ b/app/Http/Requests/SelectTransactionsRequest.php @@ -58,7 +58,7 @@ class SelectTransactionsRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/TagFormRequest.php b/app/Http/Requests/TagFormRequest.php index a7c5b25645..2529907f0f 100644 --- a/app/Http/Requests/TagFormRequest.php +++ b/app/Http/Requests/TagFormRequest.php @@ -83,7 +83,7 @@ class TagFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/TestRuleFormRequest.php b/app/Http/Requests/TestRuleFormRequest.php index 40511100b2..0cf0524667 100644 --- a/app/Http/Requests/TestRuleFormRequest.php +++ b/app/Http/Requests/TestRuleFormRequest.php @@ -55,7 +55,7 @@ class TestRuleFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/TokenFormRequest.php b/app/Http/Requests/TokenFormRequest.php index 108d45d1ee..3a53cbe7ab 100644 --- a/app/Http/Requests/TokenFormRequest.php +++ b/app/Http/Requests/TokenFormRequest.php @@ -50,7 +50,7 @@ class TokenFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/TriggerRecurrenceRequest.php b/app/Http/Requests/TriggerRecurrenceRequest.php index a1ad139b6e..c03e531a00 100644 --- a/app/Http/Requests/TriggerRecurrenceRequest.php +++ b/app/Http/Requests/TriggerRecurrenceRequest.php @@ -61,7 +61,7 @@ class TriggerRecurrenceRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/UserFormRequest.php b/app/Http/Requests/UserFormRequest.php index fa9d62cb8e..409cfba453 100644 --- a/app/Http/Requests/UserFormRequest.php +++ b/app/Http/Requests/UserFormRequest.php @@ -69,7 +69,7 @@ class UserFormRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Http/Requests/UserRegistrationRequest.php b/app/Http/Requests/UserRegistrationRequest.php index 026fd05a9d..6e26763831 100644 --- a/app/Http/Requests/UserRegistrationRequest.php +++ b/app/Http/Requests/UserRegistrationRequest.php @@ -59,7 +59,7 @@ class UserRegistrationRequest extends FormRequest public function withValidator(Validator $validator): void { if ($validator->fails()) { - Log::channel('audit')->error(sprintf('Validation errors in %s', __CLASS__), $validator->errors()->toArray()); + Log::channel('audit')->error(sprintf('Validation errors in %s', self::class), $validator->errors()->toArray()); } } } diff --git a/app/Jobs/CreateRecurringTransactions.php b/app/Jobs/CreateRecurringTransactions.php index aac62c76dc..0eb0ef76ba 100644 --- a/app/Jobs/CreateRecurringTransactions.php +++ b/app/Jobs/CreateRecurringTransactions.php @@ -156,9 +156,7 @@ class CreateRecurringTransactions implements ShouldQueue private function filterRecurrences(Collection $recurrences): Collection { return $recurrences->filter( - function (Recurrence $recurrence) { - return $this->validRecurrence($recurrence); - } + fn(Recurrence $recurrence) => $this->validRecurrence($recurrence) ); } @@ -420,7 +418,7 @@ class CreateRecurringTransactions implements ShouldQueue /** @var RecurrenceTransaction $transaction */ foreach ($transactions as $index => $transaction) { $single = [ - 'type' => null === $transaction?->transactionType?->type ? strtolower($recurrence->transactionType->type) : strtolower($transaction->transactionType->type), // @phpstan-ignore-line + 'type' => null === $transaction?->transactionType?->type ? strtolower((string) $recurrence->transactionType->type) : strtolower($transaction->transactionType->type), // @phpstan-ignore-line 'date' => $date, 'user' => $recurrence->user, 'user_group' => $recurrence->user->userGroup, diff --git a/app/Jobs/MailError.php b/app/Jobs/MailError.php index 21984409af..192a17359c 100644 --- a/app/Jobs/MailError.php +++ b/app/Jobs/MailError.php @@ -38,21 +38,12 @@ class MailError extends Job implements ShouldQueue use InteractsWithQueue; use SerializesModels; - protected string $destination; - protected array $exception; - protected string $ipAddress; - protected array $userData; - /** * MailError constructor. */ - public function __construct(array $userData, string $destination, string $ipAddress, array $exceptionData) + public function __construct(protected array $userData, protected string $destination, protected string $ipAddress, protected array $exception) { - $this->userData = $userData; - $this->destination = $destination; - $this->ipAddress = $ipAddress; - $this->exception = $exceptionData; - $debug = $exceptionData; + $debug = $this->exception; unset($debug['stackTrace'], $debug['headers']); app('log')->error(sprintf('Exception is: %s', \Safe\json_encode($debug))); diff --git a/app/Jobs/SendWebhookMessage.php b/app/Jobs/SendWebhookMessage.php index b656b58df3..267183deaa 100644 --- a/app/Jobs/SendWebhookMessage.php +++ b/app/Jobs/SendWebhookMessage.php @@ -42,14 +42,11 @@ class SendWebhookMessage implements ShouldQueue use Queueable; use SerializesModels; - private WebhookMessage $message; - /** * Create a new job instance. */ - public function __construct(WebhookMessage $message) + public function __construct(private WebhookMessage $message) { - $this->message = $message; } /** diff --git a/app/Mail/BillWarningMail.php b/app/Mail/BillWarningMail.php index ac16d4a1de..654cfe34b9 100644 --- a/app/Mail/BillWarningMail.php +++ b/app/Mail/BillWarningMail.php @@ -37,18 +37,11 @@ class BillWarningMail extends Mailable use Queueable; use SerializesModels; - public Bill $bill; - public int $diff; - public string $field; - /** * ConfirmEmailChangeMail constructor. */ - public function __construct(Bill $bill, string $field, int $diff) + public function __construct(public Bill $bill, public string $field, public int $diff) { - $this->bill = $bill; - $this->field = $field; - $this->diff = $diff; } /** diff --git a/app/Mail/ConfirmEmailChangeMail.php b/app/Mail/ConfirmEmailChangeMail.php index d5161e2a66..7d872ea523 100644 --- a/app/Mail/ConfirmEmailChangeMail.php +++ b/app/Mail/ConfirmEmailChangeMail.php @@ -37,18 +37,11 @@ class ConfirmEmailChangeMail extends Mailable use Queueable; use SerializesModels; - public string $newEmail; - public string $oldEmail; - public string $url; - /** * ConfirmEmailChangeMail constructor. */ - public function __construct(string $newEmail, string $oldEmail, string $url) + public function __construct(public string $newEmail, public string $oldEmail, public string $url) { - $this->newEmail = $newEmail; - $this->oldEmail = $oldEmail; - $this->url = $url; } /** diff --git a/app/Mail/InvitationMail.php b/app/Mail/InvitationMail.php index 8a368d9a25..96b3493242 100644 --- a/app/Mail/InvitationMail.php +++ b/app/Mail/InvitationMail.php @@ -35,21 +35,14 @@ class InvitationMail extends Mailable { use Queueable; use SerializesModels; - - public string $admin; public string $host; - public string $invitee; - public string $url; /** * OAuthTokenCreatedMail constructor. */ - public function __construct(string $invitee, string $admin, string $url) + public function __construct(public string $invitee, public string $admin, public string $url) { - $this->invitee = $invitee; - $this->admin = $admin; - $this->url = $url; - $this->host = (string) \Safe\parse_url($url, PHP_URL_HOST); + $this->host = (string) \Safe\parse_url($this->url, PHP_URL_HOST); } /** diff --git a/app/Mail/NewIPAddressWarningMail.php b/app/Mail/NewIPAddressWarningMail.php index a1a311977d..18497eb97e 100644 --- a/app/Mail/NewIPAddressWarningMail.php +++ b/app/Mail/NewIPAddressWarningMail.php @@ -38,15 +38,13 @@ class NewIPAddressWarningMail extends Mailable use SerializesModels; public string $host; - public string $ipAddress; public string $time; /** * OAuthTokenCreatedMail constructor. */ - public function __construct(string $ipAddress) + public function __construct(public string $ipAddress) { - $this->ipAddress = $ipAddress; } /** diff --git a/app/Mail/OAuthTokenCreatedMail.php b/app/Mail/OAuthTokenCreatedMail.php index 3c252b6ad6..9f14cfebe1 100644 --- a/app/Mail/OAuthTokenCreatedMail.php +++ b/app/Mail/OAuthTokenCreatedMail.php @@ -37,14 +37,11 @@ class OAuthTokenCreatedMail extends Mailable use Queueable; use SerializesModels; - public Client $client; - /** * OAuthTokenCreatedMail constructor. */ - public function __construct(Client $client) + public function __construct(public Client $client) { - $this->client = $client; } /** diff --git a/app/Mail/RegisteredUser.php b/app/Mail/RegisteredUser.php index fbbe6d2aaa..f688c14452 100644 --- a/app/Mail/RegisteredUser.php +++ b/app/Mail/RegisteredUser.php @@ -37,14 +37,11 @@ class RegisteredUser extends Mailable use Queueable; use SerializesModels; - public string $address; - /** * Create a new message instance. */ - public function __construct(string $address) + public function __construct(public string $address) { - $this->address = $address; } /** diff --git a/app/Mail/ReportNewJournalsMail.php b/app/Mail/ReportNewJournalsMail.php index ff7515ff68..77ae45f62d 100644 --- a/app/Mail/ReportNewJournalsMail.php +++ b/app/Mail/ReportNewJournalsMail.php @@ -40,16 +40,13 @@ class ReportNewJournalsMail extends Mailable { use Queueable; use SerializesModels; - - public Collection $groups; public array $transformed; /** * ConfirmEmailChangeMail constructor. */ - public function __construct(Collection $groups) + public function __construct(public Collection $groups) { - $this->groups = $groups; } /** diff --git a/app/Mail/RequestedNewPassword.php b/app/Mail/RequestedNewPassword.php index 8d1342908e..f8d1e3dfb4 100644 --- a/app/Mail/RequestedNewPassword.php +++ b/app/Mail/RequestedNewPassword.php @@ -36,14 +36,11 @@ class RequestedNewPassword extends Mailable use Queueable; use SerializesModels; - public string $url; - /** * RequestedNewPassword constructor. */ - public function __construct(string $url) + public function __construct(public string $url) { - $this->url = $url; } /** diff --git a/app/Mail/UndoEmailChangeMail.php b/app/Mail/UndoEmailChangeMail.php index 5f676b24d3..abb9ed85b7 100644 --- a/app/Mail/UndoEmailChangeMail.php +++ b/app/Mail/UndoEmailChangeMail.php @@ -35,18 +35,11 @@ class UndoEmailChangeMail extends Mailable use Queueable; use SerializesModels; - public string $newEmail; - public string $oldEmail; - public string $url; - /** * UndoEmailChangeMail constructor. */ - public function __construct(string $newEmail, string $oldEmail, string $url) + public function __construct(public string $newEmail, public string $oldEmail, public string $url) { - $this->newEmail = $newEmail; - $this->oldEmail = $oldEmail; - $this->url = $url; } /** diff --git a/app/Notifications/Admin/UnknownUserLoginAttempt.php b/app/Notifications/Admin/UnknownUserLoginAttempt.php index 57723356fc..a36ef56ae9 100644 --- a/app/Notifications/Admin/UnknownUserLoginAttempt.php +++ b/app/Notifications/Admin/UnknownUserLoginAttempt.php @@ -41,11 +41,8 @@ class UnknownUserLoginAttempt extends Notification { use Queueable; - private string $address; - - public function __construct(string $address) + public function __construct(private string $address) { - $this->address = $address; } /** diff --git a/app/Notifications/Admin/UserInvitation.php b/app/Notifications/Admin/UserInvitation.php index eed76f98a3..6ca16535d8 100644 --- a/app/Notifications/Admin/UserInvitation.php +++ b/app/Notifications/Admin/UserInvitation.php @@ -45,11 +45,8 @@ class UserInvitation extends Notification { use Queueable; - private InvitedUser $invitee; - - public function __construct(InvitedUser $invitee) + public function __construct(private InvitedUser $invitee) { - $this->invitee = $invitee; } /** @@ -72,7 +69,7 @@ class UserInvitation extends Notification $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage()) + return new MailMessage() ->markdown('emails.invitation-created', ['email' => $this->invitee->user->email, 'invitee' => $this->invitee->email, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time]) ->subject((string) trans('email.invitation_created_subject')) ; diff --git a/app/Notifications/Admin/UserRegistration.php b/app/Notifications/Admin/UserRegistration.php index ef51a2fb24..faefc8dd2e 100644 --- a/app/Notifications/Admin/UserRegistration.php +++ b/app/Notifications/Admin/UserRegistration.php @@ -45,11 +45,8 @@ class UserRegistration extends Notification { use Queueable; - private User $user; - - public function __construct(User $user) + public function __construct(private User $user) { - $this->user = $user; } /** @@ -71,7 +68,7 @@ class UserRegistration extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage()) + return new MailMessage() ->markdown('emails.registered-admin', ['email' => $this->user->email, 'id' => $this->user->id, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time]) ->subject((string) trans('email.registered_subject_admin')) ; diff --git a/app/Notifications/Admin/VersionCheckResult.php b/app/Notifications/Admin/VersionCheckResult.php index d966313d45..bff0d12a8c 100644 --- a/app/Notifications/Admin/VersionCheckResult.php +++ b/app/Notifications/Admin/VersionCheckResult.php @@ -42,11 +42,8 @@ class VersionCheckResult extends Notification { use Queueable; - private string $message; - - public function __construct(string $message) + public function __construct(private string $message) { - $this->message = $message; } /** @@ -63,7 +60,7 @@ class VersionCheckResult extends Notification */ public function toMail(OwnerNotifiable $notifiable): MailMessage { - return (new MailMessage()) + return new MailMessage() ->markdown('emails.new-version', ['message' => $this->message]) ->subject((string) trans('email.new_version_email_subject')) ; diff --git a/app/Notifications/Security/DisabledMFANotification.php b/app/Notifications/Security/DisabledMFANotification.php index 991d98d7e8..6d4fde6fba 100644 --- a/app/Notifications/Security/DisabledMFANotification.php +++ b/app/Notifications/Security/DisabledMFANotification.php @@ -40,11 +40,8 @@ class DisabledMFANotification extends Notification { use Queueable; - private User $user; - - public function __construct(User $user) + public function __construct(private User $user) { - $this->user = $user; } /** @@ -67,7 +64,7 @@ class DisabledMFANotification extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage())->markdown('emails.security.disabled-mfa', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); + return new MailMessage()->markdown('emails.security.disabled-mfa', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); } public function toNtfy(User $notifiable): Message diff --git a/app/Notifications/Security/EnabledMFANotification.php b/app/Notifications/Security/EnabledMFANotification.php index dea2facf36..871f424a55 100644 --- a/app/Notifications/Security/EnabledMFANotification.php +++ b/app/Notifications/Security/EnabledMFANotification.php @@ -40,11 +40,8 @@ class EnabledMFANotification extends Notification { use Queueable; - private User $user; - - public function __construct(User $user) + public function __construct(private User $user) { - $this->user = $user; } /** @@ -67,7 +64,7 @@ class EnabledMFANotification extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage())->markdown('emails.security.enabled-mfa', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); + return new MailMessage()->markdown('emails.security.enabled-mfa', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); } public function toNtfy(User $notifiable): Message diff --git a/app/Notifications/Security/MFABackupFewLeftNotification.php b/app/Notifications/Security/MFABackupFewLeftNotification.php index da683b1f4e..4ae483eaca 100644 --- a/app/Notifications/Security/MFABackupFewLeftNotification.php +++ b/app/Notifications/Security/MFABackupFewLeftNotification.php @@ -40,13 +40,8 @@ class MFABackupFewLeftNotification extends Notification { use Queueable; - private int $count; - private User $user; - - public function __construct(User $user, int $count) + public function __construct(private User $user, private int $count) { - $this->user = $user; - $this->count = $count; } /** @@ -69,7 +64,7 @@ class MFABackupFewLeftNotification extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage())->markdown('emails.security.few-backup-codes', ['user' => $this->user, 'count' => $this->count, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); + return new MailMessage()->markdown('emails.security.few-backup-codes', ['user' => $this->user, 'count' => $this->count, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); } public function toNtfy(User $notifiable): Message diff --git a/app/Notifications/Security/MFABackupNoLeftNotification.php b/app/Notifications/Security/MFABackupNoLeftNotification.php index 5bea9e6aa2..e521bdacd7 100644 --- a/app/Notifications/Security/MFABackupNoLeftNotification.php +++ b/app/Notifications/Security/MFABackupNoLeftNotification.php @@ -40,11 +40,8 @@ class MFABackupNoLeftNotification extends Notification { use Queueable; - private User $user; - - public function __construct(User $user) + public function __construct(private User $user) { - $this->user = $user; } /** @@ -67,7 +64,7 @@ class MFABackupNoLeftNotification extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage())->markdown('emails.security.no-backup-codes', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); + return new MailMessage()->markdown('emails.security.no-backup-codes', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); } public function toNtfy(User $notifiable): Message diff --git a/app/Notifications/Security/MFAManyFailedAttemptsNotification.php b/app/Notifications/Security/MFAManyFailedAttemptsNotification.php index 781bf62e95..c28c7b9eb4 100644 --- a/app/Notifications/Security/MFAManyFailedAttemptsNotification.php +++ b/app/Notifications/Security/MFAManyFailedAttemptsNotification.php @@ -40,13 +40,8 @@ class MFAManyFailedAttemptsNotification extends Notification { use Queueable; - private int $count; - private User $user; - - public function __construct(User $user, int $count) + public function __construct(private User $user, private int $count) { - $this->user = $user; - $this->count = $count; } public function toArray(User $notifiable): array @@ -66,7 +61,7 @@ class MFAManyFailedAttemptsNotification extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage())->markdown('emails.security.many-failed-attempts', ['user' => $this->user, 'count' => $this->count, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); + return new MailMessage()->markdown('emails.security.many-failed-attempts', ['user' => $this->user, 'count' => $this->count, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); } public function toNtfy(User $notifiable): Message diff --git a/app/Notifications/Security/MFAUsedBackupCodeNotification.php b/app/Notifications/Security/MFAUsedBackupCodeNotification.php index 0b03853275..264d6c153c 100644 --- a/app/Notifications/Security/MFAUsedBackupCodeNotification.php +++ b/app/Notifications/Security/MFAUsedBackupCodeNotification.php @@ -40,11 +40,8 @@ class MFAUsedBackupCodeNotification extends Notification { use Queueable; - private User $user; - - public function __construct(User $user) + public function __construct(private User $user) { - $this->user = $user; } /** @@ -67,7 +64,7 @@ class MFAUsedBackupCodeNotification extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage())->markdown('emails.security.used-backup-code', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); + return new MailMessage()->markdown('emails.security.used-backup-code', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); } public function toNtfy(User $notifiable): Message diff --git a/app/Notifications/Security/NewBackupCodesNotification.php b/app/Notifications/Security/NewBackupCodesNotification.php index 06ef35f89e..d7f25e805c 100644 --- a/app/Notifications/Security/NewBackupCodesNotification.php +++ b/app/Notifications/Security/NewBackupCodesNotification.php @@ -40,11 +40,8 @@ class NewBackupCodesNotification extends Notification { use Queueable; - private User $user; - - public function __construct(User $user) + public function __construct(private User $user) { - $this->user = $user; } /** @@ -67,7 +64,7 @@ class NewBackupCodesNotification extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage())->markdown('emails.security.new-backup-codes', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); + return new MailMessage()->markdown('emails.security.new-backup-codes', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); } public function toNtfy(User $notifiable): Message diff --git a/app/Notifications/Security/UserFailedLoginAttempt.php b/app/Notifications/Security/UserFailedLoginAttempt.php index c8eb674d30..e1c97f7559 100644 --- a/app/Notifications/Security/UserFailedLoginAttempt.php +++ b/app/Notifications/Security/UserFailedLoginAttempt.php @@ -41,11 +41,8 @@ class UserFailedLoginAttempt extends Notification { use Queueable; - private User $user; - - public function __construct(User $user) + public function __construct(private User $user) { - $this->user = $user; } public function toArray(User $notifiable): array @@ -65,7 +62,7 @@ class UserFailedLoginAttempt extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage())->markdown('emails.security.failed-login', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); + return new MailMessage()->markdown('emails.security.failed-login', ['user' => $this->user, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])->subject($subject); } public function toNtfy(User $notifiable): Message diff --git a/app/Notifications/Test/OwnerTestNotificationEmail.php b/app/Notifications/Test/OwnerTestNotificationEmail.php index e80cb6e923..498e7e3baa 100644 --- a/app/Notifications/Test/OwnerTestNotificationEmail.php +++ b/app/Notifications/Test/OwnerTestNotificationEmail.php @@ -53,7 +53,7 @@ class OwnerTestNotificationEmail extends Notification { $address = (string) config('firefly.site_owner'); - return (new MailMessage()) + return new MailMessage() ->markdown('emails.admin-test', ['email' => $address]) ->subject((string) trans('email.admin_test_subject')) ; diff --git a/app/Notifications/Test/UserTestNotificationEmail.php b/app/Notifications/Test/UserTestNotificationEmail.php index 35f5836dbf..2fbc0dd293 100644 --- a/app/Notifications/Test/UserTestNotificationEmail.php +++ b/app/Notifications/Test/UserTestNotificationEmail.php @@ -50,7 +50,7 @@ class UserTestNotificationEmail extends Notification { $address = (string) $notifiable->email; - return (new MailMessage()) + return new MailMessage() ->markdown('emails.admin-test', ['email' => $address]) ->subject((string) trans('email.admin_test_subject')) ; diff --git a/app/Notifications/User/BillReminder.php b/app/Notifications/User/BillReminder.php index 77de530d55..a8a353d219 100644 --- a/app/Notifications/User/BillReminder.php +++ b/app/Notifications/User/BillReminder.php @@ -42,15 +42,8 @@ class BillReminder extends Notification { use Queueable; - private Bill $bill; - private int $diff; - private string $field; - - public function __construct(Bill $bill, string $field, int $diff) + public function __construct(private Bill $bill, private string $field, private int $diff) { - $this->bill = $bill; - $this->field = $field; - $this->diff = $diff; } /** @@ -67,7 +60,7 @@ class BillReminder extends Notification */ public function toMail(User $notifiable): MailMessage { - return (new MailMessage()) + return new MailMessage() ->markdown('emails.bill-warning', ['field' => $this->field, 'diff' => $this->diff, 'bill' => $this->bill]) ->subject($this->getSubject()) ; diff --git a/app/Notifications/User/NewAccessToken.php b/app/Notifications/User/NewAccessToken.php index f614c12bd9..29d2c51b36 100644 --- a/app/Notifications/User/NewAccessToken.php +++ b/app/Notifications/User/NewAccessToken.php @@ -62,7 +62,7 @@ class NewAccessToken extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage()) + return new MailMessage() ->markdown('emails.token-created', ['ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time]) ->subject((string) trans('email.access_token_created_subject')) ; diff --git a/app/Notifications/User/TransactionCreation.php b/app/Notifications/User/TransactionCreation.php index bca7218b62..96a09725ff 100644 --- a/app/Notifications/User/TransactionCreation.php +++ b/app/Notifications/User/TransactionCreation.php @@ -36,11 +36,8 @@ class TransactionCreation extends Notification { use Queueable; - private array $collection; - - public function __construct(array $collection) + public function __construct(private array $collection) { - $this->collection = $collection; } /** @@ -57,7 +54,7 @@ class TransactionCreation extends Notification */ public function toMail(User $notifiable): MailMessage { - return (new MailMessage()) + return new MailMessage() ->markdown('emails.report-new-journals', ['transformed' => $this->collection]) ->subject(trans_choice('email.new_journals_subject', count($this->collection))) ; diff --git a/app/Notifications/User/UserLogin.php b/app/Notifications/User/UserLogin.php index c142c1ea69..5fc368d7e0 100644 --- a/app/Notifications/User/UserLogin.php +++ b/app/Notifications/User/UserLogin.php @@ -59,7 +59,7 @@ class UserLogin extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage()) + return new MailMessage() ->markdown('emails.new-ip', ['ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time]) ->subject((string) trans('email.login_from_new_ip')) ; diff --git a/app/Notifications/User/UserNewPassword.php b/app/Notifications/User/UserNewPassword.php index d69e4abd8e..cb9bcf93d7 100644 --- a/app/Notifications/User/UserNewPassword.php +++ b/app/Notifications/User/UserNewPassword.php @@ -43,11 +43,8 @@ class UserNewPassword extends Notification { use Queueable; - private string $url; - - public function __construct(string $url) + public function __construct(private string $url) { - $this->url = $url; } /** @@ -69,7 +66,7 @@ class UserNewPassword extends Notification $userAgent = Request::userAgent(); $time = now(config('app.timezone'))->isoFormat((string) trans('config.date_time_js')); - return (new MailMessage()) + return new MailMessage() ->markdown('emails.password', ['url' => $this->url, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time]) ->subject((string) trans('email.reset_pw_subject')) ; diff --git a/app/Notifications/User/UserRegistration.php b/app/Notifications/User/UserRegistration.php index 9ab267fef1..fe0bbde10f 100644 --- a/app/Notifications/User/UserRegistration.php +++ b/app/Notifications/User/UserRegistration.php @@ -52,7 +52,7 @@ class UserRegistration extends Notification */ public function toMail(User $notifiable): MailMessage { - return (new MailMessage()) + return new MailMessage() ->markdown('emails.registered', ['address' => route('index')]) ->subject((string) trans('email.registered_subject')) ; diff --git a/app/Providers/AccountServiceProvider.php b/app/Providers/AccountServiceProvider.php index 8dcc8bdc7a..939815c8a8 100644 --- a/app/Providers/AccountServiceProvider.php +++ b/app/Providers/AccountServiceProvider.php @@ -45,6 +45,7 @@ class AccountServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->registerRepository(); diff --git a/app/Providers/AdminServiceProvider.php b/app/Providers/AdminServiceProvider.php index 307efca1ff..1709ca658d 100644 --- a/app/Providers/AdminServiceProvider.php +++ b/app/Providers/AdminServiceProvider.php @@ -41,6 +41,7 @@ class AdminServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->linkType(); diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 32d30664a8..a7d13a7dfe 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -86,6 +86,7 @@ class AppServiceProvider extends ServiceProvider /** * Register any application services. */ + #[\Override] public function register(): void { Passport::ignoreRoutes(); diff --git a/app/Providers/AttachmentServiceProvider.php b/app/Providers/AttachmentServiceProvider.php index 6947d5d8a1..c4cfb6d264 100644 --- a/app/Providers/AttachmentServiceProvider.php +++ b/app/Providers/AttachmentServiceProvider.php @@ -41,6 +41,7 @@ class AttachmentServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->app->bind( diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index e562dd71de..4c119ca3ef 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -48,16 +48,12 @@ class AuthServiceProvider extends ServiceProvider { Auth::provider( 'remote_user_provider', - static function ($app, array $config) { - return new RemoteUserProvider(); - } + static fn($app, array $config) => new RemoteUserProvider() ); Auth::extend( 'remote_user_guard', - static function ($app, string $name, array $config) { - return new RemoteUserGuard(Auth::createUserProvider($config['provider']), $app); - } + static fn($app, string $name, array $config) => new RemoteUserGuard(Auth::createUserProvider($config['provider']), $app) ); Passport::tokensExpireIn(now()->addDays(14)); diff --git a/app/Providers/BillServiceProvider.php b/app/Providers/BillServiceProvider.php index 1e8038099c..e2a3a42e71 100644 --- a/app/Providers/BillServiceProvider.php +++ b/app/Providers/BillServiceProvider.php @@ -41,6 +41,7 @@ class BillServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->app->bind( diff --git a/app/Providers/BudgetServiceProvider.php b/app/Providers/BudgetServiceProvider.php index c07e9d0612..8da9ef97b8 100644 --- a/app/Providers/BudgetServiceProvider.php +++ b/app/Providers/BudgetServiceProvider.php @@ -51,6 +51,7 @@ class BudgetServiceProvider extends ServiceProvider * * @SuppressWarnings("PHPMD.ExcessiveMethodLength") */ + #[\Override] public function register(): void { // reference to auth is not understood by phpstan. diff --git a/app/Providers/CategoryServiceProvider.php b/app/Providers/CategoryServiceProvider.php index d8bc20a299..4c86c9800e 100644 --- a/app/Providers/CategoryServiceProvider.php +++ b/app/Providers/CategoryServiceProvider.php @@ -45,6 +45,7 @@ class CategoryServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { // phpstan does not understand reference to 'auth'. diff --git a/app/Providers/CurrencyServiceProvider.php b/app/Providers/CurrencyServiceProvider.php index 152b6985c6..05b875811e 100644 --- a/app/Providers/CurrencyServiceProvider.php +++ b/app/Providers/CurrencyServiceProvider.php @@ -45,6 +45,7 @@ class CurrencyServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->app->bind( diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index fe465411ea..7b3be85ddc 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -260,6 +260,7 @@ class EventServiceProvider extends ServiceProvider /** * Register any events for your application. */ + #[\Override] public function boot(): void { $this->registerObservers(); diff --git a/app/Providers/FireflyServiceProvider.php b/app/Providers/FireflyServiceProvider.php index dac85566f3..6e88e96041 100644 --- a/app/Providers/FireflyServiceProvider.php +++ b/app/Providers/FireflyServiceProvider.php @@ -90,9 +90,7 @@ class FireflyServiceProvider extends ServiceProvider public function boot(): void { Validator::resolver( - static function ($translator, $data, $rules, $messages) { - return new FireflyValidator($translator, $data, $rules, $messages); - } + static fn($translator, $data, $rules, $messages) => new FireflyValidator($translator, $data, $rules, $messages) ); } @@ -101,78 +99,57 @@ class FireflyServiceProvider extends ServiceProvider * * @SuppressWarnings("PHPMD.ExcessiveMethodLength") */ + #[\Override] public function register(): void { $this->app->bind( 'preferences', - static function () { - return new Preferences(); - } + static fn() => new Preferences() ); $this->app->bind( 'fireflyconfig', - static function () { - return new FireflyConfig(); - } + static fn() => new FireflyConfig() ); $this->app->bind( 'navigation', - static function () { - return new Navigation(); - } + static fn() => new Navigation() ); $this->app->bind( 'amount', - static function () { - return new Amount(); - } + static fn() => new Amount() ); $this->app->bind( 'steam', - static function () { - return new Steam(); - } + static fn() => new Steam() ); $this->app->bind( 'balance', - static function () { - return new Balance(); - } + static fn() => new Balance() ); $this->app->bind( 'expandedform', - static function () { - return new ExpandedForm(); - } + static fn() => new ExpandedForm() ); $this->app->bind( 'accountform', - static function () { - return new AccountForm(); - } + static fn() => new AccountForm() ); $this->app->bind( 'currencyform', - static function () { - return new CurrencyForm(); - } + static fn() => new CurrencyForm() ); $this->app->bind( 'piggybankform', - static function () { - return new PiggyBankForm(); - } + static fn() => new PiggyBankForm() ); $this->app->bind( 'ruleform', - static function () { - return new RuleForm(); - } + static fn() => new RuleForm() ); // chart generator: diff --git a/app/Providers/FireflySessionProvider.php b/app/Providers/FireflySessionProvider.php index 3ffeb23a0d..1817ab280b 100644 --- a/app/Providers/FireflySessionProvider.php +++ b/app/Providers/FireflySessionProvider.php @@ -35,6 +35,7 @@ class FireflySessionProvider extends ServiceProvider /** * Register the service provider. */ + #[\Override] public function register(): void { $this->registerSessionManager(); @@ -51,9 +52,7 @@ class FireflySessionProvider extends ServiceProvider { $this->app->singleton( 'session', - static function ($app) { - return new SessionManager($app); - } + static fn($app) => new SessionManager($app) ); } @@ -64,12 +63,11 @@ class FireflySessionProvider extends ServiceProvider { $this->app->singleton( 'session.store', - static function ($app) { + static fn($app) => // First, we will create the session manager which is responsible for the // creation of the various session drivers when they are needed by the // application instance, and will resolve them on a lazy load basis. - return $app->make('session')->driver(); - } + $app->make('session')->driver() ); } } diff --git a/app/Providers/JournalServiceProvider.php b/app/Providers/JournalServiceProvider.php index 26ab3012ca..8e758ca143 100644 --- a/app/Providers/JournalServiceProvider.php +++ b/app/Providers/JournalServiceProvider.php @@ -49,6 +49,7 @@ class JournalServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->registerRepository(); diff --git a/app/Providers/PiggyBankServiceProvider.php b/app/Providers/PiggyBankServiceProvider.php index 7252098c8a..53e35d02fe 100644 --- a/app/Providers/PiggyBankServiceProvider.php +++ b/app/Providers/PiggyBankServiceProvider.php @@ -41,6 +41,7 @@ class PiggyBankServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->app->bind( diff --git a/app/Providers/RecurringServiceProvider.php b/app/Providers/RecurringServiceProvider.php index 884dc1f036..9f77c8bdc9 100644 --- a/app/Providers/RecurringServiceProvider.php +++ b/app/Providers/RecurringServiceProvider.php @@ -41,6 +41,7 @@ class RecurringServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->app->bind( diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index 4382229f44..6e02c53603 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -37,6 +37,7 @@ class RouteServiceProvider extends ServiceProvider /** * Define the routes for the application. */ + #[\Override] public function boot(): void { $this->routes(function (): void { diff --git a/app/Providers/RuleGroupServiceProvider.php b/app/Providers/RuleGroupServiceProvider.php index e43ee595e2..ff1f0c777d 100644 --- a/app/Providers/RuleGroupServiceProvider.php +++ b/app/Providers/RuleGroupServiceProvider.php @@ -41,6 +41,7 @@ class RuleGroupServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->app->bind( diff --git a/app/Providers/RuleServiceProvider.php b/app/Providers/RuleServiceProvider.php index 9073b9cc7d..e6ef01b7fd 100644 --- a/app/Providers/RuleServiceProvider.php +++ b/app/Providers/RuleServiceProvider.php @@ -41,6 +41,7 @@ class RuleServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->app->bind( diff --git a/app/Providers/SearchServiceProvider.php b/app/Providers/SearchServiceProvider.php index 74ed2f325f..56b1c86b40 100644 --- a/app/Providers/SearchServiceProvider.php +++ b/app/Providers/SearchServiceProvider.php @@ -44,6 +44,7 @@ class SearchServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->app->bind( diff --git a/app/Providers/SessionServiceProvider.php b/app/Providers/SessionServiceProvider.php index ea840005df..9c5f4e86f2 100644 --- a/app/Providers/SessionServiceProvider.php +++ b/app/Providers/SessionServiceProvider.php @@ -34,6 +34,7 @@ class SessionServiceProvider extends BaseSessionServiceProvider /** * Register the service provider. */ + #[\Override] public function register(): void { $this->registerSessionManager(); diff --git a/app/Providers/TagServiceProvider.php b/app/Providers/TagServiceProvider.php index ae29a28caa..271e4160d2 100644 --- a/app/Providers/TagServiceProvider.php +++ b/app/Providers/TagServiceProvider.php @@ -43,6 +43,7 @@ class TagServiceProvider extends ServiceProvider /** * Register the application services. */ + #[\Override] public function register(): void { $this->app->bind( diff --git a/app/Repositories/Account/AccountRepository.php b/app/Repositories/Account/AccountRepository.php index ae6b6f3a1f..e4a71d69ac 100644 --- a/app/Repositories/Account/AccountRepository.php +++ b/app/Repositories/Account/AccountRepository.php @@ -409,9 +409,7 @@ class AccountRepository implements AccountRepositoryInterface, UserGroupInterfac public function getMetaValue(Account $account, string $field): ?string { $result = $account->accountMeta->filter( - static function (AccountMeta $meta) use ($field) { - return strtolower($meta->name) === strtolower($field); - } + static fn(AccountMeta $meta) => strtolower($meta->name) === strtolower($field) ); if (0 === $result->count()) { return null; diff --git a/app/Repositories/Account/AccountTasker.php b/app/Repositories/Account/AccountTasker.php index 2447de9f43..031794595e 100644 --- a/app/Repositories/Account/AccountTasker.php +++ b/app/Repositories/Account/AccountTasker.php @@ -100,7 +100,7 @@ class AccountTasker implements AccountTaskerInterface, UserGroupInterface $entry['start_balance'] = $first->transactions()->where('account_id', $account->id)->first()->amount; Log::debug(sprintf('Account %s was opened on %s, so opening balance is %f', $account->name, $yesterday->format('Y-m-d'), $entry['start_balance'])); } - $return['sums'][$currency->id]['start'] = bcadd($return['sums'][$currency->id]['start'], $entry['start_balance']); + $return['sums'][$currency->id]['start'] = bcadd($return['sums'][$currency->id]['start'], (string) $entry['start_balance']); $return['sums'][$currency->id]['end'] = bcadd($return['sums'][$currency->id]['end'], $entry['end_balance']); $return['accounts'][$id] = $entry; } @@ -176,7 +176,7 @@ class AccountTasker implements AccountTaskerInterface, UserGroupInterface 'currency_code' => $currencies[$currencyId]->code, 'currency_decimal_places' => $currencies[$currencyId]->decimal_places, ]; - $report['accounts'][$key]['sum'] = bcadd($report['accounts'][$key]['sum'], $journal['amount']); + $report['accounts'][$key]['sum'] = bcadd($report['accounts'][$key]['sum'], (string) $journal['amount']); Log::debug(sprintf('Sum for %s is now %s', $journal['destination_account_name'], $report['accounts'][$key]['sum'])); @@ -266,7 +266,7 @@ class AccountTasker implements AccountTaskerInterface, UserGroupInterface 'currency_decimal_places' => $currencies[$currencyId]->decimal_places, ]; } - $report['accounts'][$key]['sum'] = bcadd($report['accounts'][$key]['sum'], bcmul($journal['amount'], '-1')); + $report['accounts'][$key]['sum'] = bcadd($report['accounts'][$key]['sum'], bcmul((string) $journal['amount'], '-1')); ++$report['accounts'][$key]['count']; } diff --git a/app/Repositories/Account/OperationsRepository.php b/app/Repositories/Account/OperationsRepository.php index fb71bb7235..c6a7604861 100644 --- a/app/Repositories/Account/OperationsRepository.php +++ b/app/Repositories/Account/OperationsRepository.php @@ -361,12 +361,12 @@ class OperationsRepository implements OperationsRepositoryInterface, UserGroupIn ]; // source account? money goes out! - $return[$sourceKey]['out'] = bcadd($return[$sourceKey]['out'], app('steam')->negative($amount)); - $return[$sourceKey]['difference'] = bcadd($return[$sourceKey]['out'], $return[$sourceKey]['in']); + $return[$sourceKey]['out'] = bcadd((string) $return[$sourceKey]['out'], (string) app('steam')->negative($amount)); + $return[$sourceKey]['difference'] = bcadd($return[$sourceKey]['out'], (string) $return[$sourceKey]['in']); // destination account? money comes in: - $return[$destKey]['in'] = bcadd($return[$destKey]['in'], $amount); - $return[$destKey]['difference'] = bcadd($return[$destKey]['out'], $return[$destKey]['in']); + $return[$destKey]['in'] = bcadd((string) $return[$destKey]['in'], (string) $amount); + $return[$destKey]['difference'] = bcadd((string) $return[$destKey]['out'], $return[$destKey]['in']); // foreign currency if (null !== $journal['foreign_currency_id'] && null !== $journal['foreign_amount']) { @@ -404,12 +404,12 @@ class OperationsRepository implements OperationsRepositoryInterface, UserGroupIn 'currency_code' => $journal['foreign_currency_code'], ]; // source account? money goes out! (same as above) - $return[$sourceKey]['out'] = bcadd($return[$sourceKey]['out'], app('steam')->negative($amount)); - $return[$sourceKey]['difference'] = bcadd($return[$sourceKey]['out'], $return[$sourceKey]['in']); + $return[$sourceKey]['out'] = bcadd((string) $return[$sourceKey]['out'], (string) app('steam')->negative($amount)); + $return[$sourceKey]['difference'] = bcadd($return[$sourceKey]['out'], (string) $return[$sourceKey]['in']); // destination account? money comes in: - $return[$destKey]['in'] = bcadd($return[$destKey]['in'], $amount); - $return[$destKey]['difference'] = bcadd($return[$destKey]['out'], $return[$destKey]['in']); + $return[$destKey]['in'] = bcadd((string) $return[$destKey]['in'], (string) $amount); + $return[$destKey]['difference'] = bcadd((string) $return[$destKey]['out'], $return[$destKey]['in']); } return $return; diff --git a/app/Repositories/Attachment/AttachmentRepository.php b/app/Repositories/Attachment/AttachmentRepository.php index 17ec138917..961127f085 100644 --- a/app/Repositories/Attachment/AttachmentRepository.php +++ b/app/Repositories/Attachment/AttachmentRepository.php @@ -55,7 +55,7 @@ class AttachmentRepository implements AttachmentRepositoryInterface, UserGroupIn try { Storage::disk('upload')->delete($path); - } catch (UnableToDeleteFile $e) { + } catch (UnableToDeleteFile) { // @ignoreException } $attachment->delete(); diff --git a/app/Repositories/AuditLogEntry/ALERepository.php b/app/Repositories/AuditLogEntry/ALERepository.php index 02f60db94e..97cc76def6 100644 --- a/app/Repositories/AuditLogEntry/ALERepository.php +++ b/app/Repositories/AuditLogEntry/ALERepository.php @@ -36,7 +36,7 @@ class ALERepository implements ALERepositoryInterface public function getForObject(Model $model): Collection { // all Models have an ID. - return AuditLogEntry::where('auditable_id', $model->id)->where('auditable_type', get_class($model))->get(); + return AuditLogEntry::where('auditable_id', $model->id)->where('auditable_type', $model::class)->get(); } public function store(array $data): AuditLogEntry diff --git a/app/Repositories/Bill/BillRepository.php b/app/Repositories/Bill/BillRepository.php index 8e1d113ab8..56094d1199 100644 --- a/app/Repositories/Bill/BillRepository.php +++ b/app/Repositories/Bill/BillRepository.php @@ -272,10 +272,10 @@ class BillRepository implements BillRepositoryInterface, UserGroupInterface 'currency_symbol' => $currency->symbol, 'currency_decimal_places' => $currency->decimal_places, ]; - $result[$currencyId]['sum'] = bcadd($result[$currencyId]['sum'], $transaction->amount); + $result[$currencyId]['sum'] = bcadd($result[$currencyId]['sum'], (string) $transaction->amount); $result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->native_amount ?? '0'); if ($journal->foreign_currency_id === Amount::getNativeCurrency()->id) { - $result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->amount); + $result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], (string) $transaction->amount); } ++$result[$currencyId]['count']; } @@ -286,8 +286,8 @@ class BillRepository implements BillRepositoryInterface, UserGroupInterface * @var array $arr */ foreach ($result as $currencyId => $arr) { - $result[$currencyId]['avg'] = bcdiv($arr['sum'], (string) $arr['count']); - $result[$currencyId]['native_avg'] = bcdiv($arr['native_sum'], (string) $arr['count']); + $result[$currencyId]['avg'] = bcdiv((string) $arr['sum'], (string) $arr['count']); + $result[$currencyId]['native_avg'] = bcdiv((string) $arr['native_sum'], (string) $arr['count']); } return $result; @@ -396,10 +396,10 @@ class BillRepository implements BillRepositoryInterface, UserGroupInterface 'currency_symbol' => $currency->symbol, 'currency_decimal_places' => $currency->decimal_places, ]; - $result[$currencyId]['sum'] = bcadd($result[$currencyId]['sum'], $transaction->amount); + $result[$currencyId]['sum'] = bcadd($result[$currencyId]['sum'], (string) $transaction->amount); $result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->native_amount ?? '0'); if ($journal->foreign_currency_id === Amount::getNativeCurrency()->id) { - $result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->amount); + $result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], (string) $transaction->amount); } ++$result[$currencyId]['count']; } @@ -410,8 +410,8 @@ class BillRepository implements BillRepositoryInterface, UserGroupInterface * @var array $arr */ foreach ($result as $currencyId => $arr) { - $result[$currencyId]['avg'] = bcdiv($arr['sum'], (string) $arr['count']); - $result[$currencyId]['native_avg'] = bcdiv($arr['native_sum'], (string) $arr['count']); + $result[$currencyId]['avg'] = bcdiv((string) $arr['sum'], (string) $arr['count']); + $result[$currencyId]['native_avg'] = bcdiv((string) $arr['native_sum'], (string) $arr['count']); } return $result; diff --git a/app/Repositories/Budget/BudgetLimitRepository.php b/app/Repositories/Budget/BudgetLimitRepository.php index 719073f94f..1db1310429 100644 --- a/app/Repositories/Budget/BudgetLimitRepository.php +++ b/app/Repositories/Budget/BudgetLimitRepository.php @@ -96,7 +96,7 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface, UserGroup /** @var BudgetLimit $budgetLimit */ foreach ($set as $budgetLimit) { - $result = bcadd($budgetLimit->amount, $result); + $result = bcadd((string) $budgetLimit->amount, $result); } return $result; @@ -127,9 +127,7 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface, UserGroup public function getAllBudgetLimitsByCurrency(TransactionCurrency $currency, ?Carbon $start = null, ?Carbon $end = null): Collection { return $this->getAllBudgetLimits($start, $end)->filter( - static function (BudgetLimit $budgetLimit) use ($currency) { - return $budgetLimit->transaction_currency_id === $currency->id; - } + static fn(BudgetLimit $budgetLimit) => $budgetLimit->transaction_currency_id === $currency->id ); } diff --git a/app/Repositories/Budget/BudgetRepository.php b/app/Repositories/Budget/BudgetRepository.php index 858f48f417..09ffa8a636 100644 --- a/app/Repositories/Budget/BudgetRepository.php +++ b/app/Repositories/Budget/BudgetRepository.php @@ -121,7 +121,7 @@ class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface ]; // same period if ($limit->start_date->isSameDay($start) && $limit->end_date->isSameDay($end)) { - $return[$currencyCode]['sum'] = bcadd($return[$currencyCode]['sum'], $limit->amount); + $return[$currencyCode]['sum'] = bcadd($return[$currencyCode]['sum'], (string) $limit->amount); $return[$currencyCode]['native_sum'] = bcmul($rate, $return[$currencyCode]['sum']); app('log')->debug(sprintf('Add full amount [1]: %s', $limit->amount)); @@ -129,7 +129,7 @@ class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface } // limit is inside of date range if ($start->lte($limit->start_date) && $end->gte($limit->end_date)) { - $return[$currencyCode]['sum'] = bcadd($return[$currencyCode]['sum'], $limit->amount); + $return[$currencyCode]['sum'] = bcadd($return[$currencyCode]['sum'], (string) $limit->amount); $return[$currencyCode]['native_sum'] = bcmul($rate, $return[$currencyCode]['sum']); app('log')->debug(sprintf('Add full amount [2]: %s', $limit->amount)); @@ -137,13 +137,13 @@ class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface } $total = $limit->start_date->diffInDays($limit->end_date, true) + 1; // include the day itself. $days = $this->daysInOverlap($limit, $start, $end); - $amount = bcmul(bcdiv($limit->amount, (string) $total), (string) $days); + $amount = bcmul(bcdiv((string) $limit->amount, (string) $total), (string) $days); $return[$currencyCode]['sum'] = bcadd($return[$currencyCode]['sum'], $amount); $return[$currencyCode]['native_sum'] = bcmul($rate, $return[$currencyCode]['sum']); app('log')->debug( sprintf( 'Amount per day: %s (%s over %d days). Total amount for %d days: %s', - bcdiv($limit->amount, (string) $total), + bcdiv((string) $limit->amount, (string) $total), $limit->amount, $total, $days, @@ -225,26 +225,26 @@ class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface ]; // same period if ($limit->start_date->isSameDay($start) && $limit->end_date->isSameDay($end)) { - $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], $limit->amount); + $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], (string) $limit->amount); app('log')->debug(sprintf('Add full amount [1]: %s', $limit->amount)); continue; } // limit is inside of date range if ($start->lte($limit->start_date) && $end->gte($limit->end_date)) { - $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], $limit->amount); + $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], (string) $limit->amount); app('log')->debug(sprintf('Add full amount [2]: %s', $limit->amount)); continue; } $total = $limit->start_date->diffInDays($limit->end_date) + 1; // include the day itself. $days = $this->daysInOverlap($limit, $start, $end); - $amount = bcmul(bcdiv($limit->amount, (string) $total), (string) $days); + $amount = bcmul(bcdiv((string) $limit->amount, (string) $total), (string) $days); $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], $amount); app('log')->debug( sprintf( 'Amount per day: %s (%s over %d days). Total amount for %d days: %s', - bcdiv($limit->amount, (string) $total), + bcdiv((string) $limit->amount, (string) $total), $limit->amount, $total, $days, @@ -632,7 +632,7 @@ class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface 'decimal_places' => $journal['currency_decimal_places'], 'sum' => '0', ]; - $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->negative($journal['amount'])); + $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], (string) app('steam')->negative($journal['amount'])); // also do foreign amount: $foreignId = (int) $journal['foreign_currency_id']; @@ -645,7 +645,7 @@ class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface 'decimal_places' => $journal['foreign_currency_decimal_places'], 'sum' => '0', ]; - $array[$foreignId]['sum'] = bcadd($array[$foreignId]['sum'], app('steam')->negative($journal['foreign_amount'])); + $array[$foreignId]['sum'] = bcadd($array[$foreignId]['sum'], (string) app('steam')->negative($journal['foreign_amount'])); } } @@ -694,7 +694,7 @@ class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface 'decimal_places' => $journal['currency_decimal_places'], 'sum' => '0', ]; - $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->negative($journal['amount'])); + $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], (string) app('steam')->negative($journal['amount'])); // also do foreign amount: $foreignId = (int) $journal['foreign_currency_id']; @@ -707,7 +707,7 @@ class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface 'decimal_places' => $journal['foreign_currency_decimal_places'], 'sum' => '0', ]; - $array[$foreignId]['sum'] = bcadd($array[$foreignId]['sum'], app('steam')->negative($journal['foreign_amount'])); + $array[$foreignId]['sum'] = bcadd($array[$foreignId]['sum'], (string) app('steam')->negative($journal['foreign_amount'])); } } diff --git a/app/Repositories/Budget/NoBudgetRepository.php b/app/Repositories/Budget/NoBudgetRepository.php index fa9d367d8a..a82f593217 100644 --- a/app/Repositories/Budget/NoBudgetRepository.php +++ b/app/Repositories/Budget/NoBudgetRepository.php @@ -73,7 +73,7 @@ class NoBudgetRepository implements NoBudgetRepositoryInterface, UserGroupInterf if (!array_key_exists($date, $data[$currencyId]['entries'])) { $data[$currencyId]['entries'][$date] = '0'; } - $data[$currencyId]['entries'][$date] = bcadd($data[$currencyId]['entries'][$date], $journal['amount']); + $data[$currencyId]['entries'][$date] = bcadd($data[$currencyId]['entries'][$date], (string) $journal['amount']); } return $data; diff --git a/app/Repositories/Budget/OperationsRepository.php b/app/Repositories/Budget/OperationsRepository.php index db4d43834d..45bd5d505f 100644 --- a/app/Repositories/Budget/OperationsRepository.php +++ b/app/Repositories/Budget/OperationsRepository.php @@ -57,7 +57,7 @@ class OperationsRepository implements OperationsRepositoryInterface, UserGroupIn $diff = (int) $limit->start_date->diffInDays($limit->end_date, true); $diff = 0 === $diff ? 1 : $diff; $amount = $limit->amount; - $perDay = bcdiv($amount, (string) $diff); + $perDay = bcdiv((string) $amount, (string) $diff); $total = bcadd($total, $perDay); ++$count; app('log')->debug(sprintf('Found %d budget limits. Per day is %s, total is %s', $count, $perDay, $total)); @@ -110,7 +110,7 @@ class OperationsRepository implements OperationsRepositoryInterface, UserGroupIn 'entries' => [], ]; $date = $journal['date']->format($carbonFormat); - $data[$key]['entries'][$date] = bcadd($data[$key]['entries'][$date] ?? '0', $journal['amount']); + $data[$key]['entries'][$date] = bcadd($data[$key]['entries'][$date] ?? '0', (string) $journal['amount']); } return $data; diff --git a/app/Repositories/Category/NoCategoryRepository.php b/app/Repositories/Category/NoCategoryRepository.php index f674cc04d0..8c687125f6 100644 --- a/app/Repositories/Category/NoCategoryRepository.php +++ b/app/Repositories/Category/NoCategoryRepository.php @@ -174,7 +174,7 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface, UserGroupIn 'currency_code' => $journal['currency_code'], 'currency_decimal_places' => $journal['currency_decimal_places'], ]; - $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->positive($journal['amount'])); + $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], (string) app('steam')->positive($journal['amount'])); } return $array; @@ -202,7 +202,7 @@ class NoCategoryRepository implements NoCategoryRepositoryInterface, UserGroupIn 'currency_code' => $journal['currency_code'], 'currency_decimal_places' => $journal['currency_decimal_places'], ]; - $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->positive($journal['amount'])); + $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], (string) app('steam')->positive($journal['amount'])); } return $array; diff --git a/app/Repositories/Category/OperationsRepository.php b/app/Repositories/Category/OperationsRepository.php index 5e537041b6..ff98d9bdab 100644 --- a/app/Repositories/Category/OperationsRepository.php +++ b/app/Repositories/Category/OperationsRepository.php @@ -402,7 +402,7 @@ class OperationsRepository implements OperationsRepositoryInterface, UserGroupIn 'currency_code' => $currencyCode, 'currency_decimal_places' => $currencyDecimalPlaces, ]; - $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->positive($amount)); + $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], (string) app('steam')->positive($amount)); } return $array; @@ -439,7 +439,7 @@ class OperationsRepository implements OperationsRepositoryInterface, UserGroupIn 'currency_code' => $journal['currency_code'], 'currency_decimal_places' => $journal['currency_decimal_places'], ]; - $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->positive($journal['amount'])); + $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], (string) app('steam')->positive($journal['amount'])); } return $array; diff --git a/app/Repositories/Currency/CurrencyRepository.php b/app/Repositories/Currency/CurrencyRepository.php index f6c00d39a4..2738577563 100644 --- a/app/Repositories/Currency/CurrencyRepository.php +++ b/app/Repositories/Currency/CurrencyRepository.php @@ -179,12 +179,8 @@ class CurrencyRepository implements CurrencyRepositoryInterface, UserGroupInterf $local = $this->get(); return $all->map(static function (TransactionCurrency $current) use ($local) { - $hasId = $local->contains(static function (TransactionCurrency $entry) use ($current) { - return $entry->id === $current->id; - }); - $isNative = $local->contains(static function (TransactionCurrency $entry) use ($current) { - return 1 === (int) $entry->pivot->group_default && $entry->id === $current->id; - }); + $hasId = $local->contains(static fn(TransactionCurrency $entry) => $entry->id === $current->id); + $isNative = $local->contains(static fn(TransactionCurrency $entry) => 1 === (int) $entry->pivot->group_default && $entry->id === $current->id); $current->userGroupEnabled = $hasId; $current->userGroupNative = $isNative; diff --git a/app/Repositories/LinkType/LinkTypeRepository.php b/app/Repositories/LinkType/LinkTypeRepository.php index 024e097959..3485e9560f 100644 --- a/app/Repositories/LinkType/LinkTypeRepository.php +++ b/app/Repositories/LinkType/LinkTypeRepository.php @@ -151,9 +151,7 @@ class LinkTypeRepository implements LinkTypeRepositoryInterface, UserGroupInterf $merged = $outward->merge($inward); return $merged->filter( - static function (TransactionJournalLink $link) { - return null !== $link->source && null !== $link->destination; - } + static fn(TransactionJournalLink $link) => null !== $link->source && null !== $link->destination ); } @@ -285,8 +283,8 @@ class LinkTypeRepository implements LinkTypeRepositoryInterface, UserGroupInterf */ public function updateLink(TransactionJournalLink $journalLink, array $data): TransactionJournalLink { - $journalLink->source_id = null === $data['inward_id'] ? $journalLink->source_id : $data['inward_id']; - $journalLink->destination_id = null === $data['outward_id'] ? $journalLink->destination_id : $data['outward_id']; + $journalLink->source_id = $data['inward_id'] ?? $journalLink->source_id; + $journalLink->destination_id = $data['outward_id'] ?? $journalLink->destination_id; $journalLink->save(); if (array_key_exists('link_type_name', $data)) { $linkType = LinkType::whereName($data['link_type_name'])->first(); @@ -297,7 +295,7 @@ class LinkTypeRepository implements LinkTypeRepositoryInterface, UserGroupInterf $journalLink->refresh(); } - $journalLink->link_type_id = null === $data['link_type_id'] ? $journalLink->link_type_id : $data['link_type_id']; + $journalLink->link_type_id = $data['link_type_id'] ?? $journalLink->link_type_id; $journalLink->save(); if (array_key_exists('notes', $data) && null !== $data['notes']) { $this->setNoteText($journalLink, $data['notes']); diff --git a/app/Repositories/PiggyBank/ModifiesPiggyBanks.php b/app/Repositories/PiggyBank/ModifiesPiggyBanks.php index 0be738ef48..dd05aefcc4 100644 --- a/app/Repositories/PiggyBank/ModifiesPiggyBanks.php +++ b/app/Repositories/PiggyBank/ModifiesPiggyBanks.php @@ -65,7 +65,7 @@ trait ModifiesPiggyBanks { $currentAmount = $this->getCurrentAmount($piggyBank, $account); $pivot = $piggyBank->accounts()->where('accounts.id', $account->id)->first()->pivot; - $pivot->current_amount = bcsub($currentAmount, $amount); + $pivot->current_amount = bcsub((string) $currentAmount, $amount); $pivot->native_current_amount = null; // also update native_current_amount. @@ -88,7 +88,7 @@ trait ModifiesPiggyBanks { $currentAmount = $this->getCurrentAmount($piggyBank, $account); $pivot = $piggyBank->accounts()->where('accounts.id', $account->id)->first()->pivot; - $pivot->current_amount = bcadd($currentAmount, $amount); + $pivot->current_amount = bcadd((string) $currentAmount, $amount); $pivot->native_current_amount = null; // also update native_current_amount. @@ -120,13 +120,13 @@ trait ModifiesPiggyBanks if (0 !== bccomp($piggyBank->target_amount, '0')) { - $leftToSave = bcsub($piggyBank->target_amount, $savedSoFar); - $maxAmount = 1 === bccomp($leftOnAccount, $leftToSave) ? $leftToSave : $leftOnAccount; + $leftToSave = bcsub($piggyBank->target_amount, (string) $savedSoFar); + $maxAmount = 1 === bccomp((string) $leftOnAccount, $leftToSave) ? $leftToSave : $leftOnAccount; Log::debug(sprintf('Left to save: %s', $leftToSave)); Log::debug(sprintf('Maximum amount: %s', $maxAmount)); } - $compare = bccomp($amount, $maxAmount); + $compare = bccomp($amount, (string) $maxAmount); $result = $compare <= 0; Log::debug(sprintf('Compare <= 0? %d, so canAddAmount is %s', $compare, var_export($result, true))); @@ -138,7 +138,7 @@ trait ModifiesPiggyBanks { $savedSoFar = $this->getCurrentAmount($piggyBank, $account); - return bccomp($amount, $savedSoFar) <= 0; + return bccomp($amount, (string) $savedSoFar) <= 0; } /** @@ -169,7 +169,7 @@ trait ModifiesPiggyBanks if (1 === bccomp($amount, $max) && 0 !== bccomp($piggyBank->target_amount, '0')) { $amount = $max; } - $difference = bcsub($amount, $repetition->current_amount); + $difference = bcsub($amount, (string) $repetition->current_amount); $repetition->current_amount = $amount; $repetition->save(); @@ -232,9 +232,9 @@ trait ModifiesPiggyBanks // if the piggy bank is now smaller than the sum of the money saved, // remove money from all accounts until the piggy bank is the right amount. $currentAmount = $this->getCurrentAmount($piggyBank); - if (1 === bccomp($currentAmount, $piggyBank->target_amount) && 0 !== bccomp($piggyBank->target_amount, '0')) { + if (1 === bccomp((string) $currentAmount, (string) $piggyBank->target_amount) && 0 !== bccomp((string) $piggyBank->target_amount, '0')) { Log::debug(sprintf('Current amount is %s, target amount is %s', $currentAmount, $piggyBank->target_amount)); - $difference = bcsub($piggyBank->target_amount, $currentAmount); + $difference = bcsub((string) $piggyBank->target_amount, (string) $currentAmount); // an amount will be removed, create "negative" event: // Log::debug(sprintf('ChangedAmount: is triggered with difference "%s"', $difference)); @@ -365,14 +365,14 @@ trait ModifiesPiggyBanks foreach ($piggyBank->accounts as $account) { $current = $account->pivot->current_amount; // if this account contains more than the amount, remove the amount and return. - if (1 === bccomp($current, $amount)) { + if (1 === bccomp((string) $current, $amount)) { $this->removeAmount($piggyBank, $account, $amount); return; } // if this account contains less than the amount, remove the current amount, update the amount and continue. $this->removeAmount($piggyBank, $account, $current); - $amount = bcsub($amount, $current); + $amount = bcsub($amount, (string) $current); } } } diff --git a/app/Repositories/PiggyBank/PiggyBankRepository.php b/app/Repositories/PiggyBank/PiggyBankRepository.php index 5b093fda89..4118bee399 100644 --- a/app/Repositories/PiggyBank/PiggyBankRepository.php +++ b/app/Repositories/PiggyBank/PiggyBankRepository.php @@ -238,7 +238,7 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface, UserGroupInte app('log')->debug(sprintf('Will add/remove %f to piggy bank #%d ("%s")', $amount, $piggyBank->id, $piggyBank->name)); // if the amount is positive, make sure it fits in piggy bank: - if (1 === bccomp($amount, '0') && -1 === bccomp($room, $amount)) { + if (1 === bccomp($amount, '0') && -1 === bccomp((string) $room, $amount)) { // amount is positive and $room is smaller than $amount app('log')->debug(sprintf('Room in piggy bank for extra money is %f', $room)); app('log')->debug(sprintf('There is NO room to add %f to piggy bank #%d ("%s")', $amount, $piggyBank->id, $piggyBank->name)); @@ -349,7 +349,7 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface, UserGroupInte $now = today(config('app.timezone')); $startDate = null !== $piggyBank->start_date && $piggyBank->start_date->gte($now) ? $piggyBank->start_date : $now; $diffInMonths = (int) $startDate->diffInMonths($piggyBank->target_date); - $remainingAmount = bcsub($piggyBank->target_amount, $currentAmount); + $remainingAmount = bcsub((string) $piggyBank->target_amount, $currentAmount); // more than 1 month to go and still need money to save: if ($diffInMonths > 0 && 1 === bccomp($remainingAmount, '0')) { @@ -382,7 +382,7 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface, UserGroupInte /** @var PiggyBank $current */ foreach ($piggies as $current) { $amount = $this->getCurrentAmount($current, $account); - $balance = bcsub($balance, $amount); + $balance = bcsub((string) $balance, $amount); Log::debug(sprintf('Piggy bank: #%d with amount %s, balance is now %s', $current->id, $amount, $balance)); } Log::debug(sprintf('Final balance is: %s', $balance)); diff --git a/app/Repositories/Rule/RuleRepository.php b/app/Repositories/Rule/RuleRepository.php index ca214c6edd..1af214b037 100644 --- a/app/Repositories/Rule/RuleRepository.php +++ b/app/Repositories/Rule/RuleRepository.php @@ -142,8 +142,8 @@ class RuleRepository implements RuleRepositoryInterface, UserGroupInterface continue; } $triggerType = $trigger->trigger_type; - if (str_starts_with($trigger->trigger_type, '-')) { - $triggerType = substr($trigger->trigger_type, 1); + if (str_starts_with((string) $trigger->trigger_type, '-')) { + $triggerType = substr((string) $trigger->trigger_type, 1); } $needsContext = config(sprintf('search.operators.%s.needs_context', $triggerType)) ?? true; if (false === $needsContext) { @@ -359,7 +359,7 @@ class RuleRepository implements RuleRepositoryInterface, UserGroupInterface $stopProcessing = $trigger['stop_processing'] ?? false; $active = $trigger['active'] ?? true; $type = $trigger['type']; - if (true === ($trigger['prohibited'] ?? false) && !str_starts_with($type, '-')) { + if (true === ($trigger['prohibited'] ?? false) && !str_starts_with((string) $type, '-')) { $type = sprintf('-%s', $type); } diff --git a/app/Repositories/Tag/TagRepository.php b/app/Repositories/Tag/TagRepository.php index 3e74489477..425582b559 100644 --- a/app/Repositories/Tag/TagRepository.php +++ b/app/Repositories/Tag/TagRepository.php @@ -269,9 +269,9 @@ class TagRepository implements TagRepositoryInterface, UserGroupInterface $amount = app('steam')->positive((string) $journal['amount']); $type = $journal['transaction_type_type']; if (TransactionTypeEnum::WITHDRAWAL->value === $type) { - $amount = bcmul($amount, '-1'); + $amount = bcmul((string) $amount, '-1'); } - $sums[$currencyId][$type] = bcadd($sums[$currencyId][$type], $amount); + $sums[$currencyId][$type] = bcadd((string) $sums[$currencyId][$type], (string) $amount); $foreignCurrencyId = $journal['foreign_currency_id']; if (null !== $foreignCurrencyId && 0 !== $foreignCurrencyId) { @@ -289,9 +289,9 @@ class TagRepository implements TagRepositoryInterface, UserGroupInterface // add foreign amount to correct type: $amount = app('steam')->positive((string) $journal['foreign_amount']); if (TransactionTypeEnum::WITHDRAWAL->value === $type) { - $amount = bcmul($amount, '-1'); + $amount = bcmul((string) $amount, '-1'); } - $sums[$foreignCurrencyId][$type] = bcadd($sums[$foreignCurrencyId][$type], $amount); + $sums[$foreignCurrencyId][$type] = bcadd((string) $sums[$foreignCurrencyId][$type], (string) $amount); } } diff --git a/app/Repositories/TransactionGroup/TransactionGroupRepository.php b/app/Repositories/TransactionGroup/TransactionGroupRepository.php index 50eddb7fd6..c9c3063685 100644 --- a/app/Repositories/TransactionGroup/TransactionGroupRepository.php +++ b/app/Repositories/TransactionGroup/TransactionGroupRepository.php @@ -262,7 +262,7 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterface, if (null === $transaction->foreign_amount || '' === $transaction->foreign_amount) { return ''; } - if (0 === bccomp('0', $transaction->foreign_amount)) { + if (0 === bccomp('0', (string) $transaction->foreign_amount)) { return ''; } $currency = $transaction->foreignCurrency; diff --git a/app/Repositories/UserGroup/UserGroupRepository.php b/app/Repositories/UserGroup/UserGroupRepository.php index e75221c4e3..e2c266b5e1 100644 --- a/app/Repositories/UserGroup/UserGroupRepository.php +++ b/app/Repositories/UserGroup/UserGroupRepository.php @@ -140,7 +140,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface, UserGroupInte } if (null !== $existingGroup) { // group already exists - $groupName = sprintf('%s-%s', $user->email, substr(sha1(rand(1000, 9999).microtime()), 0, 4)); + $groupName = sprintf('%s-%s', $user->email, substr(sha1(random_int(1000, 9999).microtime()), 0, 4)); } ++$loop; } @@ -286,7 +286,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface, UserGroupInte foreach ($rolesSimplified as $role) { try { $enum = UserRoleEnum::from($role); - } catch (\ValueError $e) { + } catch (\ValueError) { // TODO error message continue; } diff --git a/app/Repositories/UserGroups/Account/AccountRepository.php b/app/Repositories/UserGroups/Account/AccountRepository.php index 37b0c24859..f9d5ad6f90 100644 --- a/app/Repositories/UserGroups/Account/AccountRepository.php +++ b/app/Repositories/UserGroups/Account/AccountRepository.php @@ -149,9 +149,7 @@ class AccountRepository implements AccountRepositoryInterface public function getMetaValue(Account $account, string $field): ?string { $result = $account->accountMeta->filter( - static function (AccountMeta $meta) use ($field) { - return strtolower($meta->name) === strtolower($field); - } + static fn(AccountMeta $meta) => strtolower($meta->name) === strtolower($field) ); if (0 === $result->count()) { return null; diff --git a/app/Repositories/UserGroups/Bill/BillRepository.php b/app/Repositories/UserGroups/Bill/BillRepository.php index ad2558a70f..df61518b1c 100644 --- a/app/Repositories/UserGroups/Bill/BillRepository.php +++ b/app/Repositories/UserGroups/Bill/BillRepository.php @@ -117,8 +117,8 @@ class BillRepository implements BillRepositoryInterface // ignore conversion, use foreign amount $nativeAmount = (string) $sourceTransaction->foreign_amount; } - $return[$currencyId]['sum'] = bcadd($return[$currencyId]['sum'], $amount); - $return[$currencyId]['native_sum'] = bcadd($return[$currencyId]['native_sum'], $nativeAmount); + $return[$currencyId]['sum'] = bcadd($return[$currencyId]['sum'], (string) $amount); + $return[$currencyId]['native_sum'] = bcadd($return[$currencyId]['native_sum'], (string) $nativeAmount); } } } @@ -153,7 +153,7 @@ class BillRepository implements BillRepositoryInterface if ($total > 0) { $currency = $bill->transactionCurrency; $currencyId = $bill->transaction_currency_id; - $average = bcdiv(bcadd($bill->amount_max, $bill->amount_min), '2'); + $average = bcdiv(bcadd((string) $bill->amount_max, (string) $bill->amount_min), '2'); $nativeAverage = $converter->convert($currency, $default, $start, $average); $return[$currencyId] ??= [ 'currency_id' => (string) $currency->id, diff --git a/app/Repositories/UserGroups/Budget/AvailableBudgetRepository.php b/app/Repositories/UserGroups/Budget/AvailableBudgetRepository.php index e6118cb938..277832c924 100644 --- a/app/Repositories/UserGroups/Budget/AvailableBudgetRepository.php +++ b/app/Repositories/UserGroups/Budget/AvailableBudgetRepository.php @@ -68,7 +68,7 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface 'native_amount' => '0', ]; $nativeAmount = $converter->convert($availableBudget->transactionCurrency, $default, $availableBudget->start_date, $availableBudget->amount); - $return[$currencyId]['amount'] = bcadd($return[$currencyId]['amount'], $availableBudget->amount); + $return[$currencyId]['amount'] = bcadd($return[$currencyId]['amount'], (string) $availableBudget->amount); $return[$currencyId]['native_amount'] = bcadd($return[$currencyId]['native_amount'], $nativeAmount); } $converter->summarize(); diff --git a/app/Repositories/UserGroups/Currency/CurrencyRepository.php b/app/Repositories/UserGroups/Currency/CurrencyRepository.php index d935fe6502..73098d5b0f 100644 --- a/app/Repositories/UserGroups/Currency/CurrencyRepository.php +++ b/app/Repositories/UserGroups/Currency/CurrencyRepository.php @@ -179,12 +179,8 @@ class CurrencyRepository implements CurrencyRepositoryInterface $local = $this->get(); return $all->map(static function (TransactionCurrency $current) use ($local) { - $hasId = $local->contains(static function (TransactionCurrency $entry) use ($current) { - return $entry->id === $current->id; - }); - $isNative = $local->contains(static function (TransactionCurrency $entry) use ($current) { - return 1 === (int) $entry->pivot->group_default && $entry->id === $current->id; - }); + $hasId = $local->contains(static fn(TransactionCurrency $entry) => $entry->id === $current->id); + $isNative = $local->contains(static fn(TransactionCurrency $entry) => 1 === (int) $entry->pivot->group_default && $entry->id === $current->id); $current->userGroupEnabled = $hasId; $current->userGroupNative = $isNative; diff --git a/app/Repositories/Webhook/WebhookRepository.php b/app/Repositories/Webhook/WebhookRepository.php index 0cc7dee0e2..c6a7827856 100644 --- a/app/Repositories/Webhook/WebhookRepository.php +++ b/app/Repositories/Webhook/WebhookRepository.php @@ -79,9 +79,9 @@ class WebhookRepository implements WebhookRepositoryInterface, UserGroupInterfac ->where('webhook_messages.errored', 0) ->get(['webhook_messages.*']) ->filter( - static function (WebhookMessage $message) { // @phpstan-ignore-line - return $message->webhookAttempts()->count() <= 2; - } + static fn(WebhookMessage $message) => + // @phpstan-ignore-line + $message->webhookAttempts()->count() <= 2 )->splice(0, 3) ; } diff --git a/app/Rules/BelongsUserGroup.php b/app/Rules/BelongsUserGroup.php index dc30295e27..ac67b72e95 100644 --- a/app/Rules/BelongsUserGroup.php +++ b/app/Rules/BelongsUserGroup.php @@ -42,14 +42,11 @@ use Illuminate\Contracts\Validation\ValidationRule; */ class BelongsUserGroup implements ValidationRule { - private UserGroup $userGroup; - /** * Create a new rule instance. */ - public function __construct(UserGroup $userGroup) + public function __construct(private readonly UserGroup $userGroup) { - $this->userGroup = $userGroup; } public function validate(string $attribute, mixed $value, \Closure $fail): void diff --git a/app/Rules/IsAllowedGroupAction.php b/app/Rules/IsAllowedGroupAction.php index 383edce267..b671526366 100644 --- a/app/Rules/IsAllowedGroupAction.php +++ b/app/Rules/IsAllowedGroupAction.php @@ -35,14 +35,10 @@ use Illuminate\Support\Facades\Log; class IsAllowedGroupAction implements ValidationRule { private array $acceptedRoles; - private string $className; - private string $methodName; - private UserGroupRepositoryInterface $repository; + private readonly UserGroupRepositoryInterface $repository; - public function __construct(string $className, string $methodName) + public function __construct(private readonly string $className, private readonly string $methodName) { - $this->className = $className; - $this->methodName = $methodName; // you need these roles to do anything with any endpoint. $this->acceptedRoles = [UserRoleEnum::OWNER, UserRoleEnum::FULL]; $this->repository = app(UserGroupRepositoryInterface::class); diff --git a/app/Rules/IsDefaultUserGroupName.php b/app/Rules/IsDefaultUserGroupName.php index 4113d222b7..70972a980a 100644 --- a/app/Rules/IsDefaultUserGroupName.php +++ b/app/Rules/IsDefaultUserGroupName.php @@ -34,11 +34,8 @@ use Illuminate\Contracts\Validation\ValidationRule; */ class IsDefaultUserGroupName implements ValidationRule { - private UserGroup $userGroup; - - public function __construct(UserGroup $userGroup) + public function __construct(private readonly UserGroup $userGroup) { - $this->userGroup = $userGroup; } /** diff --git a/app/Rules/IsFilterValueIn.php b/app/Rules/IsFilterValueIn.php index 3a08483811..c540748a53 100644 --- a/app/Rules/IsFilterValueIn.php +++ b/app/Rules/IsFilterValueIn.php @@ -28,13 +28,8 @@ use Illuminate\Contracts\Validation\ValidationRule; class IsFilterValueIn implements ValidationRule { - private string $key; - private array $values; - - public function __construct(string $key, array $values) + public function __construct(private readonly string $key, private readonly array $values) { - $this->key = $key; - $this->values = $values; } /** diff --git a/app/Rules/IsValidAttachmentModel.php b/app/Rules/IsValidAttachmentModel.php index 5a547d092a..16388e6242 100644 --- a/app/Rules/IsValidAttachmentModel.php +++ b/app/Rules/IsValidAttachmentModel.php @@ -47,7 +47,7 @@ use Illuminate\Contracts\Validation\ValidationRule; */ class IsValidAttachmentModel implements ValidationRule { - private string $model; + private readonly string $model; /** * IsValidAttachmentModel constructor. diff --git a/app/Rules/IsValidBulkClause.php b/app/Rules/IsValidBulkClause.php index 7487a8ba41..148d5600b1 100644 --- a/app/Rules/IsValidBulkClause.php +++ b/app/Rules/IsValidBulkClause.php @@ -64,7 +64,7 @@ class IsValidBulkClause implements ValidationRule { try { $array = \Safe\json_decode($value, true, 8, JSON_THROW_ON_ERROR); - } catch (\JsonException $e) { + } catch (\JsonException) { $this->error = (string) trans('validation.json'); return false; diff --git a/app/Rules/IsValidZeroOrMoreAmount.php b/app/Rules/IsValidZeroOrMoreAmount.php index 03df93bc00..be6e61e8d9 100644 --- a/app/Rules/IsValidZeroOrMoreAmount.php +++ b/app/Rules/IsValidZeroOrMoreAmount.php @@ -32,11 +32,9 @@ use Illuminate\Support\Facades\Log; class IsValidZeroOrMoreAmount implements ValidationRule { use ValidatesAmountsTrait; - private bool $nullable = false; - public function __construct(bool $nullable = false) + public function __construct(private bool $nullable = false) { - $this->nullable = $nullable; } /** diff --git a/app/Rules/UniqueAccountNumber.php b/app/Rules/UniqueAccountNumber.php index 921f78ae33..3e02e2c7e9 100644 --- a/app/Rules/UniqueAccountNumber.php +++ b/app/Rules/UniqueAccountNumber.php @@ -34,27 +34,22 @@ use Illuminate\Contracts\Validation\ValidationRule; */ class UniqueAccountNumber implements ValidationRule { - private ?Account $account; - private ?string $expectedType; - /** * Create a new rule instance. */ - public function __construct(?Account $account, ?string $expectedType) + public function __construct(private readonly ?Account $account, private ?string $expectedType) { app('log') ->debug('Constructed UniqueAccountNumber') ; - $this->account = $account; - $this->expectedType = $expectedType; // a very basic fix to make sure we get the correct account type: - if ('expense' === $expectedType) { + if ('expense' === $this->expectedType) { $this->expectedType = AccountTypeEnum::EXPENSE->value; } - if ('revenue' === $expectedType) { + if ('revenue' === $this->expectedType) { $this->expectedType = AccountTypeEnum::REVENUE->value; } - if ('asset' === $expectedType) { + if ('asset' === $this->expectedType) { $this->expectedType = AccountTypeEnum::ASSET->value; } app('log')->debug(sprintf('Expected type is "%s"', $this->expectedType)); diff --git a/app/Rules/UniqueIban.php b/app/Rules/UniqueIban.php index 62e6cdc89d..1a4167ee3f 100644 --- a/app/Rules/UniqueIban.php +++ b/app/Rules/UniqueIban.php @@ -34,15 +34,13 @@ use Illuminate\Contracts\Validation\ValidationRule; */ class UniqueIban implements ValidationRule { - private ?Account $account; private array $expectedTypes; /** * Create a new rule instance. */ - public function __construct(?Account $account, ?string $expectedType) + public function __construct(private readonly ?Account $account, ?string $expectedType) { - $this->account = $account; $this->expectedTypes = []; if (null === $expectedType) { return; diff --git a/app/Services/FireflyIIIOrg/Update/UpdateRequest.php b/app/Services/FireflyIIIOrg/Update/UpdateRequest.php index a72e1f35cb..29499570bc 100644 --- a/app/Services/FireflyIIIOrg/Update/UpdateRequest.php +++ b/app/Services/FireflyIIIOrg/Update/UpdateRequest.php @@ -100,7 +100,7 @@ class UpdateRequest implements UpdateRequestInterface try { $json = \Safe\json_decode($body, true, 512, JSON_THROW_ON_ERROR); - } catch (\JsonException $e) { + } catch (\JsonException) { Log::error('Body is not valid JSON'); Log::error($body); $return['message'] = 'Invalid JSON :('; diff --git a/app/Services/Internal/Support/AccountServiceTrait.php b/app/Services/Internal/Support/AccountServiceTrait.php index c43478a64e..75cb0ad95c 100644 --- a/app/Services/Internal/Support/AccountServiceTrait.php +++ b/app/Services/Internal/Support/AccountServiceTrait.php @@ -209,19 +209,19 @@ trait AccountServiceTrait $amount = array_key_exists('opening_balance', $data) ? $data['opening_balance'] : '0'; // amount is positive. - if (1 === bccomp($amount, '0')) { + if (1 === bccomp((string) $amount, '0')) { app('log')->debug(sprintf('Amount is %s, which is positive. Source is a new IB account, destination is #%d', $amount, $account->id)); $sourceName = trans('firefly.initial_balance_description', ['account' => $account->name], $language); $destId = $account->id; } // amount is not positive - if (-1 === bccomp($amount, '0')) { + if (-1 === bccomp((string) $amount, '0')) { app('log')->debug(sprintf('Amount is %s, which is negative. Destination is a new IB account, source is #%d', $amount, $account->id)); $destName = trans('firefly.initial_balance_account', ['account' => $account->name], $language); $sourceId = $account->id; } // amount is 0 - if (0 === bccomp($amount, '0')) { + if (0 === bccomp((string) $amount, '0')) { app('log')->debug('Amount is zero, so will not make an OB group.'); throw new FireflyException('Amount for new opening balance was unexpectedly 0.'); diff --git a/app/Services/Internal/Support/CreditRecalculateService.php b/app/Services/Internal/Support/CreditRecalculateService.php index f9368bac65..7c105ac472 100644 --- a/app/Services/Internal/Support/CreditRecalculateService.php +++ b/app/Services/Internal/Support/CreditRecalculateService.php @@ -192,7 +192,7 @@ class CreditRecalculateService // Log::debug(sprintf('Found %d transaction(s) to process.', $total)); /** @var Transaction $transaction */ - foreach ($transactions as $index => $transaction) { + foreach ($transactions as $transaction) { // Log::debug(sprintf('[%d/%d] Processing transaction.', $index + 1, $total)); $leftOfDebt = $this->processTransaction($account, $direction, $transaction, $leftOfDebt); } @@ -277,66 +277,66 @@ class CreditRecalculateService if ($isSameAccount && $isCredit && $this->isWithdrawalIn($usedAmount, $type)) { // case 1 $usedAmount = app('steam')->positive($usedAmount); - return bcadd($leftOfDebt, $usedAmount); + return bcadd($leftOfDebt, (string) $usedAmount); // Log::debug(sprintf('Case 1 (withdrawal into credit liability): %s + %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } if ($isSameAccount && $isCredit && $this->isWithdrawalOut($usedAmount, $type)) { // case 2 $usedAmount = app('steam')->positive($usedAmount); - return bcsub($leftOfDebt, $usedAmount); + return bcsub($leftOfDebt, (string) $usedAmount); // Log::debug(sprintf('Case 2 (withdrawal away from liability): %s - %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } if ($isSameAccount && $isCredit && $this->isDepositOut($usedAmount, $type)) { // case 3 $usedAmount = app('steam')->positive($usedAmount); - return bcsub($leftOfDebt, $usedAmount); + return bcsub($leftOfDebt, (string) $usedAmount); // Log::debug(sprintf('Case 3 (deposit away from liability): %s - %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } if ($isSameAccount && $isCredit && $this->isDepositIn($usedAmount, $type)) { // case 4 $usedAmount = app('steam')->positive($usedAmount); - return bcadd($leftOfDebt, $usedAmount); + return bcadd($leftOfDebt, (string) $usedAmount); // Log::debug(sprintf('Case 4 (deposit into credit liability): %s + %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } if ($isSameAccount && $isCredit && $this->isTransferIn($usedAmount, $type)) { // case 5 $usedAmount = app('steam')->positive($usedAmount); - return bcadd($leftOfDebt, $usedAmount); + return bcadd($leftOfDebt, (string) $usedAmount); // Log::debug(sprintf('Case 5 (transfer into credit liability): %s + %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } if ($isSameAccount && $isDebit && $this->isWithdrawalIn($usedAmount, $type)) { // case 6 $usedAmount = app('steam')->positive($usedAmount); - return bcsub($leftOfDebt, $usedAmount); + return bcsub($leftOfDebt, (string) $usedAmount); // Log::debug(sprintf('Case 6 (withdrawal into debit liability): %s - %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } if ($isSameAccount && $isDebit && $this->isDepositOut($usedAmount, $type)) { // case 7 $usedAmount = app('steam')->positive($usedAmount); - return bcadd($leftOfDebt, $usedAmount); + return bcadd($leftOfDebt, (string) $usedAmount); // Log::debug(sprintf('Case 7 (deposit away from liability): %s + %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } if ($isSameAccount && $isDebit && $this->isWithdrawalOut($usedAmount, $type)) { // case 8 $usedAmount = app('steam')->positive($usedAmount); - return bcadd($leftOfDebt, $usedAmount); + return bcadd($leftOfDebt, (string) $usedAmount); // Log::debug(sprintf('Case 8 (withdrawal away from liability): %s + %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } if ($isSameAccount && $isDebit && $this->isTransferIn($usedAmount, $type)) { // case 9 $usedAmount = app('steam')->positive($usedAmount); - return bcsub($leftOfDebt, $usedAmount); + return bcsub($leftOfDebt, (string) $usedAmount); // 2024-10-05, #9225 this used to say you would owe more, but a transfer INTO a debit from wherever means you owe LESS. // Log::debug(sprintf('Case 9 (transfer into debit liability, means you owe LESS): %s - %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } if ($isSameAccount && $isDebit && $this->isTransferOut($usedAmount, $type)) { // case 10 $usedAmount = app('steam')->positive($usedAmount); - return bcadd($leftOfDebt, $usedAmount); + return bcadd($leftOfDebt, (string) $usedAmount); // 2024-10-05, #9225 this used to say you would owe less, but a transfer OUT OF a debit from wherever means you owe MORE. // Log::debug(sprintf('Case 10 (transfer out of debit liability, means you owe MORE): %s + %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } @@ -345,7 +345,7 @@ class CreditRecalculateService if (in_array($type, [TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value, TransactionTypeEnum::TRANSFER->value], true)) { $usedAmount = app('steam')->negative($usedAmount); - return bcadd($leftOfDebt, $usedAmount); + return bcadd($leftOfDebt, (string) $usedAmount); // Log::debug(sprintf('Case X (all other cases): %s + %s = %s', app('steam')->bcround($leftOfDebt, 2), app('steam')->bcround($usedAmount, 2), app('steam')->bcround($result, 2))); } diff --git a/app/Services/Internal/Update/CategoryUpdateService.php b/app/Services/Internal/Update/CategoryUpdateService.php index e4f02544fd..aff42c2d05 100644 --- a/app/Services/Internal/Update/CategoryUpdateService.php +++ b/app/Services/Internal/Update/CategoryUpdateService.php @@ -149,7 +149,7 @@ class CategoryUpdateService $dbNote = new Note(); $dbNote->noteable()->associate($category); } - $dbNote->text = trim($note); + $dbNote->text = trim((string) $note); $dbNote->save(); } } diff --git a/app/Support/Amount.php b/app/Support/Amount.php index f01ab27085..e4b792acd7 100644 --- a/app/Support/Amount.php +++ b/app/Support/Amount.php @@ -122,10 +122,10 @@ class Amount $result = (string) $fmt->format((float) $rounded); // intentional float if (true === $coloured) { - if (1 === bccomp($rounded, '0')) { + if (1 === bccomp((string) $rounded, '0')) { return sprintf('%s', $result); } - if (-1 === bccomp($rounded, '0')) { + if (-1 === bccomp((string) $rounded, '0')) { return sprintf('%s', $result); } diff --git a/app/Support/Authentication/RemoteUserGuard.php b/app/Support/Authentication/RemoteUserGuard.php index c73cd0da42..31d4874d52 100644 --- a/app/Support/Authentication/RemoteUserGuard.php +++ b/app/Support/Authentication/RemoteUserGuard.php @@ -39,19 +39,17 @@ use Illuminate\Support\Facades\Log; class RemoteUserGuard implements Guard { protected Application $application; - protected UserProvider $provider; protected ?User $user; /** * Create a new authentication guard. */ - public function __construct(UserProvider $provider, Application $app) + public function __construct(protected UserProvider $provider, Application $app) { /** @var null|Request $request */ $request = $app->get('request'); Log::debug(sprintf('Created RemoteUserGuard for %s "%s"', $request?->getMethod(), $request?->getRequestUri())); $this->application = $app; - $this->provider = $provider; $this->user = null; } @@ -59,7 +57,7 @@ class RemoteUserGuard implements Guard { Log::debug(sprintf('Now at %s', __METHOD__)); if (null !== $this->user) { - Log::debug(sprintf('%s is found: #%d, "%s".', get_class($this->user), $this->user->id, $this->user->email)); + Log::debug(sprintf('%s is found: #%d, "%s".', $this->user::class, $this->user->id, $this->user->email)); return; } diff --git a/app/Support/CacheProperties.php b/app/Support/CacheProperties.php index 5f783af1c1..a79633497f 100644 --- a/app/Support/CacheProperties.php +++ b/app/Support/CacheProperties.php @@ -80,7 +80,7 @@ class CacheProperties foreach ($this->properties as $property) { try { $content = sprintf('%s%s', $content, \Safe\json_encode($property, JSON_THROW_ON_ERROR)); - } catch (\JsonException $e) { + } catch (\JsonException) { // @ignoreException $content = sprintf('%s%s', $content, hash('sha256', (string) time())); } diff --git a/app/Support/Chart/Budget/FrontpageChartGenerator.php b/app/Support/Chart/Budget/FrontpageChartGenerator.php index 530ffbd8c9..4ce9d137f9 100644 --- a/app/Support/Chart/Budget/FrontpageChartGenerator.php +++ b/app/Support/Chart/Budget/FrontpageChartGenerator.php @@ -40,8 +40,8 @@ use Illuminate\Support\Facades\Log; class FrontpageChartGenerator { protected OperationsRepositoryInterface $opsRepository; - private BudgetLimitRepositoryInterface $blRepository; - private BudgetRepositoryInterface $budgetRepository; + private readonly BudgetLimitRepositoryInterface $blRepository; + private readonly BudgetRepositoryInterface $budgetRepository; private Carbon $end; private string $monthAndDayFormat; private Carbon $start; @@ -119,7 +119,7 @@ class FrontpageChartGenerator /** @var array $entry */ foreach ($spent as $entry) { $title = sprintf('%s (%s)', $budget->name, $entry['currency_name']); - $data[0]['entries'][$title] = bcmul($entry['sum'], '-1'); // spent + $data[0]['entries'][$title] = bcmul((string) $entry['sum'], '-1'); // spent $data[1]['entries'][$title] = 0; // left to spend $data[2]['entries'][$title] = 0; // overspent } @@ -203,15 +203,15 @@ class FrontpageChartGenerator $amount = $limit->native_amount; Log::debug(sprintf('Amount is now "%s".', $amount)); } - $amount = null === $amount ? '0' : $amount; - $sumSpent = bcmul($entry['sum'], '-1'); // spent + $amount ??= '0'; + $sumSpent = bcmul((string) $entry['sum'], '-1'); // spent $data[0]['entries'][$title] ??= '0'; $data[1]['entries'][$title] ??= '0'; $data[2]['entries'][$title] ??= '0'; - $data[0]['entries'][$title] = bcadd($data[0]['entries'][$title], 1 === bccomp($sumSpent, $amount) ? $amount : $sumSpent); // spent - $data[1]['entries'][$title] = bcadd($data[1]['entries'][$title], 1 === bccomp($amount, $sumSpent) ? bcadd($entry['sum'], $amount) : '0'); // left to spent - $data[2]['entries'][$title] = bcadd($data[2]['entries'][$title], 1 === bccomp($amount, $sumSpent) ? '0' : bcmul(bcadd($entry['sum'], $amount), '-1')); // overspent + $data[0]['entries'][$title] = bcadd((string) $data[0]['entries'][$title], 1 === bccomp($sumSpent, $amount) ? $amount : $sumSpent); // spent + $data[1]['entries'][$title] = bcadd((string) $data[1]['entries'][$title], 1 === bccomp($amount, $sumSpent) ? bcadd((string) $entry['sum'], $amount) : '0'); // left to spent + $data[2]['entries'][$title] = bcadd((string) $data[2]['entries'][$title], 1 === bccomp($amount, $sumSpent) ? '0' : bcmul(bcadd((string) $entry['sum'], $amount), '-1')); // overspent Log::debug(sprintf('Amount [spent] is now %s.', $data[0]['entries'][$title])); Log::debug(sprintf('Amount [left] is now %s.', $data[1]['entries'][$title])); diff --git a/app/Support/Chart/Category/FrontpageChartGenerator.php b/app/Support/Chart/Category/FrontpageChartGenerator.php index ddba057a18..12882ae050 100644 --- a/app/Support/Chart/Category/FrontpageChartGenerator.php +++ b/app/Support/Chart/Category/FrontpageChartGenerator.php @@ -45,22 +45,18 @@ class FrontpageChartGenerator private AccountRepositoryInterface $accountRepos; private array $currencies; - private Carbon $end; private NoCategoryRepositoryInterface $noCatRepos; private OperationsRepositoryInterface $opsRepos; private CategoryRepositoryInterface $repository; public bool $convertToNative = false; public TransactionCurrency $defaultCurrency; - private Carbon $start; /** * FrontpageChartGenerator constructor. */ - public function __construct(Carbon $start, Carbon $end) + public function __construct(private Carbon $start, private Carbon $end) { $this->currencies = []; - $this->start = $start; - $this->end = $end; $this->repository = app(CategoryRepositoryInterface::class); $this->accountRepos = app(AccountRepositoryInterface::class); $this->opsRepos = app(OperationsRepositoryInterface::class); diff --git a/app/Support/Form/FormSupport.php b/app/Support/Form/FormSupport.php index 06d50030ff..4b0417f2be 100644 --- a/app/Support/Form/FormSupport.php +++ b/app/Support/Form/FormSupport.php @@ -75,7 +75,7 @@ trait FormSupport $options['class'] = 'form-control'; $options['id'] = 'ffInput_'.$name; $options['autocomplete'] = 'off'; - $options['placeholder'] = ucfirst($label); + $options['placeholder'] = ucfirst((string) $label); return $options; } diff --git a/app/Support/Http/Api/AccountBalanceGrouped.php b/app/Support/Http/Api/AccountBalanceGrouped.php index 95c5e2ea69..d4763ea6ed 100644 --- a/app/Support/Http/Api/AccountBalanceGrouped.php +++ b/app/Support/Http/Api/AccountBalanceGrouped.php @@ -38,7 +38,7 @@ class AccountBalanceGrouped { private array $accountIds; private string $carbonFormat; - private ExchangeRateConverter $converter; + private readonly ExchangeRateConverter $converter; private array $currencies = []; private array $data = []; private TransactionCurrency $default; @@ -157,7 +157,7 @@ class AccountBalanceGrouped // get conversion rate $rate = $this->getRate($currency, $journal['date']); - $amountConverted = bcmul($amount, $rate); + $amountConverted = bcmul((string) $amount, $rate); // perhaps transaction already has the foreign amount in the native currency. if ((int) $journal['foreign_currency_id'] === $this->default->id) { @@ -166,11 +166,11 @@ class AccountBalanceGrouped } // add normal entry - $this->data[$currencyId][$period][$key] = bcadd($this->data[$currencyId][$period][$key], $amount); + $this->data[$currencyId][$period][$key] = bcadd((string) $this->data[$currencyId][$period][$key], (string) $amount); // add converted entry $convertedKey = sprintf('native_%s', $key); - $this->data[$currencyId][$period][$convertedKey] = bcadd($this->data[$currencyId][$period][$convertedKey], $amountConverted); + $this->data[$currencyId][$period][$convertedKey] = bcadd((string) $this->data[$currencyId][$period][$convertedKey], (string) $amountConverted); } private function findCurrency(int $currencyId): TransactionCurrency diff --git a/app/Support/Http/Api/SummaryBalanceGrouped.php b/app/Support/Http/Api/SummaryBalanceGrouped.php index 1f03ed2e5d..f9fbd65aac 100644 --- a/app/Support/Http/Api/SummaryBalanceGrouped.php +++ b/app/Support/Http/Api/SummaryBalanceGrouped.php @@ -33,7 +33,7 @@ class SummaryBalanceGrouped private const string SUM = 'sum'; private array $amounts = []; private array $currencies; - private CurrencyRepositoryInterface $currencyRepository; + private readonly CurrencyRepositoryInterface $currencyRepository; private TransactionCurrency $default; private array $keys; @@ -109,7 +109,7 @@ class SummaryBalanceGrouped foreach ($journals as $journal) { // transaction info: $currencyId = (int) $journal['currency_id']; - $amount = bcmul($journal['amount'], $multiplier); + $amount = bcmul((string) $journal['amount'], $multiplier); $currency = $this->currencies[$currencyId] ?? TransactionCurrency::find($currencyId); $this->currencies[$currencyId] = $currency; $nativeAmount = $converter->convert($currency, $this->default, $journal['date'], $amount); @@ -125,10 +125,10 @@ class SummaryBalanceGrouped $this->amounts[self::SUM]['native'] ??= '0'; // add values: - $this->amounts[$key][$currencyId] = bcadd($this->amounts[$key][$currencyId], $amount); - $this->amounts[self::SUM][$currencyId] = bcadd($this->amounts[self::SUM][$currencyId], $amount); - $this->amounts[$key]['native'] = bcadd($this->amounts[$key]['native'], $nativeAmount); - $this->amounts[self::SUM]['native'] = bcadd($this->amounts[self::SUM]['native'], $nativeAmount); + $this->amounts[$key][$currencyId] = bcadd((string) $this->amounts[$key][$currencyId], $amount); + $this->amounts[self::SUM][$currencyId] = bcadd((string) $this->amounts[self::SUM][$currencyId], $amount); + $this->amounts[$key]['native'] = bcadd((string) $this->amounts[$key]['native'], (string) $nativeAmount); + $this->amounts[self::SUM]['native'] = bcadd((string) $this->amounts[self::SUM]['native'], (string) $nativeAmount); } $converter->summarize(); } diff --git a/app/Support/Http/Controllers/AugumentData.php b/app/Support/Http/Controllers/AugumentData.php index 301c4904c8..487446d6d1 100644 --- a/app/Support/Http/Controllers/AugumentData.php +++ b/app/Support/Http/Controllers/AugumentData.php @@ -110,7 +110,7 @@ trait AugumentData $grouped = $accounts->groupBy('id')->toArray(); $return = []; foreach ($accountIds as $combinedId) { - $parts = explode('-', $combinedId); + $parts = explode('-', (string) $combinedId); $accountId = (int) $parts[0]; if (array_key_exists($accountId, $grouped)) { $return[$accountId] = $grouped[$accountId][0]['name']; @@ -152,7 +152,7 @@ trait AugumentData $grouped = $categories->groupBy('id')->toArray(); $return = []; foreach ($categoryIds as $combinedId) { - $parts = explode('-', $combinedId); + $parts = explode('-', (string) $combinedId); $categoryId = (int) $parts[0]; if (array_key_exists($categoryId, $grouped)) { $return[$categoryId] = $grouped[$categoryId][0]['name']; @@ -249,7 +249,7 @@ trait AugumentData } $grouped[$name] ??= '0'; - $grouped[$name] = bcadd($journal['amount'], $grouped[$name]); + $grouped[$name] = bcadd((string) $journal['amount'], $grouped[$name]); } return $grouped; @@ -287,8 +287,8 @@ trait AugumentData } // add amount - $sum['per_currency'][$currencyId]['sum'] = bcadd($sum['per_currency'][$currencyId]['sum'], $journal['amount']); - $sum['grand_sum'] = bcadd($sum['grand_sum'], $journal['amount']); + $sum['per_currency'][$currencyId]['sum'] = bcadd($sum['per_currency'][$currencyId]['sum'], (string) $journal['amount']); + $sum['grand_sum'] = bcadd($sum['grand_sum'], (string) $journal['amount']); } return $sum; diff --git a/app/Support/Http/Controllers/PeriodOverview.php b/app/Support/Http/Controllers/PeriodOverview.php index 79b4979029..82b4165f22 100644 --- a/app/Support/Http/Controllers/PeriodOverview.php +++ b/app/Support/Http/Controllers/PeriodOverview.php @@ -135,11 +135,11 @@ trait PeriodOverview foreach ($transactions as $index => $item) { $date = Carbon::parse($item['date']); if ($date >= $start && $date <= $end) { - if ('away' === $direction && -1 === bccomp($item['amount'], '0')) { + if ('away' === $direction && -1 === bccomp((string) $item['amount'], '0')) { $result[] = $item; unset($transactions[$index]); } - if ('in' === $direction && 1 === bccomp($item['amount'], '0')) { + if ('in' === $direction && 1 === bccomp((string) $item['amount'], '0')) { $result[] = $item; unset($transactions[$index]); } diff --git a/app/Support/JsonApi/Enrichments/TransactionGroupEnrichment.php b/app/Support/JsonApi/Enrichments/TransactionGroupEnrichment.php index ff70a0ba5f..45a79daac1 100644 --- a/app/Support/JsonApi/Enrichments/TransactionGroupEnrichment.php +++ b/app/Support/JsonApi/Enrichments/TransactionGroupEnrichment.php @@ -50,7 +50,7 @@ class TransactionGroupEnrichment implements EnrichmentInterface private User $user; // @phpstan-ignore-line private UserGroup $userGroup; // @phpstan-ignore-line private array $metaData; - private array $dateFields; + private readonly array $dateFields; private array $attachmentCount; public function __construct() diff --git a/app/Support/Models/AccountBalanceCalculator.php b/app/Support/Models/AccountBalanceCalculator.php index 11ee28f04b..ce1e9874aa 100644 --- a/app/Support/Models/AccountBalanceCalculator.php +++ b/app/Support/Models/AccountBalanceCalculator.php @@ -101,7 +101,7 @@ class AccountBalanceCalculator // before and after are easy: $before = $balances[$entry->account_id][$entry->transaction_currency_id][0]; - $after = bcadd($before, $entry->amount); + $after = bcadd($before, (string) $entry->amount); if (true === $entry->balance_dirty || $accounts->count() > 0) { // update the transaction: $entry->balance_before = $before; diff --git a/app/Support/Models/BillDateCalculator.php b/app/Support/Models/BillDateCalculator.php index f8b5e9f376..ffda4ef355 100644 --- a/app/Support/Models/BillDateCalculator.php +++ b/app/Support/Models/BillDateCalculator.php @@ -118,9 +118,7 @@ class BillDateCalculator } Log::debug('end of loop'); $simple = $set->map( // @phpstan-ignore-line - static function (Carbon $date) { - return $date->format('Y-m-d'); - } + static fn(Carbon $date) => $date->format('Y-m-d') ); Log::debug(sprintf('Found %d pay dates', $set->count()), $simple->toArray()); diff --git a/app/Support/Navigation.php b/app/Support/Navigation.php index 821dab72e5..c21a9353a7 100644 --- a/app/Support/Navigation.php +++ b/app/Support/Navigation.php @@ -36,7 +36,7 @@ use Illuminate\Support\Facades\Log; */ class Navigation { - private Calculator $calculator; + private readonly Calculator $calculator; public function __construct(?Calculator $calculator = null) { @@ -442,25 +442,13 @@ class Navigation return $range; } - switch ($range) { - default: - return $range; - - case 'last7': - return '1W'; - - case 'last30': - case 'MTD': - return '1M'; - - case 'last90': - case 'QTD': - return '3M'; - - case 'last365': - case 'YTD': - return '1Y'; - } + return match ($range) { + 'last7' => '1W', + 'last30', 'MTD' => '1M', + 'last90', 'QTD' => '3M', + 'last365', 'YTD' => '1Y', + default => $range, + }; } /** diff --git a/app/Support/NullArrayObject.php b/app/Support/NullArrayObject.php index 0532b7b2ef..f4a0c7f4fa 100644 --- a/app/Support/NullArrayObject.php +++ b/app/Support/NullArrayObject.php @@ -29,19 +29,15 @@ namespace FireflyIII\Support; */ class NullArrayObject extends \ArrayObject { - /** @var null|mixed */ - public $default; - /** * NullArrayObject constructor. * * @param null $default */ /** @phpstan-ignore-next-line */ - public function __construct(array $array, $default = null) + public function __construct(array $array, public $default = null) { parent::__construct($array); - $this->default = $default; } /** diff --git a/app/Support/Report/Budget/BudgetReportGenerator.php b/app/Support/Report/Budget/BudgetReportGenerator.php index 91c58b4b30..96fffd63b4 100644 --- a/app/Support/Report/Budget/BudgetReportGenerator.php +++ b/app/Support/Report/Budget/BudgetReportGenerator.php @@ -44,14 +44,14 @@ use Illuminate\Support\Collection; class BudgetReportGenerator { private Collection $accounts; - private BudgetLimitRepositoryInterface $blRepository; + private readonly BudgetLimitRepositoryInterface $blRepository; private Collection $budgets; private TransactionCurrency $currency; private Carbon $end; - private NoBudgetRepositoryInterface $nbRepository; - private OperationsRepositoryInterface $opsRepository; + private readonly NoBudgetRepositoryInterface $nbRepository; + private readonly OperationsRepositoryInterface $opsRepository; private array $report; - private BudgetRepositoryInterface $repository; + private readonly BudgetRepositoryInterface $repository; private Carbon $start; /** @@ -124,7 +124,7 @@ class BudgetReportGenerator ??= '0'; $this->report[$sourceAccountId]['currencies'][$currencyId]['budgets'][$budgetId] - = bcadd($this->report[$sourceAccountId]['currencies'][$currencyId]['budgets'][$budgetId], $journal['amount']); + = bcadd($this->report[$sourceAccountId]['currencies'][$currencyId]['budgets'][$budgetId], (string) $journal['amount']); } } @@ -223,10 +223,10 @@ class BudgetReportGenerator 'currency_symbol' => $limitCurrency->symbol, 'currency_decimal_places' => $limitCurrency->decimal_places, ]; - $this->report['sums'][$currencyId]['budgeted'] = bcadd($this->report['sums'][$currencyId]['budgeted'], $limit->amount); - $this->report['sums'][$currencyId]['spent'] = bcadd($this->report['sums'][$currencyId]['spent'], $spent); - $this->report['sums'][$currencyId]['left'] = bcadd($this->report['sums'][$currencyId]['left'], bcadd($limit->amount, $spent)); - $this->report['sums'][$currencyId]['overspent'] = bcadd($this->report['sums'][$currencyId]['overspent'], $overspent); + $this->report['sums'][$currencyId]['budgeted'] = bcadd((string) $this->report['sums'][$currencyId]['budgeted'], $limit->amount); + $this->report['sums'][$currencyId]['spent'] = bcadd((string) $this->report['sums'][$currencyId]['spent'], $spent); + $this->report['sums'][$currencyId]['left'] = bcadd((string) $this->report['sums'][$currencyId]['left'], bcadd($limit->amount, $spent)); + $this->report['sums'][$currencyId]['overspent'] = bcadd((string) $this->report['sums'][$currencyId]['overspent'], $overspent); } /** @@ -267,7 +267,7 @@ class BudgetReportGenerator 'currency_symbol' => $nbCurrencySymbol, 'currency_decimal_places' => $nbCurrencyDp, ]; - $this->report['sums'][$nbCurrencyId]['spent'] = bcadd($this->report['sums'][$nbCurrencyId]['spent'] ?? '0', $noBudgetEntry['sum']); + $this->report['sums'][$nbCurrencyId]['spent'] = bcadd($this->report['sums'][$nbCurrencyId]['spent'] ?? '0', (string) $noBudgetEntry['sum']); // append currency info because it may be missing: $this->report['sums'][$nbCurrencyId]['currency_id'] = $nbCurrencyId; $this->report['sums'][$nbCurrencyId]['currency_code'] = $nbCurrencyCode; @@ -300,11 +300,11 @@ class BudgetReportGenerator $totalBudgeted = $this->report['sums'][$currencyId]['budgeted'] ?? '0'; $budgetedPct = '0'; - if (0 !== bccomp($spent, '0') && 0 !== bccomp($totalSpent, '0')) { - $spentPct = round((float) bcmul(bcdiv($spent, $totalSpent), '100')); + if (0 !== bccomp((string) $spent, '0') && 0 !== bccomp($totalSpent, '0')) { + $spentPct = round((float) bcmul(bcdiv((string) $spent, $totalSpent), '100')); } - if (0 !== bccomp($budgeted, '0') && 0 !== bccomp($totalBudgeted, '0')) { - $budgetedPct = round((float) bcmul(bcdiv($budgeted, $totalBudgeted), '100')); + if (0 !== bccomp((string) $budgeted, '0') && 0 !== bccomp($totalBudgeted, '0')) { + $budgetedPct = round((float) bcmul(bcdiv((string) $budgeted, $totalBudgeted), '100')); } $this->report['sums'][$currencyId]['budgeted'] ??= '0'; $this->report['budgets'][$budgetId]['budget_limits'][$limitId]['spent_pct'] = $spentPct; diff --git a/app/Support/Report/Category/CategoryReportGenerator.php b/app/Support/Report/Category/CategoryReportGenerator.php index 0e0a83f500..e5947180b3 100644 --- a/app/Support/Report/Category/CategoryReportGenerator.php +++ b/app/Support/Report/Category/CategoryReportGenerator.php @@ -37,8 +37,8 @@ class CategoryReportGenerator { private Collection $accounts; private Carbon $end; - private NoCategoryRepositoryInterface $noCatRepository; - private OperationsRepositoryInterface $opsRepository; + private readonly NoCategoryRepositoryInterface $noCatRepository; + private readonly OperationsRepositoryInterface $opsRepository; private array $report; private Carbon $start; @@ -137,29 +137,29 @@ class CategoryReportGenerator // loop journals: foreach ($categoryRow['transaction_journals'] as $journal) { // sum of sums - $this->report['sums'][$currencyId]['sum'] = bcadd($this->report['sums'][$currencyId]['sum'], $journal['amount']); + $this->report['sums'][$currencyId]['sum'] = bcadd((string) $this->report['sums'][$currencyId]['sum'], (string) $journal['amount']); // sum of spent: - $this->report['sums'][$currencyId]['spent'] = -1 === bccomp($journal['amount'], '0') ? bcadd( - $this->report['sums'][$currencyId]['spent'], - $journal['amount'] + $this->report['sums'][$currencyId]['spent'] = -1 === bccomp((string) $journal['amount'], '0') ? bcadd( + (string) $this->report['sums'][$currencyId]['spent'], + (string) $journal['amount'] ) : $this->report['sums'][$currencyId]['spent']; // sum of earned - $this->report['sums'][$currencyId]['earned'] = 1 === bccomp($journal['amount'], '0') ? bcadd( - $this->report['sums'][$currencyId]['earned'], - $journal['amount'] + $this->report['sums'][$currencyId]['earned'] = 1 === bccomp((string) $journal['amount'], '0') ? bcadd( + (string) $this->report['sums'][$currencyId]['earned'], + (string) $journal['amount'] ) : $this->report['sums'][$currencyId]['earned']; // sum of category - $this->report['categories'][$key]['sum'] = bcadd($this->report['categories'][$key]['sum'], $journal['amount']); + $this->report['categories'][$key]['sum'] = bcadd((string) $this->report['categories'][$key]['sum'], (string) $journal['amount']); // total spent in category - $this->report['categories'][$key]['spent'] = -1 === bccomp($journal['amount'], '0') ? bcadd( - $this->report['categories'][$key]['spent'], - $journal['amount'] + $this->report['categories'][$key]['spent'] = -1 === bccomp((string) $journal['amount'], '0') ? bcadd( + (string) $this->report['categories'][$key]['spent'], + (string) $journal['amount'] ) : $this->report['categories'][$key]['spent']; // total earned in category - $this->report['categories'][$key]['earned'] = 1 === bccomp($journal['amount'], '0') ? bcadd( - $this->report['categories'][$key]['earned'], - $journal['amount'] + $this->report['categories'][$key]['earned'] = 1 === bccomp((string) $journal['amount'], '0') ? bcadd( + (string) $this->report['categories'][$key]['earned'], + (string) $journal['amount'] ) : $this->report['categories'][$key]['earned']; } } diff --git a/app/Support/Report/Summarizer/TransactionSummarizer.php b/app/Support/Report/Summarizer/TransactionSummarizer.php index 541740348c..070723a779 100644 --- a/app/Support/Report/Summarizer/TransactionSummarizer.php +++ b/app/Support/Report/Summarizer/TransactionSummarizer.php @@ -119,10 +119,10 @@ class TransactionSummarizer ]; if ('positive' === $method) { - $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->positive($amount)); + $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], (string) app('steam')->positive($amount)); } if ('negative' === $method) { - $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], app('steam')->negative($amount)); + $array[$currencyId]['sum'] = bcadd($array[$currencyId]['sum'], (string) app('steam')->negative($amount)); } // then process foreign amount, if it exists. @@ -138,10 +138,10 @@ class TransactionSummarizer ]; if ('positive' === $method) { - $array[$foreignCurrencyId]['sum'] = bcadd($array[$foreignCurrencyId]['sum'], app('steam')->positive($amount)); + $array[$foreignCurrencyId]['sum'] = bcadd($array[$foreignCurrencyId]['sum'], (string) app('steam')->positive($amount)); } if ('negative' === $method) { - $array[$foreignCurrencyId]['sum'] = bcadd($array[$foreignCurrencyId]['sum'], app('steam')->negative($amount)); + $array[$foreignCurrencyId]['sum'] = bcadd($array[$foreignCurrencyId]['sum'], (string) app('steam')->negative($amount)); } } @@ -202,7 +202,7 @@ class TransactionSummarizer ]; // add the data from the $field to the array. - $array[$key]['sum'] = bcadd($array[$key]['sum'], app('steam')->{$method}((string) ($journal[$field] ?? '0'))); // @phpstan-ignore-line + $array[$key]['sum'] = bcadd($array[$key]['sum'], (string) app('steam')->{$method}((string) ($journal[$field] ?? '0'))); // @phpstan-ignore-line Log::debug(sprintf('Field for transaction #%d is "%s" (%s). Sum: %s', $journal['transaction_group_id'], $currencyCode, $field, $array[$key]['sum'])); // also do foreign amount, but only when convertToNative is false (otherwise we have it already) @@ -220,7 +220,7 @@ class TransactionSummarizer 'currency_code' => $journal['foreign_currency_code'], 'currency_decimal_places' => $journal['foreign_currency_decimal_places'], ]; - $array[$key]['sum'] = bcadd($array[$key]['sum'], app('steam')->{$method}((string) $journal['foreign_amount'])); // @phpstan-ignore-line + $array[$key]['sum'] = bcadd($array[$key]['sum'], (string) app('steam')->{$method}((string) $journal['foreign_amount'])); // @phpstan-ignore-line } } diff --git a/app/Support/Repositories/UserGroup/UserGroupTrait.php b/app/Support/Repositories/UserGroup/UserGroupTrait.php index 6511748619..e6de102771 100644 --- a/app/Support/Repositories/UserGroup/UserGroupTrait.php +++ b/app/Support/Repositories/UserGroup/UserGroupTrait.php @@ -89,7 +89,7 @@ trait UserGroupTrait return; } - throw new FireflyException(sprintf('Object is of class %s, not User.', get_class($user))); + throw new FireflyException(sprintf('Object is of class %s, not User.', $user::class)); } /** diff --git a/app/Support/Request/ConvertsDataTypes.php b/app/Support/Request/ConvertsDataTypes.php index d8792fdc79..2116abe1f7 100644 --- a/app/Support/Request/ConvertsDataTypes.php +++ b/app/Support/Request/ConvertsDataTypes.php @@ -250,7 +250,7 @@ trait ConvertsDataTypes if ('' === $value) { return null; } - if (10 === strlen($value)) { + if (10 === strlen((string) $value)) { // probably a date format. try { $carbon = Carbon::createFromFormat('Y-m-d', $value); @@ -313,7 +313,7 @@ trait ConvertsDataTypes try { $carbon = new Carbon($string, config('app.timezone')); - } catch (InvalidFormatException $e) { + } catch (InvalidFormatException) { // @ignoreException } if (null === $carbon) { @@ -364,7 +364,7 @@ trait ConvertsDataTypes try { $result = '' !== (string) $this->get($field) ? new Carbon((string) $this->get($field), config('app.timezone')) : null; - } catch (InvalidFormatException $e) { + } catch (InvalidFormatException) { // @ignoreException Log::debug(sprintf('Exception when parsing date "%s".', $this->get($field))); } diff --git a/app/Support/Steam.php b/app/Support/Steam.php index 7e14c580c9..060f204ec1 100644 --- a/app/Support/Steam.php +++ b/app/Support/Steam.php @@ -139,7 +139,7 @@ class Steam $carbon = new Carbon($entry->date, $entry->date_tz); $carbonKey = $carbon->format('Y-m-d'); // make sure sum is a string: - $sumOfDay = (string) (null === $entry->sum_of_day ? '0' : $entry->sum_of_day); + $sumOfDay = (string) ($entry->sum_of_day ?? '0'); // find currency of this entry, does not have to exist. $currencies[$entry->transaction_currency_id] ??= TransactionCurrency::find($entry->transaction_currency_id); @@ -152,19 +152,19 @@ class Steam // add amount to current balance in currency code. $currentBalance[$entryCurrency->code] ??= '0'; - $currentBalance[$entryCurrency->code] = bcadd($sumOfDay, $currentBalance[$entryCurrency->code]); + $currentBalance[$entryCurrency->code] = bcadd($sumOfDay, (string) $currentBalance[$entryCurrency->code]); // if not convert to native, add the amount to "balance", do nothing else. if (!$convertToNative) { - $currentBalance['balance'] = bcadd($currentBalance['balance'], $sumOfDay); + $currentBalance['balance'] = bcadd((string) $currentBalance['balance'], $sumOfDay); } // if convert to native add the converted amount to "native_balance". // if there is a request to convert, convert to "native_balance" and use "balance" for whichever amount is in the native currency. if ($convertToNative) { $nativeSumOfDay = $converter->convert($entryCurrency, $nativeCurrency, $carbon, $sumOfDay); - $currentBalance['native_balance'] = bcadd($currentBalance['native_balance'], $nativeSumOfDay); + $currentBalance['native_balance'] = bcadd((string) $currentBalance['native_balance'], $nativeSumOfDay); if ($currency->id === $entryCurrency->id) { - $currentBalance['balance'] = bcadd($currentBalance['balance'], $sumOfDay); + $currentBalance['balance'] = bcadd((string) $currentBalance['balance'], $sumOfDay); } } @@ -434,7 +434,7 @@ class Steam foreach ($array as $item) { $groupKey = $item[$group] ?? 'unknown'; - $return[$groupKey] = bcadd($return[$groupKey] ?? '0', $item[$field]); + $return[$groupKey] = bcadd($return[$groupKey] ?? '0', (string) $item[$field]); } return $return;