rand(life)
제로보드에서 실시간 쪽지확인 방법 결정판 본문
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=실시간
위의 주소에서 real_time.zip을 다운받는다.
real_time 폴더는 아웃로긴 스킨 폴더속에 넣고 (소리가 나게하려면 다른 아웃로그인폴더안의 /image폴더를 복사해서 넣는다)
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>