diff --git a/app/Export/Collector/JournalExportCollector.php b/app/Export/Collector/JournalExportCollector.php index e9bfbca879..551880ce4f 100644 --- a/app/Export/Collector/JournalExportCollector.php +++ b/app/Export/Collector/JournalExportCollector.php @@ -19,6 +19,7 @@ use DB; use FireflyIII\Models\Transaction; use Illuminate\Database\Query\JoinClause; use Illuminate\Support\Collection; +use Steam; /** * Class JournalExportCollector @@ -118,7 +119,7 @@ class JournalExportCollector extends BasicCollector implements CollectorInterfac ); $set->each( function ($obj) { - $obj->name = $obj->encrypted === 1 ? Crypt::decrypt($obj->name) : $obj->name; + $obj->name = Steam::decrypt(intval($obj->encrypted), $obj->name); } ); $array = []; @@ -159,7 +160,7 @@ class JournalExportCollector extends BasicCollector implements CollectorInterfac ); $set->each( function ($obj) { - $obj->name = $obj->encrypted === 1 ? Crypt::decrypt($obj->name) : $obj->name; + $obj->name = Steam::decrypt(intval($obj->encrypted), $obj->name); } ); $array = []; @@ -202,7 +203,7 @@ class JournalExportCollector extends BasicCollector implements CollectorInterfac ); $set->each( function ($obj) { - $obj->name = $obj->encrypted === 1 ? Crypt::decrypt($obj->name) : $obj->name; + $obj->name = Steam::decrypt(intval($obj->encrypted), $obj->name); } ); $array = []; @@ -243,7 +244,7 @@ class JournalExportCollector extends BasicCollector implements CollectorInterfac ); $set->each( function ($obj) { - $obj->name = $obj->encrypted === 1 ? Crypt::decrypt($obj->name) : $obj->name; + $obj->name = Steam::decrypt(intval($obj->encrypted), $obj->name); } ); $array = []; diff --git a/app/Export/Entry/Entry.php b/app/Export/Entry/Entry.php index 0afc40ada4..2fb30850d0 100644 --- a/app/Export/Entry/Entry.php +++ b/app/Export/Entry/Entry.php @@ -14,6 +14,7 @@ declare(strict_types = 1); namespace FireflyIII\Export\Entry; use Crypt; +use Steam; /** * To extend the exported object, in case of new features in Firefly III for example, @@ -73,15 +74,15 @@ final class Entry { $entry = new self; $entry->journal_id = $object->transaction_journal_id; - $entry->description = self::decrypt(intval($object->journal_encrypted), $object->journal_description); + $entry->description = Steam::decrypt(intval($object->journal_encrypted), $object->journal_description); $entry->amount = $object->amount; $entry->date = $object->date; $entry->transaction_type = $object->transaction_type; $entry->currency_code = $object->transaction_currency_code; $entry->source_account_id = $object->account_id; - $entry->source_account_name = self::decrypt(intval($object->account_name_encrypted), $object->account_name); + $entry->source_account_name = Steam::decrypt(intval($object->account_name_encrypted), $object->account_name); $entry->destination_account_id = $object->opposing_account_id; - $entry->destination_account_name = self::decrypt(intval($object->opposing_account_encrypted), $object->opposing_account_name); + $entry->destination_account_name = Steam::decrypt(intval($object->opposing_account_encrypted), $object->opposing_account_name); $entry->category_id = $object->category_id ?? ''; $entry->category_name = $object->category_name ?? ''; $entry->budget_id = $object->budget_id ?? ''; @@ -95,19 +96,5 @@ final class Entry return $entry; } - /** - * @param int $isEncrypted - * @param $value - * - * @return string - */ - protected static function decrypt(int $isEncrypted, $value) - { - if ($isEncrypted === 1) { - return Crypt::decrypt($value); - } - - return $value; - } } diff --git a/app/Helpers/Collector/JournalCollector.php b/app/Helpers/Collector/JournalCollector.php index 3a146310fd..1603b61256 100644 --- a/app/Helpers/Collector/JournalCollector.php +++ b/app/Helpers/Collector/JournalCollector.php @@ -170,10 +170,10 @@ class JournalCollector implements JournalCollectorInterface $set->each( function (Transaction $transaction) { $transaction->date = new Carbon($transaction->date); - $transaction->description = $transaction->encrypted ? Crypt::decrypt($transaction->description) : $transaction->description; + $transaction->description = Steam::decrypt(intval($transaction->encrypted), $transaction->description); if (!is_null($transaction->bill_name)) { - $transaction->bill_name = $transaction->bill_name_encrypted ? Crypt::decrypt($transaction->bill_name) : $transaction->bill_name; + $transaction->bill_name = Steam::decrypt(intval($transaction->bill_name_encrypted), $transaction->bill_name); } try { diff --git a/app/Repositories/Journal/JournalTasker.php b/app/Repositories/Journal/JournalTasker.php index c0424242c8..7a75d8a871 100644 --- a/app/Repositories/Journal/JournalTasker.php +++ b/app/Repositories/Journal/JournalTasker.php @@ -13,7 +13,6 @@ declare(strict_types = 1); namespace FireflyIII\Repositories\Journal; -use Crypt; use DB; use FireflyIII\Models\AccountType; use FireflyIII\Models\PiggyBankEvent; @@ -23,6 +22,7 @@ use FireflyIII\User; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Query\JoinClause; use Illuminate\Support\Collection; +use Steam; /** * Class JournalTasker @@ -113,7 +113,7 @@ class JournalTasker implements JournalTaskerInterface 'source_amount' => $entry->amount, 'description' => $entry->description, 'source_account_id' => $entry->account_id, - 'source_account_name' => intval($entry->account_encrypted) === 1 ? Crypt::decrypt($entry->account_name) : $entry->account_name, + 'source_account_name' => Steam::decrypt(intval($entry->account_encrypted), $entry->account_name), 'source_account_type' => $entry->account_type, 'source_account_before' => $sourceBalance, 'source_account_after' => bcadd($sourceBalance, $entry->amount), @@ -121,8 +121,7 @@ class JournalTasker implements JournalTaskerInterface 'destination_amount' => bcmul($entry->amount, '-1'), 'destination_account_id' => $entry->destination_account_id, 'destination_account_type' => $entry->destination_account_type, - 'destination_account_name' => - intval($entry->destination_account_encrypted) === 1 ? Crypt::decrypt($entry->destination_account_name) : $entry->destination_account_name, + 'destination_account_name' => Steam::decrypt(intval($entry->destination_account_encrypted), $entry->destination_account_name), 'destination_account_before' => $destinationBalance, 'destination_account_after' => bcadd($destinationBalance, bcmul($entry->amount, '-1')), 'budget_id' => is_null($budget) ? 0 : $budget->id, diff --git a/app/Support/Steam.php b/app/Support/Steam.php index 870b55566c..7693cac164 100644 --- a/app/Support/Steam.php +++ b/app/Support/Steam.php @@ -14,6 +14,7 @@ declare(strict_types = 1); namespace FireflyIII\Support; use Carbon\Carbon; +use Crypt; use DB; use FireflyIII\Models\Account; use FireflyIII\Models\Transaction; @@ -180,6 +181,21 @@ class Steam return $result; } + /** + * @param int $isEncrypted + * @param $value + * + * @return string + */ + public function decrypt(int $isEncrypted, string $value) + { + if ($isEncrypted === 1) { + return Crypt::decrypt($value); + } + + return $value; + } + /** * @param array $accounts * diff --git a/app/Support/Twig/Transaction.php b/app/Support/Twig/Transaction.php index 5285a8ee90..f1a0b98dd5 100644 --- a/app/Support/Twig/Transaction.php +++ b/app/Support/Twig/Transaction.php @@ -19,6 +19,7 @@ use FireflyIII\Models\AccountType; use FireflyIII\Models\Transaction as TransactionModel; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Models\TransactionType; +use Steam; use Twig_Extension; use Twig_SimpleFilter; use Twig_SimpleFunction; @@ -195,7 +196,7 @@ class Transaction extends Twig_Extension return new Twig_SimpleFunction( 'transactionDestinationAccount', function (TransactionModel $transaction): string { - $name = intval($transaction->account_encrypted) === 1 ? Crypt::decrypt($transaction->account_name) : $transaction->account_name; + $name = Steam::decrypt(intval($transaction->account_encrypted), $transaction->account_name); $id = intval($transaction->account_id); $type = $transaction->account_type; @@ -217,7 +218,7 @@ class Transaction extends Twig_Extension ->leftJoin('accounts', 'accounts.id', '=', 'transactions.account_id') ->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id') ->first(['transactions.account_id', 'accounts.encrypted', 'accounts.name', 'account_types.type']); - $name = intval($other->encrypted) === 1 ? Crypt::decrypt($other->name) : $other->name; + $name = Steam::decrypt(intval($other->encrypted), $other->name); $id = $other->account_id; $type = $other->type; } @@ -269,7 +270,7 @@ class Transaction extends Twig_Extension 'transactionSourceAccount', function (TransactionModel $transaction): string { // if the amount is negative, assume that the current account (the one in $transaction) is indeed the source account. - $name = intval($transaction->account_encrypted) === 1 ? Crypt::decrypt($transaction->account_name) : $transaction->account_name; + $name = Steam::decrypt(intval($transaction->account_encrypted), $transaction->account_name); $id = intval($transaction->account_id); $type = $transaction->account_type; @@ -289,7 +290,7 @@ class Transaction extends Twig_Extension ->leftJoin('accounts', 'accounts.id', '=', 'transactions.account_id') ->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id') ->first(['transactions.account_id', 'accounts.encrypted', 'accounts.name', 'account_types.type']); - $name = intval($other->encrypted) === 1 ? Crypt::decrypt($other->name) : $other->name; + $name = Steam::decrypt(intval($other->encrypted), $other->name); $id = $other->account_id; $type = $other->type; } @@ -337,21 +338,6 @@ class Transaction extends Twig_Extension ); } - /** - * @param int $isEncrypted - * @param string $value - * - * @return string - */ - private function encrypted(int $isEncrypted, string $value): string - { - if ($isEncrypted === 1) { - return Crypt::decrypt($value); - } - - return $value; - } - /** * @param TransactionModel $transaction * @@ -361,14 +347,14 @@ class Transaction extends Twig_Extension { // journal has a budget: if (isset($transaction->transaction_journal_budget_id)) { - $name = $this->encrypted(intval($transaction->transaction_journal_budget_encrypted), $transaction->transaction_journal_budget_name); + $name = Steam::decrypt(intval($transaction->transaction_journal_budget_encrypted), $transaction->transaction_journal_budget_name); return sprintf('%s', route('budgets.show', [$transaction->transaction_journal_budget_id]), $name, $name); } // transaction has a budget if (isset($transaction->transaction_budget_id)) { - $name = $this->encrypted(intval($transaction->transaction_budget_encrypted), $transaction->transaction_budget_name); + $name = Steam::decrypt(intval($transaction->transaction_budget_encrypted), $transaction->transaction_budget_name); return sprintf('%s', route('budgets.show', [$transaction->transaction_budget_id]), $name, $name); } @@ -400,14 +386,14 @@ class Transaction extends Twig_Extension { // journal has a category: if (isset($transaction->transaction_journal_category_id)) { - $name = $this->encrypted(intval($transaction->transaction_journal_category_encrypted), $transaction->transaction_journal_category_name); + $name = Steam::decrypt(intval($transaction->transaction_journal_category_encrypted), $transaction->transaction_journal_category_name); return sprintf('%s', route('categories.show', [$transaction->transaction_journal_category_id]), $name, $name); } // transaction has a category: if (isset($transaction->transaction_category_id)) { - $name = $this->encrypted(intval($transaction->transaction_category_encrypted), $transaction->transaction_category_name); + $name = Steam::decrypt(intval($transaction->transaction_category_encrypted), $transaction->transaction_category_name); return sprintf('%s', route('categories.show', [$transaction->transaction_category_id]), $name, $name); }