Each CSV converter can set the certainty of their conversion.

This commit is contained in:
James Cole 2016-07-29 21:40:58 +02:00
parent 7707c81b2d
commit 3682467ae3
24 changed files with 1009 additions and 28 deletions

View File

@ -56,6 +56,8 @@ class Amount extends BasicConverter implements ConverterInterface
$value = str_replace($search, '', $value); $value = str_replace($search, '', $value);
} }
$this->setCertainty(90);
return round(floatval($value), 4); return round(floatval($value), 4);

View File

@ -35,6 +35,8 @@ class AssetAccountIban extends BasicConverter implements ConverterInterface
Log::debug('Going to convert ', ['value' => $value]); Log::debug('Going to convert ', ['value' => $value]);
if (strlen($value) === 0) { if (strlen($value) === 0) {
$this->setCertainty(0);
return new Account; return new Account;
} }
@ -46,6 +48,7 @@ class AssetAccountIban extends BasicConverter implements ConverterInterface
Log::debug('Found account in mapping. Should exist.', ['value' => $value, 'map' => $this->mapping[$value]]); Log::debug('Found account in mapping. Should exist.', ['value' => $value, 'map' => $this->mapping[$value]]);
$account = $repository->find(intval($this->mapping[$value])); $account = $repository->find(intval($this->mapping[$value]));
if (!is_null($account->id)) { if (!is_null($account->id)) {
$this->setCertainty(100);
Log::debug('Found account by ID', ['id' => $account->id]); Log::debug('Found account by ID', ['id' => $account->id]);
return $account; return $account;
@ -56,6 +59,7 @@ class AssetAccountIban extends BasicConverter implements ConverterInterface
$account = $repository->findByIban($value, [AccountType::ASSET]); $account = $repository->findByIban($value, [AccountType::ASSET]);
if (!is_null($account->id)) { if (!is_null($account->id)) {
Log::debug('Found account by IBAN', ['id' => $account->id]); Log::debug('Found account by IBAN', ['id' => $account->id]);
$this->setCertainty(50);
return $account; return $account;
} }
@ -65,6 +69,7 @@ class AssetAccountIban extends BasicConverter implements ConverterInterface
['name' => 'Account with IBAN ' . $value, 'iban' => $value, 'user' => $this->user->id, 'accountType' => 'asset', 'virtualBalance' => 0, ['name' => 'Account with IBAN ' . $value, 'iban' => $value, 'user' => $this->user->id, 'accountType' => 'asset', 'virtualBalance' => 0,
'active' => true] 'active' => true]
); );
$this->setCertainty(100);
return $account; return $account;
} }

View File

@ -35,6 +35,7 @@ class AssetAccountName extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using AssetAccountName', ['value' => $value]); Log::debug('Going to convert using AssetAccountName', ['value' => $value]);
if (strlen($value) === 0) { if (strlen($value) === 0) {
$this->setCertainty(0);
return new Account; return new Account;
} }
@ -47,7 +48,7 @@ class AssetAccountName extends BasicConverter implements ConverterInterface
$account = $repository->find(intval($this->mapping[$value])); $account = $repository->find(intval($this->mapping[$value]));
if (!is_null($account->id)) { if (!is_null($account->id)) {
Log::debug('Found account by ID', ['id' => $account->id]); Log::debug('Found account by ID', ['id' => $account->id]);
$this->setCertainty(100);
return $account; return $account;
} }
} }
@ -65,6 +66,7 @@ class AssetAccountName extends BasicConverter implements ConverterInterface
['name' => $value, 'iban' => null, 'openingBalance' => 0, 'user' => $this->user->id, 'accountType' => 'asset', 'virtualBalance' => 0, ['name' => $value, 'iban' => null, 'openingBalance' => 0, 'user' => $this->user->id, 'accountType' => 'asset', 'virtualBalance' => 0,
'active' => true] 'active' => true]
); );
$this->setCertainty(100);
return $account; return $account;

View File

@ -57,7 +57,7 @@ class AssetAccountNumber extends BasicConverter implements ConverterInterface
$account = $repository->findByAccountNumber($value, [AccountType::ASSET]); $account = $repository->findByAccountNumber($value, [AccountType::ASSET]);
if (!is_null($account->id)) { if (!is_null($account->id)) {
Log::debug('Found account by name', ['id' => $account->id]); Log::debug('Found account by name', ['id' => $account->id]);
$this->setCertainty(50);
return $account; return $account;
} }
@ -66,6 +66,7 @@ class AssetAccountNumber extends BasicConverter implements ConverterInterface
['name' => 'Account with number ' . $value, 'openingBalance' => 0, 'iban' => null, 'user' => $this->user->id, 'accountType' => 'asset', ['name' => 'Account with number ' . $value, 'openingBalance' => 0, 'iban' => null, 'user' => $this->user->id, 'accountType' => 'asset',
'virtualBalance' => 0, 'active' => true] 'virtualBalance' => 0, 'active' => true]
); );
$this->setCertainty(100);
return $account; return $account;

View File

@ -11,7 +11,6 @@ declare(strict_types = 1);
namespace FireflyIII\Import\Converter; namespace FireflyIII\Import\Converter;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Bill; use FireflyIII\Models\Bill;
use FireflyIII\Repositories\Bill\BillRepositoryInterface; use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use Log; use Log;
@ -35,6 +34,8 @@ class BillId extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using BillId', ['value' => $value]); Log::debug('Going to convert using BillId', ['value' => $value]);
if ($value === 0) { if ($value === 0) {
$this->setCertainty(0);
return new Bill; return new Bill;
} }
@ -46,6 +47,7 @@ class BillId extends BasicConverter implements ConverterInterface
$bill = $repository->find(intval($this->mapping[$value])); $bill = $repository->find(intval($this->mapping[$value]));
if (!is_null($bill->id)) { if (!is_null($bill->id)) {
Log::debug('Found bill by ID', ['id' => $bill->id]); Log::debug('Found bill by ID', ['id' => $bill->id]);
$this->setCertainty(100);
return $bill; return $bill;
} }
@ -55,11 +57,15 @@ class BillId extends BasicConverter implements ConverterInterface
$bill = $repository->find($value); $bill = $repository->find($value);
if (!is_null($bill->id)) { if (!is_null($bill->id)) {
Log::debug('Found bill by ID ', ['id' => $bill->id]); Log::debug('Found bill by ID ', ['id' => $bill->id]);
$this->setCertainty(100);
return $bill; return $bill;
} }
// should not really happen. If the ID does not match FF, what is FF supposed to do? // should not really happen. If the ID does not match FF, what is FF supposed to do?
$this->setCertainty(0);
return new Bill; return new Bill;
} }

View File

@ -35,6 +35,7 @@ class BillName extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using BillName', ['value' => $value]); Log::debug('Going to convert using BillName', ['value' => $value]);
if (strlen($value) === 0) { if (strlen($value) === 0) {
$this->setCertainty(0);
return new Bill; return new Bill;
} }
@ -46,7 +47,7 @@ class BillName extends BasicConverter implements ConverterInterface
$bill = $repository->find(intval($this->mapping[$value])); $bill = $repository->find(intval($this->mapping[$value]));
if (!is_null($bill->id)) { if (!is_null($bill->id)) {
Log::debug('Found bill by ID', ['id' => $bill->id]); Log::debug('Found bill by ID', ['id' => $bill->id]);
$this->setCertainty(100);
return $bill; return $bill;
} }
} }
@ -55,7 +56,7 @@ class BillName extends BasicConverter implements ConverterInterface
$bill = $repository->findByName($value); $bill = $repository->findByName($value);
if (!is_null($bill->id)) { if (!is_null($bill->id)) {
Log::debug('Found bill by name ', ['id' => $bill->id]); Log::debug('Found bill by name ', ['id' => $bill->id]);
$this->setCertainty(100);
return $bill; return $bill;
} }
@ -75,6 +76,7 @@ class BillName extends BasicConverter implements ConverterInterface
] ]
); );
$this->setCertainty(100);
return $bill; return $bill;

