알짜게시판

운영자가 접속중인 회원에게 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 != &#039;default&#039;) { echo &#039;잘못된 접속!&#039;; exit; }

switch($kcmd)
{
case &#039;1&#039; : $msg="";
unlink("./data/memo/$chkid");
break;
case &#039;2&#039; : $msg="";
    $fd = fopen ("./data/memo/$chkid", "w");
$tempstr = &#039;<? $chkid="&#039;.$chkid.&#039;";&#039;;
$tempstr.= &#039;$regdate=&#039;.time().&#039;;&#039;;
$tempstr.= &#039;if(($regdate+60)>=$time&&$stopplz!="OK"){&#039;;
$tempstr.= &#039;?>&#039;;
$tempstr.= &#039;<script>&#039;;
$tempstr.=&#039;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");&#039;;
$tempstr.=&#039;</script>&#039;;
$tempstr.=&#039;<? } ?>&#039;;
    fwrite($fd, $tempstr);
    fclose ($fd);
break;
case &#039;3&#039; : $msg="";
unlink("./data/invite/$chkid");
break;
case &#039;4&#039; : $msg="";
    $fd = fopen ("./data/invite/$chkid", "w");
$tempstr = &#039;<? $chkid="&#039;.$chkid.&#039;";&#039;;
$tempstr.= &#039;$regdate=&#039;.time().&#039;;&#039;;
$tempstr.= &#039;if(($regdate+60)>=$time&&$stopplz!="OK"){&#039;;
$tempstr.= &#039;?>&#039;;
$tempstr.= &#039;<script>&#039;;
$tempstr.=&#039;if(confirm("관리자가 채팅방으로 초대하고 있습니다.\n\n참석하시겠습니까?")) window.open("http://www.kilho.net//?doc=KChatIRC/index.php&mode=room");&#039;;
$tempstr.=&#039;</script>&#039;;
$tempstr.=&#039;<? } ?>&#039;;
    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
번호 제목 글쓴이 조회 날짜
45 [Delphi] 권한상승 2,075 09-04
44 [윈도우] WMI 복구하기 1 6,575 08-20
43 윈도우7 에서 WinDivert 2.2 관련 오류 발생시 12,490 07-10
42 [워드프레스] 회원가입시 닉네임 필드 추가하기 2,547 09-21
41 [그누보드] 임의로 테마설정하기 2,542 09-16
40 [그누보드] CKEditor 5 플러그인 4,916 08-27
39 [그누보드] 클라우드플레어(Cloudflare) 사용시 아이피 주소 및 URL Schemes 정정 5,863 07-27
38 [PHP] 변수를 텍스트로 저장 및 캐시로 사용하기 3,159 06-30
37 시크릿SNI 화이트 리스트 등록하기 2 14,348 06-29
36 [PHP] 지정 폴더 내 PHP 파일 최종 수정일 확인하기 2,158 06-20
35 [그누보드] 훅을 통한 글쓰기, 댓글 알림 70,616 05-26
34 [PHP] CDN 간단히 구축하기 2,787 05-21
33 [그누보드] Syntax Highlight 적용하기 75,100 05-19
32 [워드프레스] 단어 수정하기 2,378 05-19
31 WinDivert1.4 서비스 종료 9,941 02-24
30 ChangeDNS 12,041 10-22
29 [PHP] 파일형 멀티(?) 카운터 19,922 08-31
28 GChat 타이틀 글자 바꾸기 18,887 12-06
27 IFRAME 사용시 길호챗이 안될경우 17,079 11-13
26 SP2 팝업차단 무시하고 팝업띠우기?! 2 23,517 07-22
25 악성코드 치료 2 17,437 05-30
열람 운영자가 접속중인 회원에게 1:1 대화 및 채팅방으로 초대 5 19,660 04-26
23 길호넷에서 제공되는 클립 맹글기!! 16,895 04-22
22 비밀방 개설시 오류가 생기는경우!!! 3 15,510 04-20
21 [펌] HTTP 에러 코드표 22,023 04-20
20 [펌] DNS설정으로 인터넷 빠르게!(설정법포함) 14,816 04-06
19 MSN 메신저 한글 안먹힐때 9,305 03-07
18 현재 운영중인 길호챗 IRC에서 클릭시 로그인으로 요청하는방법! 6,721 07-23
17 로그인 후에 하얀화면만 나와요. 6,397 11-14
16 새창띠우신분들은... 6,172 11-13
15 OnLoad 충돌시. 제목읽기만 나오고 그대로 멈춘경우 ^^ 9 7,585 11-10
목록