알짜게시판

운영자가 접속중인 회원에게 1:1 대화 및 채팅방으로 초대

잠깐 시간내어 접속중인 사용자와 1:1 대화 또는 채팅방으로 초대를 위한 목적으로

맹글게 되었습니다. 그외 다른 부분에서 응용할수 있을꺼란 생각에 이렇게 글을 남깁니다.

사용된 파일은 그누보드 루트에 있는 index.php 와 접속중인 상황을 알려주는 onair.php 입니다.

참!! 그누보드에 맞춰서 제작되었음을 알려드립니다. 다른 보드라면 수정하여 사용하실수 있을껍니다 ;)

onair.php 는 디폴트로 설치되었던가 아님 제가 그누보드에서 따로 받았는가 기억이 잘 안나네요 ^^;

작동방법은 이렇습니다.

onair.php 에서 쪽지,대화를 원하는 경후 클릭을 하여 /data/memo 또는 /data/invite 에 타켓 ID명의

파일을 생성합니다. 생성된 파일에는 쪽지 또는 대화를 실행해주는 모듈이 저장됩니다.

그리고 생성된 이후 사용자는 페이지 이동시 index.php 를 통해 다 뿌려준후 마지막에 onair에서 생성된

파일의 존재여부를 확인후 있다면 include 시켜 실행시켜줍니다. 그후 해당 파일을 삭제하게 됩니다.

이런 편법을 통해 운영자는 접속중인 사용자에게 무언가의 명령을 보낼수 있게 하였습니다.

참고로 말씀드린 1:1 대화는 현재 개발중인 GChat 을 이용하였고 채팅방은 길호챗 IRC 를 이용하였습니다.

아래의 소스는 index.php 맨 아래부분에 넣었습니다

// 운영진이 1:1 채팅을 원할경우
if(!$member[mb_id])exit;

if(file_exists("./data/memo/$member[mb_id]"))
    {   include"./data/memo/$member[mb_id]"; unlink("./data/memo/$member[mb_id]"); }

// 운영진이 채팅를 원할경우
if(file_exists("./data/invite/$member[mb_id]"))
    {   include"./data/invite/$member[mb_id]"; unlink("./data/invite/$member[mb_id]"); }

아래의 소스는 onair.php 소스중 접속중인 사용자를 출력하는 부분을 수정하였습니다. 29라인

