1. 게시판에 올린 파일을 다운 받을 때 포인트 유무를 확인하고 있을때만 다운이 되고..

2. 로그인이 안된 경우 즉, 비회원일때는 아예 다운이 되지 않게끔 하고 싶은데.. 안되네요.

 

제어판(관리자모드)에서 포인트 설정에 가서 포인트 없이는 다운 금지에 체크했지만...
로그인이 안된 상태에서도 파일이 다운이 되네요.
20포인트가 있어야 다운이 되도록 설정했는데도...

 

그래서
위의 제공하는 파일(point.controller.php)에서 두 개의 함수만 기존 파일에 덮어쓰기를 했음에도 해결이 되지 않네요.

즉, 아래의 소스만 덮어썼습니다.

해결방법 좀 알려 주시길 바랍니다.

 function triggerBeforeDownloadFile(&$obj) {
            $logged_info = Context::get('logged_info');
            $member_srl = $logged_info->member_srl;
            $module_srl = $obj->module_srl;
            if(!$module_srl) return new Object();

            // 자신의 올린 파일이면 패스
            if(abs($obj->member_srl) == abs($member_srl)) return new Object();

            $oModuleModel = &getModel('module');
            $config = $oModuleModel->getModuleConfig('point');
            $module_config = $oModuleModel->getModulePartConfig('point', $module_srl);

            // 포인트가 없으면 다운로드가 안되도록 하였으면 비로그인 회원일 경우 중지
            if(!Context::get('is_logged'))
   {
    $download_file = $module_config['download_file'];
    if(!isset($download_file)) $download_file = '0';
    if($config->disable_download == 'Y' && $download_file != '0') return new Object(-1,'msg_not_permitted_download');
    else return new Object();
   }

            // 대상 회원의 포인트를 구함
            $oPointModel = &getModel('point');
            $cur_point = $oPointModel->getPoint($member_srl, true);

            // 포인트를 구해옴
            $point = $module_config['download_file'];
            if(!isset($point)) $point = $config->download_file;

            // 포인트가 0보다 작고 포인트가 없으면 파일 다운로드가 안되도록 했다면 오류
            if($cur_point + $point < 0 && $config->disable_download == 'Y') return new Object(-1,'msg_not_permitted_download');

            return new Object();
        }

 

 function triggerDownloadFile(&$obj) {
            // 로그인 상태일때만 실행
            $logged_info = Context::get('logged_info');
            if(!$logged_info->member_srl) return new Object();
            $module_srl = $obj->module_srl;
            $member_srl = $logged_info->member_srl;
            if(!$module_srl) return new Object();

            // 자신의 올린 파일이면 패스
            if(abs($obj->member_srl) == abs($member_srl)) return new Object();

            // point 모듈 정보 가져옴
            $oModuleModel = &getModel('module');
            $config = $oModuleModel->getModuleConfig('point');
            $module_config = $oModuleModel->getModulePartConfig('point', $module_srl);

            // 대상 회원의 포인트를 구함
            $oPointModel = &getModel('point');
            $cur_point = $oPointModel->getPoint($member_srl, true);

            // 포인트를 구해옴
            $point = $module_config['download_file'];
            if(!isset($point)) $point = $config->download_file;

            // 포인트 증감
            $cur_point += $point;
            $this->setPoint($member_srl,$cur_point);

            return new Object();
        }