XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.
조회 수 91 댓글 17

배너클릭시 포인트를 지급하는 모듈인데..

 

이걸 초기화기준을 0시로 하고싶을때

 

portalpoint.model.php 파일의

 

61번째줄을 

 

$args->regdate = date("Ymd"); 이렇게 되있는걸

 

$args->regdate = date("Ymd000000"); 이렇게 바꿔주면 0시에 초기화가 되나요?

  • ?
    마신 2016.10.31 10:30:53

    사용해보지 않아서 모르지만 

    그위부분에 비교하는부분에서

    date("YmdHi" 이부분들을 date("Ymd" 이렇게 날짜까지만 비교하게 수정하면 되지 않을까요?

  • profile
    웹지기 2016.10.31 11:14:51
    저도 이거 궁금하네요. 다른 자료들은 모두 00시 초기화 되서 날 바뀌면 게임도 다시 하고 하는데 이 배너클릭만 시간 계산해야 하니 약간 매칭이 안되는 것도 있어서요..


    <?php
    /**
    * @class portalpointModel
    * @author 러키군 (admin@barch.kr)
    * @brief portalpoint 모듈의 Model class
    **/

    class portalpointModel extends portalpoint {
    /**
    * @brief 초기화
    **/
    function init() {
    }
    /**
    * @brief 모듈정보 가져옴
    **/
    function getConfig() {
    // 설정 정보 가져오기
    $oModuleModel = &getModel('module');
    $portal_config = $oModuleModel->getModuleConfig('portalpoint');
    if($portal_config->url_list) $portal_config->url_list = unserialize($portal_config->url_list);

    return $portal_config;
    }
    /**
    * @brief 해당포탈의 쿨타임이 지났는지 검사함
    * 클릭 안했을경우 false, 이미 했으면 true
    **/
    function todayClickCheck($member_srl,$obj) {
    if(!$obj['title']) return false;
    if(!$obj['delay']) return true;
    $obj['delay_type'] = (int)$obj['delay_type']; // 일,분

    // 이미 클릭한 로그정보가 있는지 체크함
    $args = null;
    $args->title = $obj['title'];
    $args->member_srl = $member_srl;
    $args->ipaddress_prefix = preg_replace('/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/','$1.$2.$3', $_SERVER['REMOTE_ADDR']);
    $output = executeQuery("portalpoint.getLog",$args);

    // 로그가 없으면 그냥 false
    if(!$output->data) return false;

    $last_regdate = zdate($output->data->regdate,"Y-m-d H:i:s");
    $now = date("YmdHi");

    // 시간비교-분일때
    if($obj['delay_type']==1) $end_date = date("YmdHi",strtotime(sprintf("+%d minutes",$obj['delay']),strtotime($last_regdate)));
    else $end_date = date("YmdHi",strtotime(sprintf("+%d day",$obj['delay']),strtotime($last_regdate)));
    if($now > $end_date) return false;

    return true;
    }
    /**
    * @brief 클릭한회원의 오늘 획득포인트를 리턴
    **/
    function getTodayTotalPoint($member_srl) {
    $args = null;
    $args->member_srl = $member_srl;
    $args->ipaddress_prefix = preg_replace('/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/','$1.$2.$3', $_SERVER['REMOTE_ADDR']);
    $args->regdate = date("Ymd");
    $output = executeQuery("portalpoint.getLogWithPoint",$args);

    $total_point = (int)$output->data->total_point;
    return $total_point;
    }
    }
    ?>
  • ?
    라그릿 2016.10.31 13:16:07
    배너 광고는 0시 초기화가 불가능한거려나요..
  • ?
    라그릿 2016.10.31 13:16:25
    획득 포인트를 리턴 부분을 수정하는게 맞는거같은데.. 아닌가..ㅠ
  • profile
    람보 2016.10.31 12:09:33
    해당부분은 그냥 오늘날자인지 아닌지만 채크하는 형태인듯 한데요.
  • ?
    라그릿 2016.10.31 13:14:51
    에!?
  • profile
    람보 2016.10.31 13:18:46
    웹지기님이 올리신 코드에서 나타난걸 보면, 단순히 getTodayTotalPoint 메서드의 역활은 오늘날자인지 아닌지 채크하기 위해서 getLogWithPoint.xml에 작성된 xml쿼리문을 읽어들이고 그 값을 $total_point = (int)$output->data->total_point; 으로 해당 데이터의 오늘 토탈포인트를 반환하는 과정을 거치고 있어요.

    따라서 오늘날자에 해당 회원의 흭득한 포인트를 검사하는 용도로 보여지고, 실제로 초기화쪽을 담당하는 쪽은 다른구간이 아닌가 생각되는데요.

    실제로 phpinfo 에서 date의 타임존 설정이 Asia/Seoul 으로 지정되어있음에도 불구하고 뭔가 초기화쪽이 이루어지지 않았다면 그 해당 액션전체를 봐야하는 문제라 다른사람이나 일반 XEtown에서 상주하고 계신분들이 답변드리기 부담스러운 질문이 되어버린거죠..

    그리고 설정하신 date('Ymd') 에 마지막 숫자를 추가하는 방법은
    date('Ymd').'000000'; 이렇게 추가할 수 있습니다...
  • ?
    라그릿 2016.10.31 13:20:56
    아, 그렇군요.. 아이템샵 0시 초기화는 몇부분만 수정하길래 비슷한건줄 알았는데 아니였나보네요.
    답변 감사합니다.
  • profile
    웹지기 2016.10.31 13:21:05

    현재는 모듈에서 1일로 제한하면 마지막 클릭시간을 체크한 다음  24시간이 지나지 않았다면 포인트를 지급하지 않고있어요. 이걸 0시가 되면 포인트적립을 허용하고 싶다는것이죠.

  • ?
    라그릿 2016.10.31 13:29:45
    그런거죠..

    가위바위보나 복권같은건 0시가 되자마자 딱 초기화 되는데 배너는 안되서..
    검색을 해보니 아이템샵도 구입제한이 하루기준으로 계산되는걸 0시기준으로 바꿀수있길래 비슷한가 해서 질문을 한거죳! ㅎㅎ
  • profile
    웹지기 2016.10.31 15:45:05

    // 시간비교-분일때
    if($obj['delay_type']==1) $end_date = date("YmdHi",strtotime(sprintf("+%d minutes",$obj['delay']),strtotime($last_regdate)));
    else $end_date = date("YmdHi",strtotime(sprintf("+%d day",$obj['delay']),strtotime($last_regdate)));
    if($now > $end_date) return false;



    if($now > $end_date) return false; <-- 이부분이 연관이 있을까요? 현재시간과 마지막시간을 비교해서 동작하는 것 같긴한데요...

     

     

     

     

    $now = date("YmdHi");   --->  Hi  를 빼버리고..

    $end_date = date("YmdHi",strtotime(sprintf("+%d day",$obj['delay']),strtotime($last_regdate))); 

    --> 여기서도 Hi 를 빼버리면

     

    어찌 될까요??

  • profile
    웹지기 2016.10.31 15:57:10

    아니면... 흠...

     

     $now = date("YmdHi");

     

    // 시간비교-분일때
                if($obj['delay_type']==1) $end_date = date("YmdHi",strtotime(sprintf("+%d minutes",$obj['delay']),strtotime($last_regdate)));
                else $end_date = date("YmdHi",strtotime(sprintf("+%d day",$obj['delay']),strtotime($last_regdate)));
                if($now >= $end_date) return false;

                return true;

     

    요건 어떨까요......

  • profile
    웹지기 2016.10.31 17:28:18
    일단 이렇게 수정해 놓고 오늘 밤 12시에 테스트 해 보겠습니다.
  • ?
    라그릿 2016.10.31 17:37:03
    헛 저도 해봐야겠네요.
  • profile
    웹지기 2016.11.01 00:21:05
    테스트해보니 잘 되네요. 어차피 하루 1회로 해서 쓸꺼면 이렇게 수정해서 쓰면 될거 같네요.
  • ?
    라그릿 2016.11.01 00:56:49
    오우 오우 저도 잘되네요 !
    감사합니다 !
  • profile
    다이오니 2016.11.01 02:21:57
    옷.. 저도 필요했는데 감사합니다!

List of Articles
번호 분류 제목 최종 글
공지 질문/답변 답변을 확실히 받기위한 질문자 지침서 20  
3141 질문/답변 글쓴이 게시물 출력 애드온 사용중인데 추천/비추천 아래에 출력하고 싶습니다. 3 file 2016.11.02 수정 torrent
3140 질문/답변 [질문] DNS와 서브도메인 등록의 관계 7 2016.11.02 수정 한라봉
3139 질문/답변 php 모듈 로드가 않되는 현상 질문좀 드릴게요., 3 2016.11.02 수정 기진곰
3138 질문/답변 무한루프 되는 현상 관련질문드립니다. 5 file 2016.11.02 수정 웹지기
3137 질문/답변 [해결]xe레이아웃 인덱스 모듈 정의하기? 2016.11.02 작성 이온디
3136 질문/답변 XE 업데이트 이후 DB Table 생성 필요라는 것이 계속 뜹니다. 5 file 2016.11.02 수정 기진곰
3135 질문/답변 이미지 마크 GIF 리사이징 되나요? 6 2016.11.02 수정 웹지기
3134 질문/답변 API호출 받았는데 해당 호출이 #주소로 넘어오는경우. 3 2016.11.01 수정 람보
3133 질문/답변 본문 삽입시 이미지 가운데 정렬로 되게하기 11 2016.11.02 수정 스트릿
3132 질문/답변 좌측정렬 5 2016.11.01 수정 웹지기
3131 질문/답변 2가지 호스팅 서비스 비교 부탁드립니다. 7 2016.11.02 수정 pjk
3130 질문/답변 og:image 가 여러개가 생겨서 카카오톡 링크 시 이미지가 안뜨는거 같습니다. 3 2016.11.01 수정 불금
3129 질문/답변 XE 설치후 보안쪽 에러가 난다고 하는데 PHP 세팅 문제를 조언 부탁들비니다. 4 2016.11.01 수정 구름이
3128 질문/답변 익명 페이지에서 운영자의 닉네임만 보이게 하려면 어떻게 해야 할까요? 2 2016.11.01 수정 스트릿
3127 질문/답변 채팅방 회원 아이콘 출력 문제.. 10 2016.11.02 수정 라그릿
» 질문/답변 Portal XE 애드온 초기화기준을 0시로 할때 17 2016.11.01 수정 다이오니
3125 질문/답변 statssl 적용후 네이버웹검색에서 폭망~! 23 2016.10.30 수정 가브리엘조
3124 질문/답변 서버 사양에 대해서 어떻게 생각하시나요? 13 2016.10.29 수정 고라자
3123 질문/답변 안녕하세요. 회원가입 확장 모듈을 사용하고 있습니다. 2016.10.29 작성 이민혜
3122 질문/답변 xe 업데이트 변경 파일 4 2016.10.29 수정 데버
Board Pagination Prev 1 ... 10 11 12 13 14 15 16 17 18 19 ... 172 Next
/ 172
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...