<?php
/**
 * skript pro stahovani a ukladani kurzovnich listku bank
 * 
 */

if (date('H') < 9 || date('H') >= 18) {
	exit;	
} 

set_time_limit(120); // zvysime max dobu behu skriptu  
 
//error_reporting(E_ALL);

require '../../connection/connection.php';


define('DB_TYPE', 'prod');

require_once 'Logger.php';
require_once 'ExchangeRatesFetcherUcb.php';
require_once 'ExchangeRatesFetcherCs.php';
require_once 'ExchangeRatesFetcherCitibank.php';
require_once 'ExchangeRatesFetcherCsob.php';
require_once 'ExchangeRatesFetcherKb.php';
require_once 'ExchangeRatesFetcherEbanka.php';
require_once 'ExchangeRatesStorage.php';

Logger::initialize('../../logs/kurzy/rates-log.txt'); // inicializace logu - nastaveni jmema souboru

$log_string = '--------START--------'."\n".date('Y-m-d H:i:s')."\n";

Logger::write($log_string); // zapiseme do logu

###########################################
// URL adresy, ze kterych stahujeme
$url_ebanka = 'http://www.ebanka.cz/Osobni-finance/Cenik-sazby-kurzy/Kurzovni-listek/';

$url_unicredit = 'http://www.unicreditbank.cz/kurzy-xml.php?den='.date('j.n.Y');

$url_sporitelna = 'http://www.csas.cz/banka/portlets/exchangerates/current.do?csv=1&times=&event=current&day='.date('j').'&month='.date('n').'&year='.date('Y');

$url_citibank = 'http://www.citibank.com/czech/consumer-banking/czech/docs/kurzy.jsp';

$url_csob = 'http://www.csob.cz/webcsob/kurzy/kurzynewcz.txt';

$url_kb = 'http://www.kb.cz/NASA/rateList/SRVRate?lng=cs';

###########################################
$exchange_rates_fetcher_Ucb = new ExchangeRatesFetcherUcb($url_unicredit);
try {
	$exchange_rates_fetcher_Ucb->fetch();
}
catch (Exception $e) {
	Logger::write($e->getMessage());
}

Logger::write('Unicredit,');
$exchange_rates_storage = null;
$exchange_rates_storage = new ExchangeRatesStorage($exchange_rates_fetcher_Ucb);
try {
	$exchange_rates_storage->store();
}
catch (Exception $e) {	
	Logger::write($e->getMessage());
}

###########################################
$exchange_rates_fetcher_Cs = new ExchangeRatesFetcherCs($url_sporitelna);
try {
	$exchange_rates_fetcher_Cs->fetch();
}
catch (Exception $e) {
	Logger::write($e->getMessage());	
}

Logger::write('Ceska sporitelna,');
$exchange_rates_storage = null;
$exchange_rates_storage = new ExchangeRatesStorage($exchange_rates_fetcher_Cs);
try {
	$exchange_rates_storage->store();
}
catch (Exception $e) {	
	Logger::write($e->getMessage());
}

###########################################
$exchange_rates_fetcher_Citibank = new ExchangeRatesFetcherCitibank($url_citibank);
try {
	$exchange_rates_fetcher_Citibank->fetch();
}
catch (Exception $e) {
	Logger::write($e->getMessage());	
}

Logger::write('Citibank,');
$exchange_rates_storage = null;
$exchange_rates_storage = new ExchangeRatesStorage($exchange_rates_fetcher_Citibank);
try {
	$exchange_rates_storage->store();
}
catch (Exception $e) {	
	Logger::write($e->getMessage());
}

###########################################
$exchange_rates_fetcher_Csob = new ExchangeRatesFetcherCsob($url_csob);
try {
	$exchange_rates_fetcher_Csob->fetch();
}
catch (Exception $e) {
	Logger::write($e->getMessage());	
}

Logger::write('CSOB,');
$exchange_rates_storage = null;
$exchange_rates_storage = new ExchangeRatesStorage($exchange_rates_fetcher_Csob);
try {
	$exchange_rates_storage->store();
}
catch (Exception $e) {	
	Logger::write($e->getMessage());
}

###########################################
$exchange_rates_fetcher_Kb = new ExchangeRatesFetcherKb($url_kb);
try {
	$exchange_rates_fetcher_Kb->fetch();
}
catch (Exception $e) {
	Logger::write($e->getMessage());	
}

Logger::write('KB,');
$exchange_rates_storage = null;
$exchange_rates_storage = new ExchangeRatesStorage($exchange_rates_fetcher_Kb);
try {
	$exchange_rates_storage->store();
}
catch (Exception $e) {	
	Logger::write($e->getMessage());
}

###########################################
$exchange_rates_fetcher_Ebanka = new ExchangeRatesFetcherEbanka($url_ebanka);
try {
	$exchange_rates_fetcher_Ebanka->fetch();
}
catch (Exception $e) {
	Logger::write($e->getMessage());	
}

Logger::write('E-Banka');
$exchange_rates_storage = null;
$exchange_rates_storage = new ExchangeRatesStorage($exchange_rates_fetcher_Ebanka);
try {
	$exchange_rates_storage->store();
}
catch (Exception $e) {	
	Logger::write($e->getMessage());
}

$log_string = "\n".date('Y-m-d H:i:s')."\n".'---------END---------'."\n"; // konec logovani

Logger::write($log_string);

// zapiseme do logu
//$fh = fopen('rates-log.txt', 'a');
//fwrite($fh, $log_string);