BOARD

팁·활용

그누보드 기존 등록된 전체 글 일괄 비밀글 처리 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 4회 작성일 26-10-27 15:35

본문

그누보드 기존 등록된 전체 글 일괄 비밀글 처리 방법

그누보드 5에서 이미 공개로 등록된 게시판의 전체 글을 일괄적으로 비밀글로 전환하려는 운영자·개발자를 위해, DB 쿼리를 이용해 기존 글들의 옵션을 일괄 수정하는 구체적인 절차를 안내합니다.

그누보드 기존 등록된 전체 글 일괄 비밀글 처리 방법

그누보드에서 관리자 페이지의 게시판 설정만 변경하면 새로 작성되는 글에는 비밀글 기능이 적용되지만, 이미 등록되어 있던 기존 게시글들의 wr_option 상태는 변경되지 않아 공개 상태로 남게 됩니다. 이를 해결하려면 데이터베이스 쿼리를 실행하여 기존 글들의 옵션을 일괄 변경해야 합니다.

1. extend/user.config.php 파일 수정 준비

그누보드 설치 경로 내 extend/user.config.php 파일을 엽니다. 파일 상단에 있는 다음 코드가 있는지 확인합니다.

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

2. 일괄 업데이트 쿼리 코드 추가

위 코드 바로 아래에 대상 게시판의 에디터 사용 여부와 테이블 접두사에 맞춰 아래 코드 중 하나를 추가합니다.

  • 에디터가 적용된 게시판일 때
sql_query(" update g5_write_free set wr_option = 'html1,secret' ");
  • 에디터가 적용되지 않은 게시판일 때
sql_query(" update g5_write_free set wr_option = 'secret' ");

주의사항 및 조건별 수정

  • 코드 안의 g5_write_free에서 free 부분을 비밀글로 전환하려는 실제 게시판 아이디로 변경합니다 (예: 묻고 답하기 게시판인 경우 g5_write_qa).
  • 그누보드 설치 시 테이블 명의 접두사를 기본값인 g5_가 아닌 다른 문자열로 변경했다면, 쿼리 문의 g5_ 부분도 해당 접두사로 수정해야 합니다.

3. 코드 실행 및 후속 조치

  1. 코드를 수정하고 저장한 뒤 서버에 업로드합니다.
  2. 그누보드 웹사이트의 아무 페이지나 접속하여 새로고침을 수행하면 쿼리가 실행되어 기존 글들이 일괄 비밀글로 전환됩니다.
  3. 비밀글 변경이 정상적으로 완료된 것을 확인한 후, 추가했던 코드는 반드시 파일에서 삭제해야 합니다. 코드를 그대로 두면 페이지를 새로고침할 때마다 불필요한 쿼리가 계속 실행됩니다.

그누보드 기존 등록된 전체 글 일괄 비밀글 처리 방법

그누보드 5 환경에서 게시판 설정을 비밀글로 변경하더라도 이미 등록된 기존 게시글들의 옵션(wr_option)은 자동으로 변경되지 않아 공개 상태로 남게 됩니다. 이를 해결하기 위해 extend/user.config.php 파일을 수정하여 데이터베이스 쿼리를 일괄 실행하는 방법을 사용합니다.

1. 적용 방법

extend/user.config.php 파일 상단의 if (!defined('_GNUBOARD_')) exit; 바로 아래에 아래 코드를 추가합니다. 상세한 적용 조건과 주의사항은 [Q1]을 참고하십시오.

  • 에디터 사용 게시판: sql_query(" update g5_write_게시판아이디 set wr_option = 'html1,secret' ");
  • 에디터 미사용 게시판: sql_query(" update g5_write_게시판아이디 set wr_option = 'secret' ");

2. 주의사항

  • 게시판 아이디 및 접두사: g5_write_게시판아이디 부분을 실제 운영 중인 게시판 테이블명으로 정확히 수정해야 합니다.
  • 작업 후 조치: 사이트 페이지 새로고침 후 변경이 확인되면, 서버 부하 방지를 위해 추가한 코드를 즉시 삭제하십시오.

그누보드 기존 등록 글 일괄 비밀글 처리 및 마무리 방법

그누보드에서 게시판 설정을 변경하더라도 이미 등록된 기존 개별 게시글의 wr_option 값은 자동으로 변경되지 않아 공개 상태로 남게 됩니다. 이를 해결하기 위해 데이터베이스 쿼리를 일괄 실행한 뒤, 반드시 후속 작업을 거쳐야 합니다.

