1.0.6에서는 제대로 작동 하던 기능이
1.1.0인가 1.1.1로 넘어오면서 제대로 작동하지 않았습니다.

                function dispBoardWrite() {
            // 권한 체크
            if(!$this->grant->write_document) return $this->dispBoardMessage('msg_not_permitted');
        
         // check point
         if(Context::get('is_logged')) {
            $logged_info = Context::get('logged_info');
            $oPointModel = &getModel('point');
        $current_point = $oPointModel->getPoint($logged_info->member_srl);
        $oModuleModel = &getModel('module');
        $point_config = $oModuleModel->getModulePartConfigs('point');
        $module_srl = Context::get('module_srl');
        $current_module_point = ($point_config[$module_srl]['insert_document']? $point_config[$module_srl]['insert_document'] : $point_config->insert_document);
        if ($current_point + $current_module_point < 0) return $this->dispBoardMessage('msg_not_enough_point');



예전과 지금의 Module의 Config를 가져오는 방법이 달라져서 제대로 작동하지 않았습니다.
1.1.1에서 적용중인 자료입니다.
Posted by Parker Falcon
제로보드 XE 1.0.6 에는 포인트 기능에서 조그마한 문제가 있습니다.

글을 작성할 떄 포인트가 줄어드는 게시판에, 포인트가 부족한 상태에서도 글을 작성할 수 있다는 사실.

좀 귀찮은 문제이어서 바로 수정하였습니다.

modules/board/board.view.php 입니다.

약 263줄 부터입니다.

         /**
         * @brief 글 작성 화면 출력
         **/
        function dispBoardWrite() {
            // 권한 체크
            if(!$this->grant->write_document) return $this->dispBoardMessage('msg_not_permitted');

            // check point
            if(Context::get('is_logged')) {
                $logged_info = Context::get('logged_info');
                $oPointModel = &getModel('point');
                $current_point = $oPointModel->getPoint($logged_info->member_srl);
                $oModuleModel = &getModel('module');
                $point_config = $oModuleModel->getModuleConfig('point');
                $module_srl = Context::get('module_srl');
                $current_module_point = ($point_config->module_point[$module_srl]['insert_document']? $point_config->module_point[$module_srl]['insert_document'] : $point_config->insert_document);
                if ($current_point + $current_module_point < 0) return $this->dispBoardMessage('msg_not_enough_point');
                debugPrint ('cur = '.$current_point.' mod = '.$current_module_point );
            }


            $oDocumentModel = &getModel('document');

아 그리고 $lang->msg_not_enough_point 라는 메시지는 적당히 추가해주면 됩니다.

"포인트가 부족합니다" 정도는 어떨까요?

2009년 1월 8일 추가 :

1.1.1 에서 제대로 작동하지 않아서 http://quota.tistory.com/129 에 업데이트 하였습니다.
Posted by Parker Falcon
잠 안와서 몇 시간 밤 새다가 만들었네요 ㅠㅠ

다시는 이런짓 안해야지 ㅠㅠ

설치 방법 - 그냥 풀어서, 덮어씌우시거나 알아서 폴어 옮기시거나... 이전 자료 날라갔다고 저에게 뭐라하셔도 소용없습니다.

저번에 zip 안올려서 곤란하신 분들 생각에 이번에는 두 버전 같이 올립니다...

point-log3.zip point-log3.tar.bz2


이용 방법


조금 더 고치기

알려진 문제점


추가 - 0.2 버전에 몇 가지 사소한 수정하여 0.2.1 올렸습니다.
= 이전에 debugPrint로 사용하던 소스가 일부 남아서 없에고 올렸습니다.
= 관리자가 임의로 포인트를 정해 줄 경우 메시지로 기록이 남습니다.
= 관리자 메뉴에서 검색 후 이동할 때 검색 쿼리가 따라다니는 문제점을 해결하였습니다.
= 글 쓰기 과정에서 점수 변화량을 제대로 출력하지 못한 문제를 해결하였습니다.
Posted by Parker Falcon