From 3e1d2239628c6e76e5a8b3ddbb03ae39ad5b4712 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Thu, 21 Dec 2017 15:24:55 +0900 Subject: [PATCH] Allow programs to determine whether a member has points without calling isExistsPoint() and getPoint() separately MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 포인트 정보가 아예 없는 경우와 0포인트가 있는 경우를 구분하기 위해 isExistsPoint()와 getPoint()를 각각 호출하지 않아도 되도록 getPoint()에 3번째 인자 $exists를 추가함 --- addons/point_level_icon/point_level_icon.lib.php | 4 ++-- modules/point/point.model.php | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/point_level_icon/point_level_icon.lib.php b/addons/point_level_icon/point_level_icon.lib.php index 5d474c11c..c7679f2b2 100644 --- a/addons/point_level_icon/point_level_icon.lib.php +++ b/addons/point_level_icon/point_level_icon.lib.php @@ -43,8 +43,8 @@ function pointLevelIconTrans($matches, $addon_info) $oPointModel = &$GLOBALS['_pointModel']; // Get points - $point = $oPointModel->getPoint($member_srl); - if(!$point) + $point = $oPointModel->getPoint($member_srl, false, $exists); + if(!$exists) { return $matches[0]; } diff --git a/modules/point/point.model.php b/modules/point/point.model.php index 6a64d62cf..8dae9c1aa 100644 --- a/modules/point/point.model.php +++ b/modules/point/point.model.php @@ -29,13 +29,14 @@ class pointModel extends point /** * @brief Get the points */ - function getPoint($member_srl, $from_db = false) + function getPoint($member_srl, $from_db = false, &$exists = null) { $member_srl = abs($member_srl); // Get from instance memory if (!$from_db && isset(self::$_member_point_cache[$member_srl])) { + $exists = true; return self::$_member_point_cache[$member_srl]; } @@ -46,6 +47,7 @@ class pointModel extends point $point = Rhymix\Framework\Cache::get($cache_key); if ($point !== null) { + $exists = true; return $point; } } @@ -55,6 +57,7 @@ class pointModel extends point $cache_filename = sprintf('%s%d.cache.txt', $cache_path, $member_srl); if (!$from_db && file_exists($cache_filename)) { + $exists = true; return self::$_member_point_cache[$member_srl] = intval(trim(Rhymix\Framework\Storage::read($cache_filename))); } @@ -64,10 +67,12 @@ class pointModel extends point $output = executeQuery('point.getPoint', $args); if (isset($output->data->member_srl)) { + $exists = true; $point = intval($output->data->point); } else { + $exists = false; return 0; }