FreenetIS
 All Classes Namespaces Functions Variables Pages
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
NewFioCsvParser Class Reference

Auxiliary class for parsing CSV bank account listings from czech bank "FIO banka". More...

Public Member Functions

 parse ($csv, $charset=self::DEFAULT_CHARSET)
 Parse bank statement in CSV format that is passed as string.
 accept_file ($csv, $charset=self::DEFAULT_CHARSET)
 Check whether parser accept given CSV file.

Static Public Member Functions

static get_fields ()
 FIO statement columns fields names.
static parseAmount ($amount)
static parseDate ($date)
 Parse date from format DD.MM.YYYY into YYYY-MM-DD.
static transformFileToLineArray ($file_content, $charset)
 Transforms file content in passed charset into array of its lines encoded in UTF-8 encoding.

Public Attributes

const CSV_COL_DELIM = ';'
 CSV column separator.
const CSV_COL_WRAPPER = '"'
 CSV column value wrapper.
const HEADER_LINE_DATE_VALUE = 'Suma'
 Last line date string that is used for end of statement detection.
const DEFAULT_CHARSET = 'UTF-8'
 Default CSV file encoding.

Detailed Description

Auxiliary class for parsing CSV bank account listings from czech bank "FIO banka".

Listing may be obtain from from the ebanking web application of FIO bank.

The CSV format looks like this: "Datum";"ID operace";"ID pokynu";"KS";"Název banky";"Název protiúčtu"; "Objem";"Měna";"Protiúčet";"Kód banky";"Zadal";"SS";"Typ";"Poznámka"; "VS";"Upřesnění - objem";"Upřesnění - měna";"Zpráva pro příjemce" "Suma";"";"";"";"";"";"-188170,4";"CZK";"";"";"";"";"";"";"";"";"";""

Author
Ondřej Fibich fibic.nosp@m.h@fr.nosp@m.eenet.nosp@m.is.o.nosp@m.rg
Since
1.1.11
Todo:
i18n of error messages

Member Function Documentation

NewFioCsvParser::accept_file (   $csv,
  $charset = self::DEFAULT_CHARSET 
)

Check whether parser accept given CSV file.

Parameters
string$csvstring containing the original csv file.
string$charsetoptional charset name of file, default is UTF-8
Returns
boolean
static NewFioCsvParser::get_fields ( )
static

FIO statement columns fields names.

Returns
array
NewFioCsvParser::parse (   $csv,
  $charset = self::DEFAULT_CHARSET 
)

Parse bank statement in CSV format that is passed as string.

Parameters
string$csvstring containing the original csv file.
string$charsetoptional charset name of file, default is UTF-8
Returns
array[array] Integer-indexed array of associative arrays. Each associative array represents one line of the CSV
Exceptions
Exceptionon parse error
static NewFioCsvParser::parseDate (   $date)
static

Parse date from format DD.MM.YYYY into YYYY-MM-DD.

Parameters
string$datein format DD.MM.YYYY
Returns
string date in format YYYY-MM-DD
Exceptions
InvalidArgumentExceptionon invalid date format
static NewFioCsvParser::transformFileToLineArray (   $file_content,
  $charset 
)
static

Transforms file content in passed charset into array of its lines encoded in UTF-8 encoding.

This function must handle differences of end of line separators on all platforms.

Parameters
string$file_contentfile countent to be transformed
string$charsetcharset of file content
Returns
array array of lines in UTF-8 charset

The documentation for this class was generated from the following file: