Changeset 15345


Ignore:
Timestamp:
2007/08/24 13:12:19 (13 years ago)
Author:
nanasess
Message:

tab -> space

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/data/class/SC_PageNavi.php

    r15080 r15345  
    77 
    88/* ※使用条件※ 
    9     ・formタグに以下を追加する。 
    10         <input type="hidden" name="pageno" value="<!--{$tpl_pageno}-->"> 
    11     ・ソースの最初に以下を記述する。 
    12         $objPage->tpl_pageno = $_POST['pageno']; 
    13     ・$func_nameに指定するJavaScriptの例 
    14         // ページナビで使用する 
    15         function fnNaviPage(pageno) { 
    16             document.form1['pageno'].value = pageno; 
    17             document.form1.submit(); 
    18         }        
     9    ・formタグに以下を追加する。 
     10        <input type="hidden" name="pageno" value="<!--{$tpl_pageno}-->"> 
     11    ・ソースの最初に以下を記述する。 
     12        $objPage->tpl_pageno = $_POST['pageno']; 
     13    ・$func_nameに指定するJavaScriptの例 
     14        // ページナビで使用する 
     15        function fnNaviPage(pageno) { 
     16            document.form1['pageno'].value = pageno; 
     17            document.form1.submit(); 
     18        } 
    1919*/ 
    2020class SC_PageNavi { 
    21     var $now_page;      // 現在のページ番号 
    22     var $max_page;      // 最終のページ番号 
    23     var $start_row;     // 開始レコード 
    24     var $strnavi;       // ページ送り文字列 
    25     var $arrPagenavi = array(); // ページ 
     21    var $now_page;      // 現在のページ番号 
     22    var $max_page;      // 最終のページ番号 
     23    var $start_row;     // 開始レコード 
     24    var $strnavi;       // ページ送り文字列 
     25    var $arrPagenavi = array(); // ページ 
    2626 
    27     // コンストラクタ 
    28     function SC_PageNavi($now_page, $all_row, $page_row, $func_name, $navi_max = NAVI_PMAX) { 
    29         $this->arrPagenavi['mode'] = 'search'; 
     27    // コンストラクタ 
     28    function SC_PageNavi($now_page, $all_row, $page_row, $func_name, $navi_max = NAVI_PMAX) { 
     29        $this->arrPagenavi['mode'] = 'search'; 
    3030 
    31         //現在ページ($now_page)が正しい数値でない場合 
    32         if (!eregi("^[[:digit:]]+$", $now_page) || $now_page < 1 || $now_page == "") { 
    33             $this->now_page = 1; 
    34         } else { 
    35             $this->now_page = $now_page; 
    36         } 
    37         $this->arrPagenavi['now_page'] = $this->now_page; 
     31        //現在ページ($now_page)が正しい数値でない場合 
     32        if (!eregi("^[[:digit:]]+$", $now_page) || $now_page < 1 || $now_page == "") { 
     33            $this->now_page = 1; 
     34        } else { 
     35            $this->now_page = $now_page; 
     36        } 
     37        $this->arrPagenavi['now_page'] = $this->now_page; 
    3838 
    39         // 最終ページの計算 
    40         $this->max_page = ceil($all_row/$page_row); 
     39        // 最終ページの計算 
     40        $this->max_page = ceil($all_row/$page_row); 
    4141 
    42         // 最終ページよりも現在ページが大きい場合は、最初に戻す。 
    43         if($this->max_page < $this->now_page) { 
    44             $this->now_page = 1; 
    45         } 
     42        // 最終ページよりも現在ページが大きい場合は、最初に戻す。 
     43        if($this->max_page < $this->now_page) { 
     44            $this->now_page = 1; 
     45        } 
    4646 
    47         $this->start_row = ($this->now_page - 1) * $page_row; 
    48      
    49         // 開始行が不正な場合 
    50         if (!($this->start_row < $all_row && $this->start_row >= 0)) { 
    51             $this->start_row = 0; 
    52         } 
     47        $this->start_row = ($this->now_page - 1) * $page_row; 
    5348 
    54         if($all_row > 1) { 
     49        // 開始行が不正な場合 
     50        if (!($this->start_row < $all_row && $this->start_row >= 0)) { 
     51            $this->start_row = 0; 
     52        } 
    5553 
    56             //「前へ」「次へ」の設定 
    57             if ($this->now_page > 1) { 
    58                 $before="<a href=\"". $_SERVER['PHP_SELF']. "\" onclick=\"$func_name('" . (($this->now_page) - 1) . "'); return false;\"><<前へ</a> "; 
    59                 $this->arrPagenavi['before'] = ($this->now_page) - 1; 
    60             }else{ 
    61                 $this->arrPagenavi['before'] = $this->now_page; 
    62             } 
    63              
    64             if ($this->now_page < $this->max_page) { 
    65                 $next="<a href=\"". $_SERVER['PHP_SELF']. "\" onclick=\"$func_name('" . (($this->now_page) + 1) ."'); return false;\">次へ>></a> "; 
    66                 $this->arrPagenavi['next'] = ($this->now_page) + 1; 
    67             }else{ 
    68                 $this->arrPagenavi['next'] = $this->now_page; 
    69             } 
    70              
    71             // 表示する最大ナビ数を決める。 
    72             if($navi_max == "" || $navi_max > $this->max_page) { 
    73                 // 制限ナビ数の指定がない。ページ最大数が制限ナビ数より少ない。 
    74                 $disp_max = $this->max_page; 
    75             } else { 
    76                 // 現在のページ+制限ナビ数が表示される。 
    77                 $disp_max = $this->now_page + $navi_max - 1; 
    78                 // ページ最大数を超えている場合は、ページ最大数に合わせる。 
    79                 if($disp_max > $this->max_page) { 
    80                     $disp_max = $this->max_page; 
    81                 } 
    82             } 
     54        if($all_row > 1) { 
    8355 
    84             // 表示する最小ナビ数を決める。 
    85             if($navi_max == "" || $navi_max > $this->now_page) { 
    86                 // 制限ナビ数の指定がない。現在ページ番号が制限ナビ数より少ない。 
    87                 $disp_min = 1; 
    88             } else { 
    89                 // 現在のページ-制限ナビ数が表示される。 
    90                 $disp_min = $this->now_page - $navi_max + 1; 
    91             } 
    92              
    93             $this->arrPagenavi['arrPageno'] = array(); 
    94             for ($i=$disp_min; $i <= $disp_max; $i++) { 
    95                 if($i != $disp_max) { 
    96                     $sep = " | "; 
    97                 } else { 
    98                     $sep = ""; 
    99                 } 
    100                  
    101                 if ($i == $this->now_page) { 
    102                     $page_number .= "<strong>$i</strong> "; 
    103                 } else { 
    104                     $page_number.="<a href=\"". $_SERVER['PHP_SELF']. "\" onclick=\"$func_name('$i'); return false;\">$i</a> "; 
    105                 } 
    106                  
    107                 $page_number.=$sep; 
    108                  
    109                 $this->arrPagenavi['arrPageno'][$i] = $i; 
    110             } 
    111              
    112             if ($before || $next) { 
    113                 $this->strnavi = $before .$page_number .$next; 
    114             } 
    115         }else{ 
    116             $this->arrPagenavi['arrPageno'][0] = 1; 
    117             $this->arrPagenavi['before'] = 1; 
    118             $this->arrPagenavi['next'] = 1; 
    119         } 
    120     } 
     56            //「前へ」「次へ」の設定 
     57            $before = ""; 
     58            $next = ""; 
     59            // FIXME ちゃんとサニタイズしよう 
     60            if ($this->now_page > 1) { 
     61                $before="<a href=\"". $_SERVER['PHP_SELF']. "\" onclick=\"$func_name('" . (($this->now_page) - 1) . "'); return false;\"><<前へ</a> "; 
     62                $this->arrPagenavi['before'] = ($this->now_page) - 1; 
     63            }else{ 
     64                $this->arrPagenavi['before'] = $this->now_page; 
     65            } 
     66 
     67            if ($this->now_page < $this->max_page) { 
     68                $next="<a href=\"". $_SERVER['PHP_SELF']. "\" onclick=\"$func_name('" . (($this->now_page) + 1) ."'); return false;\">次へ>></a> "; 
     69                $this->arrPagenavi['next'] = ($this->now_page) + 1; 
     70            }else{ 
     71                $this->arrPagenavi['next'] = $this->now_page; 
     72            } 
     73 
     74            // 表示する最大ナビ数を決める。 
     75            if($navi_max == "" || $navi_max > $this->max_page) { 
     76                // 制限ナビ数の指定がない。ページ最大数が制限ナビ数より少ない。 
     77                $disp_max = $this->max_page; 
     78            } else { 
     79                // 現在のページ+制限ナビ数が表示される。 
     80                $disp_max = $this->now_page + $navi_max - 1; 
     81                // ページ最大数を超えている場合は、ページ最大数に合わせる。 
     82                if($disp_max > $this->max_page) { 
     83                    $disp_max = $this->max_page; 
     84                } 
     85            } 
     86 
     87            // 表示する最小ナビ数を決める。 
     88            if($navi_max == "" || $navi_max > $this->now_page) { 
     89                // 制限ナビ数の指定がない。現在ページ番号が制限ナビ数より少ない。 
     90                $disp_min = 1; 
     91            } else { 
     92                // 現在のページ-制限ナビ数が表示される。 
     93                $disp_min = $this->now_page - $navi_max + 1; 
     94            } 
     95 
     96            $this->arrPagenavi['arrPageno'] = array(); 
     97            for ($i=$disp_min; $i <= $disp_max; $i++) { 
     98                if($i != $disp_max) { 
     99                    $sep = " | "; 
     100                } else { 
     101                    $sep = ""; 
     102                } 
     103 
     104                $page_number = ""; 
     105                if ($i == $this->now_page) { 
     106                    $page_number .= "<strong>$i</strong> "; 
     107                } else { 
     108                    $page_number.="<a href=\"". $_SERVER['PHP_SELF']. "\" onclick=\"$func_name('$i'); return false;\">$i</a> "; 
     109                } 
     110 
     111                $page_number.=$sep; 
     112 
     113                $this->arrPagenavi['arrPageno'][$i] = $i; 
     114            } 
     115 
     116            if ($before || $next) { 
     117                $this->strnavi = $before .$page_number .$next; 
     118            } 
     119        }else{ 
     120            $this->arrPagenavi['arrPageno'][0] = 1; 
     121            $this->arrPagenavi['before'] = 1; 
     122            $this->arrPagenavi['next'] = 1; 
     123        } 
     124    } 
    121125} 
    122126 
Note: See TracChangeset for help on using the changeset viewer.