BOARD

팁·활용

그누보드 게시글 삭제 시 관리자 SMS 알림 구현 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 3회 작성일 26-10-16 15:00

본문

그누보드 게시글 삭제 시 관리자 SMS 알림 구현 방법

그누보드 게시판에서 일반 사용자가 글을 삭제할 때 관리자에게 SMS 문자를 발송하는 기능을 구현하는 방법을 알아봅니다.

게시글 삭제 시 관리자 SMS 알림 구현 방법

그누보드 게시판에서 사용자가 등록한 글을 삭제할 때 관리자에게 SMS 문자를 발송하려면, 적용하고자 하는 게시판 스킨 폴더에 delete.skin.php 파일을 생성하거나 추가해야 합니다.

1. 스킨 파일 생성 및 적용

  • 사용하려는 게시판 스킨 폴더 안에 delete.skin.php 파일을 추가합니다.
  • 만약 delete.skin.php 파일을 이미 사용 중이라면 기존 파일을 덮어쓰지 말고 관련 삭제 이벤트 및 SMS 발송 로직 코드만 복사하여 추가해야 합니다.

2. 문자 내용 및 발송 로직 구성

  • delete.skin.php 파일 상단에 아이코드 라이브러리를 호출하고 문자 내용을 설정하는 로직을 추가합니다.
  • 예시 코드:
    if (!defined("_GNUBOARD_")) exit;
    include_once(G5_LIB_PATH.'/icode.sms.lib.php');
    
    if (!$is_admin) {
    $sms_contents = '['.$board['bo_subject'].'] '.$write['wr_name'].'님이 글을 삭제했습니다.';
    $SMS = new SMS; 
    $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']);
    $SMS->Add($config['cf_admin_hp'], $config['cf_phone'], $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_contents)), "");
    $SMS->Send();
    }
  • 위 코드는 관리자 설정(cf_admin_hp)으로 문자를 발송하며, 아이코드 연동을 위해 관리자 페이지의 'SMS 기본설정'이 완료되어 있어야 합니다.

3. 예외 조건

  • 관리자가 직접 게시글을 삭제한 경우에는 SMS 문자가 발송되지 않습니다.

관리자 삭제 시 SMS 미발송 예외 처리

그누보드에서 게시판 스킨을 통해 게시글 삭제 시 관리자에게 SMS 알림을 발송하도록 설정한 경우, 관리자가 직접 삭제한 글에는 문자가 발송되지 않습니다.

이는 그누보드의 기본 삭제 처리 파일(bbs/delete.php) 내부에서 관리자 권한 체크 조건(!$is_admin)과 연동되어 스킨 파일(delete.skin.php)이 동작하기 때문입니다. 따라서 일반 사용자가 글을 삭제할 때만 지정된 문자 내용($sms_contents)에 따라 관리자에게 알림이 전송되며, 관리자가 직접 삭제를 수행하는 경우에는 불필요한 알림 문자가 발송되지 않습니다.

내 상황

그누보드 5 게시판에서 사용자가 글을 삭제할 때 관리자에게 SMS 알림을 보내고 싶음.

선택 기준

  • 게시판 스킨 폴더 내 delete.skin.php 파일 활용: 삭제 이벤트 발생 시점에 SMS 발송 로직을 실행.
  • 관리자 권한 예외 처리: 관리자가 직접 삭제하는 경우 알림 발송 제외.

다음 행동

  1. 파일 확인 및 생성: 적용할 게시판 스킨 폴더에 delete.skin.php가 있는지 확인하고, 없으면 생성합니다.
  2. 로직 추가: 파일 상단에 $sms_contents 변수로 문자 내용을 정의하고, 아이코드(icode) 연동 라이브러리를 호출하여 발송 로직을 작성합니다.
  3. 권한 확인: 관리자 삭제 시 발송되지 않도록 !$is_admin 조건을 포함하여 구현합니다.

Q. 관리자가 직접 삭제한 글도 문자가 발송되나요?

  • 답변: 아니요, 발송되지 않습니다. 그누보드 기본 삭제 로직(bbs/delete.php)에서 관리자 권한($is_admin)을 체크하여 스킨 파일의 동작을 제어하므로, 관리자가 삭제할 때는 알림이 전송되지 않습니다.

Q. 전체 코드가 제공되지 않는데 어떻게 구현하나요?

  • 답변: 본 팁은 스킨 파일 내 삭제 이벤트 시점에 SMS 발송 로직을 삽입하는 구조를 안내합니다. 아이코드 연동을 위한 구체적인 라이브러리 호출 및 전송 함수 사용법은 그누보드 관리자 페이지의 'SMS 기본설정'과 연동된 기존 라이브러리(icode.sms.lib.php)를 참조하여 구성해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.