View File

@ -35,6 +35,7 @@ class BudgetId extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using BudgetId', ['value' => $value]); Log::debug('Going to convert using BudgetId', ['value' => $value]);
if ($value === 0) { if ($value === 0) {
$this->setCertainty(0);
return new Budget; return new Budget;
} }
@ -46,6 +47,7 @@ class BudgetId extends BasicConverter implements ConverterInterface
$budget = $repository->find(intval($this->mapping[$value])); $budget = $repository->find(intval($this->mapping[$value]));
if (!is_null($budget->id)) { if (!is_null($budget->id)) {
Log::debug('Found budget by ID', ['id' => $budget->id]); Log::debug('Found budget by ID', ['id' => $budget->id]);
$this->setCertainty(100);
return $budget; return $budget;
} }
@ -55,11 +57,12 @@ class BudgetId extends BasicConverter implements ConverterInterface
$budget = $repository->find($value); $budget = $repository->find($value);
if (!is_null($budget->id)) { if (!is_null($budget->id)) {
Log::debug('Found budget by ID ', ['id' => $budget->id]); Log::debug('Found budget by ID ', ['id' => $budget->id]);
$this->setCertainty(100);
return $budget; return $budget;
} }
// should not really happen. If the ID does not match FF, what is FF supposed to do? // should not really happen. If the ID does not match FF, what is FF supposed to do?
$this->setCertainty(0);
return new Budget; return new Budget;
} }

View File

@ -35,6 +35,7 @@ class BudgetName extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using BudgetName', ['value' => $value]); Log::debug('Going to convert using BudgetName', ['value' => $value]);
if (strlen($value) === 0) { if (strlen($value) === 0) {
$this->setCertainty(0);
return new Budget; return new Budget;
} }
@ -46,7 +47,7 @@ class BudgetName extends BasicConverter implements ConverterInterface
$budget = $repository->find(intval($this->mapping[$value])); $budget = $repository->find(intval($this->mapping[$value]));
if (!is_null($budget->id)) { if (!is_null($budget->id)) {
Log::debug('Found budget by ID', ['id' => $budget->id]); Log::debug('Found budget by ID', ['id' => $budget->id]);
$this->setCertainty(100);
return $budget; return $budget;
} }
} }
@ -55,7 +56,7 @@ class BudgetName extends BasicConverter implements ConverterInterface
$budget = $repository->findByName($value); $budget = $repository->findByName($value);
if (!is_null($budget->id)) { if (!is_null($budget->id)) {
Log::debug('Found budget by name ', ['id' => $budget->id]); Log::debug('Found budget by name ', ['id' => $budget->id]);
$this->setCertainty(100);
return $budget; return $budget;
} }
@ -66,6 +67,7 @@ class BudgetName extends BasicConverter implements ConverterInterface
'user_id' => $this->user->id, 'user_id' => $this->user->id,
] ]
); );
$this->setCertainty(100);
return $budget; return $budget;

View File

@ -35,6 +35,7 @@ class CategoryId extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using CategoryId', ['value' => $value]); Log::debug('Going to convert using CategoryId', ['value' => $value]);
if ($value === 0) { if ($value === 0) {
$this->setCertainty(0);
return new Category; return new Category;
} }
@ -46,7 +47,7 @@ class CategoryId extends BasicConverter implements ConverterInterface
$category = $repository->find(intval($this->mapping[$value])); $category = $repository->find(intval($this->mapping[$value]));
if (!is_null($category->id)) { if (!is_null($category->id)) {
Log::debug('Found category by ID', ['id' => $category->id]); Log::debug('Found category by ID', ['id' => $category->id]);
$this->setCertainty(100);
return $category; return $category;
} }
} }
@ -55,11 +56,12 @@ class CategoryId extends BasicConverter implements ConverterInterface
$category = $repository->find($value); $category = $repository->find($value);
if (!is_null($category->id)) { if (!is_null($category->id)) {
Log::debug('Found category by ID ', ['id' => $category->id]); Log::debug('Found category by ID ', ['id' => $category->id]);
$this->setCertainty(100);
return $category; return $category;
} }
// should not really happen. If the ID does not match FF, what is FF supposed to do? // should not really happen. If the ID does not match FF, what is FF supposed to do?
$this->setCertainty(0);
return new Category; return new Category;
} }

View File

@ -35,6 +35,7 @@ class CategoryName extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using CategoryName', ['value' => $value]); Log::debug('Going to convert using CategoryName', ['value' => $value]);
if (strlen($value) === 0) { if (strlen($value) === 0) {
$this->setCertainty(0);
return new Category; return new Category;
} }
@ -46,7 +47,7 @@ class CategoryName extends BasicConverter implements ConverterInterface
$category = $repository->find(intval($this->mapping[$value])); $category = $repository->find(intval($this->mapping[$value]));
if (!is_null($category->id)) { if (!is_null($category->id)) {
Log::debug('Found category by ID', ['id' => $category->id]); Log::debug('Found category by ID', ['id' => $category->id]);
$this->setCertainty(100);
return $category; return $category;
} }
} }
@ -55,7 +56,7 @@ class CategoryName extends BasicConverter implements ConverterInterface
$category = $repository->findByName($value); $category = $repository->findByName($value);
if (!is_null($category->id)) { if (!is_null($category->id)) {
Log::debug('Found category by name ', ['id' => $category->id]); Log::debug('Found category by name ', ['id' => $category->id]);
$this->setCertainty(100);
return $category; return $category;
} }
@ -66,6 +67,7 @@ class CategoryName extends BasicConverter implements ConverterInterface
'user_id' => $this->user->id, 'user_id' => $this->user->id,
] ]
); );
$this->setCertainty(100);
return $category; return $category;

View File

@ -40,7 +40,7 @@ class CurrencyCode extends BasicConverter implements ConverterInterface
$currency = $repository->find(intval($this->mapping[$value])); $currency = $repository->find(intval($this->mapping[$value]));
if (!is_null($currency->id)) { if (!is_null($currency->id)) {
Log::debug('Found currency by ID', ['id' => $currency->id]); Log::debug('Found currency by ID', ['id' => $currency->id]);
$this->setCertainty(100);
return $currency; return $currency;
} }
} }
@ -49,7 +49,7 @@ class CurrencyCode extends BasicConverter implements ConverterInterface
$currency = $repository->findByCode($value); $currency = $repository->findByCode($value);
if (!is_null($currency->id)) { if (!is_null($currency->id)) {
Log::debug('Found currency by code', ['id' => $currency->id]); Log::debug('Found currency by code', ['id' => $currency->id]);
$this->setCertainty(100);
return $currency; return $currency;
} }
$currency = $repository->store( $currency = $repository->store(
@ -59,6 +59,7 @@ class CurrencyCode extends BasicConverter implements ConverterInterface
'symbol' => $value, 'symbol' => $value,
] ]
); );
$this->setCertainty(100);
return $currency; return $currency;
} }

View File

@ -35,6 +35,7 @@ class CurrencyId extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using CurrencyId', ['value' => $value]); Log::debug('Going to convert using CurrencyId', ['value' => $value]);
if ($value === 0) { if ($value === 0) {
$this->setCertainty(0);
return new TransactionCurrency; return new TransactionCurrency;
} }
@ -46,7 +47,7 @@ class CurrencyId extends BasicConverter implements ConverterInterface
$currency = $repository->find(intval($this->mapping[$value])); $currency = $repository->find(intval($this->mapping[$value]));
if (!is_null($currency->id)) { if (!is_null($currency->id)) {
Log::debug('Found currency by ID', ['id' => $currency->id]); Log::debug('Found currency by ID', ['id' => $currency->id]);
$this->setCertainty(100);
return $currency; return $currency;
} }
} }
@ -55,10 +56,10 @@ class CurrencyId extends BasicConverter implements ConverterInterface
$currency = $repository->find($value); $currency = $repository->find($value);
if (!is_null($currency->id)) { if (!is_null($currency->id)) {
Log::debug('Found currency by ID ', ['id' => $currency->id]); Log::debug('Found currency by ID ', ['id' => $currency->id]);
$this->setCertainty(100);
return $currency; return $currency;
} }
$this->setCertainty(0);
// should not really happen. If the ID does not match FF, what is FF supposed to do? // should not really happen. If the ID does not match FF, what is FF supposed to do?
return new TransactionCurrency; return new TransactionCurrency;

