본문 바로가기
재밌는 IT 개발/그누보드 테마 제작기(記)

그누보드 테마 제작 31 - 접속자 리스트 페이지 개발

by 만수킴 2020. 7. 23.

오늘의 테마는 접속자 리스트 페이지 개발입니다.
개발을 위해 그누 기본 테마로 확인해보니...
접속자가 없습니다. 
당연하죠... 로컬 개발 환경이니...

우선 관련 테이블이 무언지 알아보고,
강제로 삽입을 하던지, 방법을 찾아봐야겠습니다.

/bbs/current_connect.php에서 
쿼리를 로그로 출력해봅니다.

 select a.mb_id, b.mb_nick, b.mb_name, b.mb_email, b.mb_homepage, b.mb_open, b.mb_point, a.lo_ip, a.lo_location, a.lo_url
            from g5_login a left join g5_member b on (a.mb_id = b.mb_id)
            where a.mb_id <> 'hunnovsi'
            order by a.lo_datetime desc  => mysqli_result Object
(
    [current_field] => 0
    [field_count] => 10
    [lengths] => 
    [num_rows] => 1
    [type] => 0
)

현재 접속자를 관리하는 테이블은
g5_login 테이블이로군요.
테스트를 위해 가상의 데이터를 마구 집어넣었습니다.

g5_loing 테이블에 가짜 로그인 정보를 입력시켰다
그누보드 기본테마의 접속자 리스트 화면

이제 개발이 가능해졌어요.
현재 제작하려는 테마의 페이지 모습도 확인해봅니다.

테마를 제작하려는 현재 접속자 페이지의 모습


이 페이지는 코드도 워낙 간단해서 순식간에 끝나겠네요.
게시판의 리스트 화면을 참고하여 바로 진행합니다.

완료된 접속자 리스트의 화면

 

정말 간단하게 끝났습니다.
(위아래 마진이나 가운데 정렬을 하는데 시간이 좀 걸리긴 했지만요...)

이제 정말 정말 거의 다 왔네요.

아래는 current_connect.skin.php의 소스입니다.

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
//add_stylesheet('<link rel="stylesheet" href="'.$connect_skin_url.'/style.css">', 0);
?>

<?php include G5_THEME_PARTIALS_PATH ."/_subheader/subheader-v1.php"; ?>



<!-- 현재접속자 목록 시작 { -->
<div class="d-flex flex-column-fluid">
    <!--begin::Container-->
    <div class="container">


<div class="d-flex flex-row mt-5">
    <!--begin::List-->
    <div class="flex-row-fluid d-block" id="kt_inbox_list">

        <!--begin::Card-->
        <div class="card card-custom card-stretch">

            <!--begin::Body-->
            <div class="card-body table-responsive pt-1 px-2">
                <div class="list border-mute px-2 ">



    <?php
    for ($i=0; $i<count($list); $i++) {
        //$location = conv_content($list[$i]['lo_location'], 0);
        $location = $list[$i]['lo_location'];
        // 최고관리자에게만 허용
        // 이 조건문은 가능한 변경하지 마십시오.
        if ($list[$i]['lo_url'] && $is_admin == 'super') $display_location = "<a href=\"".$list[$i]['lo_url']."\">".$location."</a>";
        else $display_location = $location;
    ?>

                    <!--begin::Item Title-->
                    <div class="row row-marginless align-items-center flex-wrap border-bottom bg-gradient-light px-2 py-2 h-auto">
                        <!--begin::체크박스/NO-->
                        <div class="col-1 order-lg-1 order-1 d-flex flex-wrap align-items-left">
                            <!--begin::NO-->
                            <div class="d-flex align-items-center">
                                <span class="font-weight-bolder font-size-lg text-dark text-center w-50px mr-2"><?php echo $list[$i]['num'] ?></span>
                            </div>
                            <!--end::NO-->
                        </div>
                        <!--end::체크박스/NO-->
                        <!--begin::제목-->
                        <div class="col-3 order-2 font-weight-bolder text-dark text-center">
                            <!--begin::Connector-->
                            <div class="d-flex align-items-left">
                                <div class="font-weight-bolder text-dark text-left mr-3 ">
                                    <div class="symbol symbol-40 symbol-lg-50 symbol-circle mr-3">
                                        <img alt="Pic" src="<?php echo get_profile_img($list[$i]['mb_id']) ?>">
                                    </div>
                                </div>
                                <div class="font-weight-bolder text-dark text-left mr-3 mt-4">
                                    <?php echo $list[$i]['name'] ?>
                                </div>
                            </div>
                            <!--end::Connector-->
                        </div>
                        <!--end::제목-->
                        <!--begin::글쓴이~날짜-->
                        <div class="col-3 order-3 d-flex justify-content-start my-2">
                            <div class="d-flex align-items-left">
                                <!--begin::Writer-->
                                <div class="font-weight-bolder text-dark text-left mr-3 "><?php echo $display_location ?></div>
                                <!--end::Writer-->
                            </div>
                        </div>
                        <!--end::글쓴이~날짜-->
                    </div>
                    <!--end::Item Title-->
    <?php
    }
    if ($i == 0) {
    ?>
                    <div class="d-flex justify-content-center">
                        <span class="font-weight-bolder font-size-lg text-dark text-center mt-7">현재 접속자가 없습니다.</span>
                    </div>
    <?php
    }
    ?>

                    <!--begin::Items-->
                </div>
            </div>

        </div>

    </div>
    <!--end::List-->
</div>


    </div>
    <!--end::Container-->
</div>
<!-- } 현재접속자 목록 끝 -->

 

댓글