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

Parser_Vodafone_Invoice je parser faktur telefoního operátora Vodafone. More...

Inheritance diagram for Parser_Phone_Invoice_Vodafone2:
Parser_Phone_Invoice

Static Public Member Functions

static parse ($text, $integrity_test_enabled=TRUE)
 Parsovací funkce.
- Static Public Member Functions inherited from Parser_Phone_Invoice
static factory ($parser=NULL)
 Factory for parsers.
static get_parser_input_types ()
 Gets parser input types.
static get_parser_upload_files ()
 Gets parser upload files num.
static get_parsers_for_dropdown ()
 Gets parsers array for dropdown.

Public Attributes

const BILL_INFO_STARTER = "èíslo úètu kód banky variabilní symbol specifický symbol vystavení"
const BILL_INFO_REGEX = "^([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+) ([0-9]{2})\.([0-9]{2})\.([0-9]{4})$"
const BILL_INFO_PRICE_REGEX = "^Celkový základ DPH ([0-9]+) *%([0-9\, ]+)$"
const BILL_INFO_DPH_REGEX = "^Celkem DPH ([0-9]+) *%([0-9\, ]+)$"
const BILL_INFO_PERIOD_REGEX = "^Zúètovací období ([0-9]{2})\.([0-9]{2})\.([0-9]{4}) \- ([0-9]{2})\.([0-9]{2})\.([0-9]{4})$"
const BILL_INFO_NUMBERS_COUNT_REGEX = "^Poèet telefonních èísel ([0-9]+)$"
const BILL_EXTRACT_START_FL = "Podrobné vyúètování"
const BILL_EXTRACT_DATA_LONG_CONNECTIONS = "^(Pøipojení na dlouho[^\(]*)\(([0-9]{2}).([0-9]{2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})\) [0-9]+ ([0-9\, ]+) ([0-9]+) %"
const BILL_EXTRACT_DATA_DAY_CONNECTIONS = "^(Internet v mobilu na den) ([0-9]+) ([0-9\, ]+) ([0-9]+) % ([0-9\, ]+)$"
const BILL_EXTRACT_PHONE_REGEX = "^Telefonní èíslo ([0-9]{3} [0-9]{3} [0-9]{3})( Tarif)?"
const SERVICE_ARRAY = 0
 Jméno pole v Services reprezentující dané služby.
const FLINE = 1
 První řádek služby v poli $BILL_EXTRACT_SERVICES.
const SLINE = 2
 Druhý řádek služby v poli $BILL_EXTRACT_SERVICES.
const REGEX = 3
 Datový řádek služby v poli $BILL_EXTRACT_SERVICES.
const REGEX_COUNT = 4
 Počet datových položek datového řádku služby v poli $BILL_EXTRACT_SERVICES.
const LLINE = 5
 Patička tabulky v poli $BILL_EXTRACT_SERVICES.
- Public Attributes inherited from Parser_Phone_Invoice
const DIR = 'phone_invoice_parsers'
 Dir with classes.
const TYPE_UPLOAD = 1
 Parser require file upload.
const TYPE_TEXTAREA = 2
 Parser require data in textarea.

Static Public Attributes

static $BILL_EXTRACT_START_SL

Static Protected Member Functions

static parse_period ($period)
 Převod volaného období
static em ($emess, $line=-1)
static parse_price ($price)
 Převede číslo z tvaru 7 852 451,60 na float => 7852451.60.
static parse_phone_number ($number)
 Převede telefoní číslo s mezerami do tvaru po sobě jdoucích číslic.

Static Protected Attributes

static $BILL_EXTRACT_SERVICES
static $BANNED_LINES

Detailed Description

Parser_Vodafone_Invoice je parser faktur telefoního operátora Vodafone.

Faktury Vodafone jsou ukládány v PDF, na které nelze užít unixových utilit pdfto* Tento parser zpracovává vstup z programu Adobe Reader. Zkopírovaný uživatelem pomocí CTRL+A.

Cílem parseru je získat informace o faktuře, fakturovaných telefoních číslech a o službách které byly číslům poskytnuty.

TENTO PARSER JE POUŽÍVÁN NA FAKTURY OD DATA 09.2011 VČETNĚ, KDY PROBĚHLA ZMĚNA FORMÁTU FAKTUR.

Author
Ondřej Fibich - ondrej.fibich(at)gmail(dot)com
Version
1.1

Member Function Documentation

static Parser_Phone_Invoice_Vodafone2::em (   $emess,
  $line = -1 
)
staticprotected
Parameters
string$emess
integer$line
Returns
string Chybová zpráva
static Parser_Phone_Invoice_Vodafone2::parse (   $text,
  $integrity_test_enabled = TRUE 
)
static

Parsovací funkce.

Funkce parsuje text z Adobe Readeru (pzn.: testováno na v 9).

Obsahuje vnitřní testování správnosti parsování a integrity dat ve 2 bodech:

  • Testuje zda-li odpovídá počet fakturovaných a parsovaných čísel.
  • Testuje zda-li odpovídají ceny položek služeb s celkovou cenou za danou službu daného čísla.
Parameters
string$textText k parsování(vstup)
boolean$integrity_test_enabledPovolení testování integrity čísel v podrobných výpisech
Returns
Bill_Data Data faktury
Exceptions
ExceptionPři chybě při parsování
InvalidArgumentExceptionPři prázdném vstupu

Reimplemented from Parser_Phone_Invoice.

static Parser_Phone_Invoice_Vodafone2::parse_period (   $period)
staticprotected

Převod volaného období

Parameters
string$periodPerioda
Returns
integer Perioda v číselné reprezentaci
Exceptions
InvalidArgumentExceptionPři neznámém období
static Parser_Phone_Invoice_Vodafone2::parse_phone_number (   $number)
staticprotected

Převede telefoní číslo s mezerami do tvaru po sobě jdoucích číslic.

Pokud číslo neobsahuje předčíslý, doplní jej dle nastavení systému, pokud se jedná o 9-ti místné číslo. Předčíslí je ve tvaru: xxx

Parameters
string$numberČíslo ve tvaru [(+|00)xxx ]xxx xxx xxx string $default_prefix
Returns
string Telefoní číslo
Exceptions
InvalidArgumentExceptionPři chybném čísle
static Parser_Phone_Invoice_Vodafone2::parse_price (   $price)
staticprotected

Převede číslo z tvaru 7 852 451,60 na float => 7852451.60.

Parameters
string$price
Returns
float

Member Data Documentation

Parser_Phone_Invoice_Vodafone2::$BANNED_LINES
staticprotected
Initial value:
array
(
"3rd", "party", "group", "calls", "roaming", "voice", "roaming", "voice"
)
Parser_Phone_Invoice_Vodafone2::$BILL_EXTRACT_START_SL
static
Initial value:
array
(
"Šp=špièka, MŠp=mimo špièku, Vkn=víkend, +=hovor probìhl ve více obdobích",
"Šp=špicka, MŠp=mimo špicku, Vkn=víkend, +=hovor probehl ve více obdobích"
)

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