게시판 리스트에서 글작성자 온라인 상태를 표시할 수 있을까요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

게시판 리스트에서 글작성자 온라인 상태를 표시할 수 있을까요? 정보

게시판 리스트에서 글작성자 온라인 상태를 표시할 수 있을까요?

본문

쪽지5의 접속자 소스를 응용하면 될거 같은데, 초보에겐 어렵군요 ㅠ

해당 소스부분 첨부합니다.

<?
        $sql2 = " select count(*) as cnt
                    from $g4[login_table] a left join $g4[member_table] b on (a.mb_id = b.mb_id)
                    where a.mb_id = '$row[gr_mb_id]' ";
        $result2 = sql_fetch($sql2);
        $sql3 = " select mb_today_login from $g4[member_table]
                  where mb_id = '$row[gr_mb_id]' and mb_open = 1 ";
        $result3 = sql_fetch($sql3);
        if ($result3['mb_today_login'] =='') $last_datetime = "정보 비공개"; else $last_datetime = $result3['mb_today_login'];
        if ($result2['cnt'] > 0 or $fr_type =='online')
            echo "<img src='$memo_skin_path/img/friend_on.gif' align='absmiddle' alt='$last_datetime'>";
        else {
            echo "<img src='$memo_skin_path/img/friend_off.gif' align='absmiddle' alt='$last_datetime'>";
        }
        ?>

고수님들 시간되시면 부탁드리겠습니다~

댓글 전체

대규모 소스가 나올듯하군요;;
로그인된 사용자가 페이지를 이동될때마다 해당 페이지를 접속했을때의 시간을 sql필드에 기록하게 하고 온라인상태임을 확인하는 페이지에서 해당 페이지에 접속했을시간과 현재시간을 비교하여 10분이상 차이나면 오프라인으로 확인하는 방식정도이거나...;; 리눅스나 유닉스의 경우 셀명령어를 써야될것같네요;;
리스트 스킨 상단에 아래 코드를 넣습니다
$result=sql_query(" select mb_id from $g4[login_table] where mb_id<>''");
while($row=sql_fetch_array($result)) $logArr[]=$row[mb_id];

리스트 스킨에서 for문에 아래 코드를 넣습니다
$logimg='로그인 중이 아닌 이미지';
if( in_array($list[$i][mb_id], $logArr)) $logimg="로그인 중 이미지";

~~
~~
출력 부분
<img src='<?=$logimg?>'>
균이님이 항상 많은 도움을 주시네요~
해당 소스를 적용해본 결과 잘 작동을 합니다.
그런데 로그아웃을 한 상태에서 비회원 모드로 해당 게시판을 보니 다음과 같은 에러가 납니다.

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /www/사이트/public_html/ko/skin/board/profile/list.skin.php on line 169

해당 에러의 위치는

if( in_array($list[$i][mb_id], $logArr)) $logimg="$board_skin_path/img/online.gif";

입니다.
로그인한 사람이 하나도 없으면 에러가 나겠군요
$logArr=array(); //--이것을 맨위에 추가하세요

if($list[$i][mb_id] && in_array($list[$i][mb_id], $logArr)) $logimg="로그인 중 이미지"; //수정
균이님 완벽하게 작동합니다.^^
혹시나 한가지더.... view 페이지에서는 약간 코드가 달라져야 하는가봐요~
위 소스를 view skin에 적용시켜보니 작동을 안하는거 같아서요~
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

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