mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Refactoring of code for #1159
This commit is contained in:
parent
7ac439fd0e
commit
6f70791239
35
app/Import/JobConfiguration/FinTSConfigurationSteps.php
Normal file
35
app/Import/JobConfiguration/FinTSConfigurationSteps.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* FinTSConfigurationSteps.php
|
||||||
|
* Copyright (c) 2018 https://github.com/bnw
|
||||||
|
*
|
||||||
|
* This file is part of Firefly III.
|
||||||
|
*
|
||||||
|
* Firefly III is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Firefly III is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace FireflyIII\Import\JobConfiguration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Class FinTSConfigurationSteps
|
||||||
|
*/
|
||||||
|
abstract class FinTSConfigurationSteps
|
||||||
|
{
|
||||||
|
public const NEW = 'new';
|
||||||
|
public const CHOOSE_ACCOUNT = 'choose_account';
|
||||||
|
public const GO_FOR_IMPORT = 'go-for-import';
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* FinTSJobConfiguration.php
|
* FinTSJobConfiguration.php
|
||||||
* Copyright (c) 2017 thegrumpydictator@gmail.com
|
* Copyright (c) 2018 https://github.com/bnw
|
||||||
*
|
*
|
||||||
* This file is part of Firefly III.
|
* This file is part of Firefly III.
|
||||||
*
|
*
|
||||||
@ -29,13 +29,10 @@ use FireflyIII\Support\Import\JobConfiguration\FinTS\FinTSConfigurationInterface
|
|||||||
use FireflyIII\Support\Import\JobConfiguration\FinTS\NewFinTSJobHandler;
|
use FireflyIII\Support\Import\JobConfiguration\FinTS\NewFinTSJobHandler;
|
||||||
use Illuminate\Support\MessageBag;
|
use Illuminate\Support\MessageBag;
|
||||||
|
|
||||||
abstract class FinTSConfigurationSteps
|
/**
|
||||||
{
|
*
|
||||||
const NEW = 'new';
|
* Class FinTSJobConfiguration
|
||||||
const CHOOSE_ACCOUNT = 'choose_account';
|
*/
|
||||||
const GO_FOR_IMPORT = 'go-for-import';
|
|
||||||
}
|
|
||||||
|
|
||||||
class FinTSJobConfiguration implements JobConfigurationInterface
|
class FinTSJobConfiguration implements JobConfigurationInterface
|
||||||
{
|
{
|
||||||
/** @var ImportJob */
|
/** @var ImportJob */
|
||||||
@ -48,7 +45,7 @@ class FinTSJobConfiguration implements JobConfigurationInterface
|
|||||||
*/
|
*/
|
||||||
public function configurationComplete(): bool
|
public function configurationComplete(): bool
|
||||||
{
|
{
|
||||||
return $this->importJob->stage == FinTSConfigurationSteps::GO_FOR_IMPORT;
|
return $this->importJob->stage === FinTSConfigurationSteps::GO_FOR_IMPORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* FinTSRoutine.php
|
* FinTSRoutine.php
|
||||||
* Copyright (c) 2017 thegrumpydictator@gmail.com
|
* Copyright (c) 2017 https://github.com/bnw
|
||||||
*
|
*
|
||||||
* This file is part of Firefly III.
|
* This file is part of Firefly III.
|
||||||
*
|
*
|
||||||
@ -30,6 +30,10 @@ use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
|
|||||||
use FireflyIII\Support\Import\Routine\FinTS\StageImportDataHandler;
|
use FireflyIII\Support\Import\Routine\FinTS\StageImportDataHandler;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Class FinTSRoutine
|
||||||
|
*/
|
||||||
class FinTSRoutine implements RoutineInterface
|
class FinTSRoutine implements RoutineInterface
|
||||||
{
|
{
|
||||||
/** @var ImportJob */
|
/** @var ImportJob */
|
||||||
|
@ -1,5 +1,24 @@
|
|||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* FinTS.php
|
||||||
|
* Copyright (c) 2018 https://github.com/bnw
|
||||||
|
*
|
||||||
|
* This file is part of Firefly III.
|
||||||
|
*
|
||||||
|
* Firefly III is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Firefly III is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace FireflyIII\Support\FinTS;
|
namespace FireflyIII\Support\FinTS;
|
||||||
|
|
||||||
@ -7,6 +26,10 @@ use Fhp\Model\SEPAAccount;
|
|||||||
use FireflyIII\Exceptions\FireflyException;
|
use FireflyIII\Exceptions\FireflyException;
|
||||||
use Illuminate\Support\Facades\Crypt;
|
use Illuminate\Support\Facades\Crypt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Class FinTS
|
||||||
|
*/
|
||||||
class FinTS
|
class FinTS
|
||||||
{
|
{
|
||||||
/** @var \Fhp\FinTs */
|
/** @var \Fhp\FinTs */
|
||||||
@ -14,19 +37,14 @@ class FinTS
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $config
|
* @param array $config
|
||||||
|
*
|
||||||
* @throws FireflyException
|
* @throws FireflyException
|
||||||
*/
|
*/
|
||||||
public function __construct(array $config)
|
public function __construct(array $config)
|
||||||
{
|
{
|
||||||
if (
|
if (!isset($config['fints_url'], $config['fints_port'], $config['fints_bank_code'], $config['fints_username'], $config['fints_password'])) {
|
||||||
!isset($config['fints_url']) or
|
throw new FireflyException('Constructed FinTS with incomplete config.');
|
||||||
!isset($config['fints_port']) or
|
}
|
||||||
!isset($config['fints_bank_code']) or
|
|
||||||
!isset($config['fints_username']) or
|
|
||||||
!isset($config['fints_password']))
|
|
||||||
throw new FireflyException(
|
|
||||||
"Constructed FinTS with incomplete config."
|
|
||||||
);
|
|
||||||
$this->finTS = new \Fhp\FinTs(
|
$this->finTS = new \Fhp\FinTs(
|
||||||
$config['fints_url'],
|
$config['fints_url'],
|
||||||
$config['fints_port'],
|
$config['fints_port'],
|
||||||
@ -36,16 +54,41 @@ class FinTS
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return bool|string
|
||||||
|
*/
|
||||||
public function checkConnection()
|
public function checkConnection()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$this->finTS->getSEPAAccounts();
|
$this->finTS->getSEPAAccounts();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} catch (\Exception $exception) {
|
} catch (\Exception $exception) {
|
||||||
return $exception->getMessage();
|
return $exception->getMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $accountNumber
|
||||||
|
*
|
||||||
|
* @return SEPAAccount
|
||||||
|
* @throws FireflyException
|
||||||
|
*/
|
||||||
|
public function getAccount(string $accountNumber)
|
||||||
|
{
|
||||||
|
$accounts = $this->getAccounts();
|
||||||
|
$filteredAccounts = array_filter(
|
||||||
|
$accounts, function (SEPAAccount $account) use ($accountNumber) {
|
||||||
|
return $account->getAccountNumber() === $accountNumber;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
if (count($filteredAccounts) != 1) {
|
||||||
|
throw new FireflyException("Cannot find account with number " . $accountNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
return reset($filteredAccounts);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return SEPAAccount[]
|
* @return SEPAAccount[]
|
||||||
* @throws FireflyException
|
* @throws FireflyException
|
||||||
@ -59,27 +102,11 @@ class FinTS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $accountNumber
|
|
||||||
* @return SEPAAccount
|
|
||||||
* @throws FireflyException
|
|
||||||
*/
|
|
||||||
public function getAccount(string $accountNumber)
|
|
||||||
{
|
|
||||||
$accounts = $this->getAccounts();
|
|
||||||
$filteredAccounts = array_filter($accounts, function (SEPAAccount $account) use ($accountNumber) {
|
|
||||||
return $account->getAccountNumber() == $accountNumber;
|
|
||||||
});
|
|
||||||
if (count($filteredAccounts) != 1) {
|
|
||||||
throw new FireflyException("Cannot find account with number " . $accountNumber);
|
|
||||||
}
|
|
||||||
return reset($filteredAccounts);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param SEPAAccount $account
|
* @param SEPAAccount $account
|
||||||
* @param \DateTime $from
|
* @param \DateTime $from
|
||||||
* @param \DateTIme $to
|
* @param \DateTIme $to
|
||||||
|
*
|
||||||
* @return \Fhp\Model\StatementOfAccount\StatementOfAccount|null
|
* @return \Fhp\Model\StatementOfAccount\StatementOfAccount|null
|
||||||
* @throws FireflyException
|
* @throws FireflyException
|
||||||
*/
|
*/
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* ChooseAccountHandler.php
|
* ChooseAccountHandler.php
|
||||||
* Copyright (c) 2017 thegrumpydictator@gmail.com
|
* Copyright (c) 2018 https://github.com/bnw
|
||||||
*
|
*
|
||||||
* This file is part of Firefly III.
|
* This file is part of Firefly III.
|
||||||
*
|
*
|
||||||
@ -28,19 +28,23 @@ use FireflyIII\Exceptions\FireflyException;
|
|||||||
use FireflyIII\Import\JobConfiguration\FinTSConfigurationSteps;
|
use FireflyIII\Import\JobConfiguration\FinTSConfigurationSteps;
|
||||||
use FireflyIII\Models\AccountType;
|
use FireflyIII\Models\AccountType;
|
||||||
use FireflyIII\Models\ImportJob;
|
use FireflyIII\Models\ImportJob;
|
||||||
|
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
||||||
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
|
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
|
||||||
use FireflyIII\Support\FinTS\FinTS;
|
use FireflyIII\Support\FinTS\FinTS;
|
||||||
use Illuminate\Support\MessageBag;
|
use Illuminate\Support\MessageBag;
|
||||||
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Class ChooseAccountHandler
|
||||||
|
*/
|
||||||
class ChooseAccountHandler implements FinTSConfigurationInterface
|
class ChooseAccountHandler implements FinTSConfigurationInterface
|
||||||
{
|
{
|
||||||
|
/** @var AccountRepositoryInterface */
|
||||||
|
private $accountRepository;
|
||||||
/** @var ImportJob */
|
/** @var ImportJob */
|
||||||
private $importJob;
|
private $importJob;
|
||||||
/** @var ImportJobRepositoryInterface */
|
/** @var ImportJobRepositoryInterface */
|
||||||
private $repository;
|
private $repository;
|
||||||
/** @var AccountRepositoryInterface */
|
|
||||||
private $accountRepository;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Store data associated with current stage.
|
* Store data associated with current stage.
|
||||||
@ -51,7 +55,7 @@ class ChooseAccountHandler implements FinTSConfigurationInterface
|
|||||||
*/
|
*/
|
||||||
public function configureJob(array $data): MessageBag
|
public function configureJob(array $data): MessageBag
|
||||||
{
|
{
|
||||||
$config = $this->importJob->configuration;
|
$config = $this->repository->getConfiguration($this->importJob);
|
||||||
$config['fints_account'] = (string)($data['fints_account'] ?? '');
|
$config['fints_account'] = (string)($data['fints_account'] ?? '');
|
||||||
$config['local_account'] = (string)($data['local_account'] ?? '');
|
$config['local_account'] = (string)($data['local_account'] ?? '');
|
||||||
$config['from_date'] = (string)($data['from_date'] ?? '');
|
$config['from_date'] = (string)($data['from_date'] ?? '');
|
||||||
@ -59,7 +63,7 @@ class ChooseAccountHandler implements FinTSConfigurationInterface
|
|||||||
$this->repository->setConfiguration($this->importJob, $config);
|
$this->repository->setConfiguration($this->importJob, $config);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$finTS = app(FinTS::class, ['config' => $this->importJob->configuration]);
|
$finTS = app(FinTS::class, ['config' => $config]);
|
||||||
$finTS->getAccount($config['fints_account']);
|
$finTS->getAccount($config['fints_account']);
|
||||||
} catch (FireflyException $e) {
|
} catch (FireflyException $e) {
|
||||||
return new MessageBag([$e->getMessage()]);
|
return new MessageBag([$e->getMessage()]);
|
||||||
@ -89,7 +93,7 @@ class ChooseAccountHandler implements FinTSConfigurationInterface
|
|||||||
foreach ($this->accountRepository->getAccountsByType([AccountType::ASSET]) as $localAccount) {
|
foreach ($this->accountRepository->getAccountsByType([AccountType::ASSET]) as $localAccount) {
|
||||||
$display_name = $localAccount->name;
|
$display_name = $localAccount->name;
|
||||||
if ($localAccount->iban) {
|
if ($localAccount->iban) {
|
||||||
$display_name .= " - $localAccount->iban";
|
$display_name .= sprintf(' - %s', $localAccount->iban);
|
||||||
}
|
}
|
||||||
$localAccounts[$localAccount->id] = $display_name;
|
$localAccounts[$localAccount->id] = $display_name;
|
||||||
}
|
}
|
||||||
@ -100,8 +104,9 @@ class ChooseAccountHandler implements FinTSConfigurationInterface
|
|||||||
'local_accounts' => $localAccounts,
|
'local_accounts' => $localAccounts,
|
||||||
'local_account' => $this->importJob->configuration['local_account'] ?? null,
|
'local_account' => $this->importJob->configuration['local_account'] ?? null,
|
||||||
'from_date' => $this->importJob->configuration['from_date'] ?? (new Carbon('now - 1 month'))->format('Y-m-d'),
|
'from_date' => $this->importJob->configuration['from_date'] ?? (new Carbon('now - 1 month'))->format('Y-m-d'),
|
||||||
'to_date' => $this->importJob->configuration['to_date'] ?? (new Carbon('now'))->format('Y-m-d')
|
'to_date' => $this->importJob->configuration['to_date'] ?? (new Carbon('now'))->format('Y-m-d'),
|
||||||
];
|
];
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,6 +120,4 @@ class ChooseAccountHandler implements FinTSConfigurationInterface
|
|||||||
$this->accountRepository = app(AccountRepositoryInterface::class);
|
$this->accountRepository = app(AccountRepositoryInterface::class);
|
||||||
$this->repository->setUser($importJob->user);
|
$this->repository->setUser($importJob->user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* FinTSConfigurationInterface.php
|
* FinTSConfigurationInterface.php
|
||||||
* Copyright (c) 2017 thegrumpydictator@gmail.com
|
* Copyright (c) 2018 https://github.com/bnw
|
||||||
*
|
*
|
||||||
* This file is part of Firefly III.
|
* This file is part of Firefly III.
|
||||||
*
|
*
|
||||||
@ -25,6 +25,9 @@ namespace FireflyIII\Support\Import\JobConfiguration\FinTS;
|
|||||||
use FireflyIII\Models\ImportJob;
|
use FireflyIII\Models\ImportJob;
|
||||||
use Illuminate\Support\MessageBag;
|
use Illuminate\Support\MessageBag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
interface FinTSConfigurationInterface
|
interface FinTSConfigurationInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* NewFinTSJobHandler.php
|
* NewFinTSJobHandler.php
|
||||||
* Copyright (c) 2017 thegrumpydictator@gmail.com
|
* Copyright (c) 2018 https://github.com/bnw
|
||||||
*
|
*
|
||||||
* This file is part of Firefly III.
|
* This file is part of Firefly III.
|
||||||
*
|
*
|
||||||
@ -31,6 +31,10 @@ use FireflyIII\Support\FinTS\FinTS;
|
|||||||
use Illuminate\Support\Facades\Crypt;
|
use Illuminate\Support\Facades\Crypt;
|
||||||
use Illuminate\Support\MessageBag;
|
use Illuminate\Support\MessageBag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Class NewFinTSJobHandler
|
||||||
|
*/
|
||||||
class NewFinTSJobHandler implements FinTSConfigurationInterface
|
class NewFinTSJobHandler implements FinTSConfigurationInterface
|
||||||
{
|
{
|
||||||
/** @var ImportJob */
|
/** @var ImportJob */
|
||||||
@ -60,14 +64,14 @@ class NewFinTSJobHandler implements FinTSConfigurationInterface
|
|||||||
|
|
||||||
$incomplete = false;
|
$incomplete = false;
|
||||||
foreach ($config as $value) {
|
foreach ($config as $value) {
|
||||||
$incomplete = $value === '' or $incomplete;
|
$incomplete = '' === $value or $incomplete;
|
||||||
}
|
}
|
||||||
if ($incomplete) {
|
if ($incomplete) {
|
||||||
return new MessageBag([trans('import.incomplete_fints_form')]);
|
return new MessageBag([trans('import.incomplete_fints_form')]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$finTS = app(FinTS::class, ['config' => $this->importJob->configuration]);
|
$finTS = app(FinTS::class, ['config' => $this->importJob->configuration]);
|
||||||
if (($checkConnection = $finTS->checkConnection()) !== true) {
|
if (true !== ($checkConnection = $finTS->checkConnection())) {
|
||||||
return new MessageBag([trans('import.fints_connection_failed', ['originalError' => $checkConnection])]);
|
return new MessageBag([trans('import.fints_connection_failed', ['originalError' => $checkConnection])]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,11 +88,12 @@ class NewFinTSJobHandler implements FinTSConfigurationInterface
|
|||||||
public function getNextData(): array
|
public function getNextData(): array
|
||||||
{
|
{
|
||||||
$config = $this->importJob->configuration;
|
$config = $this->importJob->configuration;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'fints_url' => $config['fints_url'] ?? '',
|
'fints_url' => $config['fints_url'] ?? '',
|
||||||
'fints_port' => $config['fints_port'] ?? '443',
|
'fints_port' => $config['fints_port'] ?? '443',
|
||||||
'fints_bank_code' => $config['fints_bank_code'] ?? '',
|
'fints_bank_code' => $config['fints_bank_code'] ?? '',
|
||||||
'fints_username' => $config['fints_username'] ?? ''
|
'fints_username' => $config['fints_username'] ?? '',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,34 +1,92 @@
|
|||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* StageImportDataHandler.php
|
||||||
|
* Copyright (c) 2018 https://github.com/bnw
|
||||||
|
*
|
||||||
|
* This file is part of Firefly III.
|
||||||
|
*
|
||||||
|
* Firefly III is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Firefly III is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace FireflyIII\Support\Import\Routine\FinTS;
|
namespace FireflyIII\Support\Import\Routine\FinTS;
|
||||||
|
|
||||||
|
|
||||||
use Fhp\Model\StatementOfAccount\Transaction as FinTSTransaction;
|
|
||||||
use Fhp\Model\StatementOfAccount\Transaction;
|
use Fhp\Model\StatementOfAccount\Transaction;
|
||||||
|
use Fhp\Model\StatementOfAccount\Transaction as FinTSTransaction;
|
||||||
use FireflyIII\Exceptions\FireflyException;
|
use FireflyIII\Exceptions\FireflyException;
|
||||||
|
use FireflyIII\Models\Account as LocalAccount;
|
||||||
use FireflyIII\Models\AccountType;
|
use FireflyIII\Models\AccountType;
|
||||||
use FireflyIII\Models\ImportJob;
|
use FireflyIII\Models\ImportJob;
|
||||||
use FireflyIII\Models\TransactionType;
|
use FireflyIII\Models\TransactionType;
|
||||||
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
||||||
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
|
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
|
||||||
use FireflyIII\Support\FinTS\FinTS;
|
use FireflyIII\Support\FinTS\FinTS;
|
||||||
use FireflyIII\Models\Account as LocalAccount;
|
|
||||||
use FireflyIII\Support\Import\Routine\File\OpposingAccountMapper;
|
use FireflyIII\Support\Import\Routine\File\OpposingAccountMapper;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Class StageImportDataHandler
|
||||||
|
*/
|
||||||
class StageImportDataHandler
|
class StageImportDataHandler
|
||||||
{
|
{
|
||||||
/** @var AccountRepositoryInterface */
|
/** @var AccountRepositoryInterface */
|
||||||
private $accountRepository;
|
private $accountRepository;
|
||||||
/** @var ImportJob */
|
/** @var ImportJob */
|
||||||
private $importJob;
|
private $importJob;
|
||||||
|
/** @var OpposingAccountMapper */
|
||||||
|
private $mapper;
|
||||||
/** @var ImportJobRepositoryInterface */
|
/** @var ImportJobRepositoryInterface */
|
||||||
private $repository;
|
private $repository;
|
||||||
/** @var array */
|
/** @var array */
|
||||||
private $transactions;
|
private $transactions;
|
||||||
/** @var OpposingAccountMapper */
|
|
||||||
private $mapper;
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getTransactions(): array
|
||||||
|
{
|
||||||
|
return $this->transactions;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws FireflyException
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
Log::debug('Now in StageImportDataHandler::run()');
|
||||||
|
|
||||||
|
$localAccount = $this->accountRepository->findNull($this->importJob->configuration['local_account']);
|
||||||
|
if (null === $localAccount) {
|
||||||
|
throw new FireflyException(sprintf('Cannot find Firefly account with id #%d ' , $this->importJob->configuration['local_account']));
|
||||||
|
}
|
||||||
|
$finTS = app(FinTS::class, ['config' => $this->importJob->configuration]);
|
||||||
|
$fintTSAccount = $finTS->getAccount($this->importJob->configuration['fints_account']);
|
||||||
|
$statementOfAccount = $finTS->getStatementOfAccount(
|
||||||
|
$fintTSAccount, new \DateTime($this->importJob->configuration['from_date']), new \DateTime($this->importJob->configuration['to_date'])
|
||||||
|
);
|
||||||
|
$collection = [];
|
||||||
|
foreach ($statementOfAccount->getStatements() as $statement) {
|
||||||
|
foreach ($statement->getTransactions() as $transaction) {
|
||||||
|
$collection[] = $this->convertTransaction($transaction, $localAccount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->transactions = $collection;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ImportJob $importJob
|
* @param ImportJob $importJob
|
||||||
@ -48,40 +106,23 @@ class StageImportDataHandler
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws FireflyException
|
* @param FinTSTransaction $transaction
|
||||||
|
* @param LocalAccount $source
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function run()
|
|
||||||
{
|
|
||||||
Log::debug('Now in StageImportDataHandler::run()');
|
|
||||||
|
|
||||||
$localAccount = $this->accountRepository->findNull($this->importJob->configuration['local_account']);
|
|
||||||
if ($localAccount === null) {
|
|
||||||
throw new FireflyException('Cannot find Firefly account with id ' . $this->importJob->configuration['local_account']);
|
|
||||||
}
|
|
||||||
$finTS = app(FinTS::class, ['config' => $this->importJob->configuration]);
|
|
||||||
$fintTSAccount = $finTS->getAccount($this->importJob->configuration['fints_account']);
|
|
||||||
$statementOfAccount = $finTS->getStatementOfAccount($fintTSAccount, new \DateTime($this->importJob->configuration['from_date']), new \DateTime($this->importJob->configuration['to_date']));
|
|
||||||
$collection = [];
|
|
||||||
foreach ($statementOfAccount->getStatements() as $statement) {
|
|
||||||
foreach ($statement->getTransactions() as $transaction) {
|
|
||||||
$collection[] = $this->convertTransaction($transaction, $localAccount);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->transactions = $collection;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function convertTransaction(FinTSTransaction $transaction, LocalAccount $source): array
|
private function convertTransaction(FinTSTransaction $transaction, LocalAccount $source): array
|
||||||
{
|
{
|
||||||
Log::debug(sprintf('Start converting transaction %s', $transaction->getDescription1()));
|
Log::debug(sprintf('Start converting transaction %s', $transaction->getDescription1()));
|
||||||
|
|
||||||
$amount = (string) $transaction->getAmount();
|
$amount = (string)$transaction->getAmount();
|
||||||
$debitOrCredit = $transaction->getCreditDebit();
|
$debitOrCredit = $transaction->getCreditDebit();
|
||||||
|
// assume deposit.
|
||||||
Log::debug(sprintf('Amount is %s', $amount));
|
|
||||||
if ($debitOrCredit == Transaction::CD_CREDIT) {
|
|
||||||
$type = TransactionType::DEPOSIT;
|
$type = TransactionType::DEPOSIT;
|
||||||
} else {
|
Log::debug(sprintf('Amount is %s', $amount));
|
||||||
|
|
||||||
|
// inverse if not.
|
||||||
|
if ($debitOrCredit !== Transaction::CD_CREDIT) {
|
||||||
$type = TransactionType::WITHDRAWAL;
|
$type = TransactionType::WITHDRAWAL;
|
||||||
$amount = bcmul($amount, '-1');
|
$amount = bcmul($amount, '-1');
|
||||||
}
|
}
|
||||||
@ -91,7 +132,7 @@ class StageImportDataHandler
|
|||||||
$amount,
|
$amount,
|
||||||
['iban' => $transaction->getAccountNumber(), 'name' => $transaction->getName()]
|
['iban' => $transaction->getAccountNumber(), 'name' => $transaction->getName()]
|
||||||
);
|
);
|
||||||
if ($debitOrCredit == Transaction::CD_CREDIT) {
|
if ($debitOrCredit === Transaction::CD_CREDIT) {
|
||||||
[$source, $destination] = [$destination, $source];
|
[$source, $destination] = [$destination, $source];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,12 +182,4 @@ class StageImportDataHandler
|
|||||||
|
|
||||||
return $storeData;
|
return $storeData;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function getTransactions(): array
|
|
||||||
{
|
|
||||||
return $this->transactions;
|
|
||||||
}
|
|
||||||
}
|
}
|
305
composer.lock
generated
305
composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "9297702ac3c2fc200aac5fc68821bdd6",
|
"content-hash": "a15b5b4991745824880345223530fa9e",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "bacon/bacon-qr-code",
|
"name": "bacon/bacon-qr-code",
|
||||||
@ -1022,16 +1022,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/framework",
|
"name": "laravel/framework",
|
||||||
"version": "v5.7.6",
|
"version": "v5.7.8",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/framework.git",
|
"url": "https://github.com/laravel/framework.git",
|
||||||
"reference": "93e761bb5367166ce98ba908d5eb0edd6be76792"
|
"reference": "763b64a43ebb6042e463aab4214d4cc9722147be"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/framework/zipball/93e761bb5367166ce98ba908d5eb0edd6be76792",
|
"url": "https://api.github.com/repos/laravel/framework/zipball/763b64a43ebb6042e463aab4214d4cc9722147be",
|
||||||
"reference": "93e761bb5367166ce98ba908d5eb0edd6be76792",
|
"reference": "763b64a43ebb6042e463aab4214d4cc9722147be",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -1043,6 +1043,7 @@
|
|||||||
"league/flysystem": "^1.0.8",
|
"league/flysystem": "^1.0.8",
|
||||||
"monolog/monolog": "^1.12",
|
"monolog/monolog": "^1.12",
|
||||||
"nesbot/carbon": "^1.26.3",
|
"nesbot/carbon": "^1.26.3",
|
||||||
|
"opis/closure": "^3.1",
|
||||||
"php": "^7.1.3",
|
"php": "^7.1.3",
|
||||||
"psr/container": "^1.0",
|
"psr/container": "^1.0",
|
||||||
"psr/simple-cache": "^1.0",
|
"psr/simple-cache": "^1.0",
|
||||||
@ -1159,7 +1160,7 @@
|
|||||||
"framework",
|
"framework",
|
||||||
"laravel"
|
"laravel"
|
||||||
],
|
],
|
||||||
"time": "2018-09-25T14:29:00+00:00"
|
"time": "2018-10-04T14:47:20+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/passport",
|
"name": "laravel/passport",
|
||||||
@ -1838,6 +1839,41 @@
|
|||||||
],
|
],
|
||||||
"time": "2017-06-19T01:22:40+00:00"
|
"time": "2017-06-19T01:22:40+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "mschindler83/fints-hbci-php",
|
||||||
|
"version": "1.0.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/mschindler83/fints-hbci-php.git",
|
||||||
|
"reference": "e58cb825c178d4c39a8974a9dd93abbc8094551f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/mschindler83/fints-hbci-php/zipball/e58cb825c178d4c39a8974a9dd93abbc8094551f",
|
||||||
|
"reference": "e58cb825c178d4c39a8974a9dd93abbc8094551f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.2",
|
||||||
|
"psr/log": "~1.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"monolog/monolog": "Allow sending log messages to a variety of different handlers"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Fhp": "lib/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"description": "PHP Library for the protocols fints and hbci",
|
||||||
|
"homepage": "http://fints-hbci-php.markus-schindler.de",
|
||||||
|
"time": "2017-02-15T13:48:21+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "nesbot/carbon",
|
"name": "nesbot/carbon",
|
||||||
"version": "1.34.0",
|
"version": "1.34.0",
|
||||||
@ -1893,6 +1929,67 @@
|
|||||||
],
|
],
|
||||||
"time": "2018-09-20T19:36:25+00:00"
|
"time": "2018-09-20T19:36:25+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "opis/closure",
|
||||||
|
"version": "3.1.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/opis/closure.git",
|
||||||
|
"reference": "d3209e46ad6c69a969b705df0738fd0dbe26ef9e"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/opis/closure/zipball/d3209e46ad6c69a969b705df0738fd0dbe26ef9e",
|
||||||
|
"reference": "d3209e46ad6c69a969b705df0738fd0dbe26ef9e",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^5.4 || ^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"jeremeamia/superclosure": "^2.0",
|
||||||
|
"phpunit/phpunit": "^4.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.0.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Opis\\Closure\\": "src/"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"functions.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Marius Sarca",
|
||||||
|
"email": "marius.sarca@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sorin Sarca",
|
||||||
|
"email": "sarca_sorin@hotmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.",
|
||||||
|
"homepage": "https://opis.io/closure",
|
||||||
|
"keywords": [
|
||||||
|
"anonymous functions",
|
||||||
|
"closure",
|
||||||
|
"function",
|
||||||
|
"serializable",
|
||||||
|
"serialization",
|
||||||
|
"serialize"
|
||||||
|
],
|
||||||
|
"time": "2018-10-02T13:36:53+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "paragonie/constant_time_encoding",
|
"name": "paragonie/constant_time_encoding",
|
||||||
"version": "v2.2.2",
|
"version": "v2.2.2",
|
||||||
@ -2633,16 +2730,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/console.git",
|
"url": "https://github.com/symfony/console.git",
|
||||||
"reference": "ca80b8ced97cf07390078b29773dc384c39eee1f"
|
"reference": "dc7122fe5f6113cfaba3b3de575d31112c9aa60b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/console/zipball/ca80b8ced97cf07390078b29773dc384c39eee1f",
|
"url": "https://api.github.com/repos/symfony/console/zipball/dc7122fe5f6113cfaba3b3de575d31112c9aa60b",
|
||||||
"reference": "ca80b8ced97cf07390078b29773dc384c39eee1f",
|
"reference": "dc7122fe5f6113cfaba3b3de575d31112c9aa60b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -2697,20 +2794,20 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Console Component",
|
"description": "Symfony Console Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-07-26T11:24:31+00:00"
|
"time": "2018-10-03T08:15:46+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/css-selector",
|
"name": "symfony/css-selector",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/css-selector.git",
|
"url": "https://github.com/symfony/css-selector.git",
|
||||||
"reference": "2a4df7618f869b456f9096781e78c57b509d76c7"
|
"reference": "d67de79a70a27d93c92c47f37ece958bf8de4d8a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/css-selector/zipball/2a4df7618f869b456f9096781e78c57b509d76c7",
|
"url": "https://api.github.com/repos/symfony/css-selector/zipball/d67de79a70a27d93c92c47f37ece958bf8de4d8a",
|
||||||
"reference": "2a4df7618f869b456f9096781e78c57b509d76c7",
|
"reference": "d67de79a70a27d93c92c47f37ece958bf8de4d8a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -2750,20 +2847,20 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony CssSelector Component",
|
"description": "Symfony CssSelector Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-07-26T09:10:45+00:00"
|
"time": "2018-10-02T16:36:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/debug",
|
"name": "symfony/debug",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/debug.git",
|
"url": "https://github.com/symfony/debug.git",
|
||||||
"reference": "47ead688f1f2877f3f14219670f52e4722ee7052"
|
"reference": "e3f76ce6198f81994e019bb2b4e533e9de1b9b90"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/debug/zipball/47ead688f1f2877f3f14219670f52e4722ee7052",
|
"url": "https://api.github.com/repos/symfony/debug/zipball/e3f76ce6198f81994e019bb2b4e533e9de1b9b90",
|
||||||
"reference": "47ead688f1f2877f3f14219670f52e4722ee7052",
|
"reference": "e3f76ce6198f81994e019bb2b4e533e9de1b9b90",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -2806,11 +2903,11 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Debug Component",
|
"description": "Symfony Debug Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-08-03T11:13:38+00:00"
|
"time": "2018-10-02T16:36:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher",
|
"name": "symfony/event-dispatcher",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||||
@ -2873,16 +2970,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/finder",
|
"name": "symfony/finder",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/finder.git",
|
"url": "https://github.com/symfony/finder.git",
|
||||||
"reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068"
|
"reference": "1f17195b44543017a9c9b2d437c670627e96ad06"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/finder/zipball/e162f1df3102d0b7472805a5a9d5db9fcf0a8068",
|
"url": "https://api.github.com/repos/symfony/finder/zipball/1f17195b44543017a9c9b2d437c670627e96ad06",
|
||||||
"reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068",
|
"reference": "1f17195b44543017a9c9b2d437c670627e96ad06",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -2918,20 +3015,20 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Finder Component",
|
"description": "Symfony Finder Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-07-26T11:24:31+00:00"
|
"time": "2018-10-03T08:47:56+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-foundation",
|
"name": "symfony/http-foundation",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-foundation.git",
|
"url": "https://github.com/symfony/http-foundation.git",
|
||||||
"reference": "3a5c91e133b220bb882b3cd773ba91bf39989345"
|
"reference": "d528136617ff24f530e70df9605acc1b788b08d4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/3a5c91e133b220bb882b3cd773ba91bf39989345",
|
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d528136617ff24f530e70df9605acc1b788b08d4",
|
||||||
"reference": "3a5c91e133b220bb882b3cd773ba91bf39989345",
|
"reference": "d528136617ff24f530e70df9605acc1b788b08d4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -2972,20 +3069,20 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony HttpFoundation Component",
|
"description": "Symfony HttpFoundation Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-08-27T17:47:02+00:00"
|
"time": "2018-10-03T08:48:45+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-kernel",
|
"name": "symfony/http-kernel",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-kernel.git",
|
"url": "https://github.com/symfony/http-kernel.git",
|
||||||
"reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35"
|
"reference": "f5e7c15a5d010be0e16ce798594c5960451d4220"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/33de0a1ff2e1720096189e3ced682d7a4e8f5e35",
|
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f5e7c15a5d010be0e16ce798594c5960451d4220",
|
||||||
"reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35",
|
"reference": "f5e7c15a5d010be0e16ce798594c5960451d4220",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -3059,7 +3156,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony HttpKernel Component",
|
"description": "Symfony HttpKernel Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-08-28T06:17:42+00:00"
|
"time": "2018-10-03T12:53:38+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-ctype",
|
"name": "symfony/polyfill-ctype",
|
||||||
@ -3343,16 +3440,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/process",
|
"name": "symfony/process",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/process.git",
|
"url": "https://github.com/symfony/process.git",
|
||||||
"reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843"
|
"reference": "ee33c0322a8fee0855afcc11fff81e6b1011b529"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/process/zipball/86cdb930a6a855b0ab35fb60c1504cb36184f843",
|
"url": "https://api.github.com/repos/symfony/process/zipball/ee33c0322a8fee0855afcc11fff81e6b1011b529",
|
||||||
"reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843",
|
"reference": "ee33c0322a8fee0855afcc11fff81e6b1011b529",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -3388,7 +3485,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Process Component",
|
"description": "Symfony Process Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-08-03T11:13:38+00:00"
|
"time": "2018-10-02T12:40:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/psr-http-message-bridge",
|
"name": "symfony/psr-http-message-bridge",
|
||||||
@ -3453,16 +3550,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/routing",
|
"name": "symfony/routing",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/routing.git",
|
"url": "https://github.com/symfony/routing.git",
|
||||||
"reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51"
|
"reference": "537803f0bdfede36b9acef052d2e4d447d9fa0e9"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/routing/zipball/a5784c2ec4168018c87b38f0e4f39d2278499f51",
|
"url": "https://api.github.com/repos/symfony/routing/zipball/537803f0bdfede36b9acef052d2e4d447d9fa0e9",
|
||||||
"reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51",
|
"reference": "537803f0bdfede36b9acef052d2e4d447d9fa0e9",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -3526,20 +3623,20 @@
|
|||||||
"uri",
|
"uri",
|
||||||
"url"
|
"url"
|
||||||
],
|
],
|
||||||
"time": "2018-08-03T07:58:40+00:00"
|
"time": "2018-10-02T12:40:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation",
|
"name": "symfony/translation",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/translation.git",
|
"url": "https://github.com/symfony/translation.git",
|
||||||
"reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f"
|
"reference": "9f0b61e339160a466ebcde167a6c5521c810e304"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/translation/zipball/fa2182669f7983b7aa5f1a770d053f79f0ef144f",
|
"url": "https://api.github.com/repos/symfony/translation/zipball/9f0b61e339160a466ebcde167a6c5521c810e304",
|
||||||
"reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f",
|
"reference": "9f0b61e339160a466ebcde167a6c5521c810e304",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -3595,20 +3692,20 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Translation Component",
|
"description": "Symfony Translation Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-08-07T12:45:11+00:00"
|
"time": "2018-10-02T16:36:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/var-dumper",
|
"name": "symfony/var-dumper",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/var-dumper.git",
|
"url": "https://github.com/symfony/var-dumper.git",
|
||||||
"reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777"
|
"reference": "60319b45653580b0cdacca499344577d87732f16"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/a05426e27294bba7b0226ffc17dd01a3c6ef9777",
|
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/60319b45653580b0cdacca499344577d87732f16",
|
||||||
"reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777",
|
"reference": "60319b45653580b0cdacca499344577d87732f16",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -3670,7 +3767,7 @@
|
|||||||
"debug",
|
"debug",
|
||||||
"dump"
|
"dump"
|
||||||
],
|
],
|
||||||
"time": "2018-08-02T09:24:26+00:00"
|
"time": "2018-10-02T16:36:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "tijsverkoyen/css-to-inline-styles",
|
"name": "tijsverkoyen/css-to-inline-styles",
|
||||||
@ -4656,16 +4753,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mockery/mockery",
|
"name": "mockery/mockery",
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/mockery/mockery.git",
|
"url": "https://github.com/mockery/mockery.git",
|
||||||
"reference": "99e29d3596b16dabe4982548527d5ddf90232e99"
|
"reference": "100633629bf76d57430b86b7098cd6beb996a35a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/99e29d3596b16dabe4982548527d5ddf90232e99",
|
"url": "https://api.github.com/repos/mockery/mockery/zipball/100633629bf76d57430b86b7098cd6beb996a35a",
|
||||||
"reference": "99e29d3596b16dabe4982548527d5ddf90232e99",
|
"reference": "100633629bf76d57430b86b7098cd6beb996a35a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -4674,8 +4771,7 @@
|
|||||||
"php": ">=5.6.0"
|
"php": ">=5.6.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpdocumentor/phpdocumentor": "^2.9",
|
"phpunit/phpunit": "~5.7.10|~6.5|~7.0"
|
||||||
"phpunit/phpunit": "~5.7.10|~6.5"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
@ -4718,7 +4814,7 @@
|
|||||||
"test double",
|
"test double",
|
||||||
"testing"
|
"testing"
|
||||||
],
|
],
|
||||||
"time": "2018-05-08T08:54:48+00:00"
|
"time": "2018-10-02T21:52:37+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "myclabs/deep-copy",
|
"name": "myclabs/deep-copy",
|
||||||
@ -5170,16 +5266,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-code-coverage",
|
"name": "phpunit/php-code-coverage",
|
||||||
"version": "6.0.7",
|
"version": "6.0.8",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||||
"reference": "865662550c384bc1db7e51d29aeda1c2c161d69a"
|
"reference": "848f78b3309780fef7ec8c4666b7ab4e6b09b22f"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/865662550c384bc1db7e51d29aeda1c2c161d69a",
|
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/848f78b3309780fef7ec8c4666b7ab4e6b09b22f",
|
||||||
"reference": "865662550c384bc1db7e51d29aeda1c2c161d69a",
|
"reference": "848f78b3309780fef7ec8c4666b7ab4e6b09b22f",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -5229,7 +5325,7 @@
|
|||||||
"testing",
|
"testing",
|
||||||
"xunit"
|
"xunit"
|
||||||
],
|
],
|
||||||
"time": "2018-06-01T07:51:50+00:00"
|
"time": "2018-10-04T03:41:23+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-file-iterator",
|
"name": "phpunit/php-file-iterator",
|
||||||
@ -5422,16 +5518,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/phpunit",
|
"name": "phpunit/phpunit",
|
||||||
"version": "7.3.5",
|
"version": "7.4.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||||
"reference": "7b331efabbb628c518c408fdfcaf571156775de2"
|
"reference": "f3837fa1e07758057ae06e8ddec6d06ba183f126"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7b331efabbb628c518c408fdfcaf571156775de2",
|
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3837fa1e07758057ae06e8ddec6d06ba183f126",
|
||||||
"reference": "7b331efabbb628c518c408fdfcaf571156775de2",
|
"reference": "f3837fa1e07758057ae06e8ddec6d06ba183f126",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -5456,7 +5552,7 @@
|
|||||||
"sebastian/exporter": "^3.1",
|
"sebastian/exporter": "^3.1",
|
||||||
"sebastian/global-state": "^2.0",
|
"sebastian/global-state": "^2.0",
|
||||||
"sebastian/object-enumerator": "^3.0.3",
|
"sebastian/object-enumerator": "^3.0.3",
|
||||||
"sebastian/resource-operations": "^1.0",
|
"sebastian/resource-operations": "^2.0",
|
||||||
"sebastian/version": "^2.0.1"
|
"sebastian/version": "^2.0.1"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
@ -5476,7 +5572,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "7.3-dev"
|
"dev-master": "7.4-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -5502,7 +5598,7 @@
|
|||||||
"testing",
|
"testing",
|
||||||
"xunit"
|
"xunit"
|
||||||
],
|
],
|
||||||
"time": "2018-09-08T15:14:29+00:00"
|
"time": "2018-10-05T04:05:24+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "roave/security-advisories",
|
"name": "roave/security-advisories",
|
||||||
@ -5510,6 +5606,7 @@
|
|||||||
"conflict": {
|
"conflict": {
|
||||||
"3f/pygmentize": "<1.2",
|
"3f/pygmentize": "<1.2",
|
||||||
"adodb/adodb-php": "<5.20.12",
|
"adodb/adodb-php": "<5.20.12",
|
||||||
|
"alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1",
|
||||||
"amphp/artax": "<1.0.6|>=2,<2.0.6",
|
"amphp/artax": "<1.0.6|>=2,<2.0.6",
|
||||||
"amphp/http": "<1.0.1",
|
"amphp/http": "<1.0.1",
|
||||||
"asymmetricrypt/asymmetricrypt": ">=0,<9.9.99",
|
"asymmetricrypt/asymmetricrypt": ">=0,<9.9.99",
|
||||||
@ -5677,7 +5774,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
|
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
|
||||||
"time": "2018-09-17T20:20:31+00:00"
|
"time": "2018-10-02T16:19:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/code-unit-reverse-lookup",
|
"name": "sebastian/code-unit-reverse-lookup",
|
||||||
@ -6159,25 +6256,25 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/resource-operations",
|
"name": "sebastian/resource-operations",
|
||||||
"version": "1.0.0",
|
"version": "2.0.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/resource-operations.git",
|
"url": "https://github.com/sebastianbergmann/resource-operations.git",
|
||||||
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
|
"reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
|
"url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
|
||||||
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
|
"reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.6.0"
|
"php": "^7.1"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "1.0.x-dev"
|
"dev-master": "2.0-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -6197,7 +6294,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Provides a list of PHP built-in functions that operate on resources",
|
"description": "Provides a list of PHP built-in functions that operate on resources",
|
||||||
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
||||||
"time": "2015-07-28T20:34:47+00:00"
|
"time": "2018-10-04T04:07:39+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/version",
|
"name": "sebastian/version",
|
||||||
@ -6337,16 +6434,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/config",
|
"name": "symfony/config",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/config.git",
|
"url": "https://github.com/symfony/config.git",
|
||||||
"reference": "76015a3cc372b14d00040ff58e18e29f69eba717"
|
"reference": "b3d4d7b567d7a49e6dfafb6d4760abc921177c96"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/config/zipball/76015a3cc372b14d00040ff58e18e29f69eba717",
|
"url": "https://api.github.com/repos/symfony/config/zipball/b3d4d7b567d7a49e6dfafb6d4760abc921177c96",
|
||||||
"reference": "76015a3cc372b14d00040ff58e18e29f69eba717",
|
"reference": "b3d4d7b567d7a49e6dfafb6d4760abc921177c96",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -6396,20 +6493,20 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Config Component",
|
"description": "Symfony Config Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-08-08T06:37:38+00:00"
|
"time": "2018-09-08T13:24:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/filesystem",
|
"name": "symfony/filesystem",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/filesystem.git",
|
"url": "https://github.com/symfony/filesystem.git",
|
||||||
"reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e"
|
"reference": "596d12b40624055c300c8b619755b748ca5cf0b5"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e",
|
"url": "https://api.github.com/repos/symfony/filesystem/zipball/596d12b40624055c300c8b619755b748ca5cf0b5",
|
||||||
"reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e",
|
"reference": "596d12b40624055c300c8b619755b748ca5cf0b5",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -6446,20 +6543,20 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Filesystem Component",
|
"description": "Symfony Filesystem Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-08-18T16:52:46+00:00"
|
"time": "2018-10-02T12:40:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/stopwatch",
|
"name": "symfony/stopwatch",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/stopwatch.git",
|
"url": "https://github.com/symfony/stopwatch.git",
|
||||||
"reference": "966c982df3cca41324253dc0c7ffe76b6076b705"
|
"reference": "5bfc064125b73ff81229e19381ce1c34d3416f4b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/966c982df3cca41324253dc0c7ffe76b6076b705",
|
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/5bfc064125b73ff81229e19381ce1c34d3416f4b",
|
||||||
"reference": "966c982df3cca41324253dc0c7ffe76b6076b705",
|
"reference": "5bfc064125b73ff81229e19381ce1c34d3416f4b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -6495,20 +6592,20 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Stopwatch Component",
|
"description": "Symfony Stopwatch Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-07-26T11:00:49+00:00"
|
"time": "2018-10-02T12:40:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/yaml",
|
"name": "symfony/yaml",
|
||||||
"version": "v4.1.4",
|
"version": "v4.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/yaml.git",
|
"url": "https://github.com/symfony/yaml.git",
|
||||||
"reference": "b832cc289608b6d305f62149df91529a2ab3c314"
|
"reference": "367e689b2fdc19965be435337b50bc8adf2746c9"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/b832cc289608b6d305f62149df91529a2ab3c314",
|
"url": "https://api.github.com/repos/symfony/yaml/zipball/367e689b2fdc19965be435337b50bc8adf2746c9",
|
||||||
"reference": "b832cc289608b6d305f62149df91529a2ab3c314",
|
"reference": "367e689b2fdc19965be435337b50bc8adf2746c9",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -6554,7 +6651,7 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony Yaml Component",
|
"description": "Symfony Yaml Component",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2018-08-18T16:52:46+00:00"
|
"time": "2018-10-02T16:36:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "theseer/tokenizer",
|
"name": "theseer/tokenizer",
|
||||||
|
@ -47,6 +47,9 @@ return [
|
|||||||
'button_yodlee' => 'Import using Yodlee',
|
'button_yodlee' => 'Import using Yodlee',
|
||||||
'button_quovo' => 'Import using Quovo',
|
'button_quovo' => 'Import using Quovo',
|
||||||
'button_ynab' => 'Import from You Need A Budget',
|
'button_ynab' => 'Import from You Need A Budget',
|
||||||
|
'button_fints' => 'Import using FinTS',
|
||||||
|
|
||||||
|
|
||||||
// global config box (index)
|
// global config box (index)
|
||||||
'global_config_title' => 'Global import configuration',
|
'global_config_title' => 'Global import configuration',
|
||||||
'global_config_text' => 'In the future, this box will feature preferences that apply to ALL import providers above.',
|
'global_config_text' => 'In the future, this box will feature preferences that apply to ALL import providers above.',
|
||||||
@ -201,7 +204,7 @@ return [
|
|||||||
'spectre_extra_key_transactions_count' => 'Transaction count',
|
'spectre_extra_key_transactions_count' => 'Transaction count',
|
||||||
//job configuration for finTS
|
//job configuration for finTS
|
||||||
'fints_connection_failed' => 'An error occurred while trying to connecting to your bank. Please mak sure that all the data you entered is correct. Original error message: :originalError',
|
'fints_connection_failed' => 'An error occurred while trying to connecting to your bank. Please mak sure that all the data you entered is correct. Original error message: :originalError',
|
||||||
'button_fints' => 'FinTS',
|
|
||||||
'job_config_fints_url_help' => 'E.g. https://banking-dkb.s-fints-pt-dkb.de/fints30',
|
'job_config_fints_url_help' => 'E.g. https://banking-dkb.s-fints-pt-dkb.de/fints30',
|
||||||
'job_config_fints_username_help' => 'For many banks this is your account number.',
|
'job_config_fints_username_help' => 'For many banks this is your account number.',
|
||||||
'job_config_fints_port_help' => 'The default port is 443.',
|
'job_config_fints_port_help' => 'The default port is 443.',
|
||||||
|
Loading…
Reference in New Issue
Block a user