묻고답하기

글작성 제한에서 정말 사용하고 싶은데요

 

글작성을 1회로 설정하면 수정도 안되기에..

 

이 php 파일을 수정하면 될것 같은데 초보라서 잘모르겠습니다.

 

고수님도 좀갈쳐주세요`~

 

 

 

 

 

<?php
    if(!defined("__ZBXE__")) exit();

    /**
     * @file sejin7940_write_limit.addon.php
     * @author sejin7940 ( http://sejin7940.co.kr)
  * @source author 난다날아 (sinsy200@gmail.com)
     * @brief 하루에 작성할 수 있는 글/댓글을 제한합니다.
     *
     **/

 // 로그인 정보 가져오기
 $logged_info = Context::get('logged_info');

 // 관리자면 통과!!
 if ($logged_info->is_admin == 'Y') return;

 // 오늘 작성글 개수를 가져온다.
 // 비회원은 ip를 기준으로...

 $args->today = date("Ymd");
 if (!logged_info) $args->ipaddress =  $_SERVER['+ 'REMOTE_ADDR'];
 else    $args->member_srl = $logged_info->member_srl;

 if($addon_info->mid_list) {
     $oModuleModel = &getModel('module');
  $limit_module_srl_array = $oModuleModel->getModuleSrlByMid($addon_info->mid_list);
  $limit_module_srls=implode(',',$limit_module_srl_array);
 }
 if($addon_info->mid_together=="Y") {  // 선택한 게시판 통합 적용
  if(count($addon_info->mid_list)) $args->limit_module_srl = $limit_module_srls;  // 선택한 게시판
  else $args->limit_module_srl="";  // 전체
 }
 else if($addon_info->mid_list) {  // 선택한 게시판 별도 각각 적용
  if(strstr(','.$limit_module_srls.',',','.$this->module_info->module_srl.',')) {
   $args->limit_module_srl = $this->module_info->module_srl;
  }
  else return;
 }
 else $args->limit_module_srl="";  // 전체


//echo $addon_info->mid_list[0]."<br>";   // 모듈목록
//echo $this->module_info->mid;   // 현재위치의 module_srl 값
    Context::loadLang(_XE_PATH_.'addons/sejin7940_write_limit/lang');
   
 // 글 작성시
 if($called_position == 'before_module_init' && $this->act == 'procBoardInsertDocument' && !Context::get('document_srl')) {  // sejin7940 수정 (수정시 작동 안 하도록 하기 위해서)
  // 제한이 걸려있지 않으면 통과!
  if (!$addon_info->document_limit) return;
  


  $output = executeQuery('addons.sejin7940_write_limit.document_count', $args);

  if (!$output->toBool()) {
            $error = $output->getMessage();
   // xml_rpc return
   header("Content-Type: text/xml; charset=UTF-8");
   header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
   header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
   header("Cache-Control: no-store, no-cache, must-revalidate");
   header("Cache-Control: post-check=0, pre-check=0", false);
   header("Pragma: no-cache");
   print("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<response>\r\n<error>-1</error>\r\n<message>$error</message>\r\n</response>");

   Context::close();
   exit();
  }

  // 설정된 개수 이상의 작성이면 중단!

  if ($output->data->count >= $addon_info->document_limit  ) {
   // xml_rpc return
   header("Content-Type: text/xml; charset=UTF-8");
   header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
   header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
   header("Cache-Control: no-store, no-cache, must-revalidate");
   header("Cache-Control: post-check=0, pre-check=0", false);
   header("Pragma: no-cache");
   printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<response>\r\n<error>-1</error>\r\n<message>".Context::getLang('msg_limit_document')."</message>\r\n</response>", $addon_info->document_limit);

   Context::close();
   exit();
  }

    // 글 작성 화면
    }else if($called_position == 'after_module_proc' && $this->act == 'dispBoardWrite' && !Context::get('document_srl')) {  // sejin7940 수정 (수정시 작동 안 하도록 하기 위해서)
        // 제한이 걸려있지 않으면 통과!
  if (!$addon_info->document_limit) return;

        // 게시판에서 메시지가 나가면 중단
        if ($this->getTemplateFile() == 'message.html') return;
       
  $db_output = executeQuery('addons.sejin7940_write_limit.document_count', $args);

  if (!$db_output->toBool()) {
   $this->errer = "SQL Error";
   return;
  }

  // 설정된 개수 이상의 작성이면 중단!
  if ($db_output->data->count >= $addon_info->document_limit) {
   $output = new Object(-1, sprintf(Context::getLang('msg_limit_document'), $addon_info->document_limit));
   return;
  }
 // 댓글 작성 때
    }else if($called_position == 'before_module_init' && $this->act == 'procBoardInsertComment') {

  // 제한이 걸려있지 않으면 통과!
  if (!$addon_info->comment_limit) return;
  
  // 오늘 작성 댓글 개수를 가져온다.
  $output = executeQuery('addons.sejin7940_write_limit.comment_count', $args);
  if (!$output->toBool()) {
            $error = $output->getMessage();
   // xml_rpc return
   header("Content-Type: text/xml; charset=UTF-8");
   header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
   header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
   header("Cache-Control: no-store, no-cache, must-revalidate");
   header("Cache-Control: post-check=0, pre-check=0", false);
   header("Pragma: no-cache");
   print("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<response>\r\n<error>-1</error>\r\n<message>$error</message>\r\n</response>");

   Context::close();
   exit();
  }

  // 설정된 개수 이상의 작성이면 중단!
  if ($output->data->count >= $addon_info->comment_limit) {
   // xml_rpc return
   header("Content-Type: text/xml; charset=UTF-8");
   header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
   header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
   header("Cache-Control: no-store, no-cache, must-revalidate");
   header("Cache-Control: post-check=0, pre-check=0", false);
   header("Pragma: no-cache");
   printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<response>\r\n<error>-1</error>\r\n<message>".Context::getLang('msg_limit_comment')."</message>\r\n</response>", $addon_info->comment_limit);

   Context::close();
   exit();
  }

    }
?>

 

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
이주연743 Err : "./modules/board/tpl/../../module/tpl/include.manage_selected.html" template file does not exists. [1] 2011.10.31 by excitor
likesun 게시판 그림 미리보기가 안되는 현상 질문드려요. [1] 2011.10.31 by 이끼다
싸나이김 글작성제한 Php 수정 부탁드립니다.  
모라티 게시판 글쓰기후 등록하면 문서번호를 입력하라고 하는 메시지 [1] 2011.10.31 by 이끼다
이진성919 급합니다 오류건 [1] file 2011.10.31 by 이끼다
수피아보이 1.508에서 게시판,페이지,외부페이지가 어디 있어요?? [1] 2011.10.31 by 이끼다
Nov25 shopXE 결제모듈  
AR. 즐겨찾기가 먹통이네요. [1] 2011.10.31
코튼캔디 로그인시 필요한 메뉴들인데요. 이 경로들이 가리키는 위치의 파일이 어느것인가요?  
EliteGuard 추천 버튼을 옮기고 싶습니다.  
thisend 메뉴와 메뉴 사이에 뭔가를 넣고 싶습니다.  
navyFlElD (긴급)1.5.0.8에서 다운그레이드 한후게시판에 급한문제가 생겼습니다 [1] file 2011.10.31 by 민기
히이릯 로그인 페이지 문제  
홈페이지123 위젯설정에 대해서요 [2] file 2011.10.31 by 이끼다
여행객 다국어 입력 시 문의  
몽키@매직 제로보드4 -> xe 전환시 회원정보관련 [1] 2011.10.31 by 에릭리카드
nyny101 급질문이요!!! [1] 2011.10.31 by 에릭리카드
gamsa365tv방송 관리자화면 들어가는법좀 알려주세요 부탁입니다 [3] 2011.10.31 by 양파농부
iceman237 xe 게시판 내용에 javascript 안먹어요 [2] file 2011.10.31 by 인터니즈2
Centell 1.5.0.8 업데이트 이후 댓글이 안 달리는 문제가 생겼습니다 ㅠ [2] 2011.10.31 by 하늘종
파표 주소에 관해서 여쭙니다.. [1] 2011.10.31 by CMD
왕바우 xe 업데이트 하고 나서 위젯 안보이는 문제점 문의입니다. [1] file 2011.10.31 by 스티브복스
쿨럭이 문법좀 봐주시세요~! [6] 2011.10.31 by 스티브복스
윤이아빠 1.5.0.8 이미지 본문 삽입시 동일한 이미지가 중복으로 등록됩니다. [2] file 2011.10.30 by 윤이아빠
정재엽261 1.4.5.7에서 최신버전(1.5.0.8)업그레이트 하려면 어떻게 해야하나요 [1] 2011.10.30 by 양파농부
도라란 자바스크립트 href="#" 가 의도대로 작동하지 않습니다. [1] 2011.10.30 by tobor
홍길동친구 회원포인트 이전 후 문제점 [1] 2011.10.30 by 홍길동친구
1004774 lang에 추가했는데 msg_xx 식으로 뜨네요  
제로초짜 제로보드 메뉴가 언어변환시 메뉴의 언어도 변하는방법 [2] 2011.10.30 by 백성찬
쏭바강 사용자포럼 게시판 배포 된건가요?