View File

@ -34,6 +34,7 @@ class CurrencyName extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using CurrencyName', ['value' => $value]); Log::debug('Going to convert using CurrencyName', ['value' => $value]);
if ($value === 0) { if ($value === 0) {
$this->setCertainty(0);
return new TransactionCurrency; return new TransactionCurrency;
} }
@ -45,7 +46,7 @@ class CurrencyName extends BasicConverter implements ConverterInterface
$currency = $repository->find(intval($this->mapping[$value])); $currency = $repository->find(intval($this->mapping[$value]));
if (!is_null($currency->id)) { if (!is_null($currency->id)) {
Log::debug('Found currency by ID', ['id' => $currency->id]); Log::debug('Found currency by ID', ['id' => $currency->id]);
$this->setCertainty(100);
return $currency; return $currency;
} }
} }
@ -54,7 +55,7 @@ class CurrencyName extends BasicConverter implements ConverterInterface
$currency = $repository->findByName($value); $currency = $repository->findByName($value);
if (!is_null($currency->id)) { if (!is_null($currency->id)) {
Log::debug('Found currency by name ', ['id' => $currency->id]); Log::debug('Found currency by name ', ['id' => $currency->id]);
$this->setCertainty(100);
return $currency; return $currency;
} }
@ -66,6 +67,7 @@ class CurrencyName extends BasicConverter implements ConverterInterface
'symbol' => strtoupper(substr($value, 0, 1)), 'symbol' => strtoupper(substr($value, 0, 1)),
] ]
); );
$this->setCertainty(100);
return $currency; return $currency;

View File

@ -34,6 +34,7 @@ class CurrencySymbol extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using CurrencySymbol', ['value' => $value]); Log::debug('Going to convert using CurrencySymbol', ['value' => $value]);
if ($value === 0) { if ($value === 0) {
$this->setCertainty(0);
return new TransactionCurrency; return new TransactionCurrency;
} }
@ -45,7 +46,7 @@ class CurrencySymbol extends BasicConverter implements ConverterInterface
$currency = $repository->find(intval($this->mapping[$value])); $currency = $repository->find(intval($this->mapping[$value]));
if (!is_null($currency->id)) { if (!is_null($currency->id)) {
Log::debug('Found currency by ID', ['id' => $currency->id]); Log::debug('Found currency by ID', ['id' => $currency->id]);
$this->setCertainty(100);
return $currency; return $currency;
} }
} }
@ -54,7 +55,7 @@ class CurrencySymbol extends BasicConverter implements ConverterInterface
$currency = $repository->findBySymbol($value); $currency = $repository->findBySymbol($value);
if (!is_null($currency->id)) { if (!is_null($currency->id)) {
Log::debug('Found currency by symbol ', ['id' => $currency->id]); Log::debug('Found currency by symbol ', ['id' => $currency->id]);
$this->setCertainty(100);
return $currency; return $currency;
} }
@ -66,6 +67,7 @@ class CurrencySymbol extends BasicConverter implements ConverterInterface
'symbol' => $value, 'symbol' => $value,
] ]
); );
$this->setCertainty(100);
return $currency; return $currency;

View File

@ -42,7 +42,7 @@ class Date extends BasicConverter implements ConverterInterface
throw new FireflyException(sprintf('Cannot convert "%s" to a valid date using format "%s".', $value, $this->config['date-format'])); throw new FireflyException(sprintf('Cannot convert "%s" to a valid date using format "%s".', $value, $this->config['date-format']));
} }
Log::debug('Converted date', ['converted' => $date->toAtomString()]); Log::debug('Converted date', ['converted' => $date->toAtomString()]);
$this->setCertainty(100);
return $date; return $date;
} }
} }

View File

@ -29,6 +29,7 @@ class Description extends BasicConverter implements ConverterInterface
// this should replace all control characters // this should replace all control characters
// but leave utf8 intact: // but leave utf8 intact:
$value = preg_replace('/[\x00-\x1F\x80-\x9F]/u', '', $value); $value = preg_replace('/[\x00-\x1F\x80-\x9F]/u', '', $value);
$this->setCertainty(100);
return strval($value); return strval($value);

View File

@ -33,9 +33,11 @@ class INGDebetCredit extends BasicConverter implements ConverterInterface
if ($value === 'Af') { if ($value === 'Af') {
Log::debug('Return -1'); Log::debug('Return -1');
$this->setCertainty(100);
return -1; return -1;
} }
$this->setCertainty(100);
Log::debug('Return 1'); Log::debug('Return 1');
return 1; return 1;

View File

@ -34,6 +34,7 @@ class OpposingAccountIban extends BasicConverter implements ConverterInterface
Log::debug('Going to convert ', ['value' => $value]); Log::debug('Going to convert ', ['value' => $value]);
if (strlen($value) === 0) { if (strlen($value) === 0) {
$this->setCertainty(0);
return new Account; return new Account;
} }
@ -46,7 +47,7 @@ class OpposingAccountIban extends BasicConverter implements ConverterInterface
$account = $repository->find(intval($this->mapping[$value])); $account = $repository->find(intval($this->mapping[$value]));
if (!is_null($account->id)) { if (!is_null($account->id)) {
Log::debug('Found account by ID', ['id' => $account->id]); Log::debug('Found account by ID', ['id' => $account->id]);
$this->setCertainty(100);
return $account; return $account;
} }
} }
@ -59,6 +60,7 @@ class OpposingAccountIban extends BasicConverter implements ConverterInterface
'The match between IBAN and account is uncertain because the type of transactions may not have been determined.', 'The match between IBAN and account is uncertain because the type of transactions may not have been determined.',
['id' => $account->id, 'iban' => $value] ['id' => $account->id, 'iban' => $value]
); );
$this->setCertainty(50);
return $account; return $account;
} }
@ -67,6 +69,7 @@ class OpposingAccountIban extends BasicConverter implements ConverterInterface
['name' => $value, 'iban' => $value, 'user' => $this->user->id, 'accountType' => 'import', 'virtualBalance' => 0, 'active' => true, ['name' => $value, 'iban' => $value, 'user' => $this->user->id, 'accountType' => 'import', 'virtualBalance' => 0, 'active' => true,
'openingBalance' => 0] 'openingBalance' => 0]
); );
$this->setCertainty(100);
return $account; return $account;
} }

View File

@ -46,7 +46,7 @@ class OpposingAccountName extends BasicConverter implements ConverterInterface
$account = $repository->find(intval($this->mapping[$value])); $account = $repository->find(intval($this->mapping[$value]));
if (!is_null($account->id)) { if (!is_null($account->id)) {
Log::debug('Found account by ID', ['id' => $account->id]); Log::debug('Found account by ID', ['id' => $account->id]);
$this->setCertainty(100);
return $account; return $account;
} }
} }
@ -59,7 +59,7 @@ class OpposingAccountName extends BasicConverter implements ConverterInterface
'The match between name and account is uncertain because the type of transactions may not have been determined.', 'The match between name and account is uncertain because the type of transactions may not have been determined.',
['id' => $account->id, 'name' => $value] ['id' => $account->id, 'name' => $value]
); );
$this->setCertainty(50);
return $account; return $account;
} }
@ -68,6 +68,7 @@ class OpposingAccountName extends BasicConverter implements ConverterInterface
'openingBalance' => 0, 'openingBalance' => 0,
] ]
); );
$this->setCertainty(100);
return $account; return $account;
} }

View File

