Added a new helper function.

This commit is contained in:
James Cole 2017-02-19 07:34:39 +01:00
parent 5073fd937c
commit b5032a7597
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
6 changed files with 39 additions and 50 deletions

View File

@ -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 = [];

View File

@ -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;
}
}

View File

@ -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 {

View File

@ -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,

View File

@ -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
*

View File

@ -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('<a href="%s" title="%s">%s</a>', 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('<a href="%s" title="%s">%s</a>', 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('<a href="%s" title="%s">%s</a>', 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('<a href="%s" title="%s">%s</a>', route('categories.show', [$transaction->transaction_category_id]), $name, $name);
}