Projekt

Obecné

Profil

<?php defined('SYSPATH') or die('No direct script access.');
/*
* This file is part of open source system FreeNetIS
* and it is released under GPLv3 licence.
*
* More info about licence can be found:
* http://www.gnu.org/licenses/gpl-3.0.html
*
* More info about project can be found:
* http://www.freenetis.org/
*
*/

/**
* FIO importer config
*/
class FioConfig
{
// these parameters should work for everyone
const _baseURL = 'https://www.fio.cz';
const _loginPath = '/scgi-bin/hermes/dz-homebanking.cgi';
const _historyPath = '/scgi-bin/hermes/dz-pohyby.cgi?ID_ucet=';
const _filterPath = '/scgi-bin/hermes/dz-pohyby.cgi?';
const _downloadPath = '/scgi-bin/hermes/dz-pohyby.cgi?export=1&ID_ucet=';
const _viewPath = '/scgi-bin/hermes/dz-pohyby.cgi?view_name_dz-pohyby.cgi=';

// modify these parameters as needed
/** temporary file with cookies, it's content allows everyone to access the account */
const _cookieFile = 'cookiefile.txt';

public function __construct($username, $password, $accountNumber, $viewName)
{
$this->_username = $username;
$this->_password = $password;
$this->_accountNumber = $accountNumber;
$this->_viewName = $viewName;
}

/**
* Gets username
*
* @return string
*/
public function username()
{
return $this->_username;
}

/**
* Gets password
*
* @return string
*/
public function password()
{
return $this->_password;
}

/**
* Gets login URL
*
* @return string
*/
public function loginURL()
{
return self::_baseURL . self::_loginPath;
}

/**
* Gets filter URL
*
* @return string
*/
public function filterURL($dateFrom, $dateTo)
{
/*
* https://www.fio.cz/scgi-bin/hermes/dz-pohyby.cgi?x=27&y=9&
* pohyby_DAT_od=1.4.2010&pohyby_DAT_do=5.4.2010&protiucet=&
* kod_banky=&VS=&SS=&UID=&PEN_typ_pohybu=&smer=&castka_min=&castka_max=
*/

if (!$dateFrom && !$dateTo)
throw new FioException('At least one date of time interval must be specified.');

$params = "x=27&y=9&pohyby_DAT_od=$dateFrom&pohyby_DAT_do=$dateTo"
. "&protiucet=&kod_banky=&VS=&SS=&UID=&PEN_typ_pohybu=&smer="
. "&castka_min=&castka_max=";
return self::_baseURL . self::_filterPath . $params;
}

/**
* Gets hisory URL
*
* @return string
*/
public function historyURL()
{
return self::_baseURL . self::_historyPath . rawurlencode($this->_accountNumber);
}
/**
* Gets download URL
*
* @return string
*/
public function downloadURL()
{
return self::_baseURL . self::_downloadPath . rawurlencode($this->_accountNumber);
}

/**
* Gets view URL
*
* @return string
*/
public function viewURL()
{
return self::_baseURL . self::_viewPath . rawurlencode($this->_viewName);
}

/**
* Gets cookie file
*
* @return string
*/
public function cookieFile()
{
return self::_cookieFile;
}

/**
* Username
*
* @var string
*/
private $_username;
/**
* Password
*
* @var string
*/
private $_password;
/**
* Account number
*
* @var integer
*/
private $_accountNumber;
/**
* View name
*
* @var string
*/
private $_viewName;

}
(1-1/5)