Naziv=$Naziv; $this->Delimiter=';'; $this->GranicaPolja='"'; $this->KrajReda='\r\n'; $this->PrikazZaglavlja=0; $this->Sadrzaj["Podaci"]=''; $this->Sadrzaj["Zaglavlje"]=new Red($this->KrajReda,$this->Delimiter); } function DodajRed() { $this->Sadrzaj["Podaci"][]=new Red($this->KrajReda,$this->Delimiter); } function DodajPodatak($Red,$Vrednost) { $Red=$this->Sadrzaj["Podaci"][$Red]; $Podatak=new Podatak($Vrednost,$this->granicaPolja); $Red->Dodaj($Podatak); } function DodajZaglavlje($Vrednost) { $this->Sadrzaj["Zaglavlje"]->Dodaj($Vrednost); } function Prikazi() { $Prikaz=''; if ($this->PrikazZaglavlja==1) { $Prikaz.=$this->Sadrzaj["Zaglavlje"]->Prikazi(); } for ($i=0; $iSadrzaj["Podaci"]);$i++) { $Prikaz.=$this->Sadrzaj["Podaci"][$i]->Prikazi(); } return $Prikaz; } } class Red { var $Sadrzaj; var $KrajReda; var $Delimiter; function __construct($KrajReda,$Delimiter) { $this->KrajReda=$KrajReda; $this->Delimiter=$Delimiter; } function Dodaj($Vrednost) { $this->Sadrzaj[]=$Vrednost; } function Vrati() { return $this->Sadrzaj; } function Pocni() { return; } function PrikaziSadrzaj() { $Prikaz=''; for($i=0; $iSadrzaj); $i++) { $Prikaz.=$this->Sadrzaj[$i]->Prikazi(); $Prikaz.=$this->Delimiter; } return $Prikaz; } function Zavrsi() { return $this->krajReda; } function Prikazi() { $Prikaz=''; $Prikaz.=$this->Pocni(); $Prikaz.=$this->PrikaziSadrzaj(); $Prikaz.=$this->Zavrsi(); return $Prikaz; } } class Podatak { var $Sadrzaj; var $GranicaPolja; var $OznakaIzuzimanja; function __construct($Vrednost,$GranicaPolja) { $this->Sadrzaj=$Vrednost; $this->GranicaPolja=$GranicaPolja; } function Vrati() { return $this->Podaci; } function Pocni() { return $this->GranicaPolja; } function PrikaziSadrzaj() { return $this->Sadrzaj; } function Zavrsi() { return $this->GranicaPolja; } function Prikazi() { $Prikaz=''; $Prikaz.=$this->Pocni(); $Prikaz.=$this->PrikaziSadrzaj(); $Prikaz.=$this->Zavrsi(); return $Prikaz; } } class DataCSV extends CSV { function __construct($Naziv,$Podaci) { parent::__construct($Naziv); foreach ($Podaci[0] as $index => $vrednost) { if (!is_integer($index)) { $this->DodajZaglavlje(new Podatak($index,$this->GranicaPolja)); } } $this->PrikazZaglavlja=1; for($i = 0; $i < count($Podaci); $i++) { $this->DodajRed(); //prolazim kroz sve asocijativne indexe niza tj kroz drugu dimenziju foreach ($Podaci[$i] as $index => $vrednost) { if (!is_integer($index)) { $this->DodajPodatak($i,$vrednost); } } } } } ?>