Guest User

Untitled

a guest
May 20th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.06 KB | None | 0 0
  1. <?php
  2.  
  3. // Iterator.php
  4.  
  5. interface Iterator
  6. {
  7.     public function imaSlijedeca();
  8.     public function slijedeca();
  9. }
  10.  
  11. //--------------------------------------
  12.  
  13. // Paginator.php
  14.  
  15. class Paginator implements Iterator
  16. {
  17.     private $odmak;
  18.     private $limit;
  19.     private $trenutnaStranica;
  20.     private $upit;
  21.     private $ukupnoRezultata;
  22.     private $ukupnoStranica;
  23.  
  24.     public function vratiOdmak()
  25.     {
  26.         return $this->odmak;
  27.     }
  28.  
  29.     public function vratiLimit()
  30.     {
  31.         return $this->limit;
  32.     }
  33.  
  34.     public function postaviStranicu($stranica)
  35.     {
  36.         if (!is_int($stranica))
  37.         {
  38.             $this->trenutnaStranica = 1;
  39.             $this->odmak = 0;
  40.         }
  41.             else
  42.         {
  43.             $this->trenutnaStranica = $stranica;
  44.             $this->odmak = ($this->trenutnaStranica - 1) * $this->limit;
  45.             }
  46.         return $this;
  47.     }
  48.  
  49.     public function postaviLimit($limit)
  50.     {
  51.         if (!is_int($limit))
  52.             $this->limit = 10;
  53.         else
  54.             $this->limit = $limit;
  55.  
  56.         return $this;
  57.     }
  58.  
  59.     public function postaviUpit($query)
  60.     {
  61.         $this->upit = $query;
  62.         $this->ukupnoRezultata = $query->num_rows();
  63.         $this->ukupnoStranica = ceil($this->ukupnoRezultata/$this->limit);
  64.     }
  65.  
  66.     public function ispisi()
  67.     {
  68.         //todo
  69.     }
  70.  
  71.     public function vratiBrojZadnjeStranice()
  72.     {
  73.         return $this->ukupnoStranica;
  74.     }
  75.  
  76.     public function jeZadnjaStranica()
  77.     {
  78.         if ($this->trenutnaStranica == $this->ukupnoStranica)
  79.             return TRUE;
  80.         else
  81.             return FALSE;  
  82.     }
  83.  
  84.  
  85.     public function jePrvaStranica()
  86.     {
  87.         if ($this->trenutnaStranica == 1)
  88.             return TRUE;
  89.         else
  90.             return FALSE;
  91.     }
  92.  
  93.     public function vratiZapise()
  94.     {
  95.         $ret = $this->query->limit($this->limit, $this->odmak)->queryAll();
  96.  
  97.         return $ret;
  98.     }
  99.  
  100.     public function imaSlijedeca()
  101.     {
  102.         if ($this->trenutnaStranica < $this->ukupnoStranica)
  103.             return TRUE;
  104.         else
  105.             return FALSE;
  106.     }
  107.  
  108.     public function slijedeca()
  109.     {
  110.         if ($this->imaSlijedeca())
  111.         {
  112.             $this->trenutnaStranica++;
  113.             $this->odmak = ($this->trenutnaStranica - 1) * $this->limit;
  114.         }
  115.  
  116.         return $this;
  117.     }
  118.  
  119. }
  120.  
  121. //--------------------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment