rand(life)

제로보드에서 실시간 쪽지확인 방법 결정판 본문

컴퓨터

제로보드에서 실시간 쪽지확인 방법 결정판

flogsta 2007. 5. 6. 00:02

1. 새로운 글 올라오면 관리자에게 쪽지보내기

제로보드디렉토리의 write_ok.php를 열고 하단의

// MySQL 닫기

바로 윗줄에 아래의 소스를 추가 합니다.

 

 

// 글쓰면 운영자에게 쪽지보내기.

        if($mode=="write"||$mode=="reply"){

        $m_masters=mysql_query("select * from $member_table where is_admin=1||(is_admin=2&&group_no='$group_data[no]')",$connect);

        $m_masters_num=mysql_affected_rows();

        $m_date = date("Y년 m월 d일 H시 i분 s초", $reg_date);

        $m_subject = "새글이 등록되었습니다.";

        $m_memo = "<b>작성시간</b> : ".$m_date."\n\n<b>작성자이름</b> : ".$name."\n\n<b>게시판아이디</b> : ".$id."\n\n<b>제목</b> : ".$subject."\n\n<b>내용</b> : ".$memo."\n\n<a onclick=\"opener.location.href= \'$view_file_link?id=$id&page=$page&page_num=$page_num&select_arrange=$select_arrange&desc=$des&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&no=$no&category=$category\'\" href=\"JavaScript:window.close()\">[<font color=orange><b>바로가기</b></font>]</a>";

        for($m_i=0;$m_i<$m_masters_num;$m_i++){

                mysql_data_seek($m_masters,$m_i);

                $m_master_info=mysql_fetch_array($m_masters);

                mysql_query("insert into $get_memo_table (member_no,member_from,subject,memo,readed,reg_date) values ($m_master_info[no],1,'$m_subject','$m_memo',1,'$reg_date')") or error(mysql_error());

                mysql_query("insert into $send_memo_table (member_to,member_no,subject,memo,readed,reg_date) values ($m_master_info[no],1,'$m_subject','$m_memo',1,'$reg_date')") or error(mysql_error());

                mysql_query("update $member_table set new_memo=1 where no=$m_master_info[no]") or error(mysql_error());

        } }

 

 

2. 코멘트(댓글) 달리면 해당게시물 작성자와 관리자에게 쪽지보내기

제로보드디렉토리의 comment_ok.php를 열고 하단의

@mysql_close($connect); 라는 소스 바로 윗줄에 아래의 소스를 추가합니다.

 

 

// 코멘트달면 운영자에게 쪽지보내기.

        $m_masters=mysql_query("select * from $member_table where is_admin=1||(is_admin=2&&group_no='$group_data[no]')",$connect);

        $m_masters_num=mysql_affected_rows();

        $m_date = date("Y년 m월 d일 H시 i분 s초", $reg_date);

        $m_subject = "새 코멘트가 작성되었습니다.";

        $m_memo = "작성시간 : ".$m_date."\n\n작성자이름 : ".$name."\n\n내용 : <b><u><font color=blue>".$name."</font></u></b> 님이 <b><u><font color=blue>".$id."</font></u></b>게시판에\n\n<a onclick=\"opener.location.href= \'$view_file_link?id=$id&page=$page&page_num=$page_num&select_arrange=$select_arrange&desc=$des&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&no=$no&category=$category\'\" href=\"JavaScript:window.close()\"><font color=999999>".$memo."</font></a>\n\n라고 코멘트를 남기셨습니다.";

        for($m_i=0;$m_i<$m_masters_num;$m_i++){

                mysql_data_seek($m_masters,$m_i);

                $m_master_info=mysql_fetch_array($m_masters);

                mysql_query("insert into $get_memo_table (member_no,member_from,subject,memo,readed,reg_date) values ($m_master_info[no],1,'$m_subject','$m_memo',1,'$reg_date')") or error(mysql_error());

                mysql_query("insert into $send_memo_table (member_to,member_no,subject,memo,readed,reg_date) values ($m_master_info[no],1,'$m_subject','$m_memo',1,'$reg_date')") or error(mysql_error());

                mysql_query("update $member_table set new_memo=1 where no=$m_master_info[no]") or error(mysql_error());

        }

 

 

 

 

 

 

 