for ($i=0; $row=mysql_fetch_array($result); $i++) { 
    $koption = '';
    if ($row[mb_id]) { 
        $mb_name = gblayer($row[mb_id], $row[mb_name], $row[mb_email], $row[mb_homepage], $row[mb_open]); 

        if(file_exists("./data/memo/$row[mb_id]")) $koption .= "<a href=./?doc=user_state.php&chkid=$row[mb_id]&kcmd=1><font color=RED>[쪽지]</font></a> "; else $koption .= "<a href=./?doc=user_state.php&chkid=$row[mb_id]&kcmd=2>[쪽지]</a> ";

        if(file_exists("./data/invite/$row[mb_id]")) $koption .= "<a href=./?doc=user_state.php&chkid=$row[mb_id]&kcmd=3><font color=RED>[채팅]</font></a>"; else $koption .= "<a href=./?doc=user_state.php&chkid=$row[mb_id]&kcmd=4>[채팅]</a>";

아래의 소스는 user_state.php 소스입니다.

<? 
if (!defined("_GNUBOARD_")) exit;

define("_DOCTYPE_", "NONE");

if ($is_admin != 'default') { echo '잘못된 접속!'; exit; }

switch($kcmd)
{
    case '1' :  $msg="";
                unlink("./data/memo/$chkid");
                break;
    case '2' :  $msg="";
                $fd = fopen ("./data/memo/$chkid", "w");
                $tempstr = '<? $chkid="'.$chkid.'";';
                $tempstr.= '$regdate='.time().';';
                $tempstr.= 'if(($regdate+60)>=$time&&$stopplz!="OK"){';
                $tempstr.= '?>';
                $tempstr.= '<script>';
                $tempstr.='if(confirm("관리자가 1:1대화를 요청하고 있습니다.\n\n참석하시겠습니까?")) window.open("http://gchat.kilho.net/mini/?uid=newkilho&nick=<?=$member[mb_name]?>","_gchat","width=400,height=400,menubar=no, scrollbars=no, resizable=no");';
                $tempstr.='</script>';
                $tempstr.='<? } ?>';
                fwrite($fd, $tempstr);
                fclose ($fd); 
                break;
    case '3' :  $msg="";
                unlink("./data/invite/$chkid");
                break;
    case '4' :  $msg="";
                $fd = fopen ("./data/invite/$chkid", "w");
                $tempstr = '<? $chkid="'.$chkid.'";';
                $tempstr.= '$regdate='.time().';';
                $tempstr.= 'if(($regdate+60)>=$time&&$stopplz!="OK"){';
                $tempstr.= '?>';
                $tempstr.= '<script>';
                $tempstr.='if(confirm("관리자가 채팅방으로 초대하고 있습니다.\n\n참석하시겠습니까?")) window.open("http://www.kilho.net//?doc=KChatIRC/index.php&mode=room");';
                $tempstr.='</script>';
                $tempstr.='<? } ?>';
                fwrite($fd, $tempstr);
                fclose ($fd); 
                break;
}
?>
<script>
    <?if($msg){?>alert("<?=$msg?>");<?}?>
    location="http://www.kilho.net/?doc=onair.php";
</script>
    • 예전에 있었는데 지금은 없어졌나봐요,,!
      아무리 그누보드전체를 뒤져봐도 나오질 않네요
    • 05-09-22
    • 힘쓰/제가 제로보드를 현재 깔아둔게 없어서 힘드네요 ^^
      김석희/ onair.php 라는것은 그누보드3 에 자작게시판인가 그쪽에서 찾아서 하였습니다. 지금 제 소스는 손본게 많아서 따로 올려드릴수가 없습니다. 감사합니다.
    • 05-09-21
    • onair.php 파일도 같이 올려주세요...
    • 05-09-21
    • 제로보드용도 부탁드립니다.
    • 05-07-22
    • 제로보드5 용 으로 부탁 드려요..^^*
    • 07-09-03

로그인 후 댓글내용을 입력해주세요

제목 글쓴이 조회 날짜
운영자가 접속중인 회원에게 1:1 대화 및 채팅방으로 초대 5 20,115 05-04-26
그누보드랑 관련되서 연동하는 팁이 소개되있네요. 1 16,418 05-04-26
길호넷에서 제공되는 클립 맹글기!! 17,326 05-04-22
비밀방 개설시 오류가 생기는경우!!! 3 15,949 05-04-20
[펌] HTTP 에러 코드표 22,481 05-04-20
공유기-zio5040쓰시는분 팁. 1 7,835 05-04-18
[펌] DNS설정으로 인터넷 빠르게!(설정법포함) 15,720 05-04-06
XP sp2 팝업창 상태표시줄 없애기 (사용자측면) 1 8,780 05-03-19
길호챗IRC 비회원 접속 못하게 하기. 3 10,126 05-02-22
윈도우 IIS에서 로그인 문제 해결보는 법 9,185 05-01-26
irc용 대화방 입장 시 소리 넣기 1 8,277 04-11-18
ZIO사의 INB3040씨리즈 공유기 쓰시는분들 계실까봐... 1 9,338 04-11-07
제로보드 로그인 문제의 근원적 이유 12,491 04-10-30
길호쳇IRC에"채팅프로그램을 설치하셔야됩니다."해결방법 9,572 04-10-23
★ kchatirc 설치 메뉴얼!! 8,425 04-10-07
윈도우XP SP2 사용자, 한번에 접속하기 2 9,713 04-09-23
(공유기-에니게이트)이렇게 해결~ 1 9,805 04-09-07
XP sp2 설치후 대화방 프로그램 설치 해결 방법 1 9,655 04-08-29
길호챗: 자신의 길호챗은 어떤것? 1 6,802 04-08-26
IRC버젼 로딩메세지들 없애기 4 8,621 04-08-26
'제로보드' 쓰시는 분들 중 길호챗 로그인 문제 6 12,702 04-08-02
계속 로그인 하라고 뜨시는분들 해결책!! (제로보드 연동시) 9,045 04-07-25
현재 운영중인 길호챗 IRC에서 클릭시 로그인으로 요청하는방법! 7,320 04-07-23
길호챗에 대해서 정리해봤습니다. 9,756 04-06-04
AIr-Band 공유기 사용자 공유기 설정 7,776 04-05-01
초보자를 위한 설치 메뉴얼 <동영상> 2 8,868 04-04-12
공유기 하는 확실한 방법(AnyGate 사용자) 1 8,110 04-04-06
배경색상 사용자가 바꾸게 하기// 4 7,050 04-01-31
답변글 [re] 배경색상 사용자가 바꾸게 하기// 5,875 04-03-20
공유기 사용시 방만들기 [확실히 분석] 4 11,175 04-01-28
[편법] 가짜(?) 상설 채팅방 만들기 8 11,703 04-01-24
방수의신엠씨스탁결혼준비망치와삽결혼의정석