웹마스터 팁
개인쪽지발송!~
2009.06.23 09:44
그룹쪽지 발송을 위해서 우선은 개인발송 테스트로 만든 소스 공유 합니다.
( 사실 ㅡ.ㅡ:: 이렇게 하면 안되는데 딱히 제로보드XE 구조를 몰라서 ;;;; )
아래의 소스를 message.php 저장을 하시고요!~
제로보드XE 설치폴더 밑에 저장하세요~ (아무곳이나 저장해도 상관 없을꺼예요)
그런다음에 http://주소/제로보드XE설치폴더/message.php 하시면 바로 해당 회원에게 쪽지 발송이 됩니다.
<?
/* 초기설정 (아래내역 작성하여 주세요) */
$admin_user = ""; //관리자 아이디를 입력하여 주세요
$dbhost = "localhost"; //호스트를 입력
$dbid = ""; //접속계정
$dbpass = ""; //비밀번호
$dbname = ""; //DB네임
$xe_url = "/usr/local/apache_2.0.63/htdocs/slot/config/config.inc.php"; //config.inc.php 파일이 있는 절대경로(이건 제껄 예로 든거예요 저기서 slot 이 zbxe 설치폴더)
/* 제로보드XE 연동 */
define('__ZBXE__',true);
require_once($xe_url);
$oContext = &Context::getInstance();
$oContext->init();
$user_id = $logged_info->user_id;
?>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<?
//관리자체크
if($user_id!=$admin_user){
echo "<script>alert('관리자만 접근이 가능 합니다.')</script>\n";
exit;
}
/* DB 접속 */
$connect=mysql_connect($dbhost,$dbid,$dbpass);
mysql_select_db($dbname, $connect);
mysql_query("set names utf8", $connect); //문자셋 utf8 접속
/* 시간 */
$regdate=time();
/* 함수 정의 */
//보내는회원, 받는회원, 제목, 내용, 발송시간
function message_send($sender_srl,$receiver_srl,$title,$content,$time){
$i=2;
$idate = date("YmdHis",$time);
//테이블락
mysql_query("lock tables xe_sequence write, lock tables xe_member_message write");
//증가값 추가
mysql_query("INSERT INTO xe_sequence (seq) VALUES (NULL),(NULL),(NULL);");
//마지막 추가한 증가값 3개 가져옴
$result = mysql_query("SELECT * FROM xe_sequence ORDER BY seq DESC LIMIT 0 , 3");
//증가값 대입
while ($row = mysql_fetch_object($result)) {
$seq[$i] = $row->seq;
$i--;
}
$seq[3] = $seq[0] * -1; //$seq[0] 동일
$seq[4] = $seq[2] * -1; //$seq[2] 동일
//메세지삽입
mysql_query("INSERT INTO xe_member_message (message_srl ,related_srl ,sender_srl ,receiver_srl ,message_type ,title ,content ,readed ,list_order ,regdate) VALUES ($seq[0], 0, $sender_srl, $receiver_srl, 'R', '$title', '$content', 'N', $seq[3], '$idate');");
mysql_query("INSERT INTO xe_member_message (message_srl ,related_srl ,sender_srl ,receiver_srl ,message_type ,title ,content ,readed ,list_order ,regdate) VALUES ($seq[1], $seq[0], $sender_srl, $receiver_srl, 'S', '$title', '$content', 'N', $seq[4], '$idate');");
//락해제
mysql_query("UNLOCK TABLES");
}
/* 개인 메세지 발송 (요기부터 작성하시면 됩니다) */
$title = "쪽지 테스트!!~";
$content = "흠냥!! ㅡ.ㅡ";
//보내는회원_srl, 받는회원_srl, 쪽지제목, 쪽지내용, 보내는시간(자동입력)
message_send(4,18343,$title,$content,$regdate);
echo "<script>alert('쪽지 발송 완료')</script>\n";
mysql_close($connect);
?>
위에 보시면 $title 변수에 제목을 넣어 주시고요, $content 변수에 내용을 넣어 주시면되요(태그포함)
message_send(4,18343,$title,$content,$regdate); <-- 이함수로 발송을 하거든요 ㅡㅡa
보시는 것 처럼 인수는 보내는회원_srl, 받는회원_srl, 쪽지제목, 쪽지내용, 보낸시간 입니다.
제목이랑, 내용은 작성이 가능하실줄 알고요, 시간은 그대로 두셔도 됩니다(발송시간을 변경 하고 싶으시면 ㅡㅡa 소스보고 수정을)
srl 궁금하실것 같으신데요
srl = id 랑 매치되는 고유 번호 인데요 ㅡㅡa 보통 쪽지 보내기 하면은 마지막 url 보시면 srl=번호 이렇게 되어 있습니다.
ㅡㅡa 아이디로 넣어서 함수에서 처리 할까 했는데 제가 하고 싶은건 그룹발송이라 일단은 그냥 대충 ;;;;
저렇게 하고 그냥 불러 오시면 바로 쪽지 발송이 가능 합니다.