묻고답하기
스팸 금지 keyword 호출방법.
2015.09.15 15:55
통합검색에서 스팸키워드로 등록된 게시물의 경우 차단하려고 하는데요..
// Set a variable for search keyword
$is_keyword = Context::get('is_keyword');
$bannedWords = array("xxx","sss","바보");
if(in_array($is_keyword,$bannedWords)) return new Object(-1,'금지어입니다');
기존에 이런식으로 수동적으로 ban 키워드를 작성해야했는데.
spam modules keyword 를 호출하여 차단하면 좋을 것 같은데..
$oFilterModel = getModel('spamfilter');
$output = array($oFilterModel->isDeniedWord($is_keyword));
if(in_array($is_keyword,$output)) return new Object(-1,'금지어 또는 보호를 받고 있는 키워드입니다.');
이런식으로 작성해줬지만 되질 않네요..
댓글 7
-
퍼니엑스이
2015.09.15 16:53
-
꾸링
2015.09.15 16:57
아 감사합니다 배열로 할필요가 없었네요
-
꾸링
2015.09.15 16:59
테스트를 해봤는데 알려주신대로 작성시 모든 키워드가 return 되어버립니다.;
$is_keyword = Context::get('is_keyword');
부분에 context 로되어있기 때문에 알려주신 방법으로는 되질 않고
배열을 사용해서 값을 매치해야될 것으로 보이는데 아닌가요..?
-
퍼니엑스이
2015.09.15 17:07
/**
* Search Result
*
* @return Object
*/
function IS()
{
$oFile = getClass('file');
$oModuleModel = getModel('module');
$logged_info = Context::get('logged_info');// Check permissions
if(!$this->grant->access) return new Object(-1,'msg_not_permitted');
$is_keyword = Context::get('is_keyword');
$oFilterModel = getModel('spamfilter');if($oFilterModel->isDeniedWord($is_keyword))
{
return new Object(-1, '금지어 또는 보호를 받고 있는 키워드입니다.');
}이런 식으로 작성해봤는데, 그래도 안되시는가요?
-
꾸링
2015.09.15 17:11
isx 모듈을 사용해서
function ISX()
{
$oFile = &getClass('file');
$oModuleModel = &getModel('module');// 권한 체크
if(!$this->grant->access) return new Object(-1,'msg_not_permitted');부분 뒤에 말씀해주신 대로 추가했지만, 모든 키워드가 return 되는 문제가 있습니다.
if($oFilterModel->isDeniedWord($is_keyword))
값에 모든 키워드가 걸리는 것으로보아 oFilterModel 이 걸러내는 방법을 잘못쓴게 아닐까 싶네요..
보통 $text = $obj->title . ' ' . $obj->content;
$output = $oFilterModel->isDeniedWord($text);이렇게 사용되어져있는데
저는 변수저장할 때 context로 is_keyword를 저장한게 자꾸 걸리네요..
-
퍼니엑스이
2015.09.15 17:17
$oFilterModel = getModel('spamfilter');
$isDeniedWord = !$oFilterModel->isDeniedWord($is_keyword)->toBool();
if($isDeniedWord)
{
return new Object(-1, '금지어 또는 보호를 받고 있는 키워드입니다.');
}이렇게 해보세요.
-
꾸링
2015.09.15 17:20
아 잘되네요 감사합니다.
혹시 toBool 가 무슨뜻인지 알려주실 수 있나요..?
글쓴이 | 제목 | 최종 글 |
---|---|---|
XE | 공지 글 쓰기,삭제 운영방식 변경 공지 [16] | 2019.03.05 by 남기남 |
키무님 | 게시판 본문에 SWF파일 재생 관련하여 문의드립니다. | |
c2**** | 브라우저에서 php 문법을 사용할 수 있나요? | |
용가리13호 | 로그인 스킨 변경 후 로그인 문제 [2] | 2015.09.15 by 용가리13호 |
예봉 | 메인화면 플래쉬가 사라졌습니다;;; 도와주세요 [2] | 2015.09.15 by 예봉 |
newi | 모바일에서 고급 설정 변경하려고 하려면?? | |
김순규774 | db connection은 어디에 있는 어떤 파일을 수정해야하나요? [1] | 2015.09.15 by sejin7940 |
c2**** | 포인트 스크립트가 작동하질 않습니다 [6] | 2015.09.15 by c2**** |
jin**** | 갑자기 에러가 뜹니다.. | |
mcls**** | 그룹 이미지 마크만 삭제 할수 없나요? [2] | 2015.09.14 by mcls**** |
마르티스 | 1.8.10 업뎃 후 오류 문의 | |
부산민지아빠 | 최근게시물 위젯에서 content 줄바꿈 문제 | |
슈니슈니 | 분류탭중에 전체보기 없애기 [2] | 2015.09.14 by 슈니슈니 |
예봉 | 메인 홈 플래쉬 관리 | |
Ystory | 서브메뉴 세로에서 가로로 이동 하는 방법. | |
용가리13호 | 로그인스킨 변경 후 로그인 안됨 [5] | 2015.09.14 by 용가리13호 |
예봉 | XE 관리자 페이지 문의 [2] | 2015.09.14 by 예봉 |
브룸 | SH 메모 스킨의 에디터 스킨을 바꾸고 싶습니다. [1] | 2015.09.14 by 닉이 |
지에치케어 | 누리고 결제 모듈 사용방법 [1] | 2015.09.14 by YJSoft |
c2**** | php 문법을 xe템플릿으로 바꾸려고 합니다 [4] | 2015.09.14 by c2**** |
지에치케어 | 회원가입창에 쪽지 허용 삭제 방법좀 알려주세요 [2] | 2015.09.14 by 지에치케어 |
$oFilterModel = getModel('spamfilter');
if($oFilterModel->isDeniedWord($is_keyword))
{
return new Object(-1, '금지어 또는 보호를 받고 있는 키워드입니다.');
}
이런식으로 작성하시면 됩니다.