웹마스터 팁

개인쪽지발송!~

2009.06.23 09:44

noirzo

그룹쪽지 발송을 위해서 우선은 개인발송 테스트로 만든 소스 공유 합니다.

( 사실 ㅡ.ㅡ:: 이렇게 하면 안되는데 딱히 제로보드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 아이디로 넣어서 함수에서 처리 할까 했는데 제가 하고 싶은건 그룹발송이라 일단은 그냥 대충 ;;;;

 

저렇게 하고 그냥 불러 오시면 바로 쪽지 발송이 가능 합니다.

 

 

제목 글쓴이 날짜
첨부 파일 용량 문제 - 이것도 저것도 않될때 [4] file DeJavu346 2009.01.22
주민등록 입력 폼 1.2.0 [55] file 개돌 2009.04.10
개인쪽지발송!~ noirzo 2009.06.23
제로보드 2.3 에서 2.5 변경사항 데이터 테이블 구조 변경사항 체크를 정리해봅니다. [4] 도토리나무 2007.11.09
첨부파일 기능에 대한 짧은 정보 [3] 고라리 2007.11.09
외부페이지에서 위젯사용하지 않고 로그인 정보 다루기. [5] [1] 길치객 2007.12.12
외부프로그램(페이지)에서 zbxe 로그인 정보 연동하기 [33] file 도데군 2007.12.23
제로보드에서 로그인후 테크노트에서 로그인정보 사용하기 [4] JinHoHan 2007.12.26
[전면수정]회원가입시 기본 정보공개 여부 체크하기(1) 모듈부분 [5] 대암지기 2008.02.20
[정식 버전 1.0.0][완결편]회원가입시 기본 정보공개 여부 체크하기(1) 모듈부분 [4] 대암지기 2008.02.24
[정식 버전 1.0.0] 회원 정보에서 ID 변경하기(1) 모듈부분 [1] 대암지기 2008.02.27
회원 가입 임시 제한 일자 버그 수정 방법 [2] file 껄껄껄 2008.04.13
제한된 시간 안에 글을 또 등록할 때 IP 금지 기능(스팸필터) 해제하기 [3] 비나무 2008.05.03
[1원짜리팁] 큰 이미지 썸네일 못생성& 확장변수 원하는 곳에 배치하기 ^^ [2] 파파민 2008.06.23
각 리스트형 위젯에 페이지 기능을 달자. [10] 라르게덴 2008.09.02
제로보드XE가입 -> 트랙자동가입 기능 개돌 2008.10.14
회원 순위 공동순위 표시해서 뽑기(원리만 소개) 라르게덴 2009.02.13