* 글에 앞서 이 기능은 오픈프로젝트 기반의 "평생무료" 이며 스팸방지 이외에 개인 정보 수집이나 가입유도 목적이 절대 없음을 알립니다.

-----------------------------------------------------------------------------------------------------------------------

안녕하세요.
제로보드 4에서 회원가입, 게시물 신규등록 등 이벤트에 대한 알림 방법을 설명 드리겠습니다.

순서대로 따라하시면 됩니다.


1. 소리라떼( http://www.sorilatte.com/)에 회원가입 후 아래와 같은 코드를 발급 받습니다.
코드 발급은 ADD-On 메뉴 > 웹플러그인 에서 로그인 후 [사용하기] 버튼을 이용해서 가능합니다.


사용하기를 누르면 위와 같이 고유 세션 ID가 발급됩니다. 


2. 필요한 URL은 다음과 같이 조합 됩니다. 



 빨간색으로 된 부분만 본인의 상황과 맞게 바꾸어 주면 됩니다.
 - YOUR_ID : 소리라떼 로그인 ID
 - YOUR_SESSION_ID : 1번에서 발급받은 고유 세션 ID
 - 받는사람 : 알림을 받을 휴대폰 번호 ( 자신의 핸드폰 번호)
 - 수신번호 : 받는사람 휴대폰에 표시 될 발신번호

3. 자신의 휴대폰에 아래와 같이 입력한다.

  1) 휴대폰의 주소록에서 신규로 그룹을 추가합니다. "소리라떼" 라고 입력해서 그룹을 만듭니다.
  2) 신규 전화번호를 등록합니다. 이때 전화번호는 본인이 원하는 아무번호나 상관없습니다. 단지 평소에
     본인이  사용하지 않는 번호면 좋습니다. 여기서는 010-123-1234 라고 정합니다.
     이 의미는 나중에 보시면 아시겠지만 내 휴대폰에 010-123-1234라는 번호로 전화가 오면 신규회원가입
     이라는걸 알려줄 수 있기 위해 미리 만들어 놓는것입니다.
  3) 2번과 같이 번호만 다르게 하고 게시판글 등록, 답글 등록, 리플 등록등 주소록에 추가합니다.
      여기서는 010-123-1234 는 신규회원가입, 010-234-2345는 게시판글등록, 010-345-3456은 답글등록으로
      사용하도록 하겠습니다.


