웹마스터 팁
'신고 수' 노출 함수 및 신고시 게시글 이동팁
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('이동 되었습니다.');
제목 | 글쓴이 | 날짜 |
---|---|---|
인스타그램 해시태그 회원가입 없이 끌어오기 | 외인 | 2017.02.08 |
DB에서 직접 시퀀스 생성하기 [3] | 기진곰 | 2015.07.18 |
XE 1.8 대응 apache 2.2 / php 5.5 / MariaDB 10 설치 [11] | 간장게장같은남자 | 2015.04.19 |
구글 API 활용(뉴스가져오기) | pixfine | 2014.09.24 |
짧은 주소를 가능 하게 하는 서버(아파치, httpd) 설정 [3] | 꿈섬 | 2014.07.27 |
이거 어디다 올려야 될 지 몰라 여기다 올립니다. 프로그래머님들 읽어보세요. [2] | 유샤인 | 2014.06.10 |
Windows IIS 에서 F5 연타 방지하기 (mod_evasive , limit_req) [3] | StyleRoot | 2014.04.08 |
해외 아이피 차단 방법입니다. [3] | Flolida | 2014.03.01 |
페이지로딩시 메모리 부족이란 오류메시지가 뜰때... | 똑디 | 2013.11.07 |
rewrite mod 가 안 돼서 고생한 경험담입니다. [2] | obok | 2013.06.29 |
IIS 7.5 + XE 업로드 용량 개선 방법 [1] | 류군 | 2012.07.16 |
'신고 수' 노출 함수 및 신고시 게시글 이동팁 [11] | 인터니즈™ | 2012.07.03 |
이유는 모르겠는데 뷰테이블을 쓰면 XE의 속도가 크게 떨어지는 것 같습니다. [2] | 철갑 | 2011.04.25 |
레이아웃에 소스추가해서 트래픽보기! [2] | 막시민 | 2011.03.07 |
nginx에서 대역폭 제한하기 | fsfsdas | 2011.02.20 |
php5 설정(최적화) | fsfsdas | 2011.02.20 |
아파치 웹 서버 설정 == httpd.conf [2] | 김병화999 | 2009.01.02 |
httpd.conf 의 환경설정파일 안의 내용 [2] | 김병화999 | 2009.01.02 |
아파치인증 c 드라이버에서 성공예 | 이성헌 | 2005.12.15 |
httpd.conf 3차 설정본 - Virtualhost | 이성헌 | 2005.12.15 |
xe의 개발자 매뉴얼에서 아쉬운점이 여기서도 들어나는 군요~ T.T 테이블 명세서가 없다는 거죠~ 흥흥~
아무튼... module_srl 값 0이면 어떤 의미인가요? 휴지통으로 갈때 0으로 되나요? 잘 몰라서... ^^;