Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 1281

Přidáno uživatelem Jiří Sviták před asi 13 roky(ů)

Fio - automaticky import. Doplneni formulare pro vyplneni udaju nutnych pro prihlaseni do internetoveho bankovnictvi. Dodany modul nefunguje spravne, asi problem s odkazy, curlem... Misto stazenych CSV dat se stahne formular pro prihlaseni do Fia. Importer zatim nepridan do scheduler/run, ma samostatnou metodu pro testovani scheduler/fio_import_daily.

Zobrazit rozdíly:

freenetis/branches/testing/application/i18n/cs_CZ/help.php
'entrance_date' => 'Datum vstupu do sdružení. Se vstupem do sdružení je člen povinen platit členské příspěvky. V případě, že člen vstoupil do 15. dne v měsíci včetně, tak již tento měsíc se započítává k placení. Od 16. dne v měsíci se daný měsíc k placení nezapočítává.',
'entrance_fee' => 'Vstupní poplatek je jednorázový členský příspěvek, který je člen povinen zaplatit při vstupu do sdružení kromě případů, kdy je mu odpuštěn.',
'entrance_fee_instalment' => 'Splátka vstupního příspěvku je pro případ, kdy člen chce splácet vstupní příspěvek postupně. Zde nastavená částka mu bude každý měsíc stržena z jeho kreditního účtu. Pokud nechcete splátky využít, nechte výši splátky rovnu výši vstupního příspěvku.',
'fio_account_number' => 'Číslo Fio účtu, vyplňujte bez kódu banky.',
'fio_import_daily' => 'Umožňuje zapnout automatický import Fio výpisů ve formátu CSV přímo z internetového bankovnictví. Je potřeba vyplnit uživatelské jméno a heslo, číslo účtu (bez kódu banky) a jméno pohledu. Import se provádí vždy v 1:00 a importuje všechny položky od doby importu posledního výpisu po právě skončený včerejšek. Oproti manuálnímu importu CSV souboru, kde je vidět okamžitý výsledek importu, je zde potřeba občas kontrolovat občas výsledek, zda vše probíhá správně.',
'fio_password' => 'Heslo pro daného uživatele do internetového bankovnictví. Zvažte bezpečnostní riziko spojené s ukládáním hesla od internetového bankovnictví na server s Freenetisem.',
'fio_view_name' => 'Název pohledu, je potřeba si vytvořit vlastní pohled (filtr) v internetovém bankovnictví, ve kterém budou zobrazeny všechny dostupné sloupce (celkem 18).',
'gateway' => 'Určuje, zda-li je tato IP adresa bránou ve své podsíti. Typicky má toto nastavena každá IP adresa končící na jedničku v síti s prefixem 24.',
'gps_coordinates' => 'GPS souřadnice může být ve tvaru desetinného čísla, nebo: hodiny°minuty\'sekundy&quot.',
'ignore_whitelist' => 'Umožňuje této zprávě, je-li aktivována, ignorovat bílou listinu. Určeno pro velmi speciální případy, například pokud je připojen městský úřad, který je na trvalé bílé listině, aby nebyl obtěžován a i přesto chceme jeho počítače přesměrovat kvůli informaci o výpadku.',
freenetis/branches/testing/application/helpers/date.php
return date($format, $ts);
}
/**
* Decreases given date by one day. Used in Fio automatic import.
* @author Jiri Svitak
* @param <type> $year
* @param <type> $month
* @param <type> $day
*/
public static function decrease_day($year, $month, $day)
{
$day -= 1;
if ($day == 0)
{
$month -= 1;
if ($month == 0)
{
$year -= 1;
$month = 12;
}
if ($month == 2)
{
if (($year % 4 == 0) && ($year % 400 != 0))
{
$day = 29;
}
else
{
$day = 28;
}
}
else if ($month == 1 || $month == 3 || $month == 5 || $month == 7 || $month == 8 || $month == 10 || $month == 12)
{
$day = 31;
}
else
{
$day = 30;
}
}
$timestamp = mktime(0, 0, 0, $month, $day, $year);
return date('Y-m-d', $timestamp);
}
} // End date
freenetis/branches/testing/application/models/bank_statement.php
*
* @return Mysql_Result
*/
public function get_last_statement()
/**
* Gets last closing date from statement.
* @return <type>
*/
public function get_last_statement($bank_account_id)
{
return $this->db->query("
SELECT * FROM bank_statements bs
ORDER BY bs.to ASC
SELECT bs.to FROM bank_statements bs
WHERE bs.bank_account_id = ?
ORDER BY bs.to DESC
LIMIT 1
");
", $bank_account_id);
}
}
freenetis/branches/testing/application/controllers/bank_accounts.php
{
// members list
$arr_members = ORM::factory('member')->select_list();
if (isset($arr_members[1]))
{
unset($arr_members[1]);
......
}
/**
/**
* Settings for daily Fio imports.
* @author Jiri Svitak
*/
......
->value(Settings::get('fio_user'));
$this->form->input('fio_password')
->label(__('Password') . ':')
->label(__('Password') . ':&nbsp;'.
help::hint('fio_password'))
->value(Settings::get('fio_password'));
$this->form->input('fio_account_number')
->label(__('Account number') . ':')
->label(__('Account number') . ':&nbsp;'.
help::hint('fio_account_number'))
->value(Settings::get('fio_account_number'));
$this->form->input('fio_view_name')
->label(__('View name') . ':')
->label(__('View name') . ':&nbsp;'.
help::hint('fio_view_name'))
->value(Settings::get('fio_account_number'));
$this->form->submit('submit')->value(__('Save'));
freenetis/branches/testing/application/controllers/scheduler.php
{
self::log_error('action_logs_active', $e);
}
/*
try
}
/*
if (date('H:i') == "01:00")
{
if (Settings::get('fio_import_daily') == '1')
{
if (Settings::get('fio_import_daily') == '1')
{
self::fio_import_daily();
}
self::fio_import_daily();
}
catch (Exception $e)
{
self::log_error('fio_import_daily', $e);
}
*
*/
}
*/
// update ulogd
try
......
/**
* @author Jiri Svitak
*/
public static function fio_import_daily()
public function fio_import_daily()
{
try
//try
{
$db = new Transfer_Model();
$db->transaction_start();
//$db = new Transfer_Model();
//$db->transaction_start();
$ba = ORM::factory('bank_account')->where("bank_nr", Settings::get("fio_bank_account"))->find();
$bs_model = new Bank_statement_Model();
$bs = $bs_model->get_last_statement();
$bs = $bs_model->get_last_statement($ba->id);
if (count($bs) > 0)
{
$from = $bs->to;
$fromDate = $bs->current()->to;
}
else
{
$from = '2000-01-01';
$fromDate = "2000-01-01";
}
$downloadConfig = new FioConfig(
Settings::get('fio_user'),
Settings::get('fio_password'),
Settings::get('fio_account_number'),
Settings::get('fio_view_name')
);
$toDate = date::decrease_day(date('Y'), date('m'), date('d'));
echo $fromDate; echo $toDate;
$downloadConfig = new FioConfig(Settings::get("fio_user"),
Settings::get("fio_password"),
Settings::get("fio_account_number"),
Settings::get("fio_view_name"));
$connection = new FioConnection($downloadConfig);
$csvData = $connection->getCSV($fromDate, null);
$csvData = $connection->getCSV($fromDate, $toDate);
$csvData = iconv('cp1250', 'UTF-8', $csvData);
echo '<br>';
echo $csvData;die();
$data = FioParser::parseCSV($csvData);
FioImport::correctData($data);
$header = FioImport::getListingHeader();
echo '<br>';
echo $data;
FioSaver($data);
$db->transaction_commit();
//$db->transaction_commit();
}
/*
catch(Exception $e)
{
$db->transaction_rollback();
throw $e;
}
*
*/
}
freenetis/branches/testing/application/controllers/import.php
self::$types[self::HTML_RAIFFEISENBANK] = 'HTML Raiffeisenbank';
self::$types[self::CSV_FIO] = 'CSV Fio';
//if (file_exists('config.php'))
//{echo 'config.php'; die();}
if (!is_writable('upload'))
{
Controller::error(WRITABLE, __(

Také k dispozici: Unified diff