4. 제로보드 소스를 다음과 같이 추가합니다. 
 - 노란부분을 추가 하고 노란부분 안의 빨간색은 자신의 값을 넣도록 합니다. 

  ● member_join_ok.php
   
   mysql_query("insert into $member_table (level,group_no,user_id,password,name,email,homepage,icq,aol,msn,jumin,comment,job,hobby,home_address,home_tel,office_address,office_tel,handphone,mailing,birth,reg_date,openinfo,open_email,open_homepage,open_icq,open_msn,open_comment,open_job,open_hobby,open_home_address,open_home_tel,open_office_address,open_office_tel,open_handphone,open_birth,open_picture,picture,open_aol) values ('$group_data[join_level]','$group_data[no]','$user_id',password('$password'),'$name','$email','$homepage','$icq','$aol','$msn',password('$jumin'),'$comment','$job','$hobby','$home_address','$home_tel','$office_address','$office_tel','$handphone','$mailing','$birth','$reg_date','$openinfo','$open_email','$open_homepage','$open_icq','$open_msn','$open_comment','$open_job','$open_hobby','$open_home_address','$open_home_tel','$open_office_address','$open_office_tel','$open_handphone','$open_birth','$open_picture','$picture_name','$open_aol')") or error("회원 데이타 입력시 에러가 발생했습니다
".mysql_error());
 mysql_query("update $group_table set member_num=member_num+1 where no='$group_data[no]'");

 if(!$mode) {
  $member_data=mysql_fetch_array(mysql_query("select * from $member_table where user_id='$user_id' and password=password('$password')"));

  // 4.0x 용 세션 처리
  $zb_logged_no = $member_data[no];
  $zb_logged_time = time();
  $zb_logged_ip = $REMOTE_ADDR;
  $zb_last_connect_check = '0';

  session_register("zb_logged_no");
  session_register("zb_logged_time");
  session_register("zb_logged_ip");
  session_register("zb_last_connect_check");
 }


 mysql_close($connect);
 
  // 서버 설정에 따라 file() 함수의 사용이 가능하게 한다.
  ini_set("allow_url_fopen","1");

  // 주의: 아래 내용을 인코딩 하지 않을 경우 빈칸 때문에 명령이
  // 짤려서 전송이 안될 경우가 있습니다.
 
$url="http://wp.sorilatte.com/?userid=본인ID&sessid=발급받은세션ID&type=1&name=제로보드회원가입알림&targetnum=받는사람번호&callbacknum=0101231234&ringterm_level=1";    // <-이부분의 값은 본인의 값으로 수정, 신규회원가입이니 3번에 정한것처럼 010-123-1234번으로 callbacknum으로 지정하였습니다. 단!! 전화번호사이에 -는 없도록 합니다.

  $sender = file($url);
?>


● write_ok.php/***************************************************************************
 * 답변글일때
 **************************************************************************/
  // 답글 데이타 입력;;
    mysql_query("Insert Into $t_board"."_$id (division,headnum,arrangenum,depth,prev_no,next_no,father,child,ismember,memo,ip,password,name,homepage,email,subject,use_html,reply_mail,category,is_secret,sitelink1,sitelink2,file_name1,file_name2,s_file_name1,s_file_name2,x,y,reg_date,islevel) values ('$division','$headnum','$arrangenum','$depth','$prev_no','$next_no','$father','$child','$member[no]','$memo','$ip','$password','$name','$homepage','$email','$subject','$use_html','$reply_mail','$category','$is_secret','$sitelink1','$sitelink2','$file_name1','$file_name2','$s_file_name1','$s_file_name2','$x','$y','$reg_date','$member[is_admin]')") or error(mysql_error());    
                                
  // 서버 설정에 따라 file() 함수의 사용이 가능하게 한다.
  ini_set("allow_url_fopen","1");

  // 주의: 아래 내용을 인코딩 하지 않을 경우 빈칸 때문에 명령이
  // 짤려서 전송이 안될 경우가 있습니다.
  $url="
http://wp.sorilatte.com/?userid=본인ID&sessid=발급받은세션ID&type=1&name=제로보드답글알림&targetnum=받는사람번호&callbacknum=0103453456&ringterm_level=1";    // <-이부분의 값은 본인의 값으로 수정, 신규회원가입이니 3번에 정한것처럼 010-345-3456번으로 callbacknum으로 지정하였습니다. 단!! 전화번호사이에 -는 없도록 합니다.
     
   $sender = file($url);

        
  // 원본글과 원본글의 아래글의 속성 변경;;
  $no=mysql_insert_id();
  mysql_query("update $t_board"."_$id set child='$no' where no='$s_data[no]'");
  mysql_query("update $t_category"."_$id set num=num+1 where no='$category'",$connect);




/***************************************************************************
 * 신규 글쓰기일때
 **************************************************************************/

  mysql_query("insert into $t_board"."_$id (division,headnum,arrangenum,depth,prev_no,next_no,father,child,ismember,memo,ip,password,name,homepage,email,subject,use_html,reply_mail,category,is_secret,sitelink1,sitelink2,file_name1,file_name2,s_file_name1,s_file_name2,x,y,reg_date,islevel) values ('$division','$headnum','$arrangenum','$depth','$prev_no','$next_no','$father','$child','$member[no]','$memo','$ip','$password','$name','$homepage','$email','$subject','$use_html','$reply_mail','$category','$is_secret','$sitelink1','$sitelink2','$file_name1','$file_name2','$s_file_name1','$s_file_name2','$x','$y','$reg_date','$member[is_admin]')") or error(mysql_error());
  $no=mysql_insert_id();
 
 // 서버 설정에 따라 file() 함수의 사용이 가능하게 한다.
  ini_set("allow_url_fopen","1");

  // 주의: 아래 내용을 인코딩 하지 않을 경우 빈칸 때문에 명령이
  // 짤려서 전송이 안될 경우가 있습니다.
  $url="
http://wp.sorilatte.com/?userid=본인ID&sessid=발급받은세션ID&type=1&name=제로보드신규글알림&targetnum=받는사람번호&callbacknum=0102342345&ringterm_level=1";    // <-이부분의 값은 본인의 값으로 수정, 신규회원가입이니 3번에 정한것처럼 010-345-3456번으로 callbacknum으로 지정하였습니다. 단!! 전화번호사이에 -는 없도록 합니다.
     
   $sender = file($url);
 
  // 현재글의 조회수를 올릴수 없게 세션 등록
  $hitStr=",".$setup[no]."_".$no;
  $zb_hit=$HTTP_SESSION_VARS["zb_hit"].$hitStr;
  session_register("zb_hit");



5. 위와 같이 수정 후 테스트 해봅시다. 그럼 아래와 같이 자신의 휴대폰에 나올것입니다.
본인이 수정한 본인의 사이트에서 회원가입으로 테스트를 해보십시요. 가입을 하면 전화가 올것입니다.

 위와같이 전화가 잠깐 왔다가 끊어집니다. 그럼 부재중 전화 1통으로 남게 됩니다.
 이로써 부재중 전화를 보면 신규회원가입이 되었다는걸 알수가 있습니다.




이것으로 소리라떼 웹 플러그인을 이용해 제로보드 4에 알림 기능을 추가 하였습니다.
이번 강좌에서는 게시판과 회원가입시 코드만 보여드렸습니다. 이 2가지만 보면 나머지는 알아서
하실 수 있을꺼라 생각하여 생략하였습니다.
이 기능을 이용해 더욱 확장 기능을 만들려고 하신다면 예를들어 자신의 글에 답글이나 리플이
달릴 경우 글쓴이에게 알려주는 기능도 만들 수 있을것입니다. 
많은 기능을 만드셔서 저희사이트의 커뮤니티>자작 플러그인에 공개해주십시요^^
 
좋은 정보 많은 공유 부탁드리겠습니다.



원본글은 http://www.sorilatte. com/?article_srl=975 입니다

자세한 메뉴얼은
http://update.sorilatte.com/download/WEBPlugInManual.ppt
에서 다운받으실 수 있습니다.



뭐.. 응용하면 다른 게시판도 가능하겠죠..;;

,