1. 일괄 비밀글 적용 및 서버 반영

  1. extend/user.config.php 파일을 수정하여 상단에 위치한 if (!defined('_GNUBOARD_')) exit; 바로 아래에 SQL 쿼리 코드를 추가합니다.
    • 에디터가 적용된 게시판인 경우:
    sql_query(" update g5_write_free set wr_option = 'html1,secret' ");
    • 에디터가 적용되지 않은 게시판인 경우:
    sql_query(" update g5_write_free set wr_option = 'secret' ");
  2. 위 코드의 g5_write_free 부분을 적용하려는 실제 게시판 아이디(g5_write_게시판id)로 변경합니다. (예: g5_write_qa)
  3. 그누보드 설치 시 테이블 명 접두사를 변경했다면 g5_ 부분도 해당 접두사로 수정합니다.
  4. 파일을 서버에 업로드한 후, 그누보드 사이트의 아무 페이지나 접속하여 새로고침을 수행합니다.

2. 작업 완료 후 마무리 및 주의사항

  • 새로고침을 통해 정상적으로 비밀글 변경이 완료되었는지 확인한 뒤, 추가했던 코드는 반드시 삭제해야 합니다. 코드를 그대로 두면 페이지를 방문할 때마다 쿼리가 반복 실행되어 오류나 성능 저하가 발생할 수 있습니다.
  • 테이블 명이나 접두사가 기본 g5_와 다를 경우 반드시 환경에 맞게 직접 수정해야 합니다.

상황별 판단 및 행동 가이드

내 상황우선할 판단다음 행동
에디터를 사용하지 않는 게시판의 기존 글을 일괄 비밀글로 전환해야 함wr_option을 secret 단일 값으로 업데이트extend/user.config.php에 sql_query(" update g5_write_게시판아이디 set wr_option = 'secret' "); 코드를 추가한 후 사이트 페이지 새로고침 수행
에디터를 사용하는 게시판의 기존 글을 일괄 비밀글로 전환해야 함wr_option에 html1,secret 복합 옵션 반영extend/user.config.php에 sql_query(" update g5_write_게시판아이디 set wr_option = 'html1,secret' "); 코드를 추가한 후 사이트 페이지 새로고침 수행
일괄 업데이트 쿼리 실행이 완료됨페이지 새로고침 시 반복 실행 방지 및 보안 유지extend/user.config.php 파일에 추가했던 쿼리 코드를 즉시 삭제하고 서버에 반영
기본 g5_가 아닌 커스텀 테이블 접두사를 사용 중임데이터베이스 테이블명 일치 여부 확인쿼리 문의 g5_write_ 부분을 실제 운영 중인 설치 접두사와 게시판 아이디에 맞게 직접 수정

실전 FAQ

Q. 코드를 추가하고 새로고침을 했는데도 기존 글이 비밀글로 바뀌지 않습니다.

  • A: 쿼리 문 안의 테이블 명이나 게시판 아이디(예: g5_write_free)가 실제 데이터베이스에 생성된 테이블 명과 일치하는지 확인해야 합니다. 그누보드 설치 시 테이블 접두사를 변경했다면 g5_ 부분을 해당 접두사로 올바르게 수정해야 합니다.

Q. 일괄 비밀글 처리를 마친 뒤 user.config.php에 넣은 코드를 지우지 않으면 어떻게 되나요?

  • A: 코드를 삭제하지 않고 남겨두면, 방문자가 사이트의 아무 페이지나 새로고침할 때마다 이미 비밀글로 변환된 게시글들을 대상으로 불필요한 업데이트 쿼리가 매번 재실행되어 서버 부하를 유발할 수 있습니다. 정상 반영 즉시 코드를 제거해야 합니다.

Q. 에디터 사용 여부에 따라 쿼리 옵션(secret vs html1,secret)을 다르게 넣어야 하는 이유는 무엇인가요?

  • A: 에디터를 사용하는 게시판의 글은 본문 서식 유지를 위해 html1 속성이 함께 저장되어야 합니다. secret만 지정할 경우 기존에 적용되어 있던 HTML 에디터 서식 설정이 누락되거나 의도와 다르게 작동할 수 있기 때문입니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.