diff options
Diffstat (limited to 'h-source/Library/Helper/Pages.php')
-rwxr-xr-x | h-source/Library/Helper/Pages.php | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/h-source/Library/Helper/Pages.php b/h-source/Library/Helper/Pages.php deleted file mode 100755 index d8ac856..0000000 --- a/h-source/Library/Helper/Pages.php +++ /dev/null @@ -1,140 +0,0 @@ -<?php - -// EasyGiant is a PHP framework for creating and managing dynamic content -// -// Copyright (C) 2009 - 2011 Antonio Gallo -// See COPYRIGHT.txt and LICENSE.txt. -// -// This file is part of EasyGiant -// -// EasyGiant is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// EasyGiant is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with EasyGiant. If not, see <http://www.gnu.org/licenses/>. - -if (!defined('EG')) die('Direct access not allowed!'); - -//Helper class to create the HTML of the page list -class Helper_Pages extends Helper_Html -{ - - protected $_urlViewAction; //url of the current page - protected $_currentPage; //number of the page - protected $_numbOfPages; //number of pages - protected $_variableArg = ''; //value of the $viewArgs key that has to be modified - - public $previousString = null; //string of the link to the previous page - public $nextString = null; //string of the link to the next page - public $showNext = true; - public $showPrev = true; - - //instance of Lang_{language}_Generic - public $strings = null; - - public function __construct() - { - //get the generic language class - $this->strings = Factory_Strings::generic(Params::$language); - } - - public function build($urlViewAction = '' , $variableArg = 'page', $previousString = 'previous', $nextString = 'next') - { - $this->_variableArg = $variableArg; - $this->_urlViewAction =$urlViewAction; //url of the controller and (/) main action - $this->previousString = $this->strings->gtext($previousString); - $this->nextString = $this->strings->gtext($nextString); - } - - //return the number of pages - public function getNumbOfPages() - { - return $this->_numbOfPages; - } - - //get the limit of the select query clause - public function getLimit($currentPage,$recordNumber,$recordPerPage) - { - $this->_currentPage = $currentPage; - $this->_numbOfPages=(($recordNumber%$recordPerPage)===0) ? (int) ($recordNumber/$recordPerPage) : ((int) ($recordNumber/$recordPerPage))+1; - $start=(($currentPage-1)*$recordPerPage); - return "$start,$recordPerPage"; - } - - //return the page list string - public function render($pageNumber,$numberOfPages) - { - $pageList = null; - if ($this->showPrev) - { - $pageList .= $this->pageLink($this->_currentPage-1,$this->previousString); - } - $pageList .= $this->recursiveLink($pageNumber,$numberOfPages); - if ($this->showNext) - { - $pageList .= $this->pageLink($this->_currentPage+1,$this->nextString); - } - return $pageList; - } - - //recorsive function in order to write the page list - public function recursiveLink($pageNumber,$numberOfPages) - { - - if ($numberOfPages === 0) return null; - - if ($numberOfPages === 1) { - return $this->pageLink($pageNumber); - } else { - return $this->pageLink($pageNumber) . $this->recursiveLink($pageNumber+1,$numberOfPages-1); - } - } - - public function pageLink($pageNumber, $string = null) { - if ($pageNumber > 0 and $pageNumber <= $this->_numbOfPages) { - return $this->html($pageNumber,$string); - } else { - return null; - } - } - - //return the html link - public function html($pageNumber,$string = null) { - if (isset($string)) { - $strNumber = $string; - $strClass = "class='itemListPage'"; - } else { - if ($pageNumber === $this->_currentPage) - { - $strNumber = $pageNumber; - $strClass = "class='currentPage'"; - } - else - { - $strNumber = $pageNumber; - $strClass = "class='itemListPage'"; - } - } - $this->viewArgs[$this->_variableArg] = $pageNumber; - $viewStatus = Url::createUrl(array_values($this->viewArgs)); - $href= Url::getRoot(null) . $this->_urlViewAction .$viewStatus; - return $this->getATag($href,$strNumber,$strClass); - } - - //get the HTMl of the tag - //$href: href of the link - //$text: the text of the link - //$strClass: the class of the link - public function getATag($href,$text,$strClass) - { - return "<a $strClass href='$href'>$text</a>"; - } - -}
\ No newline at end of file |