웹마스터 팁
'신고 수' 노출 함수 및 신고시 게시글 이동팁
2012.07.03 03:02
간단한 것인데 팁과 묻고 답하기에도 답이 없어서
이렇게 팁으로 올려둡니다.
필요하신 분이 계실지도..
조회수와 추천수는,
{$oDocument->get('readed_count')}
{$oDocument->get('voted_count')}
이렇게 표시가 됩니다만,
신고수는
{$oDocument->get('declared_count')}
이렇게 표시가 되지 않습니다.
{@
$output = executeQuery('document.getDeclaredDocument', $oDocument);
$declared_count = $output->data->declared_count;
if(!$declared_count) $declared_count=0;
}
{$declared_count}
이렇게 구하시면 되겠네요.
DB를 보니, declared_count컬럼은 readed_count, voted_count와 같이
xe_documents에 있는 것이 아니라 xe_document_declared로 따로 빠져 있는데요.
0값이 나오지 않기에 if(!$declared_count) $declared_count=0;
이것도 하나 넣었습니다.
-----------------------------------------------------------
개인적으로 신고수가 5개이상이면 휴지통으로 보낼까 하는데, 나름 분석결과,
크게 손대지 않고, declared_count를 파악해서 해당 document_srl에 해당하는,
xe_documents 내의 module_srl만 0으로 돌리면 되려나요?
계속~
-----------------------------------------------------------
< 추가 >
단순하게 module_srl만 0으로 돌리면 될 줄 알았는데 DB를 보다보니 좀 더 신경써줘야 하는데요.
0으로 돌리면 그냥 목록에서만 사라지는.. ㅎㅎ
휴지통에 담겨진 정보가 1.4버젼에서는 xe_document_trash 테이블을 이용한것 같은데
1.5에서는 xe_trash 테이블에 정보가 보이는군요.
팁을 보다보니, 송회장님의 질답리플도 보이네요. @,@;
http://www.xpressengine.com/qna/20687344
휴지통으로 옮기는 것이 좀 더 복잡한듯 하고,
게시글 목록부분에서,
xe_documents 와 xe_comments의 module_srl만 특정게시판으로 돌리는 쿼리를 돌리면,
게시글 이동하는 것이겠고, 이게 더 쉽겠네요. @,@;
다시 계속~
-----------------------------------------------------------
< 추가2 >
신고시에 게시글이 이동되는 소스를 만들어서 적용했는데,
나름 간단하고 잘 되는군요.
http://www.xpressengine.com/qna/20687344
역시나 요기에서 질답란 송회장님의 팁을 참고로 했습니다. 감사합니다.
기본 코어와 모듈을 손대지 않고, 게시판스킨에서만 조정하였습니다.
게시판소스의 _style_list.html
아랫부분에,
<!--@foreach($document_list as $no => $document)-->
바로 아랫줄에 아래의 소스만 넣으면 됩니다.
{@
$temp_module_srl=15182411; <!--// 이동게시판의 module_srl -->
$declared_limit=5; <!--// 기준신고횟수-->
$args->document_srl = $document->document_srl;
$output = executeQuery('document.getDeclaredDocument', $args);
$declared_count=$output->data->declared_count;
}
<!--@if($temp_module_srl!=$document->get('module_srl') && $declared_limit<=$output->data->declared_count)-->
{@
$oDB = &DB::getInstance();
$query = $oDB->_query('update xp_documents set module_srl = '.$temp_module_srl.' where document_srl = '.$document->document_srl);
$query = $oDB->_query('update xp_comments set module_srl = '.$temp_module_srl.' where document_srl = '.$document->document_srl);
}
<!--@end-->
이동할 autotemp게시판만 하나 새로 만드시고,
해당게시판의 module_srl만 확인하셔서,
$temp_module_srl=15182411;
이 부분에서 수정해주시면 되겠네요.
신고 아이콘을 밖으로 빼고 하는 것은 검색하시면 나올겁니다.
감사합니다.
댓글 11
-
종스
2012.07.03 08:44
-
이모사푸
2012.07.03 20:35
관리자 - 확장기능 - 설치된모듈 - 게시판
-----------------
게시판 목록에서 본인이 옮기려 하는 게시판의 "설정" 에 마우스를 가져가면 (또는 클릭 해서 주소창)
브라우져 상태바에 맨 마지막에 나오는 숫자가
게시판의 module_srl=1234 모듈 주소이다.
------------------
즉, 게시판 마다 고유한(겹치지 않는) 모듈 주소가 있는데,
신고5회하면 1234 모듈의 게시판으로 옮겨진다는 이야기..
-
카이닉스
2012.07.03 08:58
이 내용을 바탕으로 일정 신고수 이상시 휴지통 및 지정게시판으로 이동할 수 있는 애드온이 나왔으면 좋겠네요~
좋은정보 감사합니다 ^^
-
showjean
2012.07.03 17:53
제가 여러 애드온 참고해서 만들어봤습니다. 여러번 테스트는 해봤는데 php가 전문이 아니라서 문제가 있을까봐 download페이지에 올리지는 못하겠습니다. 소스 살펴보시고 문제있으면 수정해서 올려주시면 감사하겠습니다.
-
윈컴이
2012.07.03 19:52
감사합니다 :)
나중에 수정 배포해도 되죠? ㅎㅎ
-
어쭈구리メ
2012.07.03 23:23
오오 감사합니다. ^^
-
SCAC
2012.07.03 23:35
감사합니다 :)
-
인터니즈™
2012.07.03 23:44
역시~ 만들어서 쓰고 계신 분이 있을 것 같더라는.. ㅎㅎ
감사합니다. :)
-
빽짱구
2012.08.08 12:52
신고했을때나 이동될때 아무런액션이 없던데, '신고했습니다' / '신고수가 많아 이동되었습니다.'라는 메세지를 띄워주면 좋지 않을까요?
-
showjean
2012.08.08 16:31
간단하게 알림을 하려면 쪽지를 보내고 다음줄에$this->stop(' 신고수가 많아 이동되었습니다. ');라고 넣어주면 메세지모듈을 통해서 표시될거에요.화면 표시 단계가 아니어서 위 방법은 작동하지 않는군요. 다른 방법을 찾아봐야겠습니다.
-
showjean
2012.08.09 10:59
쪽지 전송 코드 다음에 아래와 같이 document controller에 메세지를 지정하면 '신고했습니다'라는 메세지 대신해서 alert으로 표시가 됩니다.
$oDocumentController->setMessage('이동 되었습니다.');
제목 | 글쓴이 | 날짜 |
---|---|---|
nginx rewrite 팁 | 병든natura | 2012.02.21 |
우분투 10.04 LTS, nginx+php-fastcgi+mysql 설치하기 [1] | fsfsdas | 2011.02.20 |
Apache 2 prefork 와 worker 차이 [3] | 데브위트™ | 2012.06.26 |
확장변수 숫자(화폐) 콤마 표시하기 (sketchbook 스킨) | 라싸 | 2012.08.12 |
일반 페이지(ARTICLE) 등에서 이미지 리사이징 제거. [1] | 무얼까 | 2012.08.12 |
추천, 신고 제한 해제 (관리자만 v1.5.2.2) [4] | mugenk | 2012.04.09 |
'신고 수' 노출 함수 및 신고시 게시글 이동팁 [11] | 인터니즈™ | 2012.07.03 |
로봇에 의하여 무한 회원가입이 발생할 때 제가 처리하는 방법 [3] | 별님왕자 | 2012.02.27 |
스마트폰이 없는뒤~!! 모바일페이지를 봐야 할경우 [15] | 토깽이2 | 2010.07.02 |
제로보드XE 1.4 -> 1.5 초간단 업그레이드 [10] | 행복돌이 | 2012.05.15 |
페이지 타입 바꾸는 방법 (문서, 위젯, 외부페이지) [5] | 빛의바다 | 2012.07.31 |
소셜로그인 이메일 입력시 SSL 사용 | 패시브 | 2012.07.27 |
게시판 메뉴에 새글 알림 표시 띄우기 [13] | 보거스내친구 | 2009.06.21 |
JwPlayer.swf 스킨 변경하기 [12] | 귀여운유니 | 2012.02.20 |
중국어(zh-CN) 포함한 다국어시 페이지모듈 버그 해결법 [1] | sejin7940 | 2012.07.26 |
virtualhost 사용에 관한 잡담 [3] | 인터니즈™ | 2012.06.15 |
로그인 정보 폼에 읽지 않은 쪽지 개수 보이기. [21] | 무얼까 | 2011.07.23 |
작성 글 보기에서 특정 모듈의 글 안나타나게 하기 | SCAC | 2012.07.21 |
1.5.1 최근 글 위젯에서 특수문자가 나가는 현상 [7] | Crom | 2012.02.12 |
관리자에서 그룹검색을 이용한 회원목록 제대로 안 보일때.. [2] | sejin7940 | 2012.06.01 |
xe의 개발자 매뉴얼에서 아쉬운점이 여기서도 들어나는 군요~ T.T 테이블 명세서가 없다는 거죠~ 흥흥~
아무튼... module_srl 값 0이면 어떤 의미인가요? 휴지통으로 갈때 0으로 되나요? 잘 몰라서... ^^;