@ -35,6 +35,7 @@ class OpposingAccountNumber extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using OpposingAccountNumber', ['value' => $value]); Log::debug('Going to convert using OpposingAccountNumber', ['value' => $value]);
if (strlen($value) === 0) { if (strlen($value) === 0) {
$this->setCertainty(0);
return new Account; return new Account;
} }
@ -47,7 +48,7 @@ class OpposingAccountNumber extends BasicConverter implements ConverterInterface
$account = $repository->find(intval($this->mapping[$value])); $account = $repository->find(intval($this->mapping[$value]));
if (!is_null($account->id)) { if (!is_null($account->id)) {
Log::debug('Found account by ID', ['id' => $account->id]); Log::debug('Found account by ID', ['id' => $account->id]);
$this->setCertainty(100);
return $account; return $account;
} }
} }
@ -55,8 +56,8 @@ class OpposingAccountNumber extends BasicConverter implements ConverterInterface
// not mapped? Still try to find it first: // not mapped? Still try to find it first:
$account = $repository->findByAccountNumber($value, []); $account = $repository->findByAccountNumber($value, []);
if (!is_null($account->id)) { if (!is_null($account->id)) {
Log::debug('Found account by name', ['id' => $account->id]); Log::debug('Found account by number', ['id' => $account->id]);
$this->setCertainty(50);
return $account; return $account;
} }
@ -65,6 +66,7 @@ class OpposingAccountNumber extends BasicConverter implements ConverterInterface
['name' => 'Account with number ' . $value, 'openingBalance' => 0, 'iban' => null, 'user' => $this->user->id, 'accountType' => 'asset', ['name' => 'Account with number ' . $value, 'openingBalance' => 0, 'iban' => null, 'user' => $this->user->id, 'accountType' => 'asset',
'virtualBalance' => 0, 'active' => true] 'virtualBalance' => 0, 'active' => true]
); );
$this->setCertainty(100);
return $account; return $account;

View File

@ -32,11 +32,13 @@ class RabobankDebetCredit extends BasicConverter implements ConverterInterface
if ($value === 'D') { if ($value === 'D') {
Log::debug('Return -1'); Log::debug('Return -1');
$this->setCertainty(100);
return -1; return -1;
} }
Log::debug('Return 1'); Log::debug('Return 1');
$this->setCertainty(100);
return 1; return 1;
} }

View File

@ -34,6 +34,7 @@ class TagsComma extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using TagsComma', ['value' => $value]); Log::debug('Going to convert using TagsComma', ['value' => $value]);
if (strlen($value) === 0) { if (strlen($value) === 0) {
$this->setCertainty(0);
return new Collection; return new Collection;
} }
$parts = array_unique(explode(',', $value)); $parts = array_unique(explode(',', $value));
@ -79,6 +80,8 @@ class TagsComma extends BasicConverter implements ConverterInterface
Log::debug('Created new tag', ['name' => $part, 'id' => $tag->id]); Log::debug('Created new tag', ['name' => $part, 'id' => $tag->id]);
$set->push($tag); $set->push($tag);
} }
$this->setCertainty(100);
return $set; return $set;
} }
} }

View File

@ -34,6 +34,7 @@ class TagsSpace extends BasicConverter implements ConverterInterface
Log::debug('Going to convert using TagsSpace', ['value' => $value]); Log::debug('Going to convert using TagsSpace', ['value' => $value]);
if (strlen($value) === 0) { if (strlen($value) === 0) {
$this->setCertainty(0);
return new Collection; return new Collection;
} }
$parts = array_unique(explode(' ', $value)); $parts = array_unique(explode(' ', $value));
@ -79,6 +80,7 @@ class TagsSpace extends BasicConverter implements ConverterInterface
Log::debug('Created new tag', ['name' => $part, 'id' => $tag->id]); Log::debug('Created new tag', ['name' => $part, 'id' => $tag->id]);
$set->push($tag); $set->push($tag);
} }
$this->setCertainty(100);
return $set; return $set;

932
public/result.html Normal file
View File

