Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Iterator.php
- interface Iterator
- {
- public function imaSlijedeca();
- public function slijedeca();
- }
- //--------------------------------------
- // Paginator.php
- class Paginator implements Iterator
- {
- private $odmak;
- private $limit;
- private $trenutnaStranica;
- private $upit;
- private $ukupnoRezultata;
- private $ukupnoStranica;
- public function vratiOdmak()
- {
- return $this->odmak;
- }
- public function vratiLimit()
- {
- return $this->limit;
- }
- public function postaviStranicu($stranica)
- {
- if (!is_int($stranica))
- {
- $this->trenutnaStranica = 1;
- $this->odmak = 0;
- }
- else
- {
- $this->trenutnaStranica = $stranica;
- $this->odmak = ($this->trenutnaStranica - 1) * $this->limit;
- }
- return $this;
- }
- public function postaviLimit($limit)
- {
- if (!is_int($limit))
- $this->limit = 10;
- else
- $this->limit = $limit;
- return $this;
- }
- public function postaviUpit($query)
- {
- $this->upit = $query;
- $this->ukupnoRezultata = $query->num_rows();
- $this->ukupnoStranica = ceil($this->ukupnoRezultata/$this->limit);
- }
- public function ispisi()
- {
- //todo
- }
- public function vratiBrojZadnjeStranice()
- {
- return $this->ukupnoStranica;
- }
- public function jeZadnjaStranica()
- {
- if ($this->trenutnaStranica == $this->ukupnoStranica)
- return TRUE;
- else
- return FALSE;
- }
- public function jePrvaStranica()
- {
- if ($this->trenutnaStranica == 1)
- return TRUE;
- else
- return FALSE;
- }
- public function vratiZapise()
- {
- $ret = $this->query->limit($this->limit, $this->odmak)->queryAll();
- return $ret;
- }
- public function imaSlijedeca()
- {
- if ($this->trenutnaStranica < $this->ukupnoStranica)
- return TRUE;
- else
- return FALSE;
- }
- public function slijedeca()
- {
- if ($this->imaSlijedeca())
- {
- $this->trenutnaStranica++;
- $this->odmak = ($this->trenutnaStranica - 1) * $this->limit;
- }
- return $this;
- }
- }
- //--------------------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment