이글에 포함된 코멘트 일괄삭제 시스템(수정) 정보
이글에 포함된 코멘트 일괄삭제 시스템(수정)관련링크
본문
참조링크 :
http://sir.co.kr/bbs/board.php?bo_table=cm_free&wr_id=176281
수정안내 :
최종 수정일 : 2007-3-12 일 15:30
소스 내용중에서 버전 차이로 인한 버그가 발견이 되어 수정이 되었으므로 사용중인 그누보드의 버전을 확인후 환경에 맞도록 사용 하세요.(주석 설명 참조)
이팁의용도 :
트랙백 테러를 당하여 한개의 글에 수백~수천개의 댓글이 달렸을 경우 최고 관리자 권한으로 해당 게시글에 포함된 코멘트를 일괄 정리 하는 방법 입니다.
참조사항 :
제가 사용하는 테스트계정 3군데에서 테스트해본 결과 작동은 잘됩니다만
문제점이 발생할수도 있으므로 참조 바랍니다.
적용방법 :
사용중인 게시판 스킨/ view.skin.php 의 적당한 위치에 아래의 코드를 추가 합니다.
<?
//해당글에 딸린 코멘트 일괄 삭제 시스템 by 헐랭이
$kototal = $view[wr_comment];//이글의 코멘트 총갯수
if ($admin_comment_del_ok == "comment_del_ok") {
if ($is_admin !="super") {
alert("최고관리자가 아닙니다.");
}
if (!$kototal) {
alert("등록된 코멘트가 없습니다.");
}
// 원글에 포함된 코멘트를 전부삭제
sql_query(" delete from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 ");
// 버전별 코드분리 시작
// 아래의 코드는 버전에 따라서 다르므로 환경에 맞는 코드를 사용 하세요.
//그누보드 4.09.00 이전 버전 사용자용
// 원글에 코멘트 숫자를 감소한다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal where wr_id = '$wr_id' ");
// 그누보드 4.09.00 이후 버전 사용자용
// 코멘트가 삭제되므로 해당 게시물에 대한 최근 시간을 다시 얻는다.
$sqlst = " select max(wr_datetime) as wr_last from $write_table where wr_parent = '$wr_id' ";
$rowst = sql_fetch($sqlst);
// 원글에 코멘트 숫자를 감소 하면서 최신 날자를 되돌린다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal, wr_last = '$rowst[wr_last]' where wr_id = '$wr_id' ");
// 버전별 코드 분리 끝
// 이게시판 전체 갯수에서 삭제된 코멘트의 갯수만큼 감소
sql_query(" update $g4[board_table] set bo_count_comment = bo_count_comment - $kototal where bo_table = '$bo_table' ");
// 새글에 등록이 되었다면 전부삭제
sql_query(" delete from $g4[board_new_table] where bo_table = '$bo_table' and wr_parent = '$wr_id' ");
echo"<script language=\"javascript\">
window.alert(\"이글의 코멘트가 전부 삭제 되었습니다. 총갯수: $kototal 개\");
</script>";
goto_url("./board.php?bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr);
exit;
}
if ($is_admin =="super") {
if ($kototal) {
//echo "$view[wr_comment] 개";
echo"
<FORM NAME='admin_view_comment_del' METHOD='POST' ACTION='./board.php' onclick=\"return confirm('이글에 포함된 코멘트를 전부 삭제 하시겠습니까?\\n\\n코멘트 일괄 삭제를 실행하면 돌이킬수 없습니다.')\">
<input type='hidden' name='bo_table' value='$bo_table'>
<input type='hidden' name='wr_id' value='$wr_id'>
<input type='hidden' name='admin_comment_del_ok' value='comment_del_ok'>
<INPUT TYPE='submit' VALUE='코멘트일괄삭제'>
</FORM>";
}
}
?>
http://sir.co.kr/bbs/board.php?bo_table=cm_free&wr_id=176281
수정안내 :
최종 수정일 : 2007-3-12 일 15:30
소스 내용중에서 버전 차이로 인한 버그가 발견이 되어 수정이 되었으므로 사용중인 그누보드의 버전을 확인후 환경에 맞도록 사용 하세요.(주석 설명 참조)
이팁의용도 :
트랙백 테러를 당하여 한개의 글에 수백~수천개의 댓글이 달렸을 경우 최고 관리자 권한으로 해당 게시글에 포함된 코멘트를 일괄 정리 하는 방법 입니다.
참조사항 :
제가 사용하는 테스트계정 3군데에서 테스트해본 결과 작동은 잘됩니다만
문제점이 발생할수도 있으므로 참조 바랍니다.
적용방법 :
사용중인 게시판 스킨/ view.skin.php 의 적당한 위치에 아래의 코드를 추가 합니다.
<?
//해당글에 딸린 코멘트 일괄 삭제 시스템 by 헐랭이
$kototal = $view[wr_comment];//이글의 코멘트 총갯수
if ($admin_comment_del_ok == "comment_del_ok") {
if ($is_admin !="super") {
alert("최고관리자가 아닙니다.");
}
if (!$kototal) {
alert("등록된 코멘트가 없습니다.");
}
// 원글에 포함된 코멘트를 전부삭제
sql_query(" delete from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 ");
// 버전별 코드분리 시작
// 아래의 코드는 버전에 따라서 다르므로 환경에 맞는 코드를 사용 하세요.
//그누보드 4.09.00 이전 버전 사용자용
// 원글에 코멘트 숫자를 감소한다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal where wr_id = '$wr_id' ");
// 그누보드 4.09.00 이후 버전 사용자용
// 코멘트가 삭제되므로 해당 게시물에 대한 최근 시간을 다시 얻는다.
$sqlst = " select max(wr_datetime) as wr_last from $write_table where wr_parent = '$wr_id' ";
$rowst = sql_fetch($sqlst);
// 원글에 코멘트 숫자를 감소 하면서 최신 날자를 되돌린다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal, wr_last = '$rowst[wr_last]' where wr_id = '$wr_id' ");
// 버전별 코드 분리 끝
// 이게시판 전체 갯수에서 삭제된 코멘트의 갯수만큼 감소
sql_query(" update $g4[board_table] set bo_count_comment = bo_count_comment - $kototal where bo_table = '$bo_table' ");
// 새글에 등록이 되었다면 전부삭제
sql_query(" delete from $g4[board_new_table] where bo_table = '$bo_table' and wr_parent = '$wr_id' ");
echo"<script language=\"javascript\">
window.alert(\"이글의 코멘트가 전부 삭제 되었습니다. 총갯수: $kototal 개\");
</script>";
goto_url("./board.php?bo_table=$bo_table&wr_id=$wr_id&page=$page" . $qstr);
exit;
}
if ($is_admin =="super") {
if ($kototal) {
//echo "$view[wr_comment] 개";
echo"
<FORM NAME='admin_view_comment_del' METHOD='POST' ACTION='./board.php' onclick=\"return confirm('이글에 포함된 코멘트를 전부 삭제 하시겠습니까?\\n\\n코멘트 일괄 삭제를 실행하면 돌이킬수 없습니다.')\">
<input type='hidden' name='bo_table' value='$bo_table'>
<input type='hidden' name='wr_id' value='$wr_id'>
<input type='hidden' name='admin_comment_del_ok' value='comment_del_ok'>
<INPUT TYPE='submit' VALUE='코멘트일괄삭제'>
</FORM>";
}
}
?>
추천
6
6
댓글 26개
최고 관리자만 삭제링크가 출력 및 실행이 되며 테러를 당한 해당글의 내용보기에서 바로 실행을 할수가 있습니다.
멋진걸 또 만드셨군요....^^
역시 헐랭이님이십니다....^^
역시 헐랭이님이십니다....^^
감사합니다.^^
트랙백 테러를 당하신 분들이 고생 하시는게 안쓰러워서 잠시 노가다를 해봤습니다.ㅎㅎ
트랙백 테러를 당하신 분들이 고생 하시는게 안쓰러워서 잠시 노가다를 해봤습니다.ㅎㅎ
트랙백이용한 스팸댓글 한번에 지우기
나의 아이디어를 공개하는 것 보다,
타인의 어려움을 살펴 주시는 팁인듯 합니다.
고생하셨습니다.
ps : 요즘 일당이 얼마나 될까요?(...노가다...)
타인의 어려움을 살펴 주시는 팁인듯 합니다.
고생하셨습니다.
ps : 요즘 일당이 얼마나 될까요?(...노가다...)
에고 감사드립니다.
에구 팔다리가 다 났는거 같군요 ㅎ~~ ^^
에구 팔다리가 다 났는거 같군요 ㅎ~~ ^^
트랙백이용한 스팸댓글 한번에 지우기
소스 내용중에서 버전 차이로 인한 버그가 발견이 되어 수정이 되었으므로 사용중인 그누보드의 버전을 확인후 환경에 맞도록 사용 하세요. 아래의 소스코드 부분 입니다.
// 버전별 코드분리 시작
// 아래의 코드는 버전에 따라서 다르므로 환경에 맞는 코드를 사용 하세요.
//그누보드 4.09.00 이전 버전 사용자용
// 원글에 코멘트 숫자를 감소한다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal where wr_id = '$wr_id' ");
// 그누보드 4.09.00 이후 버전 사용자용
// 코멘트가 삭제되므로 해당 게시물에 대한 최근 시간을 다시 얻는다.
$sqlst = " select max(wr_datetime) as wr_last from $write_table where wr_parent = '$wr_id' ";
$rowst = sql_fetch($sqlst);
// 원글에 코멘트 숫자를 감소 하면서 최신 날자를 되돌린다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal, wr_last = '$rowst[wr_last]' where wr_id = '$wr_id' ");
// 버전별 코드 분리 끝
// 버전별 코드분리 시작
// 아래의 코드는 버전에 따라서 다르므로 환경에 맞는 코드를 사용 하세요.
//그누보드 4.09.00 이전 버전 사용자용
// 원글에 코멘트 숫자를 감소한다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal where wr_id = '$wr_id' ");
// 그누보드 4.09.00 이후 버전 사용자용
// 코멘트가 삭제되므로 해당 게시물에 대한 최근 시간을 다시 얻는다.
$sqlst = " select max(wr_datetime) as wr_last from $write_table where wr_parent = '$wr_id' ";
$rowst = sql_fetch($sqlst);
// 원글에 코멘트 숫자를 감소 하면서 최신 날자를 되돌린다.
sql_query(" update $write_table set wr_comment = wr_comment - $kototal, wr_last = '$rowst[wr_last]' where wr_id = '$wr_id' ");
// 버전별 코드 분리 끝
감사합니다~!!
팁과 함께 어린 백성을 보살펴 주시는 마음까지 담아 갑니다.
감기 조심 하세요~~**
팁과 함께 어린 백성을 보살펴 주시는 마음까지 담아 갑니다.
감기 조심 하세요~~**
감사합니다..//꼭 필요하던 기능이네요
감사합니다.
감사합니다.이제 트랙백 테러를 막을 수 있겠네요.*^^*
감사합니다 ㅠ.ㅠ 이놈의 트랙백 테러 ㅠ.ㅠ 흐휴
감사드립니다. 좋은 정보입니다. ^^
코멘트일괄삭제
정말감사합니다.^^
고맙습니다.
100개가 넘는 댓글들 일일이 다 지우며 노가다했는데...이제서야 이 팁을 발견했네요.
잘됩니다. 감사...
잘됩니다. 감사...
좋네요. 찜해야지!
코멘트가 1008개가 달렸네요..후덜덜..ㅡㅡ.우째 이런 테러가..코멘트 10등급 이상만 쓰기로 바꾸어야 겟네요...감사해요..^^
해봐야겠군요...
역시 감사
역시 감사
딱 필요했던..건데..넘 감사합니다..
코멘트 일괄삭제
고맙습니다. 혹시 모를 사태에 대비해 일단 탑재했어용..ㅎㅎ 잘 쓰겠습니다. ^^*
정말 감사합니다.~
감사합니다 좋은 팁이네요^^