<?php

// 페이징 클래스.
//
// 인자값
// 1. 구분키 (리스트가 한 개일 경운 대부분 page 겠죠?)
// 1. 총레코드 갯수($total_record),
// 2. 한 페이지당 출력 레코드 수($rnum_per_page).
// 3. 한 블럭당 출력 페이지 수($num_list_link).
// 4. 현재 페이지($page).
// 5. 페이지 넘길때 넘어갈 값들($page_string).
                                
// $current_page_color                // 현재 페이지 색.                
// $other_page_color                // 그 외 페이지 색.                
// $block_color                // 블럭 색.                
// $direct_color                // 첫 페이지, 마지막 페이지 바로가기 색.        
// $virtual_link_color                // 가상 링크 색.        



// 호출예.
// $page_string = "&sdate=$sdate&state=$state&yn=$yn&sother=$sother&condition=$condition";                                
// $paging = new PAGE('page',$total_record,$rnum_per_page,$num_list_link,$page,$page_string,'red','','','336699',''); 


class PAGE {        

        var $code;
        var $rows;
        var $pagesize;         
        var $listsize;         
        var $startpage; 
        var $totalpage; 
        var $page; 


        function __construct($code,$rows,$pagesize,$listsize,$page,$page_string,$color1,$color2,$color3,$color4,$color5)         { 
                
                $this->code = $code;
                $this->rows = $rows; 
                $this->pagesize = $pagesize; 
                $this->listsize = $listsize; 
                $this->page = $page;
                $this->page_string  = $page_string;
				//echo"$page_string";

                if($color1){$this->color1 = $color1;}
                if($color1){$this->color2 = $color2;}
                if($color1){$this->color3 = $color3;}
                if($color1){$this->color4 = $color4;}
                if($color1){$this->color5 = $color5;}
                 
                if ($rows % $pagesize) { 
                        $this->totalpage = ceil($rows / $pagesize); 

                } else { 
                        $this->totalpage = $rows / $pagesize; 

                } 

                $this->paging($this->code,$this->rows,$this->pagesize,$this->listsize,$this->page,$this->totalpage,$this->page_string,$this->color1,$this->color2,$this->color3,$this->color4,$this->color5); 

                //$this->paging($rows,$pagesize,$listsize,$page,$totalpage,$page_string,$color1,$color2,$color3,$color4,$color5);

        }        // end of function PAGE
         
        
        function paging($code,$total_record,$rnum_per_page,$num_list_link,$page,$totalpage,$page_string,$current_page_color,$other_page_color,$block_color,$direct_color,$virtual_link_color) {
                                
                // $current_page_color                // 현재 페이지 색.                
                // $other_page_color                  // 그 외 페이지 색.                
                // $block_color                       // 블럭 색.                
                // $direct_color                      // 첫 페이지, 마지막 페이지 바로가기 색.                
                // $virtual_link_color                // 가상 링크 색.

                if(!$virtual_link_color){$virtual_link_color="#AAAAAA";}

                
                $first_num_per_page = $rnum_per_page * ($page-1); // 각 페이지의 첫번째 레코드 번호
                $last_num_per_page = $rnum_per_page * $page; // 각 페이지의 임시 마지막 레코드 번호


                $block = ceil($page/$num_list_link); // 현재 블럭.                

                $total_block = ceil($totalpage / $num_list_link); // 총 블럭 수

                $frist_page_per_block = $num_list_link*($block-1); // 각 블럭당 첫 페이지
                $last_page_per_block = $num_list_link*$block; // 각 블럭당 임시 마지막 페이지

                

                // 첫 페이지 바로가기

                //$go_first_page_shape = "<b>[First]</b>";                                        // <<---- #### 첫 페이지 바로가기 모양 설정. (활성)
                //$go_first_page_shape2 = "<b>[First]</b>";                                       // <<---- #### 첫 페이지 바로가기 모양 설정. (비활성)
			 

			 //$go_first_page_shape = "<img src='/images/board/navarrow_left2.jpg' border=0 align=top alt='First Page' hspace=2>"; 
			 //$go_first_page_shape2 = "<img src='/images/board/navarrow_left2.jpg' border=0 align=top alt='First 5 Page' hspace=2>";  
			  
                if ($page!=1){
                        echo "<a href='" . $_SERVER['PHP_SELF'] . "?$code=1&$page_string'>";
                        echo "<i class='bi bi-arrow-left'></i>";
                        // echo "<font color='$direct_color' size=2>$go_first_page_shape</font>";
                        echo "</a>";
                }else {
                        //echo ("<font color='$virtual_link_color' size=2>$go_first_page_shape2</font>");
                        echo "<a href='#'><i class='bi bi-arrow-left'></i></a>";
                }
                
                //echo "&nbsp;&nbsp;";



                // 이전 블럭 바로가기

                $go_pre_block_shape = "<b>[Pre $num_list_link]</b>";                // <<---- #### 이전 블럭 바로가기 모양 설정. (활성)
                $go_pre_block_shape2 = "<b>[Pre $num_list_link]</b>";        // <<---- #### 이전 블럭 바로가기 모양 설정. (비활성)

                //* Prev 버튼 보여주지 않음
                if ($block>1){
                        $a = $frist_page_per_block;
                        echo "<a href='" . $_SERVER['PHP_SELF'] . "?$code=$a&$page_string'>";
                        //echo "<font color='$block_color'>$go_pre_block_shape</font>";
                        echo "&#60;&nbsp;Prev";
                        echo "</a>";
                } else {
                        //echo ("<font color='$virtual_link_color'>$go_pre_block_shape2</font>");
                        echo "<a href='#'>&#60;&nbsp;Prev</a>";
                }
                

                //echo "&nbsp;&nbsp;";




                // 블럭내 페이지 바로가기

                $b=$frist_page_per_block+1;

                for ($b;$b<=$last_page_per_block;$b++){

                        // 현재 페이지.
                        if($b==$page){                                
                                echo "<a href=\"#\" style=\"color: #fff;background-color: #4CAF50;font-weight: bold;\">$b</a>";

                        // 가상 페이지.         ->> 페이지는 없으나 그냥 화면에만 표시.
                        }elseif($b>$totalpage){
                                //echo "<font color='$virtual_link_color' size=2>[$b]</font>";

                        // 그외 페이지.
                        }else{                                
                                echo "<a href='" . $_SERVER['PHP_SELF'] . "?$code=$b&$page_string'>";
                                echo "$b";
                                echo "</a>";

                        }                
                        
                        
                }
                
                //echo "&nbsp;&nbsp;";



                // 다음 블럭 바로가기
                
                $go_next_block_shape = "<b>[Next $num_list_link]</b>";                // <<---- #### 이전 블럭 바로가기 모양 설정. (활성)
                $go_next_block_shape2 = "<b>[Next $num_list_link]</b>";                // <<---- #### 이전 블럭 바로가기 모양 설정. (비활성)

                //* NEXT 버튼 보여주지 않음
                if ($block<$total_block){
                        $c = $last_page_per_block+1;
                        echo "<a href='" . $_SERVER['PHP_SELF'] . "?$code=$c&$page_string'>";
                        //echo "<font color='$block_color'>$go_next_block_shape</font>";
                        echo "Next&nbsp;&#62;";
                        echo "</a>";
                } else {
                        //echo ("<font color='$virtual_link_color'>$go_next_block_shape2</font>");
                        echo "<a href='#'>Next&nbsp;&#62;</a>";
                }
                

                //echo "&nbsp;&nbsp;";



                // 끝 페이지 바로가기

                //$go_last_page_shape = "<b>[Last]</b>";                                                                // <<---- #### 끝 페이지 바로가기 모양 설정. (활성)
                //$go_last_page_shape2 = "<b>[Last]</b>";                                                                // <<---- #### 끝 페이지 바로가기 모양 설정. (비활성)


			 //$go_last_page_shape = "<img src='/images/board/navarrow_right2.jpg' border=0 align=top alt='Last Page' hspace=2>"; 
			 //$go_last_page_shape2 = "<img src='/images/board/navarrow_right2.jpg' border=0 align=top alt='Last Page' hspace=2>";  

                if ($page!=$totalpage) {
                        echo "<a href='" . $_SERVER['PHP_SELF'] . "?$code=$totalpage&$page_string'>";
                        //echo "<font color='$direct_color' size=2>$go_last_page_shape</font>";
                        echo "<i class='bi bi-arrow-right'></i>";
                        echo "</a>";
                } else {
                        //echo ("<font color='$virtual_link_color' size=2>$go_last_page_shape2</font>");
                        echo "<a href='#'><i class='bi bi-arrow-right'></i></a>";
                }
        

        }        // end of function paging

} // end of class PAGE

?>