@ -0,0 +1,932 @@
<html><head><title>PHPMD</title></head><body>
<center><h1>PHPMD report</h1></center><center><h2>Problems found</h2></center>
<table align="center" cellspacing="0" cellpadding="3"><tr><th>#</th><th>File</th><th>Line</th><th>Problem</th></tr>
<tr bgcolor="lightgrey">
<td align="center">1</td>
<td>/sites/firefly-iii/app/Crud/Account/AccountCrud.php</td>
<td align="center" width="5%">192</td>
<td><a href="http://phpmd.org/rules/codesize.html#npathcomplexity">The method update() has an NPath complexity of 210. The configured NPath complexity threshold is 200.</a></td>
</tr>
<tr>
<td align="center">2</td>
<td>/sites/firefly-iii/app/Crud/Account/AccountCrud.php</td>
<td align="center" width="5%">192</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method update() has a Cyclomatic Complexity of 7. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">3</td>
<td>/sites/firefly-iii/app/Crud/Account/AccountCrud.php</td>
<td align="center" width="5%">192</td>
<td><a href="http://phpmd.org/rules/codesize.html#npathcomplexity">The method update() has an NPath complexity of 210. The configured NPath complexity threshold is 128.</a></td>
</tr>
<tr>
<td align="center">4</td>
<td>/sites/firefly-iii/app/Crud/Account/AccountCrud.php</td>
<td align="center" width="5%">192</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method update() has 42 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">5</td>
<td>/sites/firefly-iii/app/Helpers/Csv/Specifix/AbnAmroDescription.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method fix() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">6</td>
<td>/sites/firefly-iii/app/Helpers/Csv/Specifix/AbnAmroDescription.php</td>
<td align="center" width="5%">119</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method parseSepaDescription() has a Cyclomatic Complexity of 9. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">7</td>
<td>/sites/firefly-iii/app/Helpers/Csv/Specifix/AbnAmroDescription.php</td>
<td align="center" width="5%">119</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method parseSepaDescription() has 49 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">8</td>
<td>/sites/firefly-iii/app/Helpers/Csv/Specifix/AbnAmroDescription.php</td>
<td align="center" width="5%">174</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method parseTRTPDescription() has a Cyclomatic Complexity of 10. The configured cyclomatic complexity threshold is 10.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">9</td>
<td>/sites/firefly-iii/app/Helpers/Csv/Specifix/AbnAmroDescription.php</td>
<td align="center" width="5%">174</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method parseTRTPDescription() has a Cyclomatic Complexity of 10. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">10</td>
<td>/sites/firefly-iii/app/Helpers/Csv/Specifix/AbnAmroDescription.php</td>
<td align="center" width="5%">174</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method parseTRTPDescription() has 51 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">11</td>
<td>/sites/firefly-iii/app/Helpers/Report/BalanceReportHelper.php</td>
<td align="center" width="5%">34</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class BalanceReportHelper has a coupling between objects value of 14. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr>
<td align="center">12</td>
<td>/sites/firefly-iii/app/Helpers/Report/BalanceReportHelper.php</td>
<td align="center" width="5%">268</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method removeUnusedBudgets() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">13</td>
<td>/sites/firefly-iii/app/Helpers/Report/BudgetReportHelper.php</td>
<td align="center" width="5%">50</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method getBudgetReport() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">14</td>
<td>/sites/firefly-iii/app/Helpers/Report/BudgetReportHelper.php</td>
<td align="center" width="5%">50</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method getBudgetReport() has 57 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">15</td>
<td>/sites/firefly-iii/app/Http/Controllers/Admin/UserController.php</td>
<td align="center" width="5%">30</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method index() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">16</td>
<td>/sites/firefly-iii/app/Http/Controllers/AttachmentController.php</td>
<td align="center" width="5%">33</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class AttachmentController has a coupling between objects value of 16. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">17</td>
<td>/sites/firefly-iii/app/Http/Controllers/Auth/AuthController.php</td>
<td align="center" width="5%">36</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class AuthController has a coupling between objects value of 15. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr>
<td align="center">18</td>
<td>/sites/firefly-iii/app/Http/Controllers/Auth/AuthController.php</td>
<td align="center" width="5%">64</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method login() has a Cyclomatic Complexity of 7. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">19</td>
<td>/sites/firefly-iii/app/Http/Controllers/Auth/PasswordController.php</td>
<td align="center" width="5%">60</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method sendResetLinkEmail() has a Cyclomatic Complexity of 7. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">20</td>
<td>/sites/firefly-iii/app/Http/Controllers/Auth/TwoFactorController.php</td>
<td align="center" width="5%">75</td>
<td><a href="http://phpmd.org/rules/unusedcode.html#unusedformalparameter">Avoid unused parameters such as '$request'.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">21</td>
<td>/sites/firefly-iii/app/Http/Controllers/CategoryController.php</td>
<td align="center" width="5%">34</td>
<td><a href="http://phpmd.org/rules/codesize.html#toomanypublicmethods">The class CategoryController has 11 public methods. Consider refactoring CategoryController to keep number of public methods under 10.</a></td>
</tr>
<tr>
<td align="center">22</td>
<td>/sites/firefly-iii/app/Http/Controllers/CategoryController.php</td>
<td align="center" width="5%">34</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class CategoryController has a coupling between objects value of 16. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">23</td>
<td>/sites/firefly-iii/app/Http/Controllers/CategoryController.php</td>
<td align="center" width="5%">164</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method show() has 61 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">24</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">32</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class BudgetController has a coupling between objects value of 13. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">25</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">56</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method budget() has 40 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">26</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">144</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method frontpage() has a Cyclomatic Complexity of 13. The configured cyclomatic complexity threshold is 10.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">27</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">144</td>
<td><a href="http://phpmd.org/rules/codesize.html#npathcomplexity">The method frontpage() has an NPath complexity of 8036. The configured NPath complexity threshold is 200.</a></td>
</tr>
<tr>
<td align="center">28</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">144</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method frontpage() has a Cyclomatic Complexity of 13. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">29</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">144</td>
<td><a href="http://phpmd.org/rules/codesize.html#npathcomplexity">The method frontpage() has an NPath complexity of 8036. The configured NPath complexity threshold is 128.</a></td>
</tr>
<tr>
<td align="center">30</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">144</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method frontpage() has 66 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">31</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">222</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method multiYear() has a Cyclomatic Complexity of 8. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">32</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">222</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method multiYear() has 60 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">33</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">222</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveparameterlist">The method multiYear has 5 parameters. Consider to reduce parameter number under 5.</a></td>
</tr>
<tr>
<td align="center">34</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">292</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method period() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">35</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">292</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method period() has 47 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">36</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/BudgetController.php</td>
<td align="center" width="5%">292</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveparameterlist">The method period has 5 parameters. Consider to reduce parameter number under 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">37</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/CategoryController.php</td>
<td align="center" width="5%">158</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method multiYear() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">38</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/CategoryController.php</td>
<td align="center" width="5%">158</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method multiYear() has 63 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">39</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/ReportController.php</td>
<td align="center" width="5%">101</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method yearInOut() has 43 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">40</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/ReportController.php</td>
<td align="center" width="5%">101</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveparameterlist">The method yearInOut has 5 parameters. Consider to reduce parameter number under 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">41</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/ReportController.php</td>
<td align="center" width="5%">154</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method yearInOutSummarized() has 42 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">42</td>
<td>/sites/firefly-iii/app/Http/Controllers/Chart/ReportController.php</td>
<td align="center" width="5%">154</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveparameterlist">The method yearInOutSummarized has 5 parameters. Consider to reduce parameter number under 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">43</td>
<td>/sites/firefly-iii/app/Http/Controllers/Controller.php</td>
<td align="center" width="5%">30</td>
<td><a href="http://phpmd.org/rules/design.html#numberofchildren">The class Controller has 21 children. Consider to rebalance this class hierarchy to keep number of children under 15.</a></td>
</tr>
<tr>
<td align="center">44</td>
<td>/sites/firefly-iii/app/Http/Controllers/CurrencyController.php</td>
<td align="center" width="5%">31</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class CurrencyController has a coupling between objects value of 14. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">45</td>
<td>/sites/firefly-iii/app/Http/Controllers/RuleController.php</td>
<td align="center" width="5%">36</td>
<td><a href="http://phpmd.org/rules/codesize.html#toomanypublicmethods">The class RuleController has 13 public methods. Consider refactoring RuleController to keep number of public methods under 10.</a></td>
</tr>
<tr>
<td align="center">46</td>
<td>/sites/firefly-iii/app/Http/Controllers/RuleController.php</td>
<td align="center" width="5%">36</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class RuleController has a coupling between objects value of 16. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">47</td>
<td>/sites/firefly-iii/app/Http/Controllers/RuleController.php</td>
<td align="center" width="5%">326</td>
<td><a href="http://phpmd.org/rules/naming.html#shortmethodname">Avoid using short method names like RuleController::up(). The configured minimum method name length is 3.</a></td>
</tr>
<tr>
<td align="center">48</td>
<td>/sites/firefly-iii/app/Http/Controllers/TagController.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class TagController has a coupling between objects value of 14. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">49</td>
<td>/sites/firefly-iii/app/Http/Controllers/TagController.php</td>
<td align="center" width="5%">181</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method index() has a Cyclomatic Complexity of 6. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">50</td>
<td>/sites/firefly-iii/app/Http/Controllers/TagController.php</td>
<td align="center" width="5%">181</td>
<td><a href="http://phpmd.org/rules/codesize.html#npathcomplexity">The method index() has an NPath complexity of 131. The configured NPath complexity threshold is 128.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">51</td>
<td>/sites/firefly-iii/app/Http/Middleware/AuthenticateTwoFactor.php</td>
<td align="center" width="5%">36</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method handle() has a Cyclomatic Complexity of 7. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">52</td>
<td>/sites/firefly-iii/app/Http/Middleware/IsConfirmed.php</td>
<td align="center" width="5%">36</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method handle() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">53</td>
<td>/sites/firefly-iii/app/Http/Middleware/IsNotConfirmed.php</td>
<td align="center" width="5%">36</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method handle() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">54</td>
<td>/sites/firefly-iii/app/Http/Middleware/Range.php</td>
<td align="center" width="5%">61</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method handle() has a Cyclomatic Complexity of 6. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">55</td>
<td>/sites/firefly-iii/app/Http/Middleware/RedirectIfTwoFactorAuthenticated.php</td>
<td align="center" width="5%">35</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method handle() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">56</td>
<td>/sites/firefly-iii/app/Http/Requests/Request.php</td>
<td align="center" width="5%">21</td>
<td><a href="http://phpmd.org/rules/design.html#numberofchildren">The class Request has 18 children. Consider to rebalance this class hierarchy to keep number of children under 15.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">57</td>
<td>/sites/firefly-iii/app/Jobs/MailError.php</td>
<td align="center" width="5%">67</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method handle() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">58</td>
<td>/sites/firefly-iii/app/Models/Account.php</td>
<td align="center" width="5%">91</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method firstOrCreateEncrypted() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">59</td>
<td>/sites/firefly-iii/app/Models/TransactionJournal.php</td>
<td align="center" width="5%">94</td>
<td><a href="http://phpmd.org/rules/codesize.html#toomanypublicmethods">The class TransactionJournal has 23 public methods. Consider refactoring TransactionJournal to keep number of public methods under 10.</a></td>
</tr>
<tr>
<td align="center">60</td>
<td>/sites/firefly-iii/app/Providers/AccountServiceProvider.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">61</td>
<td>/sites/firefly-iii/app/Providers/AttachmentServiceProvider.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">62</td>
<td>/sites/firefly-iii/app/Providers/BillServiceProvider.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">63</td>
<td>/sites/firefly-iii/app/Providers/BudgetServiceProvider.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">64</td>
<td>/sites/firefly-iii/app/Providers/CategoryServiceProvider.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">65</td>
<td>/sites/firefly-iii/app/Providers/CrudServiceProvider.php</td>
<td align="center" width="5%">46</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method registerAccount() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">66</td>
<td>/sites/firefly-iii/app/Providers/CrudServiceProvider.php</td>
<td align="center" width="5%">64</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method registerJournal() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">67</td>
<td>/sites/firefly-iii/app/Providers/ExportJobServiceProvider.php</td>
<td align="center" width="5%">32</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method boot() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">68</td>
<td>/sites/firefly-iii/app/Providers/FireflyServiceProvider.php</td>
<td align="center" width="5%">36</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class FireflyServiceProvider has a coupling between objects value of 15. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">69</td>
<td>/sites/firefly-iii/app/Providers/FireflyServiceProvider.php</td>
<td align="center" width="5%">58</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method register() has 53 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">70</td>
<td>/sites/firefly-iii/app/Providers/JournalServiceProvider.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">71</td>
<td>/sites/firefly-iii/app/Providers/PiggyBankServiceProvider.php</td>
<td align="center" width="5%">42</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">72</td>
<td>/sites/firefly-iii/app/Providers/RuleGroupServiceProvider.php</td>
<td align="center" width="5%">42</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">73</td>
<td>/sites/firefly-iii/app/Providers/RuleServiceProvider.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">74</td>
<td>/sites/firefly-iii/app/Providers/TagServiceProvider.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method register() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">75</td>
<td>/sites/firefly-iii/app/Repositories/Account/AccountRepository.php</td>
<td align="center" width="5%">35</td>
<td><a href="http://phpmd.org/rules/codesize.html#toomanypublicmethods">The class AccountRepository has 14 public methods. Consider refactoring AccountRepository to keep number of public methods under 10.</a></td>
</tr>
<tr>
<td align="center">76</td>
<td>/sites/firefly-iii/app/Repositories/Account/AccountRepository.php</td>
<td align="center" width="5%">41</td>
<td><a href="http://phpmd.org/rules/unusedcode.html#unusedprivatefield">Avoid unused private fields such as '$validFields'.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">77</td>
<td>/sites/firefly-iii/app/Repositories/Account/AccountRepository.php</td>
<td align="center" width="5%">240</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method getPiggyBankAccounts() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">78</td>
<td>/sites/firefly-iii/app/Repositories/Account/AccountRepository.php</td>
<td align="center" width="5%">282</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method getSavingsAccounts() has a Cyclomatic Complexity of 7. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">79</td>
<td>/sites/firefly-iii/app/Repositories/Account/AccountRepository.php</td>
<td align="center" width="5%">282</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method getSavingsAccounts() has 44 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">80</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepository.php</td>
<td align="center" width="5%">32</td>
<td><a href="http://phpmd.org/rules/codesize.html#toomanypublicmethods">The class BudgetRepository has 11 public methods. Consider refactoring BudgetRepository to keep number of public methods under 10.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">81</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepository.php</td>
<td align="center" width="5%">84</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method firstUseDate() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">82</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepository.php</td>
<td align="center" width="5%">184</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method journalsInPeriod() has 60 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">83</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepository.php</td>
<td align="center" width="5%">252</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method journalsInPeriodWithoutBudget() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">84</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepository.php</td>
<td align="center" width="5%">252</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method journalsInPeriodWithoutBudget() has 49 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">85</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepository.php</td>
<td align="center" width="5%">310</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method spentInPeriod() has a Cyclomatic Complexity of 6. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">86</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepository.php</td>
<td align="center" width="5%">310</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method spentInPeriod() has 51 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">87</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepository.php</td>
<td align="center" width="5%">446</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method updateLimitAmount() has 43 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">88</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepository.php</td>
<td align="center" width="5%">446</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveparameterlist">The method updateLimitAmount has 5 parameters. Consider to reduce parameter number under 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">89</td>
<td>/sites/firefly-iii/app/Repositories/Budget/BudgetRepositoryInterface.php</td>
<td align="center" width="5%">138</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveparameterlist">The method updateLimitAmount has 5 parameters. Consider to reduce parameter number under 5.</a></td>
</tr>
<tr>
<td align="center">90</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">28</td>
<td><a href="http://phpmd.org/rules/codesize.html#toomanypublicmethods">The class CategoryRepository has 13 public methods. Consider refactoring CategoryRepository to keep number of public methods under 10.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">91</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">28</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveclasscomplexity">The class CategoryRepository has an overall complexity of 52 which is very high. The configured complexity threshold is 50.</a></td>
</tr>
<tr>
<td align="center">92</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">110</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method firstUseDate() has a Cyclomatic Complexity of 9. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">93</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">110</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method firstUseDate() has 42 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">94</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">132</td>
<td><a href="http://phpmd.org/rules/naming.html#longvariable">Avoid excessively long variable names like $firstTransactionQuery. Keep variable name length under 20.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">95</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">225</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method journalsInPeriod() has a Cyclomatic Complexity of 8. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">96</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">225</td>
<td><a href="http://phpmd.org/rules/codesize.html#npathcomplexity">The method journalsInPeriod() has an NPath complexity of 128. The configured NPath complexity threshold is 128.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">97</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">225</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method journalsInPeriod() has 54 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">98</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">225</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveparameterlist">The method journalsInPeriod has 5 parameters. Consider to reduce parameter number under 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">99</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">288</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method journalsInPeriodWithoutCategory() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">100</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">288</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method journalsInPeriodWithoutCategory() has 53 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">101</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">348</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method lastUseDate() has a Cyclomatic Complexity of 9. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">102</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">348</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method lastUseDate() has 42 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">103</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">464</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method sumInPeriod() has a Cyclomatic Complexity of 7. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">104</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">464</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method sumInPeriod() has 58 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">105</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepository.php</td>
<td align="center" width="5%">464</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveparameterlist">The method sumInPeriod has 5 parameters. Consider to reduce parameter number under 5.</a></td>
</tr>
<tr>
<td align="center">106</td>
<td>/sites/firefly-iii/app/Repositories/Category/CategoryRepositoryInterface.php</td>
<td align="center" width="5%">95</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveparameterlist">The method journalsInPeriod has 5 parameters. Consider to reduce parameter number under 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">107</td>
<td>/sites/firefly-iii/app/Repositories/Journal/JournalRepository.php</td>
<td align="center" width="5%">39</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessiveclasscomplexity">The class JournalRepository has an overall complexity of 51 which is very high. The configured complexity threshold is 50.</a></td>
</tr>
<tr>
<td align="center">108</td>
<td>/sites/firefly-iii/app/Repositories/Journal/JournalRepository.php</td>
<td align="center" width="5%">39</td>
<td><a href="http://phpmd.org/rules/design.html#couplingbetweenobjects">The class JournalRepository has a coupling between objects value of 19. Consider to reduce the number of dependencies under 13.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">109</td>
<td>/sites/firefly-iii/app/Repositories/Journal/JournalRepository.php</td>
<td align="center" width="5%">227</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method getTransactions() has 57 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">110</td>
<td>/sites/firefly-iii/app/Repositories/Journal/JournalRepository.php</td>
<td align="center" width="5%">290</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method store() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">111</td>
<td>/sites/firefly-iii/app/Repositories/Journal/JournalRepository.php</td>
<td align="center" width="5%">290</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method store() has 64 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">112</td>
<td>/sites/firefly-iii/app/Repositories/Journal/JournalRepository.php</td>
<td align="center" width="5%">392</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method update() has a Cyclomatic Complexity of 8. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">113</td>
<td>/sites/firefly-iii/app/Repositories/Journal/JournalRepository.php</td>
<td align="center" width="5%">392</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method update() has 55 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">114</td>
<td>/sites/firefly-iii/app/Repositories/Journal/JournalRepository.php</td>
<td align="center" width="5%">482</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method storeAccounts() has a Cyclomatic Complexity of 6. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">115</td>
<td>/sites/firefly-iii/app/Repositories/Journal/JournalRepository.php</td>
<td align="center" width="5%">581</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method updateTags() has a Cyclomatic Complexity of 6. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">116</td>
<td>/sites/firefly-iii/app/Repositories/Rule/RuleRepository.php</td>
<td align="center" width="5%">26</td>
<td><a href="http://phpmd.org/rules/codesize.html#toomanypublicmethods">The class RuleRepository has 12 public methods. Consider refactoring RuleRepository to keep number of public methods under 10.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">117</td>
<td>/sites/firefly-iii/app/Repositories/Tag/TagRepository.php</td>
<td align="center" width="5%">49</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method connect() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">118</td>
<td>/sites/firefly-iii/app/Repositories/Tag/TagRepository.php</td>
<td align="center" width="5%">150</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method connectAdvancePayment() has a Cyclomatic Complexity of 8. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">119</td>
<td>/sites/firefly-iii/app/Repositories/Tag/TagRepository.php</td>
<td align="center" width="5%">195</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method connectBalancingAct() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">120</td>
<td>/sites/firefly-iii/app/Repositories/Tag/TagRepository.php</td>
<td align="center" width="5%">235</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method matchAll() has a Cyclomatic Complexity of 7. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">121</td>
<td>/sites/firefly-iii/app/Rules/Processor.php</td>
<td align="center" width="5%">179</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method triggered() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">122</td>
<td>/sites/firefly-iii/app/Rules/TransactionMatcher.php</td>
<td align="center" width="5%">57</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method findMatchingTransactions() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">123</td>
<td>/sites/firefly-iii/app/Rules/TransactionMatcher.php</td>
<td align="center" width="5%">57</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method findMatchingTransactions() has 49 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">124</td>
<td>/sites/firefly-iii/app/Support/Binder/Date.php</td>
<td align="center" width="5%">36</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method routeBinder() has a Cyclomatic Complexity of 8. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">125</td>
<td>/sites/firefly-iii/app/Support/CacheProperties.php</td>
<td align="center" width="5%">95</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method md5() has a Cyclomatic Complexity of 6. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">126</td>
<td>/sites/firefly-iii/app/Support/ExpandedForm.php</td>
<td align="center" width="5%">29</td>
<td><a href="http://phpmd.org/rules/codesize.html#toomanypublicmethods">The class ExpandedForm has 18 public methods. Consider refactoring ExpandedForm to keep number of public methods under 10.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">127</td>
<td>/sites/firefly-iii/app/Support/ExpandedForm.php</td>
<td align="center" width="5%">211</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method makeSelectList() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">128</td>
<td>/sites/firefly-iii/app/Support/ExpandedForm.php</td>
<td align="center" width="5%">236</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method makeSelectListWithEmpty() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">129</td>
<td>/sites/firefly-iii/app/Support/ExpandedForm.php</td>
<td align="center" width="5%">442</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method fillFieldValue() has a Cyclomatic Complexity of 7. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">130</td>
<td>/sites/firefly-iii/app/Support/Models/TagSupport.php</td>
<td align="center" width="5%">31</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method tagAllowAdvance() has a Cyclomatic Complexity of 8. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">131</td>
<td>/sites/firefly-iii/app/Support/Navigation.php</td>
<td align="center" width="5%">73</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method endOfPeriod() has a Cyclomatic Complexity of 6. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">132</td>
<td>/sites/firefly-iii/app/Support/Navigation.php</td>
<td align="center" width="5%">73</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method endOfPeriod() has 55 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">133</td>
<td>/sites/firefly-iii/app/Support/Navigation.php</td>
<td align="center" width="5%">213</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method startOfPeriod() has a Cyclomatic Complexity of 6. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">134</td>
<td>/sites/firefly-iii/app/Support/Navigation.php</td>
<td align="center" width="5%">213</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method startOfPeriod() has 42 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">135</td>
<td>/sites/firefly-iii/app/Support/Navigation.php</td>
<td align="center" width="5%">264</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method subtractPeriod() has 52 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">136</td>
<td>/sites/firefly-iii/app/Support/Twig/Journal.php</td>
<td align="center" width="5%">37</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method formatAccountPerspective() has a Cyclomatic Complexity of 7. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">137</td>
<td>/sites/firefly-iii/app/Support/Twig/Journal.php</td>
<td align="center" width="5%">37</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method formatAccountPerspective() has 46 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">138</td>
<td>/sites/firefly-iii/app/Support/Twig/Journal.php</td>
<td align="center" width="5%">87</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method formatBudgetPerspective() has a Cyclomatic Complexity of 6. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">139</td>
<td>/sites/firefly-iii/app/Support/Twig/Journal.php</td>
<td align="center" width="5%">239</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method journalBudgets() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr>
<td align="center">140</td>
<td>/sites/firefly-iii/app/Support/Twig/Journal.php</td>
<td align="center" width="5%">276</td>
<td><a href="http://phpmd.org/rules/codesize.html#cyclomaticcomplexity">The method journalCategories() has a Cyclomatic Complexity of 5. The configured cyclomatic complexity threshold is 5.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">141</td>
<td>/sites/firefly-iii/app/User.php</td>
<td align="center" width="5%">58</td>
<td><a href="http://phpmd.org/rules/codesize.html#toomanypublicmethods">The class User has 16 public methods. Consider refactoring User to keep number of public methods under 10.</a></td>
</tr>
<tr>
<td align="center">142</td>
<td>/sites/firefly-iii/database/migrations/2016_02_04_144117_changes_for_v380.php</td>
<td align="center" width="5%">29</td>
<td><a href="http://phpmd.org/rules/naming.html#shortmethodname">Avoid using short method names like ChangesForV380::up(). The configured minimum method name length is 3.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">143</td>
<td>/sites/firefly-iii/database/migrations/2016_02_04_144117_changes_for_v380.php</td>
<td align="center" width="5%">29</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method up() has 41 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
<tr>
<td align="center">144</td>
<td>/sites/firefly-iii/database/migrations/2016_02_24_172426_create_jobs_table.php</td>
<td align="center" width="5%">18</td>
<td><a href="http://phpmd.org/rules/naming.html#shortmethodname">Avoid using short method names like CreateJobsTable::up(). The configured minimum method name length is 3.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">145</td>
<td>/sites/firefly-iii/database/migrations/2016_04_08_181054_changes_for_v383.php</td>
<td align="center" width="5%">29</td>
<td><a href="http://phpmd.org/rules/naming.html#shortmethodname">Avoid using short method names like ChangesForV383::up(). The configured minimum method name length is 3.</a></td>
</tr>
<tr>
<td align="center">146</td>
<td>/sites/firefly-iii/database/migrations/2016_04_25_093451_changes_for_v390.php</td>
<td align="center" width="5%">59</td>
<td><a href="http://phpmd.org/rules/naming.html#shortmethodname">Avoid using short method names like ChangesForV390::up(). The configured minimum method name length is 3.</a></td>
</tr>
<tr bgcolor="lightgrey">
<td align="center">147</td>
<td>/sites/firefly-iii/database/migrations/2016_04_25_093451_changes_for_v390.php</td>
<td align="center" width="5%">59</td>
<td><a href="http://phpmd.org/rules/codesize.html#excessivemethodlength">The method up() has 75 lines of code. Current threshold is set to 40. Avoid really long methods.</a></td>
</tr>
</table><hr /><center><h3>Processing errors</h3></center><table align="center" cellspacing="0" cellpadding="3"><tr><th>File</th><th>Problem</th></tr><tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Console/Commands/UpgradeFireflyInstructions.php</td><td>Unexpected token: ??, line: 56, col: 38, file: /sites/firefly-iii/app/Console/Commands/UpgradeFireflyInstructions.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Helpers/Collection/Balance.php</td><td>Unexpected token: ??, line: 51, col: 37, file: /sites/firefly-iii/app/Helpers/Collection/Balance.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Helpers/Collection/BalanceLine.php</td><td>Unexpected token: ??, line: 82, col: 30, file: /sites/firefly-iii/app/Helpers/Collection/BalanceLine.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Helpers/Collection/BillLine.php</td><td>Unexpected token: ??, line: 45, col: 30, file: /sites/firefly-iii/app/Helpers/Collection/BillLine.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Helpers/Collection/BudgetLine.php</td><td>Unexpected token: ??, line: 43, col: 30, file: /sites/firefly-iii/app/Helpers/Collection/BudgetLine.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Helpers/Csv/Converter/AssetAccountIban.php</td><td>Unexpected token: DEFAULT, line: 59, col: 55, file: /sites/firefly-iii/app/Helpers/Csv/Converter/AssetAccountIban.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Helpers/Csv/Converter/AssetAccountName.php</td><td>Unexpected token: DEFAULT, line: 39, col: 55, file: /sites/firefly-iii/app/Helpers/Csv/Converter/AssetAccountName.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Helpers/Csv/Converter/AssetAccountNumber.php</td><td>Unexpected token: ??, line: 40, col: 31, file: /sites/firefly-iii/app/Helpers/Csv/Converter/AssetAccountNumber.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Helpers/Csv/Converter/Description.php</td><td>Unexpected token: ??, line: 27, col: 51, file: /sites/firefly-iii/app/Helpers/Csv/Converter/Description.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Helpers/Csv/Data.php</td><td>Unexpected token: ??, line: 70, col: 38, file: /sites/firefly-iii/app/Helpers/Csv/Data.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Helpers/Csv/Importer.php</td><td>Unexpected token: ??, line: 185, col: 54, file: /sites/firefly-iii/app/Helpers/Csv/Importer.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Helpers/Csv/Mapper/AssetAccount.php</td><td>Unexpected token: ??, line: 41, col: 36, file: /sites/firefly-iii/app/Helpers/Csv/Mapper/AssetAccount.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Helpers/Csv/PostProcessing/Amount.php</td><td>Unexpected token: ??, line: 30, col: 55, file: /sites/firefly-iii/app/Helpers/Csv/PostProcessing/Amount.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Helpers/Csv/PostProcessing/AssetAccount.php</td><td>Unexpected token: ??, line: 74, col: 62, file: /sites/firefly-iii/app/Helpers/Csv/PostProcessing/AssetAccount.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Helpers/Csv/PostProcessing/Description.php</td><td>Unexpected token: ??, line: 29, col: 65, file: /sites/firefly-iii/app/Helpers/Csv/PostProcessing/Description.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Helpers/Report/ReportHelper.php</td><td>Unexpected token: ??, line: 273, col: 59, file: /sites/firefly-iii/app/Helpers/Report/ReportHelper.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/Controllers/AccountController.php</td><td>Unexpected token: ??, line: 169, col: 23, file: /sites/firefly-iii/app/Http/Controllers/AccountController.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Http/Controllers/BudgetController.php</td><td>Unexpected token: DEFAULT, line: 187, col: 69, file: /sites/firefly-iii/app/Http/Controllers/BudgetController.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/Controllers/Chart/AccountController.php</td><td>Unexpected token: ??, line: 80, col: 60, file: /sites/firefly-iii/app/Http/Controllers/Chart/AccountController.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Http/Controllers/CsvController.php</td><td>Unexpected token: DEFAULT, line: 202, col: 109, file: /sites/firefly-iii/app/Http/Controllers/CsvController.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/Controllers/ExportController.php</td><td>Unexpected token: DEFAULT, line: 107, col: 65, file: /sites/firefly-iii/app/Http/Controllers/ExportController.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Http/Controllers/HomeController.php</td><td>Unexpected token: DEFAULT, line: 127, col: 73, file: /sites/firefly-iii/app/Http/Controllers/HomeController.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/Controllers/JsonController.php</td><td>Unexpected token: DEFAULT, line: 116, col: 60, file: /sites/firefly-iii/app/Http/Controllers/JsonController.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Http/Controllers/PiggyBankController.php</td><td>Unexpected token: DEFAULT, line: 78, col: 93, file: /sites/firefly-iii/app/Http/Controllers/PiggyBankController.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/Controllers/Popup/ReportController.php</td><td>Unexpected token: ??, line: 246, col: 59, file: /sites/firefly-iii/app/Http/Controllers/Popup/ReportController.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Http/Controllers/PreferencesController.php</td><td>Unexpected token: DEFAULT, line: 77, col: 71, file: /sites/firefly-iii/app/Http/Controllers/PreferencesController.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/Controllers/ReportController.php</td><td>Unexpected token: DEFAULT, line: 83, col: 60, file: /sites/firefly-iii/app/Http/Controllers/ReportController.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Http/Controllers/RuleGroupController.php</td><td>Unexpected token: DEFAULT, line: 189, col: 67, file: /sites/firefly-iii/app/Http/Controllers/RuleGroupController.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/Controllers/Transaction/MassController.php</td><td>Unexpected token: DEFAULT, line: 111, col: 92, file: /sites/firefly-iii/app/Http/Controllers/Transaction/MassController.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Http/Controllers/Transaction/SplitController.php</td><td>Unexpected token: ??, line: 68, col: 67, file: /sites/firefly-iii/app/Http/Controllers/Transaction/SplitController.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/Controllers/TransactionController.php</td><td>Unexpected token: ??, line: 95, col: 64, file: /sites/firefly-iii/app/Http/Controllers/TransactionController.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Http/Requests/JournalFormRequest.php</td><td>Unexpected token: ??, line: 43, col: 36, file: /sites/firefly-iii/app/Http/Requests/JournalFormRequest.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/Requests/SplitJournalFormRequest.php</td><td>Unexpected token: ??, line: 40, col: 68, file: /sites/firefly-iii/app/Http/Requests/SplitJournalFormRequest.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Http/Requests/TagFormRequest.php</td><td>Unexpected token: ??, line: 49, col: 36, file: /sites/firefly-iii/app/Http/Requests/TagFormRequest.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Http/breadcrumbs.php</td><td>Unexpected token: ??, line: 594, col: 56, file: /sites/firefly-iii/app/Http/breadcrumbs.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Models/AccountType.php</td><td>Unexpected token: DEFAULT, line: 35, col: 11, file: /sites/firefly-iii/app/Models/AccountType.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Models/Tag.php</td><td>Unexpected token: ??, line: 81, col: 57, file: /sites/firefly-iii/app/Models/Tag.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Repositories/Bill/BillRepository.php</td><td>Unexpected token: ??, line: 212, col: 48, file: /sites/firefly-iii/app/Repositories/Bill/BillRepository.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Rules/Triggers/AmountExactly.php</td><td>Unexpected token: ??, line: 57, col: 49, file: /sites/firefly-iii/app/Rules/Triggers/AmountExactly.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Rules/Triggers/AmountLess.php</td><td>Unexpected token: ??, line: 57, col: 49, file: /sites/firefly-iii/app/Rules/Triggers/AmountLess.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Rules/Triggers/AmountMore.php</td><td>Unexpected token: ??, line: 57, col: 49, file: /sites/firefly-iii/app/Rules/Triggers/AmountMore.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Support/Amount.php</td><td>Unexpected token: ??, line: 87, col: 61, file: /sites/firefly-iii/app/Support/Amount.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Support/Migration/TestData.php</td><td>Unexpected token: ??, line: 267, col: 77, file: /sites/firefly-iii/app/Support/Migration/TestData.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Support/Models/TransactionJournalSupport.php</td><td>Unexpected token: ??, line: 286, col: 52, file: /sites/firefly-iii/app/Support/Models/TransactionJournalSupport.php.</td></tr>
<tr bgcolor="lightgrey"><td>/sites/firefly-iii/app/Support/Twig/General.php</td><td>Unexpected token: ??, line: 112, col: 44, file: /sites/firefly-iii/app/Support/Twig/General.php.</td></tr>
<tr><td>/sites/firefly-iii/app/Validation/FireflyValidator.php</td><td>Unexpected token: ??, line: 84, col: 33, file: /sites/firefly-iii/app/Validation/FireflyValidator.php.</td></tr>
</table></body></html>