<쪽지왔을때 소리로 알리는 방법>

 

----- 외부로그인 -----

 

아래 태그를 복사하여 해당 outlogin skin의 logged.html의 맨 아래 부분에 삽입해주세요...

 

=== 여기부터 ===

 

<script language=javascript>

var memo = '[memo]';

memolength=memo.length-33;

if (memo.substring(memolength,memolength+2)=='on' ) {

window.open('제로보드/member_memo.php','member_memo','width=450,height=500,status=no,toolbar=no,resizable=yes,scrollbars=yes')

}

</script>

 

=== 요기까지===

 

 

 

----- 자체로그인 (게시판) -----

 

 

아래 태그를 복사하여 skin내의 해당게시판 skin의 setup.php의 맨아래부분에 삽입해주세요...

 

=== 여기부터 ===

 

<? if($member[new_memo])  echo("<script language='JavaScript'>

<!--

{

        memoWindow  =  window.open('member_memo.php ','memo','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=460,height=520');

      

}

// --></SCRIPT>");

?>

 

=== 요기까지 ===

 

 

 

 

 

<외부로그인적용법>

다음을 C:\APM_Setup\htdocs\bbs\skin\nzeo_ver4_bbs 아래의 setup.php 에 삽입

 

 

<?

   $_zb_url = "제로보드가 설치된 url";

   $_zb_path = "제로보드가 설치된 절대경로";

   include $_zb_path."outlogin.php";

?>

            

 

 

<실시간 쪽지 확인 >--리프레시방법이용

 

다음을 C:\APM_Setup\htdocs\bbs\skin\nzeo_ver4_bbs 아래의 setup.php 에 삽입

 

<script language='javascript'>

window.setTimeout('window.location.reload()',10000); //10초마다 소리없이 리플리쉬 시킨다. (1000 = 1초).

</script>

 

<?

require "/제로보드의 절대경로/lib.php";

if(!$connect) $connect = dbConn();

$member = member_info();

 

if($member[new_memo]) { ?>

<script>

window.open('제로보드URL/member_memo.php','member_memo','width=450,height=500,resizable=yes,scrollbars=yes');

</script>

<? $memo_on_sound = "";

} else {$memo_on_sound="";}

 

echo $memo_on_sound;

?>



---> 위의 방법은 페이지 전체를 리로드하므로, 문제가 있다. NZEO게시판에서 가져온 팁으로 빈 아웃로그인만 로딩하는 방법을 사용할 수도 있다.
http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=실시간

&select_arrange=headnum&desc=asc&no=4378
위의 주소에서 real_time.zip을 다운받는다.

real_time 폴더는 아웃로긴 스킨 폴더속에 넣고  (소리가 나게하려면 다른 아웃로그인폴더안의 /image폴더를 복사해서 넣는다)
real_time.php는 상단의 아웃로긴 경로를 자신의 환경에 맞춘 다음에 아무 곳(예:제로보드 폴더) 속에 넣는다.

real_time.php 의 내용
<?
   $_zb_url = "http://192.168.0.1/bbs/";
   $_zb_path = "c:/apm_setup/htdocs/bbs/";
   include $_zb_path."outlogin.php";
?>
<!-- 소리없이 창을 리플레쉬 -->
<script language='javascript'>
window.setTimeout('window.location.reload()',1000); //소리없이 리플리쉬 시킨다.(1000 = 1초).
</script>
<? print_outlogin("real_time", 1, 10) ?>


게시판만 사용할 것이므로, C:\APM_Setup\htdocs\bbs\skin\nzeo_ver4_bbs 아래의 setup.php 를 열어 다음을 원하는 위치에 아이프레임으로 넣는다.

<iframe src="/bbs/real_time.php" frameborder="0" name="real_time" width="0" height="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>