diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index b3d173dac..b28c6d20e 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -324,6 +324,9 @@ $member_srl = $oDocument->get('member_srl'); $logged_info = Context::get('logged_info'); + // 조회수 업데이트가 되면 trigger 호출 (after) + $output = ModuleHandler::triggerCall('document.updateReadedCount', 'after', $oDocument); + if(!$output->toBool()) return $output; // session에 정보로 조회수를 증가하였다고 생각하면 패스 if($_SESSION['readed_document'][$document_srl]) return false; @@ -345,34 +348,6 @@ // 세션 등록 $_SESSION['readed_document'][$document_srl] = true; - - /** - * DB를 이용한 조회수 체크는 부하 문제로 일단 제거 - // 로그인 사용자이면 member_srl, 비회원이면 ipaddress로 판단 - if($logged_info->member_srl) { - $args->member_srl = $logged_info->member_srl; - } else { - $args->ipaddress = $_SERVER['REMOTE_ADDR']; - } - $args->document_srl = $document_srl; - $output = executeQuery('document.getDocumentReadedLogInfo', $args); - - // 로그 정보에 조회 로그가 있으면 세션 등록후 패스 - if($output->data->count) return $_SESSION['readed_document'][$document_srl] = true; - - // 조회수 업데이트 - $output = executeQuery('document.updateReadedCount', $args); - - // 로그 남기기 - $output = executeQuery('document.insertDocumentReadedLog', $args); - - // 조회수 업데이트가 되면 trigger 호출 (after) - $output = ModuleHandler::triggerCall('document.updateReadedCount', 'after', $oDocument); - if(!$output->toBool()) return $output; - - // 세션 정보에 남김 - return $_SESSION['readed_document'][$document_srl] = true; - */ } /** diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index ab79d30fd..9861bfa6e 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -331,6 +331,18 @@ // 포인트를 구해옴 $point = $config->module_point[$obj->get('module_srl')]['read_document']; if(!isset($point)) $point = $config->read_document; + + // 조회 포인트가 없으면 패스 + if(!$point) return new Object(); + + // 읽은 기록이 있는지 확인 + $args->member_srl = $member_srl; + $args->document_srl = $obj->document_srl; + $output = executeQuery('document.getDocumentReadedLogInfo', $args); + if($output->data->count) return new Object(); + + // 읽은 기록이 없으면 기록 남김 + $output = executeQuery('document.insertDocumentReadedLog', $args); // 포인트 증감 $cur_point += $point; diff --git a/modules/point/tpl/point_module_config.html b/modules/point/tpl/point_module_config.html index 176ceb914..0ac5d524f 100644 --- a/modules/point/tpl/point_module_config.html +++ b/modules/point/tpl/point_module_config.html @@ -1,7 +1,7 @@
- +