Ignore:
Timestamp:
2010/03/11 10:35:11 (14 years ago)
Author:
kajiwara
Message:

正式版にナイトリービルド版をマージしてみるテスト

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tmp/version-2_5-test/data/class/SC_PageNavi.php

    r16741 r18609  
    3535*/ 
    3636class 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(); // ページ 
    4242 
    4343    // コンストラクタ 
    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 = '') { 
    4545        $this->arrPagenavi['mode'] = 'search'; 
    46         $ps = htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES); 
    4746 
    4847        //現在ページ($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) { 
    5049            $this->now_page = 1; 
    5150        } else { 
     
    5857 
    5958        // 最終ページよりも現在ページが大きい場合は、最初に戻す。 
    60         if($this->max_page < $this->now_page) { 
     59        if ($this->max_page < $this->now_page) { 
    6160            $this->now_page = 1; 
    6261        } 
     
    6968        } 
    7069 
    71         if($all_row > 1) { 
     70        if ($all_row > 1) { 
    7271 
    7372            //「前へ」「次へ」の設定 
     
    7574            $next = ""; 
    7675            if ($this->now_page > 1) { 
    77                 $before="<a href=\"". $ps . "\" onclick=\"$func_name('" . (($this->now_page) - 1) . "'); return false;\">&lt;&lt;前へ</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;\">&lt;&lt;前へ</a> "; 
     80            } else { 
    8081                $this->arrPagenavi['before'] = $this->now_page; 
    8182            } 
    8283 
    8384            if ($this->now_page < $this->max_page) { 
    84                 $next=" <a href=\"". $ps . "\" onclick=\"$func_name('" . (($this->now_page) + 1) ."'); return false;\">次へ&gt;&gt;</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;\">次へ&gt;&gt;</a>"; 
     89            } else { 
    8790                $this->arrPagenavi['next'] = $this->now_page; 
    8891            } 
    8992 
    9093            // 表示する最大ナビ数を決める。 
    91             if($navi_max == "" || $navi_max > $this->max_page) { 
     94            if ($navi_max == "" || $navi_max > $this->max_page) { 
    9295                // 制限ナビ数の指定がない。ページ最大数が制限ナビ数より少ない。 
    9396                $disp_max = $this->max_page; 
     
    9699                $disp_max = $this->now_page + $navi_max - 1; 
    97100                // ページ最大数を超えている場合は、ページ最大数に合わせる。 
    98                 if($disp_max > $this->max_page) { 
     101                if ($disp_max > $this->max_page) { 
    99102                    $disp_max = $this->max_page; 
    100103                } 
     
    102105 
    103106            // 表示する最小ナビ数を決める。 
    104             if($navi_max == "" || $navi_max > $this->now_page) { 
     107            if ($navi_max == "" || $navi_max > $this->now_page) { 
    105108                // 制限ナビ数の指定がない。現在ページ番号が制限ナビ数より少ない。 
    106109                $disp_min = 1; 
     
    114117            for ($i=$disp_min; $i <= $disp_max; $i++) { 
    115118 
    116                 if($i != $disp_max) { 
     119                if ($i != $disp_max) { 
    117120                    $sep = " | "; 
    118121                } else { 
     
    123126                    $page_number .= "<strong>$i</strong>"; 
    124127                } 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>"; 
    126131                } 
    127132 
    128                 $page_number.=$sep; 
     133                $page_number .= $sep; 
    129134 
    130135                $this->arrPagenavi['arrPageno'][$i] = $i; 
     
    134139                $this->strnavi = $before .$page_number .$next; 
    135140            } 
    136         }else{ 
     141        } else { 
    137142            $this->arrPagenavi['arrPageno'][0] = 1; 
    138143            $this->arrPagenavi['before'] = 1; 
Note: See TracChangeset for help on using the changeset viewer.