[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=" <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> <span class=tt><b><? if ($is_category) echo "[$category_name] "; ?><?=$subject?></b></span></td>
<td align=right><span class=tt><?=$datetime?></span> </td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#C3BEB2></td></tr>
<tr><td colspan=2 height=25> <font color="cf4900">이름</font> : <?=$name?> <?=dev_online($write[mb_id])?> (<?=$ip?>) <font color="cf4900">조회</font> : <?=$hit?> <? if ($is_good) echo "<font color='#cf4900'>추천</font> : " . $good; ?> <? 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> <?=$list[$i][name]?> <?=dev_online($list[$i][mb_id])?> </td>
<td align=right bgcolor=#F1F1F1><font color="cf4900"><?=$list[$i][datetime]?></font> <? if ($list[$i][is_del]) { echo "{$list[$i][del_href]}<img src='$board_skin/com_del.gif' border=0 align=absmiddle></a> "; } ?></td>
</tr>
<tr>
=======================================================================================
모(?) 게시판을 보다 좋은 기능 같아서 넣어 봤습니다.
팁이 될지 모르겠네요..^^
새해 복 많이 받으세요..^^
게시물을 읽을때 글쓰기 또는 코멘트를 달아 놓은 사람의 온라인 여부를 아이콘으로
보여주는 기능(?ㅋㅋ)입니다.
우선 개발자(사용자) 라이브러리에 온라인 체크 함수를 추가합니다.
./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=" <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> <span class=tt><b><? if ($is_category) echo "[$category_name] "; ?><?=$subject?></b></span></td>
<td align=right><span class=tt><?=$datetime?></span> </td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#C3BEB2></td></tr>
<tr><td colspan=2 height=25> <font color="cf4900">이름</font> : <?=$name?> <?=dev_online($write[mb_id])?> (<?=$ip?>) <font color="cf4900">조회</font> : <?=$hit?> <? if ($is_good) echo "<font color='#cf4900'>추천</font> : " . $good; ?> <? 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> <?=$list[$i][name]?> <?=dev_online($list[$i][mb_id])?> </td>
<td align=right bgcolor=#F1F1F1><font color="cf4900"><?=$list[$i][datetime]?></font> <? if ($list[$i][is_del]) { echo "{$list[$i][del_href]}<img src='$board_skin/com_del.gif' border=0 align=absmiddle></a> "; } ?></td>
</tr>
<tr>
=======================================================================================
모(?) 게시판을 보다 좋은 기능 같아서 넣어 봤습니다.
팁이 될지 모르겠네요..^^
새해 복 많이 받으세요..^^
첨부파일
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 10개
아래 처럼 하면 되지 않을까요?
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;
}
}
?>
^^
관리자도 깜빡거리는데
관리자는 표시 안되게 할 수는 없나요?
감사합니다...^^
생각만 했었지요 .... 굳 입니다. 잘 되구요.
감사합니다. (최신글 스크롤도 잘 쓰고 있습니다.^^;)
developer.lib.php에 몽땅 넣으면되나요?