Changeset 18609 for tmp/version-2_5-test/data/class/SC_PageNavi.php
- Timestamp:
- 2010/03/11 10:35:11 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tmp/version-2_5-test/data/class/SC_PageNavi.php
r16741 r18609 35 35 */ 36 36 class SC_PageNavi { 37 var $now_page; 38 var $max_page; 39 var $start_row; 40 var $strnavi; 41 var $arrPagenavi = array(); 37 var $now_page; // 現在のページ番号 38 var $max_page; // 最終のページ番号 39 var $start_row; // 開始レコード 40 var $strnavi; // ページ送り文字列 41 var $arrPagenavi = array(); // ページ 42 42 43 43 // コンストラクタ 44 function SC_PageNavi($now_page, $all_row, $page_row, $func_name, $navi_max = NAVI_PMAX ) {44 function SC_PageNavi($now_page, $all_row, $page_row, $func_name, $navi_max = NAVI_PMAX, $urlParam = '') { 45 45 $this->arrPagenavi['mode'] = 'search'; 46 $ps = htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES);47 46 48 47 //現在ページ($now_page)が正しい数値でない場合 49 if (!eregi("^[[:digit:]]+$", $now_page) || $now_page < 1 || $now_page == "") {48 if (!eregi("^[[:digit:]]+$", $now_page) || $now_page < 1 || strlen($now_page) == 0) { 50 49 $this->now_page = 1; 51 50 } else { … … 58 57 59 58 // 最終ページよりも現在ページが大きい場合は、最初に戻す。 60 if ($this->max_page < $this->now_page) {59 if ($this->max_page < $this->now_page) { 61 60 $this->now_page = 1; 62 61 } … … 69 68 } 70 69 71 if ($all_row > 1) {70 if ($all_row > 1) { 72 71 73 72 //「前へ」「次へ」の設定 … … 75 74 $next = ""; 76 75 if ($this->now_page > 1) { 77 $before="<a href=\"". $ps . "\" onclick=\"$func_name('" . (($this->now_page) - 1) . "'); return false;\"><<前へ</a> "; 78 $this->arrPagenavi['before'] = ($this->now_page) - 1; 79 }else{ 76 $this->arrPagenavi['before'] = $this->now_page - 1; 77 $urlParamThis = str_replace('#page#', $this->arrPagenavi['before'], $urlParam); 78 $urlParamThis = htmlentities($urlParamThis, ENT_QUOTES); 79 $before = "<a href=\"?$urlParamThis\" onclick=\"$func_name('{$this->arrPagenavi['before']}'); return false;\"><<前へ</a> "; 80 } else { 80 81 $this->arrPagenavi['before'] = $this->now_page; 81 82 } 82 83 83 84 if ($this->now_page < $this->max_page) { 84 $next=" <a href=\"". $ps . "\" onclick=\"$func_name('" . (($this->now_page) + 1) ."'); return false;\">次へ>></a>"; 85 $this->arrPagenavi['next'] = ($this->now_page) + 1; 86 }else{ 85 $this->arrPagenavi['next'] = $this->now_page + 1; 86 $urlParamThis = str_replace('#page#', $this->arrPagenavi['next'], $urlParam); 87 $urlParamThis = htmlentities($urlParamThis, ENT_QUOTES); 88 $next = " <a href=\"?$urlParamThis\" onclick=\"$func_name('{$this->arrPagenavi['next']}'); return false;\">次へ>></a>"; 89 } else { 87 90 $this->arrPagenavi['next'] = $this->now_page; 88 91 } 89 92 90 93 // 表示する最大ナビ数を決める。 91 if ($navi_max == "" || $navi_max > $this->max_page) {94 if ($navi_max == "" || $navi_max > $this->max_page) { 92 95 // 制限ナビ数の指定がない。ページ最大数が制限ナビ数より少ない。 93 96 $disp_max = $this->max_page; … … 96 99 $disp_max = $this->now_page + $navi_max - 1; 97 100 // ページ最大数を超えている場合は、ページ最大数に合わせる。 98 if ($disp_max > $this->max_page) {101 if ($disp_max > $this->max_page) { 99 102 $disp_max = $this->max_page; 100 103 } … … 102 105 103 106 // 表示する最小ナビ数を決める。 104 if ($navi_max == "" || $navi_max > $this->now_page) {107 if ($navi_max == "" || $navi_max > $this->now_page) { 105 108 // 制限ナビ数の指定がない。現在ページ番号が制限ナビ数より少ない。 106 109 $disp_min = 1; … … 114 117 for ($i=$disp_min; $i <= $disp_max; $i++) { 115 118 116 if ($i != $disp_max) {119 if ($i != $disp_max) { 117 120 $sep = " | "; 118 121 } else { … … 123 126 $page_number .= "<strong>$i</strong>"; 124 127 } else { 125 $page_number.="<a href=\"". $ps . "\" onclick=\"$func_name('$i'); return false;\">$i</a>"; 128 $urlParamThis = str_replace('#page#', $i, $urlParam); 129 $urlParamThis = htmlentities($urlParamThis, ENT_QUOTES); 130 $page_number .= "<a href=\"?$urlParamThis\" onclick=\"$func_name('$i'); return false;\">$i</a>"; 126 131 } 127 132 128 $page_number .=$sep;133 $page_number .= $sep; 129 134 130 135 $this->arrPagenavi['arrPageno'][$i] = $i; … … 134 139 $this->strnavi = $before .$page_number .$next; 135 140 } 136 } else{141 } else { 137 142 $this->arrPagenavi['arrPageno'][0] = 1; 138 143 $this->arrPagenavi['before'] = 1;
Note: See TracChangeset
for help on using the changeset viewer.