diff --git a/modules/counter/counter.controller.php b/modules/counter/counter.controller.php index a5ea166c8..0d302f11f 100644 --- a/modules/counter/counter.controller.php +++ b/modules/counter/counter.controller.php @@ -89,17 +89,13 @@ class counterController extends counter { if($site_srl) { - $args->regdate = '0'; + $args->regdate = '0' . date('Ymd'); $args->site_srl = $site_srl; $output = executeQuery('counter.updateSiteCounterUnique', $args); - $args->regdate = date('Ymd'); - $output = executeQuery('counter.updateSiteCounterUnique', $args); } else { - $args->regdate = '0'; - $output = executeQuery('counter.updateCounterUnique', $args); - $args->regdate = date('Ymd'); + $args->regdate = '0' . date('Ymd'); $output = executeQuery('counter.updateCounterUnique', $args); } } @@ -112,19 +108,16 @@ class counterController extends counter */ function insertPageView($site_srl=0) { + $args = new stdClass; + $args->regdate = '0,' . date('Ymd'); + if($site_srl) { - $args->regdate = '0'; $args->site_srl = $site_srl; executeQuery('counter.updateSiteCounterPageview', $args); - $args->regdate = date('Ymd'); - executeQuery('counter.updateSiteCounterPageview', $args); } else { - $args->regdate = '0'; - executeQuery('counter.updateCounterPageview', $args); - $args->regdate = date('Ymd'); executeQuery('counter.updateCounterPageview', $args); } } @@ -137,6 +130,7 @@ class counterController extends counter */ function insertTotalStatus($site_srl=0) { + $args = new stdClass; $args->regdate = 0; if($site_srl) { @@ -158,6 +152,7 @@ class counterController extends counter */ function insertTodayStatus($regdate = 0, $site_srl=0) { + $args = new stdClass; if($regdate) $args->regdate = $regdate; else $args->regdate = date("Ymd"); if($site_srl) diff --git a/modules/counter/counter.model.php b/modules/counter/counter.model.php index d1386fdfb..c278ac1e2 100644 --- a/modules/counter/counter.model.php +++ b/modules/counter/counter.model.php @@ -23,11 +23,25 @@ class counterModel extends counter */ function isLogged($site_srl=0) { - $args->regdate = date("Ymd"); + $args = new stdClass; + $args->regdate = date('Ymd'); $args->ipaddress = $_SERVER['REMOTE_ADDR']; $args->site_srl = $site_srl; + + $oCacheHandler = &CacheHandler::getInstance('object'); + if($oCacheHandler->isSupport()) + { + $object_key = 'object:' . $site_srl . '_' . str_replace('.', '-', $args->ipaddress); + $cache_key = $oCacheHandler->getGroupKey('counterIpLogged_' . $args->regdate, $object_key); + if($oCacheHandler->isValid($cache_key)) return $oCacheHandler->get($cache_key); + } + $output = executeQuery('counter.getCounterLog', $args); - return $output->data->count?true:false; + + $result = $output->data->count ? TRUE : FALSE; + if($result && $oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $result); + + return $result; } /** @@ -38,17 +52,32 @@ class counterModel extends counter */ function isInsertedTodayStatus($site_srl=0) { - $args->regdate = date("Ymd"); + $args = new stdClass; + $args->regdate = date('Ymd'); + + $oCacheHandler = &CacheHandler::getInstance('object', NULL, TRUE); + if($oCacheHandler->isSupport()) + { + $cache_key = 'object:insertedTodayStatus:' . $site_srl . '_' . $args->regdate; + if($oCacheHandler->isValid($cache_key)) return $oCacheHandler->get($cache_key); + } + if($site_srl) { $args->site_srl = $site_srl; $output = executeQuery('counter.getSiteTodayStatus', $args); } - else + else $output = executeQuery('counter.getTodayStatus', $args); + + $result = $output->data->count ? TRUE : FALSE; + if($result && $oCacheHandler->isSupport()) { - $output = executeQuery('counter.getTodayStatus', $args); + $oCacheHandler->put($cache_key, $result); + $_old_date = date('Ymd', strtotime('-1 day')); + $oCacheHandler->delete('object:insertedTodayStatus:' . $site_srl . '_' . $_old_date); } - return $output->data->count?true:false; + + return $result; } /** diff --git a/modules/counter/queries/updateCounterPageview.xml b/modules/counter/queries/updateCounterPageview.xml index d4ec933b4..c21b7c487 100644 --- a/modules/counter/queries/updateCounterPageview.xml +++ b/modules/counter/queries/updateCounterPageview.xml @@ -6,6 +6,6 @@ - + diff --git a/modules/counter/queries/updateCounterUnique.xml b/modules/counter/queries/updateCounterUnique.xml index 2cdfe6048..fbe93abbd 100644 --- a/modules/counter/queries/updateCounterUnique.xml +++ b/modules/counter/queries/updateCounterUnique.xml @@ -7,6 +7,6 @@ - + diff --git a/modules/counter/queries/updateSiteCounterPageview.xml b/modules/counter/queries/updateSiteCounterPageview.xml index d527181c9..37f296734 100644 --- a/modules/counter/queries/updateSiteCounterPageview.xml +++ b/modules/counter/queries/updateSiteCounterPageview.xml @@ -7,6 +7,6 @@ - + diff --git a/modules/counter/queries/updateSiteCounterUnique.xml b/modules/counter/queries/updateSiteCounterUnique.xml index 8d6e4ad42..2f0317aa7 100644 --- a/modules/counter/queries/updateSiteCounterUnique.xml +++ b/modules/counter/queries/updateSiteCounterUnique.xml @@ -8,6 +8,6 @@ - +