묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
쪽지 보내기 일일 제한 두기
2012.08.09 21:56
제로보드 1.4.5.11 입니다.
하루에 쪽지를 10개 이상 못보내게 하려고 합니다.
어떻게 수정 해여 되나요? 그런데 일반 게시판 글은 제한을 두면 안됩니다.
가능한가요? 답변 부탁 드립니다.
감사합니다.
xe - modules - communication - communication.controller.php 열고
line 109 쯤에
$sender_args->message_type = 'S';
이것 바로 아래에
if(Context::get('logged_info')->is_admin!='Y'&&$title!=Context::getLang('login_fail_report'))
{
$args->member_srl = $sender_srl;
$args->message_type = $sender_args->message_type;
$output = executeQuery('communication.getSendedMessages', $args);
foreach($output->data as $key => $val)
{
if(date('Ymd')==zDate($val->regdate, 'Ymd')&&$val->sender_srl!=$val->receiver_srl) $countSentMsg++;
}
$limit = 1;
if($countSentMsg>=$limit)
{
alertScript('no more '.$limit.' message a day');
closePopupScript();
exit;
}
}
이것 삽입....
이렇게 하면
보낸메세지에서 자신이 보낸 메세지를 삭제하면 또 보낼 수 있습니다.
그래서
오늘 보낸 메세지는 삭제가 안되도록 조치를 해야겠죠......
line 221 쯤에
// Delete
$args->message_srl = $message_srl;
이것 바로 위에
if($message->message_type=='S'&&zDate($message->regdate,'Ymd')==date('Ymd')) return new Object(-1,'msg_invalid_request');
이것 추가
line 251 쯤에
for($i=0;$i<$message_count;$i++) {
$message_srl = (int)trim($message_srl_list[$i]);
if(!$message_srl) continue;
$target[] = $message_srl;
}
이것을
for($i=0;$i<$message_count;$i++) {
$message_srl = (int)trim($message_srl_list[$i]);
if(!$message_srl) continue;
if(Context::get('logged_info')->is_admin!='Y'&&Context::get('message_type')=='S')
{
$args->message_srl = $message_srl;
$output = executeQuery('communication.getMessage', $args);
if(date('Ymd')==zDate($output->data->regdate, 'Ymd')) continue;
}
$target[] = $message_srl;
}
이것으로 수정.....
테스트 버전 core 1.5.3
정상작동 되는 것 확인했음..........
적용해도 안된다면 적용을 잘 못한 탓입니다.........
그건 어떻게 할 수 없는 부분이구요......
차근히 다시 해 보라는 말 밖에는.........
한 번에 성공하시길................