Source for file REFilePagination.class.php

Documentation is available at REFilePagination.class.php

  1. <?php
  2. /**
  3.  * Módosítva: 2010.03.06.
  4.  *
  5.  * @author Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
  6.  * @copyright Copyright (C) 2010, Takács Ákos
  7.  * @version 1.0
  8.  * @package REPagination
  9.  */
  10.  
  11. /**
  12.  * @ignore
  13.  */
  14. require_once dirname(__FILE__).'/../REPClasses.class.php';
  15. /*
  16.  * AREPagination imortálása
  17.  */
  18. REPClasses::import('AREPagination');
  19. /*
  20.  * REPFileItems importálása
  21.  */
  22. REPClasses::import('REPFileItems');
  23. /**
  24.  * {@link REPFileItems} objektumok lapozására szólgáló osztály
  25.  *
  26.  * {@example filepagination.php}
  27.  * {@example xmlpagination.php}
  28.  *
  29.  * @see AREPagination
  30.  * @author Takács Ákos (Rimelek), programmer [at] rimelek [dot] hu
  31.  * @copyright Copyright (C) 2010, Takács Ákos
  32.  * @package REPagination
  33.  */
  34. {
  35.     /**
  36.      *
  37.      * @var REPFileItems 
  38.      */
  39.     protected $items = null;
  40.     /**
  41.      *
  42.      * @param REPFileItems $file 
  43.      */
  44.     public function  __construct(REPFileItems $file)
  45.     {
  46.         $this->items = $file;
  47.     }
  48.  
  49.     /**
  50.      * @see $pagevar
  51.      * @param int $page Elhagyása esetén az url-ből veszi az oldalszámot.
  52.      * @return REPFileItems Aktuális oldal rekordjait tartalmazó objektum
  53.      */
  54.     public function page($page=null)
  55.     
  56.         $page $page !== null ? (int)$page $this->pageNumber();
  57.         $maxpage $this->maxpage()
  58.         $c $this->items->count();
  59.         if ($page <= 0)
  60.         {
  61.             $page 1;
  62.         }
  63.         else if ($page >= $maxpage)
  64.         {
  65.             $page $maxpage;
  66.         }
  67.  
  68.         $offset ($page-1$this->itemPerPage();
  69.         $end $offset $this->itemPerPage();
  70.         $ret array();
  71.         for ($i=$offset$i $c and $i $end$i++)
  72.         {
  73.             $ret[$this->items[$i];
  74.         }
  75.         return $this->items->newInstance($ret);
  76.     }
  77.  
  78.     /**
  79.      * @see AREPagination::maxpage()
  80.      * @return int 
  81.      */
  82.     public function maxpage()
  83.     {
  84.         return ceil($this->items->count()  $this->itemPerPage());
  85.     }
  86. }
  87. ?>

Documentation generated on Sat, 06 Mar 2010 22:00:15 +0100 by phpDocumentor 1.4.1