[smc] 회원의 온라인 여부 표시하기 > 그누3 팁자료실

그누3 팁자료실

[smc] 회원의 온라인 여부 표시하기 정보

그누호환 [smc] 회원의 온라인 여부 표시하기

본문

음.. 현재접속자 보기 소스를 참고해서 만들어봤습니다.

게시물을 읽을때 글쓰기 또는 코멘트를 달아 놓은 사람의 온라인 여부를 아이콘으로

보여주는 기능(?ㅋㅋ)입니다.

우선 개발자(사용자) 라이브러리에 온라인 체크 함수를 추가합니다.
./lib/developer.lib.php
=======================================================================================
// 회원의 온라인 여부 확인
function dev_online($mb_id)
{
    global $cfg;
if ($mb_id) {
$sql = "select mb_id from $cfg[table_login] where mb_id='$mb_id'";
$result = @sql_fetch($sql);
if($result[mb_id]) {
$img_tag="&nbsp;<img src=./image/icon_online.gif border=0 alt='현재 온라인중입니다.'> ";
}
else {
$img_tag="";
}
return $img_tag;
}
}
=======================================================================================

그 다음은 원하는 곳에서 함수를 호출하시면 됩니다.

게시판 스킨에 적용시 (글 읽기에서)
./bbs/skin/board/basic/gbview.skin.php

* 글 게시자의 온라인 여부 표시 --> <?=dev_online($write[mb_id])?>
=======================================================================================
<table width=<?=$width?> border=0 align=center cellpadding=0 cellspacing=0>
<tr height=30 bgcolor=#F5F3EE>
    <td>&nbsp;&nbsp;<span class=tt><b><? if ($is_category) echo "[$category_name] "; ?><?=$subject?></b></span></td>
    <td align=right><span class=tt><?=$datetime?></span>&nbsp;&nbsp;</td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#C3BEB2></td></tr>
<tr><td colspan=2 height=25>&nbsp;&nbsp;<font color="cf4900">이름</font> : <?=$name?> &nbsp;<?=dev_online($write[mb_id])?>&nbsp;(<?=$ip?>) &nbsp;<font color="cf4900">조회</font> : <?=$hit?>&nbsp;&nbsp;<? if ($is_good) echo "<font color='#cf4900'>추천</font> : " . $good; ?>&nbsp;&nbsp;<? if ($is_nogood) echo "<font color='#cf4900'>비추천</font> : " . $nogood; ?></td></tr>
<tr><td colspan=2 height=1 bgcolor=#D4CFC3></td></tr>                                                               

* 코멘트 게시자의 온라인 여부 표시 --> <?=dev_online($list[$i][mb_id])?>
=======================================================================================
<? if ($is_comment) { ?>
    <!-- 코멘트 내용 -->
    <? for ($i=0; $i<count($list); $i++) { ?>
    <a name='c<?=$list[$i][wr_id]?>'></a>

    <table width=<?=$width?> border=0 align=center cellpadding=0 cellspacing=0>
    <tr>
        <td height=25 bgcolor=#F1F1F1>&nbsp;&nbsp;<?=$list[$i][name]?> <?=dev_online($list[$i][mb_id])?> </td>
        <td align=right bgcolor=#F1F1F1><font color="cf4900"><?=$list[$i][datetime]?></font>&nbsp;<? if ($list[$i][is_del]) { echo "{$list[$i][del_href]}<img src='$board_skin/com_del.gif' border=0 align=absmiddle></a>&nbsp;"; } ?></td>
    </tr>
    <tr>

=======================================================================================
모(?) 게시판을 보다 좋은 기능 같아서 넣어 봤습니다.
팁이 될지 모르겠네요..^^

새해 복 많이 받으세요..^^
추천
0

댓글 전체

관리자 접속여부를 나타내지 않으려면.. ($result[mb_id] && !is_admin($result[mb_id]))
아래 처럼 하면 되지 않을까요?

function dev_online($mb_id)
{
    global $cfg;
    if ($mb_id) {
        $sql = "select mb_id from $cfg[table_login] where mb_id='$mb_id'";
        $result = @sql_fetch($sql);
        if($result[mb_id] && !is_admin($result[mb_id])) {
            $img_tag=" <img src=./image/icon_online.gif border=0 alt='현재 온라인중입니다.'> ";
        }
        else {
            $img_tag="";
        }
        return $img_tag;
    }
}
에구 죄송합니다.
ip가 두개가 잡혀서, 제가 심한 착각을 했나봅니다.
현재 다시 테스트 해보니, [관리자]도 게시글 확인시 접속여부가 나타나는 군요.
반짝 반짝...휴~
멋집니다. 관리자 여부를 체크해서, 실제로 브라우저상에 찍어주는 값을 無처럼
끌어와 보려고 했습니다. 화면상에는 원하는 값이 출력되네요.(결코 세련된 코딩이 아니라는...)

<?
// 회원의 온라인 여부 확인
function dev_online($mb_id)
{
    global $cfg;
if ($mb_id) {
$sql = "select mb_id from $cfg[table_login] where mb_id='$mb_id'";
$result = @sql_fetch($sql);
if($result[mb_id]) {
$img_tag=" <img src='./image/icon_online.gif' border=0 alt='현재 온라인중입니다.'> ";
//여기부터(관리자 여부를 체크)
  if($is_admin == "default" || $is_admin == "group") {
  $img_tag="";
  }
//여기까지(관리자이면, $img_tag에서 보여지는 값을 없애줌.)
}
else {
$img_tag="";
}
return $img_tag;
}
}
?>
적용 하는데 5분도 채 안걸리는 아주 유용한 팁 입니다.
생각만 했었지요 .... 굳 입니다. 잘 되구요.
감사합니다. (최신글 스크롤도 잘 쓰고 있습니다.^^;)
전체 1,026
그누3 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT