diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index ea5d8f025e..273cc4c18e 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -88,8 +88,9 @@ class RegisterController extends Controller session()->flash('success', (string)trans('firefly.registered')); - return $this->registered($request, $user) - ?: redirect($this->redirectPath()); + $this->registered($request, $user); + + return redirect($this->redirectPath()); } /** diff --git a/app/Rules/IsAssetAccountId.php b/app/Rules/IsAssetAccountId.php index 9a59f823ee..c50e897ca1 100644 --- a/app/Rules/IsAssetAccountId.php +++ b/app/Rules/IsAssetAccountId.php @@ -65,4 +65,4 @@ class IsAssetAccountId implements Rule return true; } -} +} \ No newline at end of file diff --git a/app/Services/Bunq/ApiContext.php b/app/Services/Bunq/ApiContext.php index 5b0670e72a..43cd2a8b7a 100644 --- a/app/Services/Bunq/ApiContext.php +++ b/app/Services/Bunq/ApiContext.php @@ -25,8 +25,6 @@ namespace FireflyIII\Services\Bunq; use bunq\Context\ApiContext as BunqApiContext; use bunq\Context\BunqContext; -use bunq\Exception\BadRequestException; -use bunq\Exception\BunqException; use bunq\Util\BunqEnumApiEnvironmentType; use Exception; use FireflyIII\Exceptions\FireflyException; @@ -39,6 +37,7 @@ use Log; */ class ApiContext { + /** @noinspection MoreThanThreeArgumentsInspection */ /** * @param BunqEnumApiEnvironmentType $environmentType * @param string $apiKey @@ -50,11 +49,11 @@ class ApiContext * @return BunqApiContext */ public function create(BunqEnumApiEnvironmentType $environmentType, string $apiKey, string $description, array $permittedIps, string $proxyUrl = null - ) { + ): BunqApiContext { $permittedIps = $permittedIps ?? []; try { $context = BunqApiContext::create($environmentType, $apiKey, $description, $permittedIps, $proxyUrl); - } catch (BunqException|BadRequestException|Exception $e) { + } catch (Exception $e) { $message = $e->getMessage(); Log::error($message); Log::error($e->getTraceAsString()); @@ -78,7 +77,7 @@ class ApiContext try { $apiContext = BunqApiContext::fromJson($jsonString); BunqContext::loadApiContext($apiContext); - } catch (BadRequestException|BunqException|Exception $e) { + } catch (Exception $e) { $message = $e->getMessage(); Log::error($message); Log::error($e->getTraceAsString()); diff --git a/app/Services/Bunq/MonetaryAccount.php b/app/Services/Bunq/MonetaryAccount.php index 803a125cae..be13f57759 100644 --- a/app/Services/Bunq/MonetaryAccount.php +++ b/app/Services/Bunq/MonetaryAccount.php @@ -23,7 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Services\Bunq; -use bunq\Exception\BunqException; + use bunq\Model\Generated\Endpoint\BunqResponseMonetaryAccountList; use bunq\Model\Generated\Endpoint\MonetaryAccount as BunqMonetaryAccount; use Exception; @@ -47,7 +47,7 @@ class MonetaryAccount $customHeaders = $customHeaders ?? []; try { $result = BunqMonetaryAccount::listing($params, $customHeaders); - } catch (BunqException|Exception $e) { + } catch (Exception $e) { throw new FireflyException($e->getMessage()); } diff --git a/app/Services/Bunq/Payment.php b/app/Services/Bunq/Payment.php index cf7f996c76..3ce3447b66 100644 --- a/app/Services/Bunq/Payment.php +++ b/app/Services/Bunq/Payment.php @@ -23,7 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Services\Bunq; -use bunq\Exception\BunqException; + use bunq\Model\Generated\Endpoint\BunqResponsePaymentList; use bunq\Model\Generated\Endpoint\Payment as BunqPayment; use Exception; @@ -49,7 +49,7 @@ class Payment $customHeaders = $customHeaders ?? []; try { $result = BunqPayment::listing($monetaryAccountId, $params, $customHeaders); - } catch (BunqException|Exception $e) { + } catch (Exception $e) { throw new FireflyException($e->getMessage()); } diff --git a/app/Services/Currency/FixerIOv2.php b/app/Services/Currency/FixerIOv2.php index b224e65de4..5e296f5de4 100644 --- a/app/Services/Currency/FixerIOv2.php +++ b/app/Services/Currency/FixerIOv2.php @@ -74,17 +74,19 @@ class FixerIOv2 implements ExchangeRateInterface ); $statusCode = -1; Log::debug(sprintf('Going to request exchange rate using URI %s', str_replace($apiKey, 'xxxx', $uri))); + $client = new Client; try { - $client = new Client; + $res = $client->request('GET', $uri); $statusCode = $res->getStatusCode(); $body = $res->getBody()->getContents(); - Log::debug(sprintf('Result status code is %d', $statusCode)); - Log::debug(sprintf('Result body is: %s', $body)); } catch (GuzzleException|Exception $e) { // don't care about error - $body = sprintf('Guzzle exception: %s', $e->getMessage()); + $body = sprintf('Guzzle exception: %s', $e->getMessage()); + $statusCode = 500; } + Log::debug(sprintf('Result status code is %d', $statusCode)); + Log::debug(sprintf('Result body is: %s', $body)); $content = null; if (200 !== $statusCode) { @@ -103,7 +105,7 @@ class FixerIOv2 implements ExchangeRateInterface } $exchangeRate->rate = $rate; - if ($rate !== 0.0) { + if (0.0 !== $rate) { Log::debug('Rate is not zero, save it!'); $exchangeRate->save(); } diff --git a/app/Services/Internal/Destroy/RecurrenceDestroyService.php b/app/Services/Internal/Destroy/RecurrenceDestroyService.php index 6f59892f4f..6ad484738e 100644 --- a/app/Services/Internal/Destroy/RecurrenceDestroyService.php +++ b/app/Services/Internal/Destroy/RecurrenceDestroyService.php @@ -42,20 +42,27 @@ class RecurrenceDestroyService try { // delete all meta data $recurrence->recurrenceMeta()->delete(); - - // delete all transactions. - /** @var RecurrenceTransaction $transaction */ - foreach($recurrence->recurrenceTransactions as $transaction) { - $transaction->recurrenceTransactionMeta()->delete(); + } catch (Exception $e) { // @codeCoverageIgnore + Log::info(sprintf('Could not delete recurrence meta: %s', $e->getMessage())); // @codeCoverageIgnore + } + // delete all transactions. + /** @var RecurrenceTransaction $transaction */ + foreach ($recurrence->recurrenceTransactions as $transaction) { + $transaction->recurrenceTransactionMeta()->delete(); + try { $transaction->delete(); + } catch (Exception $e) { // @codeCoverageIgnore + Log::info(sprintf('Could not delete recurrence transaction: %s', $e->getMessage())); // @codeCoverageIgnore } - // delete all repetitions - $recurrence->recurrenceRepetitions()->delete(); + } + // delete all repetitions + $recurrence->recurrenceRepetitions()->delete(); - // delete recurrence + // delete recurrence + try { $recurrence->delete(); } catch (Exception $e) { // @codeCoverageIgnore - Log::error(sprintf('Could not delete recurrence: %s', $e->getMessage())); // @codeCoverageIgnore + Log::info(sprintf('Could not delete recurrence: %s', $e->getMessage())); // @codeCoverageIgnore } } diff --git a/app/Services/Internal/Support/AccountServiceTrait.php b/app/Services/Internal/Support/AccountServiceTrait.php index a32fb802f9..bef8eb4a43 100644 --- a/app/Services/Internal/Support/AccountServiceTrait.php +++ b/app/Services/Internal/Support/AccountServiceTrait.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Services\Internal\Support; +use Exception; use FireflyIII\Factory\AccountFactory; use FireflyIII\Factory\AccountMetaFactory; use FireflyIII\Factory\TransactionFactory; @@ -80,7 +81,7 @@ trait AccountServiceTrait * * @return null|string */ - public function filterIban(?string $iban) + public function filterIban(?string $iban): ?string { if (null === $iban) { return null; @@ -204,7 +205,9 @@ trait AccountServiceTrait 'reconciled' => false, ] ); - Log::notice(sprintf('Stored two transactions for new account, #%d and #%d', $one->id, $two->id)); + if (null !== $one && null !== $two) { + Log::notice(sprintf('Stored two transactions for new account, #%d and #%d', $one->id, $two->id)); + } return $journal; } @@ -214,6 +217,7 @@ trait AccountServiceTrait * @param string $name * * @return Account + * @throws \FireflyIII\Exceptions\FireflyException */ public function storeOpposingAccount(User $user, string $name): Account { @@ -231,6 +235,7 @@ trait AccountServiceTrait * @param array $data * * @return bool + * @throws \FireflyIII\Exceptions\FireflyException */ public function updateIB(Account $account, array $data): bool { @@ -313,14 +318,14 @@ trait AccountServiceTrait * @param Account $account * @param array $data */ - public function updateMetaData(Account $account, array $data) + public function updateMetaData(Account $account, array $data): void { $fields = $this->validFields; if ($account->accountType->type === AccountType::ASSET) { $fields = $this->validAssetFields; } - if ($account->accountType->type === AccountType::ASSET && $data['accountRole'] === 'ccAsset') { + if ($account->accountType->type === AccountType::ASSET && 'ccAsset' === $data['accountRole']) { $fields = $this->validCCFields; } /** @var AccountMetaFactory $factory */ @@ -346,8 +351,12 @@ trait AccountServiceTrait Log::debug(sprintf('Updated meta-field "%s":"%s" for #%d ("%s") ', $field, $data[$field], $account->id, $account->name)); } } - if (null !== $entry && isset($data[$field]) && \strlen((string)$data[$field]) === 0) { - $entry->delete(); + if (null !== $entry && isset($data[$field]) && '' === (string)$data[$field]) { + try { + $entry->delete(); + } catch (Exception $e) { + Log::debug(sprintf('Could not delete entry: %s', $e->getMessage())); + } } } } @@ -360,7 +369,7 @@ trait AccountServiceTrait */ public function updateNote(Account $account, string $note): bool { - if (0 === \strlen($note)) { + if ('' === $note) { $dbNote = $account->notes()->first(); if (null !== $dbNote) { $dbNote->delete(); diff --git a/app/Services/Internal/Support/BillServiceTrait.php b/app/Services/Internal/Support/BillServiceTrait.php index 4c34e7c7d0..35cef980cd 100644 --- a/app/Services/Internal/Support/BillServiceTrait.php +++ b/app/Services/Internal/Support/BillServiceTrait.php @@ -67,7 +67,7 @@ trait BillServiceTrait */ public function updateNote(Bill $bill, string $note): bool { - if (0 === \strlen($note)) { + if ('' === $note) { $dbNote = $bill->notes()->first(); if (null !== $dbNote) { $dbNote->delete(); // @codeCoverageIgnore diff --git a/app/Services/Internal/Support/JournalServiceTrait.php b/app/Services/Internal/Support/JournalServiceTrait.php index e6ab014cab..b46d8a74c0 100644 --- a/app/Services/Internal/Support/JournalServiceTrait.php +++ b/app/Services/Internal/Support/JournalServiceTrait.php @@ -52,8 +52,10 @@ trait JournalServiceTrait } foreach ($data['tags'] as $string) { if (\strlen($string) > 0) { - $tag = $factory->findOrCreate($string); - $set[] = $tag->id; + $tag = $factory->findOrCreate($string); + if (null !== $tag) { + $set[] = $tag->id; + } } } $journal->tags()->sync($set); diff --git a/app/Services/Internal/Support/RecurringTransactionTrait.php b/app/Services/Internal/Support/RecurringTransactionTrait.php index fa51f957e5..8844d64db0 100644 --- a/app/Services/Internal/Support/RecurringTransactionTrait.php +++ b/app/Services/Internal/Support/RecurringTransactionTrait.php @@ -205,7 +205,7 @@ trait RecurringTransactionTrait $entry->value = implode(',', $tags); $entry->save(); } - if (\count($tags) === 0) { + if (0 === \count($tags)) { // delete if present $recurrence->recurrenceMeta()->where('name', 'tags')->delete(); } diff --git a/app/Services/Internal/Support/TransactionServiceTrait.php b/app/Services/Internal/Support/TransactionServiceTrait.php index d0cb0a3f8f..a784dd240a 100644 --- a/app/Services/Internal/Support/TransactionServiceTrait.php +++ b/app/Services/Internal/Support/TransactionServiceTrait.php @@ -100,6 +100,7 @@ trait TransactionServiceTrait * @param string|null $accountName * * @return Account|null + * @throws \FireflyIII\Exceptions\FireflyException */ public function findAccount(?string $expectedType, ?int $accountId, ?string $accountName): ?Account { diff --git a/app/Services/Internal/Update/AccountUpdateService.php b/app/Services/Internal/Update/AccountUpdateService.php index 8c3875c138..0e79a40a2d 100644 --- a/app/Services/Internal/Update/AccountUpdateService.php +++ b/app/Services/Internal/Update/AccountUpdateService.php @@ -41,17 +41,18 @@ class AccountUpdateService * @param array $data * * @return Account + * @throws \FireflyIII\Exceptions\FireflyException */ public function update(Account $account, array $data): Account { // update the account itself: $account->name = $data['name']; $account->active = $data['active']; - $account->virtual_balance = trim($data['virtualBalance']) === '' ? '0' : $data['virtualBalance']; + $account->virtual_balance = '' === trim($data['virtualBalance']) ? '0' : $data['virtualBalance']; $account->iban = $data['iban']; $account->save(); - if (isset($data['currency_id']) && $data['currency_id'] === 0) { + if (isset($data['currency_id']) && 0 === $data['currency_id']) { unset($data['currency_id']); } diff --git a/app/Services/Internal/Update/JournalUpdateService.php b/app/Services/Internal/Update/JournalUpdateService.php index 8dde0112c2..caba75d2e2 100644 --- a/app/Services/Internal/Update/JournalUpdateService.php +++ b/app/Services/Internal/Update/JournalUpdateService.php @@ -44,6 +44,7 @@ class JournalUpdateService * @param array $data * * @return TransactionJournal + * @throws \FireflyIII\Exceptions\FireflyException */ public function update(TransactionJournal $journal, array $data): TransactionJournal { diff --git a/app/Services/Internal/Update/RecurrenceUpdateService.php b/app/Services/Internal/Update/RecurrenceUpdateService.php index 0bce14ab27..b33a8b2297 100644 --- a/app/Services/Internal/Update/RecurrenceUpdateService.php +++ b/app/Services/Internal/Update/RecurrenceUpdateService.php @@ -25,7 +25,7 @@ namespace FireflyIII\Services\Internal\Update; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Recurrence; -use FireflyIII\Models\RecurrenceMeta; + use FireflyIII\Services\Internal\Support\RecurringTransactionTrait; use FireflyIII\Services\Internal\Support\TransactionServiceTrait; use FireflyIII\Services\Internal\Support\TransactionTypeTrait; diff --git a/app/Services/Internal/Update/TransactionUpdateService.php b/app/Services/Internal/Update/TransactionUpdateService.php index 32c86d8548..b497e41749 100644 --- a/app/Services/Internal/Update/TransactionUpdateService.php +++ b/app/Services/Internal/Update/TransactionUpdateService.php @@ -69,6 +69,7 @@ class TransactionUpdateService * @param array $data * * @return Transaction + * @throws \FireflyIII\Exceptions\FireflyException */ public function update(Transaction $transaction, array $data): Transaction { @@ -100,7 +101,7 @@ class TransactionUpdateService $transaction->description = $description; $transaction->amount = $amount; $transaction->foreign_amount = null; - $transaction->transaction_currency_id = $currency->id; + $transaction->transaction_currency_id = null === $currency ? $transaction->transaction_currency_id : $currency->id; $transaction->account_id = $account->id; $transaction->reconciled = $data['reconciled']; $transaction->save(); @@ -108,11 +109,11 @@ class TransactionUpdateService // set foreign currency $foreign = $this->findCurrency($data['foreign_currency_id'], $data['foreign_currency_code']); // set foreign amount: - if (null !== $data['foreign_amount'] && null !== $foreign) { + if (null !== $foreign && null !== $data['foreign_amount']) { $this->setForeignCurrency($transaction, $foreign); $this->setForeignAmount($transaction, $foreignAmount); } - if (null === $data['foreign_amount'] || null === $foreign) { + if (null === $foreign && null === $data['foreign_amount']) { $this->setForeignCurrency($transaction, null); $this->setForeignAmount($transaction, null); } diff --git a/app/Services/Password/PwndVerifierV2.php b/app/Services/Password/PwndVerifierV2.php index 014fbbcbe6..de2180c784 100644 --- a/app/Services/Password/PwndVerifierV2.php +++ b/app/Services/Password/PwndVerifierV2.php @@ -56,6 +56,8 @@ class PwndVerifierV2 implements Verifier $client = new Client(); $res = $client->request('GET', $uri, $opt); } catch (GuzzleException|Exception $e) { + Log::error(sprintf('Could not verify password security: %s', $e->getMessage())); + return true; } Log::debug(sprintf('Status code returned is %d', $res->getStatusCode())); @@ -63,7 +65,7 @@ class PwndVerifierV2 implements Verifier return true; } $strpos = stripos($res->getBody()->getContents(), $rest); - if ($strpos === false) { + if (false === $strpos) { Log::debug(sprintf('%s was not found in result body. Return true.', $rest)); return true; diff --git a/app/Services/Spectre/Object/Attempt.php b/app/Services/Spectre/Object/Attempt.php index 495fa9566e..ce0a912225 100644 --- a/app/Services/Spectre/Object/Attempt.php +++ b/app/Services/Spectre/Object/Attempt.php @@ -42,17 +42,17 @@ class Attempt extends SpectreObject /** @var Carbon */ private $consentGivenAt; /** @var array */ - private $consentTypes = []; + private $consentTypes; /** @var Carbon */ private $createdAt; /** @var array */ - private $customFields = []; + private $customFields; /** @var bool */ private $dailyRefresh; /** @var string */ private $deviceType; /** @var array */ - private $excludeAccounts = []; + private $excludeAccounts; /** @var Carbon */ private $failAt; /** @var string */ @@ -60,7 +60,7 @@ class Attempt extends SpectreObject /** @var string */ private $failMessage; /** @var array */ - private $fetchScopes = []; + private $fetchScopes; /** @var bool */ private $finished; /** @var bool */ @@ -80,7 +80,7 @@ class Attempt extends SpectreObject /** @var bool */ private $showConsentInformation; /** @var array */ - private $stages = []; + private $stages; /** @var bool */ private $storeCredentials; /** @var Carbon */ diff --git a/app/Support/Amount.php b/app/Support/Amount.php index 01973c203d..58650c4cd5 100644 --- a/app/Support/Amount.php +++ b/app/Support/Amount.php @@ -121,7 +121,7 @@ class Amount $locale = explode(',', (string)trans('config.locale')); $locale = array_map('trim', $locale); setlocale(LC_MONETARY, $locale); - $float = round($amount, 12); + $float = round($amount, $format->decimal_places); $info = localeconv(); $formatted = number_format($float, (int)$format->decimal_places, $info['mon_decimal_point'], $info['mon_thousands_sep']);