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

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

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

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

우선 개발자(사용자) 라이브러리에 온라인 체크 함수를 추가합니다.
./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>

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

새해 복 많이 받으세요..^^

첨부파일

icon_online.gif (379 bytes)
92회 2004-02-18 22:21
|

댓글 10개

관리자 접속여부를 나타내지 않으려면.. ($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분도 채 안걸리는 아주 유용한 팁 입니다.
생각만 했었지요 .... 굳 입니다. 잘 되구요.
감사합니다. (최신글 스크롤도 잘 쓰고 있습니다.^^;)
이거 팁 죽이네요..당장 써먹어야 겠군요.^^
이걸 다 어디다 넣으라는 얘기에요?
developer.lib.php에 몽땅 넣으면되나요?

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고