Remove all "@phpstan-ignore-line" entries.

This commit is contained in:
James Cole
2026-03-06 07:39:12 +01:00
parent 705138aa27
commit 12f19c6c34
78 changed files with 254 additions and 157 deletions
+25
View File
@@ -1,4 +1,29 @@
parameters: parameters:
ergebnis:
noExtends:
enabled: false
final:
enabled: false
noParameterWithNullDefaultValue:
enabled: false
noParameterWithNullableTypeDeclaration:
enabled: false
noCompact:
enabled: false
noSwitch:
enabled: false
noNullableReturnTypeDeclaration:
enabled: false
privateInFinalClass:
enabled: false
noIsset:
enabled: false
finalInAbstractClass:
enabled: false
noConstructorParameterWithDefaultValue:
enabled: false
noNamedArgument:
enabled: false
paths: paths:
- ../app - ../app
- ../database - ../database
+1 -1
View File
@@ -224,7 +224,7 @@ abstract class Controller extends BaseController
} }
if ( if (
null === $value null === $value
&& 'limit' === $integer // @phpstan-ignore-line && 'limit' === $integer
&& auth()->check() && auth()->check()
) { ) {
// set default for user: // set default for user:
@@ -256,7 +256,7 @@ final class ListController extends Controller
$unfiltered = $recurringRepos->get(); $unfiltered = $recurringRepos->get();
// filter selection // filter selection
$collection = $unfiltered->filter(static function (Recurrence $recurrence) use ($currency): null|Recurrence { // @phpstan-ignore-line $collection = $unfiltered->filter(static function (Recurrence $recurrence) use ($currency): null|Recurrence {
if (array_any( if (array_any(
$recurrence->recurrenceTransactions, $recurrence->recurrenceTransactions,
static fn ($transaction): bool => $transaction->transaction_currency_id === $currency->id || $transaction->foreign_currency_id === $currency->id static fn ($transaction): bool => $transaction->transaction_currency_id === $currency->id || $transaction->foreign_currency_id === $currency->id
@@ -306,7 +306,7 @@ final class ListController extends Controller
$ruleRepos = app(RuleRepositoryInterface::class); $ruleRepos = app(RuleRepositoryInterface::class);
$unfiltered = $ruleRepos->getAll(); $unfiltered = $ruleRepos->getAll();
$collection = $unfiltered->filter(static function (Rule $rule) use ($currency): null|Rule { // @phpstan-ignore-line $collection = $unfiltered->filter(static function (Rule $rule) use ($currency): null|Rule {
if (array_any( if (array_any(
$rule->ruleTriggers, $rule->ruleTriggers,
static fn ($trigger): bool => 'currency_is' === $trigger->trigger_type && $currency->name === $trigger->trigger_value static fn ($trigger): bool => 'currency_is' === $trigger->trigger_type && $currency->name === $trigger->trigger_value
@@ -83,10 +83,10 @@ class ConvertsDatesToUTC extends Command
} }
$this->friendlyInfo(sprintf('Converting field "%s" of model "%s" to UTC.', $field, $shortModel)); $this->friendlyInfo(sprintf('Converting field "%s" of model "%s" to UTC.', $field, $shortModel));
$items->each(static function ($item) use ($field, $timezoneField): void { $items->each(static function ($item) use ($field, $timezoneField): void {
$date = Carbon::parse($item->{$field}, $item->{$timezoneField}); // @phpstan-ignore-line $date = Carbon::parse($item->{$field}, $item->{$timezoneField});
$date->setTimezone('UTC'); $date->setTimezone('UTC');
$item->{$field} = $date->format('Y-m-d H:i:s'); // @phpstan-ignore-line $item->{$field} = $date->format('Y-m-d H:i:s');
$item->{$timezoneField} = 'UTC'; // @phpstan-ignore-line $item->{$timezoneField} = 'UTC';
$item->save(); $item->save();
}); });
} }
@@ -324,7 +324,7 @@ class CorrectsUnevenAmount extends Command
$sum = Steam::floatalize($sum); $sum = Steam::floatalize($sum);
if ( if (
!is_numeric($sum) !is_numeric($sum)
|| '' === $sum // @phpstan-ignore-line || '' === $sum
|| str_contains($sum, 'e') || str_contains($sum, 'e')
|| str_contains($sum, ',') || str_contains($sum, ',')
) { ) {
@@ -57,7 +57,7 @@ class VerifySecurityAlerts extends Command
$version = config('firefly.version'); $version = config('firefly.version');
$disk = Storage::disk('resources'); $disk = Storage::disk('resources');
// Next line is ignored because it's a Laravel Facade. // Next line is ignored because it's a Laravel Facade.
if (!$disk->has('alerts.json')) { // @phpstan-ignore-line if (!$disk->has('alerts.json')) {
Log::debug('No alerts.json file present.'); Log::debug('No alerts.json file present.');
return 0; return 0;
+1 -1
View File
@@ -70,7 +70,7 @@ class Cron extends Command
} catch (InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {
$this->friendlyError(sprintf('"%s" is not a valid date', $this->option('date'))); $this->friendlyError(sprintf('"%s" is not a valid date', $this->option('date')));
} }
$force = (bool) $this->option('force'); // @phpstan-ignore-line $force = (bool) $this->option('force');
// Fire exchange rates cron job. // Fire exchange rates cron job.
if (true === FireflyConfig::get('enable_external_rates', config('cer.download_enabled'))->data && ($doAll || $this->option('download-cer'))) { if (true === FireflyConfig::get('enable_external_rates', config('cer.download_enabled'))->data && ($doAll || $this->option('download-cer'))) {
@@ -68,7 +68,7 @@ class RemovesDatabaseDecryption extends Command
* @var string $table * @var string $table
* @var array $fields * @var array $fields
*/ */
foreach ($tables as $table => $fields) { // @phpstan-ignore-line foreach ($tables as $table => $fields) {
$this->decryptTable($table, $fields); $this->decryptTable($table, $fields);
} }
+2 -2
View File
@@ -574,14 +574,14 @@ class TransactionJournalFactory
return [$sourceAccount, $account]; return [$sourceAccount, $account];
} }
if (!$sourceAccount instanceof Account) { // @phpstan-ignore-line if (!$sourceAccount instanceof Account) {
Log::debug('Source account is NULL, destination account is not.'); Log::debug('Source account is NULL, destination account is not.');
$account = $this->accountRepository->getReconciliation($destinationAccount); $account = $this->accountRepository->getReconciliation($destinationAccount);
Log::debug(sprintf('Will return account #%d ("%s") of type "%s"', $account->id, $account->name, $account->accountType->type)); Log::debug(sprintf('Will return account #%d ("%s") of type "%s"', $account->id, $account->name, $account->accountType->type));
return [$account, $destinationAccount]; return [$account, $destinationAccount];
} }
Log::debug('Unused fallback'); // @phpstan-ignore-line Log::debug('Unused fallback');
return [$sourceAccount, $destinationAccount]; return [$sourceAccount, $destinationAccount];
} }
@@ -178,7 +178,7 @@ trait AccountCollection
{ {
if ($accounts->count() > 0) { if ($accounts->count() > 0) {
$accountIds = $accounts->pluck('id')->toArray(); $accountIds = $accounts->pluck('id')->toArray();
$this->query->where(static function (EloquentBuilder $query) use ($accountIds): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $query) use ($accountIds): void {
$query->whereIn('source.account_id', $accountIds); $query->whereIn('source.account_id', $accountIds);
$query->orWhereIn('destination.account_id', $accountIds); $query->orWhereIn('destination.account_id', $accountIds);
}); });
@@ -196,7 +196,7 @@ trait AccountCollection
{ {
if ($accounts->count() > 0) { if ($accounts->count() > 0) {
$accountIds = $accounts->pluck('id')->toArray(); $accountIds = $accounts->pluck('id')->toArray();
$this->query->where(static function (EloquentBuilder $query) use ($accountIds): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $query) use ($accountIds): void {
$query->whereIn('source.account_id', $accountIds); $query->whereIn('source.account_id', $accountIds);
$query->whereIn('destination.account_id', $accountIds); $query->whereIn('destination.account_id', $accountIds);
}); });
@@ -228,7 +228,7 @@ trait AccountCollection
{ {
if ($accounts->count() > 0) { if ($accounts->count() > 0) {
$accountIds = $accounts->pluck('id')->toArray(); $accountIds = $accounts->pluck('id')->toArray();
$this->query->where(static function (EloquentBuilder $query) use ($accountIds): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $query) use ($accountIds): void {
$query->whereNotIn('source.account_id', $accountIds); $query->whereNotIn('source.account_id', $accountIds);
$query->whereNotIn('destination.account_id', $accountIds); $query->whereNotIn('destination.account_id', $accountIds);
}); });
@@ -261,7 +261,7 @@ trait AccountCollection
{ {
if ($accounts->count() > 0) { if ($accounts->count() > 0) {
$accountIds = $accounts->pluck('id')->toArray(); $accountIds = $accounts->pluck('id')->toArray();
$this->query->where(static function (EloquentBuilder $q1) use ($accountIds): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q1) use ($accountIds): void {
// sourceAccount is in the set, and destination is NOT. // sourceAccount is in the set, and destination is NOT.
$q1->where(static function (EloquentBuilder $q2) use ($accountIds): void { $q1->where(static function (EloquentBuilder $q2) use ($accountIds): void {
@@ -38,7 +38,7 @@ trait AmountCollection
*/ */
public function amountIs(string $amount): GroupCollectorInterface public function amountIs(string $amount): GroupCollectorInterface
{ {
$this->query->where(static function (EloquentBuilder $q) use ($amount): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($amount): void {
$q->where('source.amount', Steam::negative($amount)); $q->where('source.amount', Steam::negative($amount));
}); });
@@ -47,7 +47,7 @@ trait AmountCollection
public function amountIsNot(string $amount): GroupCollectorInterface public function amountIsNot(string $amount): GroupCollectorInterface
{ {
$this->query->where(static function (EloquentBuilder $q) use ($amount): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($amount): void {
$q->where('source.amount', '!=', Steam::negative($amount)); $q->where('source.amount', '!=', Steam::negative($amount));
}); });
@@ -59,7 +59,7 @@ trait AmountCollection
*/ */
public function amountLess(string $amount): GroupCollectorInterface public function amountLess(string $amount): GroupCollectorInterface
{ {
$this->query->where(static function (EloquentBuilder $q) use ($amount): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($amount): void {
$q->where('destination.amount', '<=', Steam::positive($amount)); $q->where('destination.amount', '<=', Steam::positive($amount));
}); });
@@ -71,7 +71,7 @@ trait AmountCollection
*/ */
public function amountMore(string $amount): GroupCollectorInterface public function amountMore(string $amount): GroupCollectorInterface
{ {
$this->query->where(static function (EloquentBuilder $q) use ($amount): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($amount): void {
$q->where('destination.amount', '>=', Steam::positive($amount)); $q->where('destination.amount', '>=', Steam::positive($amount));
}); });
@@ -83,7 +83,7 @@ trait AmountCollection
*/ */
public function foreignAmountIs(string $amount): GroupCollectorInterface public function foreignAmountIs(string $amount): GroupCollectorInterface
{ {
$this->query->where(static function (EloquentBuilder $q) use ($amount): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($amount): void {
$q->whereNotNull('source.foreign_amount'); $q->whereNotNull('source.foreign_amount');
$q->where('source.foreign_amount', Steam::negative($amount)); $q->where('source.foreign_amount', Steam::negative($amount));
}); });
@@ -96,7 +96,7 @@ trait AmountCollection
*/ */
public function foreignAmountIsNot(string $amount): GroupCollectorInterface public function foreignAmountIsNot(string $amount): GroupCollectorInterface
{ {
$this->query->where(static function (EloquentBuilder $q) use ($amount): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($amount): void {
$q->whereNull('source.foreign_amount'); $q->whereNull('source.foreign_amount');
$q->orWhere('source.foreign_amount', '!=', Steam::negative($amount)); $q->orWhere('source.foreign_amount', '!=', Steam::negative($amount));
}); });
@@ -109,7 +109,7 @@ trait AmountCollection
*/ */
public function foreignAmountLess(string $amount): GroupCollectorInterface public function foreignAmountLess(string $amount): GroupCollectorInterface
{ {
$this->query->where(static function (EloquentBuilder $q) use ($amount): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($amount): void {
$q->whereNotNull('destination.foreign_amount'); $q->whereNotNull('destination.foreign_amount');
$q->where('destination.foreign_amount', '<=', Steam::positive($amount)); $q->where('destination.foreign_amount', '<=', Steam::positive($amount));
}); });
@@ -122,7 +122,7 @@ trait AmountCollection
*/ */
public function foreignAmountMore(string $amount): GroupCollectorInterface public function foreignAmountMore(string $amount): GroupCollectorInterface
{ {
$this->query->where(static function (EloquentBuilder $q) use ($amount): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($amount): void {
$q->whereNotNull('destination.foreign_amount'); $q->whereNotNull('destination.foreign_amount');
$q->where('destination.foreign_amount', '>=', Steam::positive($amount)); $q->where('destination.foreign_amount', '>=', Steam::positive($amount));
}); });
@@ -483,7 +483,7 @@ trait AttachmentCollection
Log::debug('Add filter on no attachments.'); Log::debug('Add filter on no attachments.');
$this->joinAttachmentTables(); $this->joinAttachmentTables();
$this->query->where(static function (EloquentBuilder $q1): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q1): void {
$q1->whereNull('attachments.attachable_id')->orWhere(static function (EloquentBuilder $q2): void { $q1->whereNull('attachments.attachable_id')->orWhere(static function (EloquentBuilder $q2): void {
$q2->whereNotNull('attachments.attachable_id')->whereNotNull('attachments.deleted_at'); $q2->whereNotNull('attachments.attachable_id')->whereNotNull('attachments.deleted_at');
@@ -517,7 +517,7 @@ trait AttachmentCollection
$this->hasJoinedAttTables = true; $this->hasJoinedAttTables = true;
$this->query $this->query
->leftJoin('attachments', 'attachments.attachable_id', '=', 'transaction_journals.id') ->leftJoin('attachments', 'attachments.attachable_id', '=', 'transaction_journals.id')
->where(static function (EloquentBuilder $q1): void { // @phpstan-ignore-line ->where(static function (EloquentBuilder $q1): void {
$q1->where('attachments.attachable_type', TransactionJournal::class); $q1->where('attachments.attachable_type', TransactionJournal::class);
// $q1->where('attachments.uploaded', true); // $q1->where('attachments.uploaded', true);
// $q1->whereNull('attachments.deleted_at'); // $q1->whereNull('attachments.deleted_at');
@@ -46,7 +46,7 @@ trait MetaCollection
public function excludeBills(Collection $bills): GroupCollectorInterface public function excludeBills(Collection $bills): GroupCollectorInterface
{ {
$this->withBillInformation(); $this->withBillInformation();
$this->query->where(static function (EloquentBuilder $q1) use ($bills): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q1) use ($bills): void {
$q1->whereNotIn('transaction_journals.bill_id', $bills->pluck('id')->toArray()); $q1->whereNotIn('transaction_journals.bill_id', $bills->pluck('id')->toArray());
$q1->orWhereNull('transaction_journals.bill_id'); $q1->orWhereNull('transaction_journals.bill_id');
}); });
@@ -61,7 +61,7 @@ trait MetaCollection
{ {
$this->withBudgetInformation(); $this->withBudgetInformation();
$this->query->where(static function (EloquentBuilder $q2) use ($budget): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q2) use ($budget): void {
$q2->where('budgets.id', '!=', $budget->id); $q2->where('budgets.id', '!=', $budget->id);
$q2->orWhereNull('budgets.id'); $q2->orWhereNull('budgets.id');
}); });
@@ -73,7 +73,7 @@ trait MetaCollection
{ {
if ($budgets->count() > 0) { if ($budgets->count() > 0) {
$this->withBudgetInformation(); $this->withBudgetInformation();
$this->query->where(static function (EloquentBuilder $q1) use ($budgets): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q1) use ($budgets): void {
$q1->whereNotIn('budgets.id', $budgets->pluck('id')->toArray()); $q1->whereNotIn('budgets.id', $budgets->pluck('id')->toArray());
$q1->orWhereNull('budgets.id'); $q1->orWhereNull('budgets.id');
}); });
@@ -86,7 +86,7 @@ trait MetaCollection
{ {
if ($categories->count() > 0) { if ($categories->count() > 0) {
$this->withCategoryInformation(); $this->withCategoryInformation();
$this->query->where(static function (EloquentBuilder $q1) use ($categories): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q1) use ($categories): void {
$q1->whereNotIn('categories.id', $categories->pluck('id')->toArray()); $q1->whereNotIn('categories.id', $categories->pluck('id')->toArray());
$q1->orWhereNull('categories.id'); $q1->orWhereNull('categories.id');
}); });
@@ -102,7 +102,7 @@ trait MetaCollection
{ {
$this->withCategoryInformation(); $this->withCategoryInformation();
$this->query->where(static function (EloquentBuilder $q2) use ($category): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q2) use ($category): void {
$q2->where('categories.id', '!=', $category->id); $q2->where('categories.id', '!=', $category->id);
$q2->orWhereNull('categories.id'); $q2->orWhereNull('categories.id');
}); });
@@ -394,7 +394,7 @@ trait MetaCollection
public function notesDoNotContain(string $value): GroupCollectorInterface public function notesDoNotContain(string $value): GroupCollectorInterface
{ {
$this->withNotes(); $this->withNotes();
$this->query->where(static function (EloquentBuilder $q) use ($value): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($value): void {
$q->whereNull('notes.text'); $q->whereNull('notes.text');
$q->orWhereNotLike('notes.text', sprintf('%%%s%%', $value)); $q->orWhereNotLike('notes.text', sprintf('%%%s%%', $value));
}); });
@@ -405,7 +405,7 @@ trait MetaCollection
public function notesDontEndWith(string $value): GroupCollectorInterface public function notesDontEndWith(string $value): GroupCollectorInterface
{ {
$this->withNotes(); $this->withNotes();
$this->query->where(static function (EloquentBuilder $q) use ($value): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($value): void {
$q->whereNull('notes.text'); $q->whereNull('notes.text');
$q->orWhereNotLike('notes.text', sprintf('%%%s', $value)); $q->orWhereNotLike('notes.text', sprintf('%%%s', $value));
}); });
@@ -416,7 +416,7 @@ trait MetaCollection
public function notesDontStartWith(string $value): GroupCollectorInterface public function notesDontStartWith(string $value): GroupCollectorInterface
{ {
$this->withNotes(); $this->withNotes();
$this->query->where(static function (EloquentBuilder $q) use ($value): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($value): void {
$q->whereNull('notes.text'); $q->whereNull('notes.text');
$q->orWhereNotLike('notes.text', sprintf('%s%%', $value)); $q->orWhereNotLike('notes.text', sprintf('%s%%', $value));
}); });
@@ -443,7 +443,7 @@ trait MetaCollection
public function notesExactlyNot(string $value): GroupCollectorInterface public function notesExactlyNot(string $value): GroupCollectorInterface
{ {
$this->withNotes(); $this->withNotes();
$this->query->where(static function (EloquentBuilder $q) use ($value): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q) use ($value): void {
$q->whereNull('notes.text'); $q->whereNull('notes.text');
$q->orWhere('notes.text', '!=', $value); $q->orWhere('notes.text', '!=', $value);
}); });
@@ -889,7 +889,7 @@ trait MetaCollection
{ {
$this->joinMetaDataTables(); $this->joinMetaDataTables();
// TODO not sure if this will work properly. // TODO not sure if this will work properly.
$this->query->where(static function (EloquentBuilder $q1): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q1): void {
$q1->where(static function (EloquentBuilder $q2): void { $q1->where(static function (EloquentBuilder $q2): void {
$q2->where('journal_meta.name', '=', 'external_id'); $q2->where('journal_meta.name', '=', 'external_id');
$q2->whereNull('journal_meta.data'); $q2->whereNull('journal_meta.data');
@@ -910,7 +910,7 @@ trait MetaCollection
{ {
$this->joinMetaDataTables(); $this->joinMetaDataTables();
// TODO not sure if this will work properly. // TODO not sure if this will work properly.
$this->query->where(static function (EloquentBuilder $q1): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q1): void {
$q1->where(static function (EloquentBuilder $q2): void { $q1->where(static function (EloquentBuilder $q2): void {
$q2->where('journal_meta.name', '=', 'external_url'); $q2->where('journal_meta.name', '=', 'external_url');
$q2->whereNull('journal_meta.data'); $q2->whereNull('journal_meta.data');
@@ -930,7 +930,7 @@ trait MetaCollection
public function withoutNotes(): GroupCollectorInterface public function withoutNotes(): GroupCollectorInterface
{ {
$this->withNotes(); $this->withNotes();
$this->query->where(static function (EloquentBuilder $q): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q): void {
$q->whereNull('notes.text'); $q->whereNull('notes.text');
$q->orWhere('notes.text', ''); $q->orWhere('notes.text', '');
}); });
+2 -2
View File
@@ -314,7 +314,7 @@ class GroupCollector implements GroupCollectorInterface
public function excludeForeignCurrency(TransactionCurrency $currency): GroupCollectorInterface public function excludeForeignCurrency(TransactionCurrency $currency): GroupCollectorInterface
{ {
$this->query->where(static function (EloquentBuilder $q2) use ($currency): void { // @phpstan-ignore-line $this->query->where(static function (EloquentBuilder $q2) use ($currency): void {
$q2->where('source.foreign_currency_id', '!=', $currency->id); $q2->where('source.foreign_currency_id', '!=', $currency->id);
$q2->orWhereNull('source.foreign_currency_id'); $q2->orWhereNull('source.foreign_currency_id');
}); });
@@ -698,7 +698,7 @@ class GroupCollector implements GroupCollectorInterface
*/ */
foreach ($this->sorting as $field => $direction) { foreach ($this->sorting as $field => $direction) {
$func = 'ASC' === $direction ? 'sortBy' : 'sortByDesc'; $func = 'ASC' === $direction ? 'sortBy' : 'sortByDesc';
$collection = $collection->{$func}(static function (array $product, int $key) use ($field) { // @phpstan-ignore-line $collection = $collection->{$func}(static function (array $product, int $key) use ($field) {
// depends on $field: // depends on $field:
if ('description' === $field) { if ('description' === $field) {
if (1 === count($product['transactions'])) { if (1 === count($product['transactions'])) {
@@ -135,7 +135,7 @@ final class ExpenseReportController extends Controller
while ($currentStart < $end) { while ($currentStart < $end) {
$currentEnd = clone $currentStart; $currentEnd = clone $currentStart;
$currentEnd = $currentEnd->{$function}(); // @phpstan-ignore-line $currentEnd = $currentEnd->{$function}();
// get expenses grouped by opposing name: // get expenses grouped by opposing name:
$expenses = $this->groupByName($this->getExpensesForOpposing($accounts, $all, $currentStart, $currentEnd)); $expenses = $this->groupByName($this->getExpensesForOpposing($accounts, $all, $currentStart, $currentEnd));
+1 -1
View File
@@ -102,7 +102,7 @@ abstract class Controller extends BaseController
if ('true' === request()->get('force_default_layout') && 'v2' === config('view.layout')) { if ('true' === request()->get('force_default_layout') && 'v2' === config('view.layout')) {
// config('view.layout','v1'); // config('view.layout','v1');
Config::set('view.layout', 'v1'); Config::set('view.layout', 'v1');
View::getFinder()->setPaths([realpath(base_path('resources/views'))]); // @phpstan-ignore-line View::getFinder()->setPaths([realpath(base_path('resources/views'))]);
} }
View::share('authGuard', $authGuard); View::share('authGuard', $authGuard);
+6 -6
View File
@@ -149,7 +149,7 @@ final class DebugController extends Controller
// get latest log file: // get latest log file:
$logger = Log::driver(); $logger = Log::driver();
// PHPstan doesn't recognize the method because of its polymorphic nature. // PHPstan doesn't recognize the method because of its polymorphic nature.
$handlers = $logger->getHandlers(); // @phpstan-ignore-line $handlers = $logger->getHandlers();
$logContent = ''; $logContent = '';
foreach ($handlers as $handler) { foreach ($handlers as $handler) {
if ($handler instanceof RotatingFileHandler) { if ($handler instanceof RotatingFileHandler) {
@@ -323,7 +323,7 @@ final class DebugController extends Controller
private function getBuildInfo(): array private function getBuildInfo(): array
{ {
$return = [ $return = [
'is_docker' => env('IS_DOCKER', false), // @phpstan-ignore-line 'is_docker' => env('IS_DOCKER', false),
'build' => '(unknown)', 'build' => '(unknown)',
'build_date' => '(unknown)', 'build_date' => '(unknown)',
'base_build' => '(unknown)', 'base_build' => '(unknown)',
@@ -348,11 +348,11 @@ final class DebugController extends Controller
Log::debug('Could not check build date, but thats ok.'); Log::debug('Could not check build date, but thats ok.');
Log::warning($e->getMessage()); Log::warning($e->getMessage());
} }
if ('' !== (string) env('BASE_IMAGE_BUILD')) { // @phpstan-ignore-line if ('' !== (string) env('BASE_IMAGE_BUILD')) {
$return['base_build'] = env('BASE_IMAGE_BUILD'); // @phpstan-ignore-line $return['base_build'] = env('BASE_IMAGE_BUILD');
} }
if ('' !== (string) env('BASE_IMAGE_DATE')) { // @phpstan-ignore-line if ('' !== (string) env('BASE_IMAGE_DATE')) {
$return['base_build_date'] = env('BASE_IMAGE_DATE'); // @phpstan-ignore-line $return['base_build_date'] = env('BASE_IMAGE_DATE');
} }
return $return; return $return;
@@ -86,7 +86,7 @@ final class PreferencesController extends Controller
AccountTypeEnum::DEBT->value, AccountTypeEnum::DEBT->value,
AccountTypeEnum::MORTGAGE->value, AccountTypeEnum::MORTGAGE->value,
]); ]);
$isDocker = env('IS_DOCKER', false); // @phpstan-ignore-line $isDocker = env('IS_DOCKER', false);
$groupedAccounts = []; $groupedAccounts = [];
/** @var Account $account */ /** @var Account $account */
@@ -42,6 +42,6 @@ final class CreateController extends Controller
$mainTitleIcon = 'fa-book'; $mainTitleIcon = 'fa-book';
Log::debug(sprintf('Now at %s', __METHOD__)); Log::debug(sprintf('Now at %s', __METHOD__));
return view('administrations.create')->with(['title' => $title, 'subTitle' => $subTitle, 'mainTitleIcon' => $mainTitleIcon]); // @phpstan-ignore-line return view('administrations.create')->with(['title' => $title, 'subTitle' => $subTitle, 'mainTitleIcon' => $mainTitleIcon]);
} }
} }
+1 -1
View File
@@ -67,7 +67,7 @@ class SecureHeaders
]; ];
// overrule in development mode // overrule in development mode
if (true === env('IS_LOCAL_DEV')) { // @phpstan-ignore-line if (true === env('IS_LOCAL_DEV')) {
$csp = [ $csp = [
"default-src 'none'", "default-src 'none'",
"object-src 'none'", "object-src 'none'",
+1 -1
View File
@@ -134,7 +134,7 @@ class RecurrenceFormRequest extends FormRequest
* @var int $index * @var int $index
* @var array $transaction * @var array $transaction
*/ */
foreach ($return['transactions'] as $index => $transaction) { // @phpstan-ignore-line foreach ($return['transactions'] as $index => $transaction) {
$categoryName = $transaction['category_name'] ?? null; $categoryName = $transaction['category_name'] ?? null;
if (null !== $categoryName) { if (null !== $categoryName) {
$category = $factory->findOrCreate(null, $categoryName); $category = $factory->findOrCreate(null, $categoryName);
@@ -46,7 +46,7 @@ class OwnerNotifiable
if (method_exists($this, $method)) { if (method_exists($this, $method)) {
Log::debug(sprintf('Redirect for settings to "%s".', $method)); Log::debug(sprintf('Redirect for settings to "%s".', $method));
return $this->{$method}($notification); // @phpstan-ignore-line return $this->{$method}($notification);
} }
Log::debug(sprintf('No method "%s" found, return generic settings.', $method)); Log::debug(sprintf('No method "%s" found, return generic settings.', $method));
+3 -3
View File
@@ -63,7 +63,7 @@ class AccountServiceProvider extends ServiceProvider
$repository = app(AccountRepository::class); $repository = app(AccountRepository::class);
// phpstan thinks auth does not exist. // phpstan thinks auth does not exist.
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -75,7 +75,7 @@ class AccountServiceProvider extends ServiceProvider
$repository = app(OperationsRepository::class); $repository = app(OperationsRepository::class);
// phpstan thinks auth does not exist. // phpstan thinks auth does not exist.
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -93,7 +93,7 @@ class AccountServiceProvider extends ServiceProvider
$tasker = app(AccountTasker::class); $tasker = app(AccountTasker::class);
// phpstan thinks auth does not exist. // phpstan thinks auth does not exist.
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$tasker->setUser(auth()->user()); $tasker->setUser(auth()->user());
} }
+1 -1
View File
@@ -57,7 +57,7 @@ class AdminServiceProvider extends ServiceProvider
/** @var LinkTypeRepository $repository */ /** @var LinkTypeRepository $repository */
$repository = app(LinkTypeRepository::class); $repository = app(LinkTypeRepository::class);
// reference to auth is not understood by phpstan. // reference to auth is not understood by phpstan.
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+1 -1
View File
@@ -49,7 +49,7 @@ class AttachmentServiceProvider extends ServiceProvider
/** @var AttachmentRepositoryInterface $repository */ /** @var AttachmentRepositoryInterface $repository */
$repository = app(AttachmentRepository::class); $repository = app(AttachmentRepository::class);
// reference to auth is not understood by phpstan. // reference to auth is not understood by phpstan.
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+1 -1
View File
@@ -50,7 +50,7 @@ class BillServiceProvider extends ServiceProvider
$repository = app(BillRepository::class); $repository = app(BillRepository::class);
// reference to auth is not understood by phpstan. // reference to auth is not understood by phpstan.
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+5 -5
View File
@@ -59,7 +59,7 @@ class BudgetServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): BudgetRepositoryInterface { $this->app->bind(static function (Application $app): BudgetRepositoryInterface {
/** @var BudgetRepositoryInterface $repository */ /** @var BudgetRepositoryInterface $repository */
$repository = app(BudgetRepository::class); $repository = app(BudgetRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -70,7 +70,7 @@ class BudgetServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): AvailableBudgetRepositoryInterface { $this->app->bind(static function (Application $app): AvailableBudgetRepositoryInterface {
/** @var AvailableBudgetRepositoryInterface $repository */ /** @var AvailableBudgetRepositoryInterface $repository */
$repository = app(AvailableBudgetRepository::class); $repository = app(AvailableBudgetRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -81,7 +81,7 @@ class BudgetServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): BudgetLimitRepositoryInterface { $this->app->bind(static function (Application $app): BudgetLimitRepositoryInterface {
/** @var BudgetLimitRepositoryInterface $repository */ /** @var BudgetLimitRepositoryInterface $repository */
$repository = app(BudgetLimitRepository::class); $repository = app(BudgetLimitRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -92,7 +92,7 @@ class BudgetServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): NoBudgetRepositoryInterface { $this->app->bind(static function (Application $app): NoBudgetRepositoryInterface {
/** @var NoBudgetRepositoryInterface $repository */ /** @var NoBudgetRepositoryInterface $repository */
$repository = app(NoBudgetRepository::class); $repository = app(NoBudgetRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -103,7 +103,7 @@ class BudgetServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): OperationsRepositoryInterface { $this->app->bind(static function (Application $app): OperationsRepositoryInterface {
/** @var OperationsRepositoryInterface $repository */ /** @var OperationsRepositoryInterface $repository */
$repository = app(OperationsRepository::class); $repository = app(OperationsRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+3 -3
View File
@@ -53,7 +53,7 @@ class CategoryServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): CategoryRepositoryInterface { $this->app->bind(static function (Application $app): CategoryRepositoryInterface {
/** @var CategoryRepository $repository */ /** @var CategoryRepository $repository */
$repository = app(CategoryRepository::class); $repository = app(CategoryRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -63,7 +63,7 @@ class CategoryServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): OperationsRepositoryInterface { $this->app->bind(static function (Application $app): OperationsRepositoryInterface {
/** @var OperationsRepository $repository */ /** @var OperationsRepository $repository */
$repository = app(OperationsRepository::class); $repository = app(OperationsRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -73,7 +73,7 @@ class CategoryServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): NoCategoryRepositoryInterface { $this->app->bind(static function (Application $app): NoCategoryRepositoryInterface {
/** @var NoCategoryRepository $repository */ /** @var NoCategoryRepository $repository */
$repository = app(NoCategoryRepository::class); $repository = app(NoCategoryRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+3 -3
View File
@@ -52,7 +52,7 @@ class CurrencyServiceProvider extends ServiceProvider
/** @var CurrencyRepository $repository */ /** @var CurrencyRepository $repository */
$repository = app(GroupCurrencyRepository::class); $repository = app(GroupCurrencyRepository::class);
// phpstan does not get the reference to auth // phpstan does not get the reference to auth
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -62,7 +62,7 @@ class CurrencyServiceProvider extends ServiceProvider
/** @var GroupCurrencyRepository $repository */ /** @var GroupCurrencyRepository $repository */
$repository = app(GroupCurrencyRepository::class); $repository = app(GroupCurrencyRepository::class);
// phpstan does not get the reference to auth // phpstan does not get the reference to auth
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -73,7 +73,7 @@ class CurrencyServiceProvider extends ServiceProvider
/** @var ExchangeRateRepository $repository */ /** @var ExchangeRateRepository $repository */
$repository = app(ExchangeRateRepository::class); $repository = app(ExchangeRateRepository::class);
// phpstan does not get the reference to auth // phpstan does not get the reference to auth
if ($app->auth->check()) { // @phpstan-ignore-line if ($app->auth->check()) {
$repository->setUserGroup(auth()->user()->userGroup); $repository->setUserGroup(auth()->user()->userGroup);
} }
+5 -5
View File
@@ -132,7 +132,7 @@ class FireflyServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): ObjectGroupRepositoryInterface { $this->app->bind(static function (Application $app): ObjectGroupRepositoryInterface {
/** @var ObjectGroupRepository $repository */ /** @var ObjectGroupRepository $repository */
$repository = app(ObjectGroupRepository::class); $repository = app(ObjectGroupRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -142,7 +142,7 @@ class FireflyServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): PeriodStatisticRepositoryInterface { $this->app->bind(static function (Application $app): PeriodStatisticRepositoryInterface {
/** @var PeriodStatisticRepository $repository */ /** @var PeriodStatisticRepository $repository */
$repository = app(PeriodStatisticRepository::class); $repository = app(PeriodStatisticRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -152,7 +152,7 @@ class FireflyServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): WebhookRepositoryInterface { $this->app->bind(static function (Application $app): WebhookRepositoryInterface {
/** @var WebhookRepository $repository */ /** @var WebhookRepository $repository */
$repository = app(WebhookRepository::class); $repository = app(WebhookRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -170,7 +170,7 @@ class FireflyServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): RuleEngineInterface { $this->app->bind(static function (Application $app): RuleEngineInterface {
/** @var SearchRuleEngine $engine */ /** @var SearchRuleEngine $engine */
$engine = app(SearchRuleEngine::class); $engine = app(SearchRuleEngine::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$engine->setUser(auth()->user()); $engine->setUser(auth()->user());
} }
@@ -180,7 +180,7 @@ class FireflyServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): UserGroupRepositoryInterface { $this->app->bind(static function (Application $app): UserGroupRepositoryInterface {
/** @var UserGroupRepository $repository */ /** @var UserGroupRepository $repository */
$repository = app(UserGroupRepository::class); $repository = app(UserGroupRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+5 -5
View File
@@ -63,7 +63,7 @@ class JournalServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): GroupCollectorInterface { $this->app->bind(static function (Application $app): GroupCollectorInterface {
/** @var GroupCollectorInterface $collector */ /** @var GroupCollectorInterface $collector */
$collector = app(GroupCollector::class); $collector = app(GroupCollector::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$collector->setUser(auth()->user()); $collector->setUser(auth()->user());
} }
@@ -79,7 +79,7 @@ class JournalServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): TransactionGroupRepositoryInterface { $this->app->bind(static function (Application $app): TransactionGroupRepositoryInterface {
/** @var TransactionGroupRepositoryInterface $repository */ /** @var TransactionGroupRepositoryInterface $repository */
$repository = app(TransactionGroupRepository::class); $repository = app(TransactionGroupRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -95,7 +95,7 @@ class JournalServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): JournalRepositoryInterface { $this->app->bind(static function (Application $app): JournalRepositoryInterface {
/** @var JournalRepositoryInterface $repository */ /** @var JournalRepositoryInterface $repository */
$repository = app(JournalRepository::class); $repository = app(JournalRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -106,7 +106,7 @@ class JournalServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): JournalAPIRepositoryInterface { $this->app->bind(static function (Application $app): JournalAPIRepositoryInterface {
/** @var JournalAPIRepositoryInterface $repository */ /** @var JournalAPIRepositoryInterface $repository */
$repository = app(JournalAPIRepository::class); $repository = app(JournalAPIRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -117,7 +117,7 @@ class JournalServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): JournalCLIRepositoryInterface { $this->app->bind(static function (Application $app): JournalCLIRepositoryInterface {
/** @var JournalCLIRepositoryInterface $repository */ /** @var JournalCLIRepositoryInterface $repository */
$repository = app(JournalCLIRepository::class); $repository = app(JournalCLIRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+1 -1
View File
@@ -48,7 +48,7 @@ class PiggyBankServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): PiggyBankRepositoryInterface { $this->app->bind(static function (Application $app): PiggyBankRepositoryInterface {
/** @var PiggyBankRepository $repository */ /** @var PiggyBankRepository $repository */
$repository = app(PiggyBankRepository::class); $repository = app(PiggyBankRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+1 -1
View File
@@ -49,7 +49,7 @@ class RecurringServiceProvider extends ServiceProvider
/** @var RecurringRepositoryInterface $repository */ /** @var RecurringRepositoryInterface $repository */
$repository = app(RecurringRepository::class); $repository = app(RecurringRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+1 -1
View File
@@ -48,7 +48,7 @@ class RuleGroupServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): RuleGroupRepositoryInterface { $this->app->bind(static function (Application $app): RuleGroupRepositoryInterface {
/** @var RuleGroupRepository $repository */ /** @var RuleGroupRepository $repository */
$repository = app(RuleGroupRepository::class); $repository = app(RuleGroupRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+1 -1
View File
@@ -48,7 +48,7 @@ class RuleServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): RuleRepositoryInterface { $this->app->bind(static function (Application $app): RuleRepositoryInterface {
/** @var RuleRepository $repository */ /** @var RuleRepository $repository */
$repository = app(RuleRepository::class); $repository = app(RuleRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
+1 -1
View File
@@ -52,7 +52,7 @@ class SearchServiceProvider extends ServiceProvider
$this->app->bind(static function (Application $app): SearchInterface { $this->app->bind(static function (Application $app): SearchInterface {
/** @var OperatorQuerySearch $search */ /** @var OperatorQuerySearch $search */
$search = app(OperatorQuerySearch::class); $search = app(OperatorQuerySearch::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$search->setUser(auth()->user()); $search->setUser(auth()->user());
} }
+2 -2
View File
@@ -51,7 +51,7 @@ class TagServiceProvider extends ServiceProvider
/** @var TagRepository $repository */ /** @var TagRepository $repository */
$repository = app(TagRepository::class); $repository = app(TagRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -62,7 +62,7 @@ class TagServiceProvider extends ServiceProvider
/** @var OperationsRepository $repository */ /** @var OperationsRepository $repository */
$repository = app(OperationsRepository::class); $repository = app(OperationsRepository::class);
if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) if ($app->auth->check()) { (phpstan does not understand the reference to auth)
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());
} }
@@ -271,7 +271,7 @@ class AccountRepository implements AccountRepositoryInterface, UserGroupInterfac
{ {
$query = $this->user $query = $this->user
->accounts() ->accounts()
->with([ // @phpstan-ignore-line ->with([
'accountmeta' => static function (HasMany $query): void { 'accountmeta' => static function (HasMany $query): void {
$query->where('name', 'account_role'); $query->where('name', 'account_role');
}, },
@@ -296,7 +296,7 @@ class AccountRepository implements AccountRepositoryInterface, UserGroupInterfac
/** @var Storage $disk */ /** @var Storage $disk */
$disk = Storage::disk('upload'); $disk = Storage::disk('upload');
return $set->each(static function (Attachment $attachment) use ($disk): Attachment { // @phpstan-ignore-line return $set->each(static function (Attachment $attachment) use ($disk): Attachment {
$notes = $attachment->notes()->first(); $notes = $attachment->notes()->first();
$attachment->file_exists = $disk->exists($attachment->fileName()); $attachment->file_exists = $disk->exists($attachment->fileName());
$attachment->notes_text = null !== $notes ? $notes->text : ''; $attachment->notes_text = null !== $notes ? $notes->text : '';
@@ -335,7 +335,7 @@ class AccountRepository implements AccountRepositoryInterface, UserGroupInterfac
{ {
$query = $this->user $query = $this->user
->accounts() ->accounts()
->with(['accountmeta' => static function (HasMany $query): void { // @phpstan-ignore-line ->with(['accountmeta' => static function (HasMany $query): void {
$query->where('name', 'account_role'); $query->where('name', 'account_role');
}]) }])
; ;
@@ -394,7 +394,7 @@ class OperationsRepository implements OperationsRepositoryInterface, UserGroupIn
]; ];
$array[$currencyId]['transaction_journals'][$journalId] = [ $array[$currencyId]['transaction_journals'][$journalId] = [
'amount' => Steam::{$direction}((string) $journal['amount']), // @phpstan-ignore-line 'amount' => Steam::{$direction}((string) $journal['amount']),
'date' => $journal['date'], 'date' => $journal['date'],
'transaction_journal_id' => $journalId, 'transaction_journal_id' => $journalId,
'budget_name' => $journal['budget_name'], 'budget_name' => $journal['budget_name'],
+2 -2
View File
@@ -187,7 +187,7 @@ class BillRepository implements BillRepositoryInterface, UserGroupInterface
->bills() ->bills()
->where('active', true) ->where('active', true)
->orderBy('bills.name', 'ASC') ->orderBy('bills.name', 'ASC')
->get(['bills.*', DB::raw('((bills.amount_min + bills.amount_max) / 2) AS expectedAmount')]) // @phpstan-ignore-line ->get(['bills.*', DB::raw('((bills.amount_min + bills.amount_max) / 2) AS expectedAmount')])
; ;
} }
@@ -199,7 +199,7 @@ class BillRepository implements BillRepositoryInterface, UserGroupInterface
$set = $bill->attachments()->get(); $set = $bill->attachments()->get();
$disk = Storage::disk('upload'); $disk = Storage::disk('upload');
return $set->each(static function (Attachment $attachment) use ($disk): Attachment { // @phpstan-ignore-line return $set->each(static function (Attachment $attachment) use ($disk): Attachment {
$notes = $attachment->notes()->first(); $notes = $attachment->notes()->first();
$attachment->file_exists = $disk->exists($attachment->fileName()); $attachment->file_exists = $disk->exists($attachment->fileName());
$attachment->notes_text = null !== $notes ? $notes->text : ''; $attachment->notes_text = null !== $notes ? $notes->text : '';
+1 -1
View File
@@ -345,7 +345,7 @@ class BudgetRepository implements BudgetRepositoryInterface, UserGroupInterface
$disk = Storage::disk('upload'); $disk = Storage::disk('upload');
return $set->each(static function (Attachment $attachment) use ($disk): Attachment { // @phpstan-ignore-line return $set->each(static function (Attachment $attachment) use ($disk): Attachment {
$notes = $attachment->notes()->first(); $notes = $attachment->notes()->first();
$attachment->file_exists = $disk->exists($attachment->fileName()); $attachment->file_exists = $disk->exists($attachment->fileName());
$attachment->notes_text = null !== $notes ? $notes->text : ''; $attachment->notes_text = null !== $notes ? $notes->text : '';
@@ -170,7 +170,7 @@ class CategoryRepository implements CategoryRepositoryInterface, UserGroupInterf
$disk = Storage::disk('upload'); $disk = Storage::disk('upload');
return $set->each(static function (Attachment $attachment) use ($disk): Attachment { // @phpstan-ignore-line return $set->each(static function (Attachment $attachment) use ($disk): Attachment {
$notes = $attachment->notes()->first(); $notes = $attachment->notes()->first();
$attachment->file_exists = $disk->exists($attachment->fileName()); $attachment->file_exists = $disk->exists($attachment->fileName());
$attachment->notes_text = null !== $notes ? $notes->text : ''; $attachment->notes_text = null !== $notes ? $notes->text : '';
@@ -298,7 +298,7 @@ class CurrencyRepository implements CurrencyRepositoryInterface, UserGroupInterf
->withPivot(['group_default']) ->withPivot(['group_default'])
->get() ->get()
; ;
$all->map(static function (TransactionCurrency $current): TransactionCurrency { // @phpstan-ignore-line $all->map(static function (TransactionCurrency $current): TransactionCurrency {
$current->userGroupEnabled = true; $current->userGroupEnabled = true;
$current->userGroupNative = 1 === (int) $current->pivot->group_default; $current->userGroupNative = 1 === (int) $current->pivot->group_default;
@@ -86,7 +86,7 @@ class JournalAPIRepository implements JournalAPIRepositoryInterface, UserGroupIn
public function getPiggyBankEvents(TransactionJournal $journal): Collection public function getPiggyBankEvents(TransactionJournal $journal): Collection
{ {
$events = $journal->piggyBankEvents()->get(); $events = $journal->piggyBankEvents()->get();
$events->each(static function (PiggyBankEvent $event): void { // @phpstan-ignore-line $events->each(static function (PiggyBankEvent $event): void {
$event->piggyBank = PiggyBank::withTrashed()->find($event->piggy_bank_id); $event->piggyBank = PiggyBank::withTrashed()->find($event->piggy_bank_id);
}); });
@@ -120,7 +120,7 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface, UserGroupInte
$disk = Storage::disk('upload'); $disk = Storage::disk('upload');
return $set->each(static function (Attachment $attachment) use ($disk): Attachment { // @phpstan-ignore-line return $set->each(static function (Attachment $attachment) use ($disk): Attachment {
$notes = $attachment->notes()->first(); $notes = $attachment->notes()->first();
$attachment->file_exists = $disk->exists($attachment->fileName()); $attachment->file_exists = $disk->exists($attachment->fileName());
$attachment->notes_text = null !== $notes ? $notes->text : ''; $attachment->notes_text = null !== $notes ? $notes->text : '';
@@ -239,11 +239,11 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface, UserGroupInte
$amount = null; $amount = null;
if ((int) $source->transaction_currency_id === $currency->id) { if ((int) $source->transaction_currency_id === $currency->id) {
Log::debug('Use normal amount'); Log::debug('Use normal amount');
$amount = Steam::{$operator}($source->amount); // @phpstan-ignore-line $amount = Steam::{$operator}($source->amount);
} }
if ((int) $source->foreign_currency_id === $currency->id) { if ((int) $source->foreign_currency_id === $currency->id) {
Log::debug('Use foreign amount'); Log::debug('Use foreign amount');
$amount = Steam::{$operator}($source->foreign_amount); // @phpstan-ignore-line $amount = Steam::{$operator}($source->foreign_amount);
} }
if (null === $amount) { if (null === $amount) {
Log::debug('No match on currency, so amount remains null, return "0".'); Log::debug('No match on currency, so amount remains null, return "0".');
@@ -177,7 +177,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface, UserGroupInte
$groups = $this->user $groups = $this->user
->ruleGroups() ->ruleGroups()
->orderBy('order', 'ASC') ->orderBy('order', 'ASC')
->with([ // @phpstan-ignore-line ->with([
'rules' => static function (HasMany $query): void { 'rules' => static function (HasMany $query): void {
$query->orderBy('order', 'ASC'); $query->orderBy('order', 'ASC');
@@ -197,7 +197,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface, UserGroupInte
} }
// Log::debug(sprintf('Will filter getRuleGroupsWithRules on "%s".', $filter)); // Log::debug(sprintf('Will filter getRuleGroupsWithRules on "%s".', $filter));
return $groups->map(static function (RuleGroup $group) use ($filter): RuleGroup { // @phpstan-ignore-line return $groups->map(static function (RuleGroup $group) use ($filter): RuleGroup {
// Log::debug(sprintf('Now filtering group #%d', $group->id)); // Log::debug(sprintf('Now filtering group #%d', $group->id));
// filter the rules in the rule group: // filter the rules in the rule group:
$group->rules = $group->rules->filter(static function (Rule $rule) use ($filter): bool { $group->rules = $group->rules->filter(static function (Rule $rule) use ($filter): bool {
@@ -231,7 +231,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface, UserGroupInte
->ruleGroups() ->ruleGroups()
->orderBy('order', 'ASC') ->orderBy('order', 'ASC')
->where('active', true) ->where('active', true)
->with([ // @phpstan-ignore-line ->with([
'rules' => static function (HasMany $query): void { 'rules' => static function (HasMany $query): void {
$query->orderBy('order', 'ASC'); $query->orderBy('order', 'ASC');
$query->where('rules.active', true); $query->where('rules.active', true);
@@ -250,7 +250,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface, UserGroupInte
} }
Log::debug(sprintf('Will filter getRuleGroupsWithRules on "%s".', $filter)); Log::debug(sprintf('Will filter getRuleGroupsWithRules on "%s".', $filter));
return $groups->map(static function (RuleGroup $group) use ($filter): RuleGroup { // @phpstan-ignore-line return $groups->map(static function (RuleGroup $group) use ($filter): RuleGroup {
// Log::debug(sprintf('Now filtering group #%d', $group->id)); // Log::debug(sprintf('Now filtering group #%d', $group->id));
// filter the rules in the rule group: // filter the rules in the rule group:
$group->rules = $group->rules->filter(static function (Rule $rule) use ($filter): bool { $group->rules = $group->rules->filter(static function (Rule $rule) use ($filter): bool {
+1 -1
View File
@@ -126,7 +126,7 @@ class TagRepository implements TagRepositoryInterface, UserGroupInterface
$set = $tag->attachments()->get(); $set = $tag->attachments()->get();
$disk = Storage::disk('upload'); $disk = Storage::disk('upload');
return $set->each(static function (Attachment $attachment) use ($disk): void { // @phpstan-ignore-line return $set->each(static function (Attachment $attachment) use ($disk): void {
/** @var null|Note $note */ /** @var null|Note $note */
$note = $attachment->notes()->first(); $note = $attachment->notes()->first();
// only used in v1 view of tags // only used in v1 view of tags
@@ -101,7 +101,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface, UserGroupInte
'webhooks', 'webhooks',
]; ];
foreach ($objects as $object) { foreach ($objects as $object) {
foreach ($userGroup->{$object}()->get() as $item) { // @phpstan-ignore-line foreach ($userGroup->{$object}()->get() as $item) {
$item->delete(); $item->delete();
} }
} }
@@ -257,7 +257,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface, UserGroupInte
0 === $ownerCount 0 === $ownerCount
&& ( && (
0 === count($data['roles']) 0 === count($data['roles'])
|| count($data['roles']) > 0 // @phpstan-ignore-line || count($data['roles']) > 0
&& !in_array(UserRoleEnum::OWNER->value, $data['roles'], true) && !in_array(UserRoleEnum::OWNER->value, $data['roles'], true)
) )
) { ) {
@@ -90,7 +90,7 @@ class WebhookRepository implements WebhookRepositoryInterface, UserGroupInterfac
->where('webhook_messages.sent', 0) ->where('webhook_messages.sent', 0)
->where('webhook_messages.errored', 0) ->where('webhook_messages.errored', 0)
->get(['webhook_messages.*']) ->get(['webhook_messages.*'])
->filter(static fn (WebhookMessage $message): bool => $message->webhookAttempts()->count() <= 2) // @phpstan-ignore-line ->filter(static fn (WebhookMessage $message): bool => $message->webhookAttempts()->count() <= 2)
->splice(0, 3) ->splice(0, 3)
; ;
} }
+1 -1
View File
@@ -82,7 +82,7 @@ class BelongsUser implements ValidationRule
} }
$count = 0; $count = 0;
foreach ($objects as $object) { foreach ($objects as $object) {
$objectValue = trim((string) $object->{$field}); // @phpstan-ignore-line $objectValue = trim((string) $object->{$field});
Log::debug(sprintf('Comparing object "%s" with value "%s"', $objectValue, $value)); Log::debug(sprintf('Comparing object "%s" with value "%s"', $objectValue, $value));
if ($objectValue === $value) { if ($objectValue === $value) {
++$count; ++$count;
+1 -1
View File
@@ -95,7 +95,7 @@ class BelongsUserGroup implements ValidationRule
} }
$count = 0; $count = 0;
foreach ($objects as $object) { foreach ($objects as $object) {
$objectValue = trim((string) $object->{$field}); // @phpstan-ignore-line $objectValue = trim((string) $object->{$field});
Log::debug(sprintf('Comparing object "%s" with value "%s"', $objectValue, $value)); Log::debug(sprintf('Comparing object "%s" with value "%s"', $objectValue, $value));
if ($objectValue === $value) { if ($objectValue === $value) {
++$count; ++$count;
+2 -2
View File
@@ -51,7 +51,7 @@ class IsDateOrTime implements ValidationRule
// probably a date format. // probably a date format.
try { try {
Carbon::createFromFormat('Y-m-d', $value); Carbon::createFromFormat('Y-m-d', $value);
} catch (InvalidDateException $e) { // @phpstan-ignore-line } catch (InvalidDateException $e) {
Log::error(sprintf('"%s" is not a valid date: %s', $value, $e->getMessage())); Log::error(sprintf('"%s" is not a valid date: %s', $value, $e->getMessage()));
$fail('validation.date_or_time')->translate(); $fail('validation.date_or_time')->translate();
@@ -71,7 +71,7 @@ class IsDateOrTime implements ValidationRule
// is an atom string, I hope? // is an atom string, I hope?
try { try {
Carbon::parse($value); Carbon::parse($value);
} catch (InvalidDateException $e) { // @phpstan-ignore-line } catch (InvalidDateException $e) {
Log::error(sprintf('"%s" is not a valid date or time: %s', $value, $e->getMessage())); Log::error(sprintf('"%s" is not a valid date or time: %s', $value, $e->getMessage()));
$fail('validation.date_or_time')->translate(); $fail('validation.date_or_time')->translate();
+1 -1
View File
@@ -94,7 +94,7 @@ class IsValidBulkClause implements ValidationRule
// validate! // validate!
$validator = Validator::make(['value' => $arrayValue], ['value' => $this->rules[$clause][$arrayKey]]); $validator = Validator::make(['value' => $arrayValue], ['value' => $this->rules[$clause][$arrayKey]]);
if ($validator->fails()) { if ($validator->fails()) {
$this->error = sprintf('%s: %s: %s', $clause, $arrayKey, implode(', ', $validator->errors()->get('value'))); // @phpstan-ignore-line $this->error = sprintf('%s: %s: %s', $clause, $arrayKey, implode(', ', $validator->errors()->get('value')));
return false; return false;
} }
+1 -1
View File
@@ -54,7 +54,7 @@ class IsValidDateRange implements ValidationRule
try { try {
$left = Carbon::parse($value); $left = Carbon::parse($value);
$right = Carbon::parse($otherValue); $right = Carbon::parse($otherValue);
} catch (InvalidDateException $e) { // @phpstan-ignore-line } catch (InvalidDateException $e) {
Log::error(sprintf('"%s" or "%s" is not a valid date or time: %s', $value, $otherValue, $e->getMessage())); Log::error(sprintf('"%s" or "%s" is not a valid date or time: %s', $value, $otherValue, $e->getMessage()));
$fail('validation.date_or_time')->translate(); $fail('validation.date_or_time')->translate();
@@ -198,7 +198,7 @@ class PrimaryAmountRecalculationService
private function recalculatePiggyBankEvents(PiggyBank $piggyBank): void private function recalculatePiggyBankEvents(PiggyBank $piggyBank): void
{ {
$set = $piggyBank->piggyBankEvents()->get(); $set = $piggyBank->piggyBankEvents()->get();
$set->each(static function (PiggyBankEvent $event): void { // @phpstan-ignore-line $set->each(static function (PiggyBankEvent $event): void {
$event->touch(); $event->touch();
}); });
Log::debug(sprintf('Recalculated %d piggy bank events.', $set->count())); Log::debug(sprintf('Recalculated %d piggy bank events.', $set->count()));
@@ -675,7 +675,7 @@ class JournalUpdateService
) )
); );
$this->transactionJournal->{$fieldName} = $value; // @phpstan-ignore-line $this->transactionJournal->{$fieldName} = $value;
Log::debug(sprintf('Updated %s', $fieldName)); Log::debug(sprintf('Updated %s', $fieldName));
} }
} }
@@ -822,7 +822,7 @@ class JournalUpdateService
if ($this->hasFields([$field])) { if ($this->hasFields([$field])) {
try { try {
$value = '' === (string) $this->data[$field] ? null : new Carbon($this->data[$field]); $value = '' === (string) $this->data[$field] ? null : new Carbon($this->data[$field]);
} catch (InvalidDateException|InvalidFormatException $e) { // @phpstan-ignore-line } catch (InvalidDateException|InvalidFormatException $e) {
Log::debug(sprintf('%s is not a valid date value: %s', $this->data[$field], $e->getMessage())); Log::debug(sprintf('%s is not a valid date value: %s', $this->data[$field], $e->getMessage()));
return; return;
@@ -144,7 +144,7 @@ class RemoteUserGuard implements Guard
return $this->user?->id; return $this->user?->id;
} }
public function setUser(Authenticatable|User|null $user): void // @phpstan-ignore-line public function setUser(Authenticatable|User|null $user): void
{ {
// Log::debug(sprintf('Now at %s', __METHOD__)); // Log::debug(sprintf('Now at %s', __METHOD__));
if ($user instanceof User) { if ($user instanceof User) {
+1 -1
View File
@@ -46,7 +46,7 @@ class BudgetList implements BinderInterface
$list = array_unique(array_map(\intval(...), explode(',', $value))); $list = array_unique(array_map(\intval(...), explode(',', $value)));
if (0 === count($list)) { // @phpstan-ignore-line if (0 === count($list)) {
Log::warning('Budget list count is zero, return 404.'); Log::warning('Budget list count is zero, return 404.');
throw new NotFoundHttpException(); throw new NotFoundHttpException();
+1 -1
View File
@@ -44,7 +44,7 @@ class CategoryList implements BinderInterface
} }
$list = array_unique(array_map(\intval(...), explode(',', $value))); $list = array_unique(array_map(\intval(...), explode(',', $value)));
if (0 === count($list)) { // @phpstan-ignore-line if (0 === count($list)) {
throw new NotFoundHttpException(); throw new NotFoundHttpException();
} }
+1 -1
View File
@@ -69,7 +69,7 @@ class Date implements BinderInterface
try { try {
$result = new Carbon($value); $result = new Carbon($value);
} catch (InvalidDateException|InvalidFormatException $e) { // @phpstan-ignore-line } catch (InvalidDateException|InvalidFormatException $e) {
$message = sprintf('Could not parse date "%s" for user #%d: %s', $value, auth()->user()->id, $e->getMessage()); $message = sprintf('Could not parse date "%s" for user #%d: %s', $value, auth()->user()->id, $e->getMessage());
Log::error($message); Log::error($message);
+1 -1
View File
@@ -66,7 +66,7 @@ class JournalList implements BinderInterface
protected static function parseList(string $value): array protected static function parseList(string $value): array
{ {
$list = array_unique(array_map(\intval(...), explode(',', $value))); $list = array_unique(array_map(\intval(...), explode(',', $value)));
if (0 === count($list)) { // @phpstan-ignore-line if (0 === count($list)) {
throw new NotFoundHttpException(); throw new NotFoundHttpException();
} }
+1 -1
View File
@@ -47,7 +47,7 @@ class TagList implements BinderInterface
$list = array_unique(array_map(\strtolower(...), explode(',', $value))); $list = array_unique(array_map(\strtolower(...), explode(',', $value)));
Log::debug('List of tags is', $list); Log::debug('List of tags is', $list);
if (0 === count($list)) { // @phpstan-ignore-line if (0 === count($list)) {
Log::error('Tag list is empty.'); Log::error('Tag list is empty.');
throw new NotFoundHttpException(); throw new NotFoundHttpException();
@@ -89,7 +89,7 @@ trait ValidatesUserGroupTrait
throw new AuthorizationException((string) trans('validation.belongs_user_or_user_group')); throw new AuthorizationException((string) trans('validation.belongs_user_or_user_group'));
} }
Log::debug(sprintf('validateUserGroup: validate access of user to group #%d ("%s").', $groupId, $group->title)); Log::debug(sprintf('validateUserGroup: validate access of user to group #%d ("%s").', $groupId, $group->title));
$roles = property_exists($this, 'acceptedRoles') ? $this->acceptedRoles : []; // @phpstan-ignore-line $roles = property_exists($this, 'acceptedRoles') ? $this->acceptedRoles : [];
if (0 === count($roles)) { if (0 === count($roles)) {
Log::debug('validateUserGroup: no roles defined, so no access.'); Log::debug('validateUserGroup: no roles defined, so no access.');
+1 -1
View File
@@ -128,7 +128,7 @@ class BillDateCalculator
} }
} }
Log::debug('end of loop'); Log::debug('end of loop');
$simple = $set->map( // @phpstan-ignore-line $simple = $set->map(
static fn (Carbon $date) => $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()); Log::debug(sprintf('Found %d pay dates', $set->count()), $simple->toArray());
+10 -10
View File
@@ -156,7 +156,7 @@ class Navigation
} }
$func = $map[$period]; $func = $map[$period];
// first do the diff // first do the diff
$floatDiff = $beginning->{$func}($end, true); // @phpstan-ignore-line $floatDiff = $beginning->{$func}($end, true);
// then correct for quarterly or half-year // then correct for quarterly or half-year
if ('quarterly' === $period) { if ('quarterly' === $period) {
@@ -345,7 +345,7 @@ class Navigation
$function = $functionMap[$repeatFreq]; $function = $functionMap[$repeatFreq];
if (array_key_exists($repeatFreq, $modifierMap)) { if (array_key_exists($repeatFreq, $modifierMap)) {
$currentEnd->{$function}($modifierMap[$repeatFreq])->milli(0); // @phpstan-ignore-line $currentEnd->{$function}($modifierMap[$repeatFreq])->milli(0);
if (in_array($repeatFreq, $subDay, true)) { if (in_array($repeatFreq, $subDay, true)) {
$currentEnd->subDay(); $currentEnd->subDay();
} }
@@ -363,7 +363,7 @@ class Navigation
return $currentEnd; return $currentEnd;
} }
$currentEnd->{$function}(); // @phpstan-ignore-line $currentEnd->{$function}();
$currentEnd->endOfDay()->milli(0); $currentEnd->endOfDay()->milli(0);
if (in_array($repeatFreq, $subDay, true)) { if (in_array($repeatFreq, $subDay, true)) {
$currentEnd->subDay(); $currentEnd->subDay();
@@ -406,7 +406,7 @@ class Navigation
if (array_key_exists($repeatFreq, $functionMap)) { if (array_key_exists($repeatFreq, $functionMap)) {
$function = $functionMap[$repeatFreq]; $function = $functionMap[$repeatFreq];
$currentEnd->{$function}(); // @phpstan-ignore-line $currentEnd->{$function}();
} }
if ($maxDate instanceof Carbon && $currentEnd > $maxDate) { if ($maxDate instanceof Carbon && $currentEnd > $maxDate) {
@@ -470,7 +470,7 @@ class Navigation
$formatted = $begin->format($format); $formatted = $begin->format($format);
$displayed = $begin->isoFormat($displayFormat); $displayed = $begin->isoFormat($displayFormat);
$entries[$formatted] = $displayed; $entries[$formatted] = $displayed;
$begin->{$increment}(); // @phpstan-ignore-line $begin->{$increment}();
} }
Log::debug('listOfPeriods end of loop.'); Log::debug('listOfPeriods end of loop.');
@@ -677,13 +677,13 @@ class Navigation
// Log::debug(sprintf('Function is ->%s()', $function)); // Log::debug(sprintf('Function is ->%s()', $function));
if (array_key_exists($function, $parameterMap)) { if (array_key_exists($function, $parameterMap)) {
// Log::debug(sprintf('Parameter map, function becomes ->%s(%s)', $function, implode(', ', $parameterMap[$function]))); // Log::debug(sprintf('Parameter map, function becomes ->%s(%s)', $function, implode(', ', $parameterMap[$function])));
$date->{$function}($parameterMap[$function][0]); // @phpstan-ignore-line $date->{$function}($parameterMap[$function][0]);
// Log::debug(sprintf('Result is "%s"', $date->toIso8601String())); // Log::debug(sprintf('Result is "%s"', $date->toIso8601String()));
return $date; return $date;
} }
$date->{$function}(); // @phpstan-ignore-line $date->{$function}();
// Log::debug(sprintf('Result is "%s"', $date->toIso8601String())); // Log::debug(sprintf('Result is "%s"', $date->toIso8601String()));
return $date; return $date;
@@ -747,7 +747,7 @@ class Navigation
$modifierMap = ['quarter' => 3, '3M' => 3, 'quarterly' => 3, 'half-year' => 6, '6M' => 6]; $modifierMap = ['quarter' => 3, '3M' => 3, 'quarterly' => 3, 'half-year' => 6, '6M' => 6];
if (array_key_exists($repeatFreq, $functionMap)) { if (array_key_exists($repeatFreq, $functionMap)) {
$function = $functionMap[$repeatFreq]; $function = $functionMap[$repeatFreq];
$date->{$function}($subtract); // @phpstan-ignore-line $date->{$function}($subtract);
return $date; return $date;
} }
@@ -826,7 +826,7 @@ class Navigation
if (array_key_exists($range, $functionMap)) { if (array_key_exists($range, $functionMap)) {
$function = $functionMap[$range]; $function = $functionMap[$range];
$end->{$function}(); // @phpstan-ignore-line $end->{$function}();
Log::debug(sprintf('updateEndDate returns "%s"', $end->format('Y-m-d'))); Log::debug(sprintf('updateEndDate returns "%s"', $end->format('Y-m-d')));
@@ -877,7 +877,7 @@ class Navigation
]; ];
if (array_key_exists($range, $functionMap)) { if (array_key_exists($range, $functionMap)) {
$function = $functionMap[$range]; $function = $functionMap[$range];
$start->{$function}(); // @phpstan-ignore-line $start->{$function}();
Log::debug(sprintf('updateStartDate returns "%s"', $start->format('Y-m-d'))); Log::debug(sprintf('updateStartDate returns "%s"', $start->format('Y-m-d')));
return $start; return $start;
+1 -1
View File
@@ -353,7 +353,7 @@ class ParseDateString
} }
$func = $functions[$direction][$period]; $func = $functions[$direction][$period];
Log::debug(sprintf('Will now do %s(%d) on %s', $func, $number, $today->format('Y-m-d'))); Log::debug(sprintf('Will now do %s(%d) on %s', $func, $number, $today->format('Y-m-d')));
$today->{$func}($number); // @phpstan-ignore-line $today->{$func}($number);
Log::debug(sprintf('Resulting date is %s', $today->format('Y-m-d'))); Log::debug(sprintf('Resulting date is %s', $today->format('Y-m-d')));
} }
@@ -195,7 +195,7 @@ class TransactionSummarizer
]; ];
// add the data from the $field to the array. // add the data from the $field to the array.
$array[$key]['sum'] = bcadd($array[$key]['sum'], (string) Steam::{$method}((string) ($journal[$field] ?? '0'))); // @phpstan-ignore-line $array[$key]['sum'] = bcadd($array[$key]['sum'], (string) Steam::{$method}((string) ($journal[$field] ?? '0')));
Log::debug(sprintf( Log::debug(sprintf(
'Field for transaction #%d is "%s" (%s). Sum: %s', 'Field for transaction #%d is "%s" (%s). Sum: %s',
$journal['transaction_group_id'], $journal['transaction_group_id'],
@@ -225,7 +225,7 @@ class TransactionSummarizer
'currency_code' => $journal['foreign_currency_code'], 'currency_code' => $journal['foreign_currency_code'],
'currency_decimal_places' => $journal['foreign_currency_decimal_places'], 'currency_decimal_places' => $journal['foreign_currency_decimal_places'],
]; ];
$array[$key]['sum'] = bcadd($array[$key]['sum'], (string) Steam::{$method}((string) $journal['foreign_amount'])); // @phpstan-ignore-line $array[$key]['sum'] = bcadd($array[$key]['sum'], (string) Steam::{$method}((string) $journal['foreign_amount']));
} }
} }
+1 -1
View File
@@ -45,7 +45,7 @@ trait ChecksLogin
if (!$check) { if (!$check) {
return false; return false;
} }
if (!property_exists($this, 'acceptedRoles')) { // @phpstan-ignore-line if (!property_exists($this, 'acceptedRoles')) {
Log::debug(sprintf('Request class %s has no acceptedRoles array', static::class)); Log::debug(sprintf('Request class %s has no acceptedRoles array', static::class));
return true; // check for false already took place. return true; // check for false already took place.
+5 -5
View File
@@ -205,7 +205,7 @@ trait ConvertsDataTypes
/** @var AccountRepositoryInterface $repository */ /** @var AccountRepositoryInterface $repository */
$repository = app(AccountRepositoryInterface::class); $repository = app(AccountRepositoryInterface::class);
if (method_exists($this, 'validateUserGroup')) { // @phpstan-ignore-line if (method_exists($this, 'validateUserGroup')) {
$userGroup = $this->validateUserGroup($this); $userGroup = $this->validateUserGroup($this);
$repository->setUserGroup($userGroup); $repository->setUserGroup($userGroup);
} }
@@ -290,11 +290,11 @@ trait ConvertsDataTypes
// probably a date format. // probably a date format.
try { try {
$carbon = Carbon::createFromFormat('Y-m-d', $value, config('app.timezone')); $carbon = Carbon::createFromFormat('Y-m-d', $value, config('app.timezone'));
} catch (InvalidDateException $e) { // @phpstan-ignore-line } catch (InvalidDateException $e) {
Log::error(sprintf('[1] "%s" is not a valid date: %s', $value, $e->getMessage())); Log::error(sprintf('[1] "%s" is not a valid date: %s', $value, $e->getMessage()));
return null; return null;
} catch (InvalidFormatException $e) { // @phpstan-ignore-line } catch (InvalidFormatException $e) {
Log::error(sprintf('[2] "%s" is of an invalid format: %s', $value, $e->getMessage())); Log::error(sprintf('[2] "%s" is of an invalid format: %s', $value, $e->getMessage()));
return null; return null;
@@ -312,7 +312,7 @@ trait ConvertsDataTypes
try { try {
$carbon = Carbon::parse($value); $carbon = Carbon::parse($value);
$carbon->setTimezone(config('app.timezone')); $carbon->setTimezone(config('app.timezone'));
} catch (InvalidDateException $e) { // @phpstan-ignore-line } catch (InvalidDateException $e) {
Log::error(sprintf('[3] "%s" is not a valid date or time: %s', $value, $e->getMessage())); Log::error(sprintf('[3] "%s" is not a valid date or time: %s', $value, $e->getMessage()));
return null; return null;
@@ -385,7 +385,7 @@ trait ConvertsDataTypes
foreach ($fields as $field => $info) { foreach ($fields as $field => $info) {
if (true === $this->has($info[0])) { if (true === $this->has($info[0])) {
$method = $info[1]; $method = $info[1];
$return[$field] = $this->{$method}($info[0]); // @phpstan-ignore-line $return[$field] = $this->{$method}($info[0]);
} }
} }
+2 -2
View File
@@ -552,7 +552,7 @@ class OperatorQuerySearch implements SearchInterface
return; return;
} }
Log::debug(sprintf('Left with %d, set as %s().', $filtered->count(), $collectorMethod)); Log::debug(sprintf('Left with %d, set as %s().', $filtered->count(), $collectorMethod));
$this->collector->{$collectorMethod}($filtered); // @phpstan-ignore-line $this->collector->{$collectorMethod}($filtered);
} }
/** /**
@@ -661,7 +661,7 @@ class OperatorQuerySearch implements SearchInterface
return; return;
} }
Log::debug(sprintf('Left with %d, set as %s().', $filtered->count(), $collectorMethod)); Log::debug(sprintf('Left with %d, set as %s().', $filtered->count(), $collectorMethod));
$this->collector->{$collectorMethod}($filtered); // @phpstan-ignore-line $this->collector->{$collectorMethod}($filtered);
} }
/** /**
+2 -2
View File
@@ -475,7 +475,7 @@ class Steam
->groupBy('transactions.transaction_currency_id') ->groupBy('transactions.transaction_currency_id')
->orderBy('transaction_journals.date', 'ASC') ->orderBy('transaction_journals.date', 'ASC')
->whereNull('transaction_journals.deleted_at') ->whereNull('transaction_journals.deleted_at')
->get(['transaction_journals.date', 'transactions.transaction_currency_id', DB::raw('SUM(transactions.amount) AS sum_of_day')]) // @phpstan-ignore-line ->get(['transaction_journals.date', 'transactions.transaction_currency_id', DB::raw('SUM(transactions.amount) AS sum_of_day')])
; ;
$currentBalance = $startBalance; $currentBalance = $startBalance;
@@ -619,7 +619,7 @@ class Steam
->transactions() ->transactions()
->whereIn('transactions.account_id', $accounts) ->whereIn('transactions.account_id', $accounts)
->groupBy(['transactions.account_id', 'transaction_journals.user_id']) ->groupBy(['transactions.account_id', 'transaction_journals.user_id'])
->get(['transactions.account_id', DB::raw('MAX(transaction_journals.date) AS max_date')]) // @phpstan-ignore-line ->get(['transactions.account_id', DB::raw('MAX(transaction_journals.date) AS max_date')])
; ;
/** @var Transaction $entry */ /** @var Transaction $entry */
@@ -99,7 +99,7 @@ class SearchRuleEngine implements RuleEngineInterface
Log::debug(sprintf('SearchRuleEngine:: found %d rule(s) to fire.', $this->rules->count())); Log::debug(sprintf('SearchRuleEngine:: found %d rule(s) to fire.', $this->rules->count()));
/** @var Rule $rule */ /** @var Rule $rule */
foreach ($this->rules as $rule) { // @phpstan-ignore-line foreach ($this->rules as $rule) {
$result = $this->fireRule($rule); $result = $this->fireRule($rule);
if ($result && true === $rule->stop_processing) { if ($result && true === $rule->stop_processing) {
Log::debug(sprintf( Log::debug(sprintf(
@@ -120,7 +120,7 @@ class SearchRuleEngine implements RuleEngineInterface
// fire each group: // fire each group:
/** @var RuleGroup $group */ /** @var RuleGroup $group */
foreach ($this->groups as $group) { // @phpstan-ignore-line foreach ($this->groups as $group) {
$this->fireGroup($group); $this->fireGroup($group);
} }
} }
+1 -1
View File
@@ -319,7 +319,7 @@ class User extends Authenticatable
{ {
$method = 'routeNotificationFor'.Str::studly($driver); $method = 'routeNotificationFor'.Str::studly($driver);
if (method_exists($this, $method)) { if (method_exists($this, $method)) {
return $this->{$method}($notification); // @phpstan-ignore-line return $this->{$method}($notification);
} }
$email = $this->email; $email = $this->email;
// see if user has alternative email address: // see if user has alternative email address:
+1 -1
View File
@@ -262,7 +262,7 @@ class FireflyValidator extends Validator
try { try {
$checksum = bcmod($iban, '97'); $checksum = bcmod($iban, '97');
} catch (ValueError $e) { // @phpstan-ignore-line } catch (ValueError $e) {
$message = sprintf('Could not validate IBAN check value "%s" (IBAN "%s")', $iban, $value); $message = sprintf('Could not validate IBAN check value "%s" (IBAN "%s")', $iban, $value);
Log::error($message); Log::error($message);
Log::error($e->getTraceAsString()); Log::error($e->getTraceAsString());
+1 -1
View File
@@ -395,7 +395,7 @@ trait RecurrenceValidation
{ {
try { try {
Carbon::createFromFormat('Y-m-d', $moment); Carbon::createFromFormat('Y-m-d', $moment);
} catch (InvalidArgumentException $e) { // @phpstan-ignore-line } catch (InvalidArgumentException $e) {
Log::debug(sprintf('Invalid argument for Carbon: %s', $e->getMessage())); Log::debug(sprintf('Invalid argument for Carbon: %s', $e->getMessage()));
$validator->errors()->add(sprintf('repetitions.%d.moment', $index), (string) trans('validation.valid_recurrence_rep_moment')); $validator->errors()->add(sprintf('repetitions.%d.moment', $index), (string) trans('validation.valid_recurrence_rep_moment'));
} }
+2 -1
View File
@@ -125,7 +125,8 @@
"phpstan/phpstan-strict-rules": "^2", "phpstan/phpstan-strict-rules": "^2",
"phpunit/phpunit": "^12", "phpunit/phpunit": "^12",
"rector/rector": "^2.3", "rector/rector": "^2.3",
"thecodingmachine/phpstan-safe-rule": "^1.4" "thecodingmachine/phpstan-safe-rule": "^1.4",
"ergebnis/phpstan-rules": "^2"
}, },
"suggest": {}, "suggest": {},
Generated
+74 -1
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "94727a98e7468c09f3529378b9cb2457", "content-hash": "93912463b9c00da1cf4afbd38edd36a1",
"packages": [ "packages": [
{ {
"name": "bacon/bacon-qr-code", "name": "bacon/bacon-qr-code",
@@ -10407,6 +10407,79 @@
}, },
"time": "2026-03-05T19:46:28+00:00" "time": "2026-03-05T19:46:28+00:00"
}, },
{
"name": "ergebnis/phpstan-rules",
"version": "2.13.1",
"source": {
"type": "git",
"url": "https://github.com/ergebnis/phpstan-rules.git",
"reference": "f69db86b98595c34fc1f61c89fe3b380141aa519"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ergebnis/phpstan-rules/zipball/f69db86b98595c34fc1f61c89fe3b380141aa519",
"reference": "f69db86b98595c34fc1f61c89fe3b380141aa519",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
"phpstan/phpstan": "^2.1.35"
},
"require-dev": {
"codeception/codeception": "^4.0.0 || ^5.0.0",
"doctrine/orm": "^2.20.0 || ^3.3.0",
"ergebnis/composer-normalize": "^2.49.0",
"ergebnis/license": "^2.7.0",
"ergebnis/php-cs-fixer-config": "^6.59.0",
"ergebnis/phpunit-slow-test-detector": "^2.20.0",
"fakerphp/faker": "^1.24.1",
"phpstan/extension-installer": "^1.4.3",
"phpstan/phpstan-deprecation-rules": "^2.0.3",
"phpstan/phpstan-phpunit": "^2.0.12",
"phpstan/phpstan-strict-rules": "^2.0.8",
"phpunit/phpunit": "^9.6.21",
"psr/container": "^2.0.2",
"symfony/finder": "^5.4.45",
"symfony/process": "^5.4.47"
},
"type": "phpstan-extension",
"extra": {
"phpstan": {
"includes": [
"rules.neon"
]
}
},
"autoload": {
"psr-4": {
"Ergebnis\\PHPStan\\Rules\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Andreas Möller",
"email": "am@localheinz.com",
"homepage": "https://localheinz.com"
}
],
"description": "Provides rules for phpstan/phpstan.",
"homepage": "https://github.com/ergebnis/phpstan-rules",
"keywords": [
"PHPStan",
"phpstan-rules"
],
"support": {
"issues": "https://github.com/ergebnis/phpstan-rules/issues",
"security": "https://github.com/ergebnis/phpstan-rules/blob/main/.github/SECURITY.md",
"source": "https://github.com/ergebnis/phpstan-rules"
},
"time": "2026-01-27T17:13:06+00:00"
},
{ {
"name": "fakerphp/faker", "name": "fakerphp/faker",
"version": "v1.24.1", "version": "v1.24.1",
-2
View File
@@ -1,2 +0,0 @@
*
!.gitignore