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 @@
-
+