일정기간 지난 게시물 추천 금지하기애드온
을, 사용하고 있습니다.
여기에 추천도 금지시키고 싶어서 아래와 같이 코드를 추가하였습니다.
그런데 작동을 하지 않아서요.
어디가 잘못된걸까요?
// 일정기간 지난 게시물 추천금지
if($called_position == 'after_module_proc'){
if($addon_info->denied_vote=='Y')
{
if($this->act=='procDocumentVoteUp'){
$oDocument = Context::get('oDocument');
if($oDocument->get('regdate') < date('YmdHis', strtotime('-'.$addon_info->permission_hours.' hours')))
{
$this->stop($addon_info->permission_hours.' 시간이 지난 게시글은 추천할 수 없습니다');
}
}
}
}
댓글 9
추천금지하기 애드온 사용중인데
여기에 또 추천을 금지하고 싶다는...
원래 애드온에서 되야 하는데 애드온이 이상하시다는건지 ?
원래는 수정, 삭제만 금지시키는 애드온인데 추천까지 금지시키려고 합니다.
질문글이 댓글달리니 수정도 안되네요 ^^
저도 코알못이라..
실행시기가 이미 추천을 하고 나서 그런 것 아닐까요?
after_module_proc
before_module_proc 로
혹시나 될까해서
실운영중인 사이트라서 맘놓고 테스트도 못하겠고 ㅜ
if(!defined('__XE__')) exit();
if($logged_info->is_admin =='N'){ //관리자는 권한에서 제외
if($called_position == 'after_module_proc'){
if($addon_info->denied_edit=='Y')
{
if($this->act=='dispBoardWrite' && Context::get('document_srl')){
$oDocument = Context::get('oDocument');
if($oDocument->get('regdate') < date('YmdHis', strtotime('-'.$addon_info->permission_hours.' hours')))
{
$this->stop($addon_info->permission_hours.' 시간이 지난 게시글에는 수정을 할 수 없습니다');
}
}
}
}
if($called_position == 'after_module_proc'){
if($addon_info->denied_delete=='Y')
{
if($this->act=='dispBoardDelete'){
$oDocument = Context::get('oDocument');
if($oDocument->get('regdate') < date('YmdHis', strtotime('-'.$addon_info->permission_hours.' hours')))
{
$this->stop($addon_info->permission_hours.' 시간이 지난 게시글은 삭제할 수 없습니다');
}
}
}
}
// 일정기간 지난 게시물 추천금지
//if($called_position == 'before_module_proc'){
// if($addon_info->denied_vote=='Y')
// {
// if($this->act=='procDocumentVoteUp'){
// $oDocument = Context::get('oDocument');
// if($oDocument->get('regdate') < date('YmdHis', strtotime('-'.$addon_info->permission_hours.' hours')))
// {
// $this->stop($addon_info->permission_hours.' 시간이 지난 게시글은 추천할 수 없습니다');
// }
// }
// }
//}
if($called_position == 'before_module_proc'){
if($addon_info->denied_comment=='Y')
{
if ($this->act=='procBoardInsertComment' && Context::get('document_srl'))
{
$args->document_srl = Context::get('document_srl');
$tmp_output = executeQuery('addons.regdate_edit.getDocumentComment', $args);
if($tmp_output->toBool())
{
if($tmp_output->data->regdate < date('YmdHis', strtotime('-'.$addon_info->permission_hours.' hours')))
{
exit('<a>'.$addon_info->permission_hours.' 시간이 지난 게시글에는 수정을 할 수 없습니다'.'</a>');
}
}
}
}
}
}
위 코드가 애드온파일이고,
아래코드가 xml 파일입니다
특별한것 없는거 같은데 ㅠㅠ
<addon version="0.2">
<title>일정기간 지난 게시물 수정/댓글 제한 애드온</title>
<description></description>
<version>0.1</version>
<date>2015-03-03</date>
<author email_address="" link="">
<name>kdp</name>
</author>
<extra_vars>
<var name="denied_vote" type="select">
<title xml:lang="ko">추천제한</title>
<options value="Y">
<title xml:lang="ko">사용</title>
</options>
<options value="N">
<title xml:lang="ko">사용하지 않음</title>
</options>
</var>
<var name="denied_delete" type="select">
<title xml:lang="ko">삭제제한</title>
<options value="Y">
<title xml:lang="ko">사용</title>
</options>
<options value="N">
<title xml:lang="ko">사용하지 않음</title>
</options>
</var>
<var name="denied_edit" type="select">
<title xml:lang="ko">수정제한</title>
<options value="Y">
<title xml:lang="ko">사용</title>
</options>
<options value="N">
<title xml:lang="ko">사용하지 않음</title>
</options>
</var>
<var name="denied_comment" type="select">
<title xml:lang="ko">댓글제한</title>
<options value="Y">
<title xml:lang="ko">사용</title>
</options>
<options value="N">
<title xml:lang="ko">사용하지 않음</title>
</options>
</var>
<var name="permission_hours" type="text">
<title>제한 기간[시간기준]</title>
<description>
열람제한기간
</description>
</var>
</extra_vars>
</addon>
if($addon_info->denied_vote=='Y')
{
$document_srl = Context::get('document_srl');
if($this->act=='procDocumentVoteUp' && $document_srl)
{
$oDocumentModel = getModel('document');
$oDocument = $oDocumentModel->getDocument($document_srl, false, false);
$module_srl = $oDocument->get('module_srl');
$oModuleModel = getModel('module');
$document_config = $oModuleModel->getModulePartConfig('document',$module_srl);
if(!$module_srl || $document_config->use_vote_up=='N') {
return new BaseObject();
}
if($oDocument->get('regdate') < date('YmdHis', strtotime('-'.$addon_info->permission_hours.' hours')))
{
$this->stop($addon_info->permission_hours.' 시간이 지난 게시글은 추천할 수 없습니다');
}
}
}
}
닉네임님 감사합니다.
이렇게 하니 금지되질않고 그냥 추천이 되네요.
before_module_proc 로 해도 마찬가지입니다.