onokazu
onoka****@users*****
2005年 6月 6日 (月) 08:04:57 JST
Index: xoops2jp/html/class/pagenav.php diff -u xoops2jp/html/class/pagenav.php:1.2 xoops2jp/html/class/pagenav.php:1.2.6.1 --- xoops2jp/html/class/pagenav.php:1.2 Fri Mar 18 21:51:55 2005 +++ xoops2jp/html/class/pagenav.php Mon Jun 6 08:04:57 2005 @@ -1,5 +1,5 @@ <?php -// $Id: pagenav.php,v 1.2 2005/03/18 12:51:55 onokazu Exp $ +// $Id: pagenav.php,v 1.2.6.1 2005/06/05 23:04:57 onokazu Exp $ // ------------------------------------------------------------------------ // // XOOPS - PHP Content Management System // // Copyright (c) 2000 XOOPS.org // @@ -32,163 +32,163 @@ /** * Class to facilitate navigation in a multi page document/list * - * @package kernel - * @subpackage util + * @package kernel + * @subpackage util * - * @author Kazumi Ono <onoka****@xoops*****> - * @copyright (c) 2000-2003 The Xoops Project - www.xoops.org + * @author Kazumi Ono <onoka****@xoops*****> + * @copyright (c) 2000-2003 The Xoops Project - www.xoops.org */ class XoopsPageNav { - /**#@+ - * @access private - */ - var $total; - var $perpage; - var $current; - var $url; + /**#@+ + * @access private + */ + var $total; + var $perpage; + var $current; + var $url; /**#@-*/ - /** - * Constructor - * - * @param int $total_items Total number of items - * @param int $items_perpage Number of items per page - * @param int $current_start First item on the current page - * @param string $start_name Name for "start" or "offset" - * @param string $extra_arg Additional arguments to pass in the URL - **/ - function XoopsPageNav($total_items, $items_perpage, $current_start, $start_name="start", $extra_arg="") - { - $this->total = intval($total_items); - $this->perpage = intval($items_perpage); - $this->current = intval($current_start); - if ( $extra_arg != '' && ( substr($extra_arg, -5) != '&' || substr($extra_arg, -1) != '&' ) ) { - $extra_arg .= '&'; - } - $this->url = $_SERVER['PHP_SELF'].'?'.$extra_arg.trim($start_name).'='; - } - - /** - * Create text navigation - * - * @param integer $offset - * @return string - **/ - function renderNav($offset = 4) - { - $ret = ''; - if ( $this->total <= $this->perpage ) { - return $ret; - } - $total_pages = ceil($this->total / $this->perpage); - if ( $total_pages > 1 ) { - $prev = $this->current - $this->perpage; - if ( $prev >= 0 ) { - $ret .= '<a href="'.$this->url.$prev.'"><u>«</u></a> '; - } - $counter = 1; - $current_page = intval(floor(($this->current + $this->perpage) / $this->perpage)); - while ( $counter <= $total_pages ) { - if ( $counter == $current_page ) { - $ret .= '<b>('.$counter.')</b> '; - } elseif ( ($counter > $current_page-$offset && $counter < $current_page + $offset ) || $counter == 1 || $counter == $total_pages ) { - if ( $counter == $total_pages && $current_page < $total_pages - $offset ) { - $ret .= '... '; - } - $ret .= '<a href="'.$this->url.(($counter - 1) * $this->perpage).'">'.$counter.'</a> '; - if ( $counter == 1 && $current_page > 1 + $offset ) { - $ret .= '... '; - } - } - $counter++; - } - $next = $this->current + $this->perpage; - if ( $this->total > $next ) { - $ret .= '<a href="'.$this->url.$next.'"><u>»</u></a> '; - } - } - return $ret; - } - - /** - * Create a navigational dropdown list - * - * @param boolean $showbutton Show the "Go" button? - * @return string - **/ - function renderSelect($showbutton = false) - { - if ( $this->total < $this->perpage ) { - return; - } - $total_pages = ceil($this->total / $this->perpage); - $ret = ''; - if ( $total_pages > 1 ) { - $ret = '<form name="pagenavform">'; - $ret .= '<select name="pagenavselect" onchange="location=this.options[this.options.selectedIndex].value;">'; - $counter = 1; - $current_page = intval(floor(($this->current + $this->perpage) / $this->perpage)); - while ( $counter <= $total_pages ) { - if ( $counter == $current_page ) { - $ret .= '<option value="'.$this->url.(($counter - 1) * $this->perpage).'" selected="selected">'.$counter.'</option>'; - } else { - $ret .= '<option value="'.$this->url.(($counter - 1) * $this->perpage).'">'.$counter.'</option>'; - } - $counter++; - } - $ret .= '</select>'; - if ($showbutton) { - $ret .= ' <input type="submit" value="'._GO.'" />'; - } - $ret .= '</form>'; - } - return $ret; - } - - /** - * Create navigation with images - * - * @param integer $offset - * @return string - **/ - function renderImageNav($offset = 4) - { - if ( $this->total < $this->perpage ) { - return; - } - $total_pages = ceil($this->total / $this->perpage); - $ret = ''; - if ( $total_pages > 1 ) { - $ret = '<table><tr>'; - $prev = $this->current - $this->perpage; - if ( $prev >= 0 ) { - $ret .= '<td class="pagneutral"><a href="'.$this->url.$prev.'"><</a></td><td><img src="'.XOOPS_URL.'/images/blank.gif" width="6" alt="" /></td>'; - } - $counter = 1; - $current_page = intval(floor(($this->current + $this->perpage) / $this->perpage)); - while ( $counter <= $total_pages ) { - if ( $counter == $current_page ) { - $ret .= '<td class="pagact"><b>'.$counter.'</b></td>'; - } elseif ( ($counter > $current_page-$offset && $counter < $current_page + $offset ) || $counter == 1 || $counter == $total_pages ) { - if ( $counter == $total_pages && $current_page < $total_pages - $offset ) { - $ret .= '<td class="paginact">...</td>'; - } - $ret .= '<td class="paginact"><a href="'.$this->url.(($counter - 1) * $this->perpage).'">'.$counter.'</a></td>'; - if ( $counter == 1 && $current_page > 1 + $offset ) { - $ret .= '<td class="paginact">...</td>'; - } - } - $counter++; - } - $next = $this->current + $this->perpage; - if ( $this->total > $next ) { - $ret .= '<td><img src="'.XOOPS_URL.'/images/blank.gif" width="6" alt="" /></td><td class="pagneutral"><a href="'.$this->url.$next.'">></a></td>'; - } - $ret .= '</tr></table>'; - } - return $ret; - } + /** + * Constructor + * + * @param int $total_items Total number of items + * @param int $items_perpage Number of items per page + * @param int $current_start First item on the current page + * @param string $start_name Name for "start" or "offset" + * @param string $extra_arg Additional arguments to pass in the URL + **/ + function XoopsPageNav($total_items, $items_perpage, $current_start, $start_name="start", $extra_arg="") + { + $this->total = intval($total_items); + $this->perpage = intval($items_perpage); + $this->current = intval($current_start); + if ( $extra_arg != '' && ( substr($extra_arg, -5) != '&' || substr($extra_arg, -1) != '&' ) ) { + $extra_arg .= '&'; + } + $this->url = $_SERVER['PHP_SELF'].'?'.$extra_arg.trim($start_name).'='; + } + + /** + * Create text navigation + * + * @param integer $offset + * @return string + **/ + function renderNav($offset = 4) + { + $ret = ''; + if ( $this->total <= $this->perpage ) { + return $ret; + } + $total_pages = ceil($this->total / $this->perpage); + if ( $total_pages > 1 ) { + $prev = $this->current - $this->perpage; + if ( $prev >= 0 ) { + $ret .= '<a href="'.$this->url.$prev.'"><u>«</u></a> '; + } + $counter = 1; + $current_page = intval(floor(($this->current + $this->perpage) / $this->perpage)); + while ( $counter <= $total_pages ) { + if ( $counter == $current_page ) { + $ret .= '<b>('.$counter.')</b> '; + } elseif ( ($counter > $current_page-$offset && $counter < $current_page + $offset ) || $counter == 1 || $counter == $total_pages ) { + if ( $counter == $total_pages && $current_page < $total_pages - $offset ) { + $ret .= '... '; + } + $ret .= '<a href="'.$this->url.(($counter - 1) * $this->perpage).'">'.$counter.'</a> '; + if ( $counter == 1 && $current_page > 1 + $offset ) { + $ret .= '... '; + } + } + $counter++; + } + $next = $this->current + $this->perpage; + if ( $this->total > $next ) { + $ret .= '<a href="'.$this->url.$next.'"><u>»</u></a> '; + } + } + return $ret; + } + + /** + * Create a navigational dropdown list + * + * @param boolean $showbutton Show the "Go" button? + * @return string + **/ + function renderSelect($showbutton = false) + { + if ( $this->total < $this->perpage ) { + return; + } + $total_pages = ceil($this->total / $this->perpage); + $ret = ''; + if ( $total_pages > 1 ) { + $ret = '<form name="pagenavform" action="'.$_SERVER['PHP_SELF'].'">'; + $ret .= '<select name="pagenavselect" onchange="location=this.options[this.options.selectedIndex].value;">'; + $counter = 1; + $current_page = intval(floor(($this->current + $this->perpage) / $this->perpage)); + while ( $counter <= $total_pages ) { + if ( $counter == $current_page ) { + $ret .= '<option value="'.$this->url.(($counter - 1) * $this->perpage).'" selected="selected">'.$counter.'</option>'; + } else { + $ret .= '<option value="'.$this->url.(($counter - 1) * $this->perpage).'">'.$counter.'</option>'; + } + $counter++; + } + $ret .= '</select>'; + if ($showbutton) { + $ret .= ' <input type="submit" value="'._GO.'" />'; + } + $ret .= '</form>'; + } + return $ret; + } + + /** + * Create navigation with images + * + * @param integer $offset + * @return string + **/ + function renderImageNav($offset = 4) + { + if ( $this->total < $this->perpage ) { + return; + } + $total_pages = ceil($this->total / $this->perpage); + $ret = ''; + if ( $total_pages > 1 ) { + $ret = '<table><tr>'; + $prev = $this->current - $this->perpage; + if ( $prev >= 0 ) { + $ret .= '<td class="pagneutral"><a href="'.$this->url.$prev.'"><</a></td><td><img src="'.XOOPS_URL.'/images/blank.gif" width="6" alt="" /></td>'; + } + $counter = 1; + $current_page = intval(floor(($this->current + $this->perpage) / $this->perpage)); + while ( $counter <= $total_pages ) { + if ( $counter == $current_page ) { + $ret .= '<td class="pagact"><b>'.$counter.'</b></td>'; + } elseif ( ($counter > $current_page-$offset && $counter < $current_page + $offset ) || $counter == 1 || $counter == $total_pages ) { + if ( $counter == $total_pages && $current_page < $total_pages - $offset ) { + $ret .= '<td class="paginact">...</td>'; + } + $ret .= '<td class="paginact"><a href="'.$this->url.(($counter - 1) * $this->perpage).'">'.$counter.'</a></td>'; + if ( $counter == 1 && $current_page > 1 + $offset ) { + $ret .= '<td class="paginact">...</td>'; + } + } + $counter++; + } + $next = $this->current + $this->perpage; + if ( $this->total > $next ) { + $ret .= '<td><img src="'.XOOPS_URL.'/images/blank.gif" width="6" alt="" /></td><td class="pagneutral"><a href="'.$this->url.$next.'">></a></td>'; + } + $ret .= '</tr></table>'; + } + return $ret; + } } ?> \ No newline at end of file