Allow programs to determine whether a member has points without calling isExistsPoint() and getPoint() separately

포인트 정보가 아예 없는 경우와 0포인트가 있는 경우를 구분하기 위해
isExistsPoint()와 getPoint()를 각각 호출하지 않아도 되도록
getPoint()에 3번째 인자 $exists를 추가함
This commit is contained in:
Kijin Sung 2017-12-21 15:24:55 +09:00
parent 01ee23b7d9
commit 3e1d223962
2 changed files with 8 additions and 3 deletions

View file

@ -43,8 +43,8 @@ function pointLevelIconTrans($matches, $addon_info)
$oPointModel = &$GLOBALS['_pointModel']; $oPointModel = &$GLOBALS['_pointModel'];
// Get points // Get points
$point = $oPointModel->getPoint($member_srl); $point = $oPointModel->getPoint($member_srl, false, $exists);
if(!$point) if(!$exists)
{ {
return $matches[0]; return $matches[0];
} }

View file

@ -29,13 +29,14 @@ class pointModel extends point
/** /**
* @brief Get the points * @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); $member_srl = abs($member_srl);
// Get from instance memory // Get from instance memory
if (!$from_db && isset(self::$_member_point_cache[$member_srl])) if (!$from_db && isset(self::$_member_point_cache[$member_srl]))
{ {
$exists = true;
return self::$_member_point_cache[$member_srl]; return self::$_member_point_cache[$member_srl];
} }
@ -46,6 +47,7 @@ class pointModel extends point
$point = Rhymix\Framework\Cache::get($cache_key); $point = Rhymix\Framework\Cache::get($cache_key);
if ($point !== null) if ($point !== null)
{ {
$exists = true;
return $point; return $point;
} }
} }
@ -55,6 +57,7 @@ class pointModel extends point
$cache_filename = sprintf('%s%d.cache.txt', $cache_path, $member_srl); $cache_filename = sprintf('%s%d.cache.txt', $cache_path, $member_srl);
if (!$from_db && file_exists($cache_filename)) if (!$from_db && file_exists($cache_filename))
{ {
$exists = true;
return self::$_member_point_cache[$member_srl] = intval(trim(Rhymix\Framework\Storage::read($cache_filename))); 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); $output = executeQuery('point.getPoint', $args);
if (isset($output->data->member_srl)) if (isset($output->data->member_srl))
{ {
$exists = true;
$point = intval($output->data->point); $point = intval($output->data->point);
} }
else else
{ {
$exists = false;
return 0; return 0;
} }