게시판 아이디 변환기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

게시판 아이디 변환기 정보

게시판 아이디 변환기

첨부파일

board_id_change.php (2.0K) 73회 다운로드 2009-11-23 17:11:07

본문

안녕하세요.
전에 올렸는지 모르겠는데, 일단 올려봅니다.
게시판 아이디를 변경하는 겁니다.

개인용도로 만들었는데, 필요하신 분 있으시면 사용하세요.
단, 게시판 아이디를 바꾸는 것이라 잘못되면 db가 꼬일수도 있으니 신중을 기하여 써주시고, 별도의 패키지를 이용하시는 분들은 db구조가 달라서 적용이 안 될 수 있으니 참고하세요.

또한, 별도의 db를 사용하는 게시판에 대해서도 고려를 하셔야 할겁니다.
이 팁은 기본적인 그누보드의 db구조에서 작동하며, 제가 고려하지 못한 부분이 있을 수 있으니, 소스를 보시고 추가해야할 부분이 있다면 알려주세요.

-소스 시작(소스는 파일로도 올렸습니다.)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>게시판 아이디 허접 변환기</title>
</head>
<body>
<?
$g4_path = ".."; // common.php 의 상대 경로
include_once("$g4_path/common.php");
// initialize or capture variable
if($is_admin!='super')
    alert("최고관리자만 접근 가능합니다.");

$id_from    = !isset($_POST['ID_FROM'])? NULL : $_POST['ID_FROM'];
$id_to        = !isset($_POST['ID_TO'])? NULL : $_POST['ID_TO'];
?>

<h2>게시판 아이디 허접 변환기 -_-;</h2>
<form method="post" action="board_id_change.php" id="board_id_change">
<input type=text name="ID_FROM" value="<?=$id_from?>" /> 이것을<br>
<input type=text name="ID_TO" value="<?=$id_to?>" /> 으로 바꿈<br>
<input type="submit">
</form>

<?
// 바뀌게될 아이디과 바꿀 아이디가 모두 입력 되었으면 실행
if($id_from!='' && $id_to!=''){

// 첨부파일 디렉토리명 바꿈
rename("$g4[path]/data/file/$id_from","$g4[path]/data/file/$id_to");

sql_query("RENAME TABLE `g4_write_$id_from` TO `g4_write_$id_to`");

sql_query("UPDATE g4_board SET `bo_table` = '$id_to' WHERE `bo_table` = '$id_from'");

sql_query("UPDATE g4_board_file SET `bo_table` = '$id_to' WHERE `bo_table` = '$id_from'");

sql_query("UPDATE g4_board_new SET `bo_table` = '$id_to' WHERE `bo_table` = '$id_from'");

sql_query("UPDATE g4_board_good SET `bo_table` = '$id_to' WHERE `bo_table` = '$id_from'");

sql_query("UPDATE g4_point SET `po_rel_table` = '$id_to' WHERE `bo_table` = '$id_from'");

sql_query("UPDATE g4_scrap SET `bo_table` = '$id_to' WHERE `bo_table` = '$id_from'");

// 게시글 내의 그림 링크 변경시
sql_query("UPDATE g4_write_$id_to SET `wr_content` = replace(wr_content, 'data/file/$id_from', 'data/file/$id_to')");

echo $id_from."(을)를 ".$id_to."(으)로 변환했습니다.";

}
else{
    echo "입력해주세요.";
}
?>

소스 끝

-간단설명
첨부파일 디렉토리, 테이블 이름을 기본적으로 바꿉니다.
그외 게시판테이블, 파일테이블, 포인트테이블, 추천테이블, 스크랩테이블, 최신글테이블에서 게시판 아이디를 바꿉니다.

그리고, 해당 게시판의 글에 대해서만 본문에 삽입된 그림파일이 있을 경우 바뀐 게시판 아이디로 경로를 바꿔줍니다.

-주의
1. 위험부담이 있기 때문에 꼭 백업을 한번 하시고 시행해주세요.
2. 테이블 접두어가 g4_ 가 아닌 경우에는 소스를 수정해야합니다. (접두어 변수명이 뭐였죠...)
3. 소스 그대로 쓰실 분들은 루트에 폴더를 하나 만드신 후 저장해서 쓰세요.
4. 기타 예외처리가 잘 안되어 있는 소스이므로 한번 쓰시고 바로 지우시는게 좋을 것 같습니다.
추천
4

댓글 2개

전체 2 |RSS
그누4 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT