mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-11 04:52:14 +09:00
Fix potential problem caused by caching of partial member info
This commit is contained in:
parent
5140047b5f
commit
e823ce045b
1 changed files with 15 additions and 14 deletions
|
|
@ -133,7 +133,7 @@ class memberModel extends member
|
||||||
$user_id = $member_info->user_id;
|
$user_id = $member_info->user_id;
|
||||||
$user_name = $member_info->user_name;
|
$user_name = $member_info->user_name;
|
||||||
|
|
||||||
ModuleHandler::triggerCall('member.getMemberMenu', 'before', $null);
|
ModuleHandler::triggerCall('member.getMemberMenu', 'before', new stdClass);
|
||||||
|
|
||||||
$oMemberController = getController('member');
|
$oMemberController = getController('member');
|
||||||
// Display member information (Don't display to non-logged user)
|
// Display member information (Don't display to non-logged user)
|
||||||
|
|
@ -247,7 +247,7 @@ class memberModel extends member
|
||||||
/**
|
/**
|
||||||
* @brief Return member information with user_id
|
* @brief Return member information with user_id
|
||||||
*/
|
*/
|
||||||
function getMemberInfoByUserID($user_id, $columnList = array())
|
function getMemberInfoByUserID($user_id)
|
||||||
{
|
{
|
||||||
if(!$user_id) return;
|
if(!$user_id) return;
|
||||||
|
|
||||||
|
|
@ -292,28 +292,27 @@ class memberModel extends member
|
||||||
/**
|
/**
|
||||||
* @brief Return member information with member_srl
|
* @brief Return member information with member_srl
|
||||||
*/
|
*/
|
||||||
function getMemberInfoByMemberSrl($member_srl, $site_srl = 0, $columnList = array())
|
function getMemberInfoByMemberSrl($member_srl, $site_srl = 0)
|
||||||
{
|
{
|
||||||
if(!$member_srl) return new stdClass;
|
if(!$member_srl) return new stdClass;
|
||||||
|
|
||||||
//columnList size zero... get full member info
|
if(!$GLOBALS['__member_info__'][$member_srl])
|
||||||
if(!$GLOBALS['__member_info__'][$member_srl] || count($columnList) == 0)
|
|
||||||
{
|
{
|
||||||
$cache_key = 'member:member_info:' . getNumberingPath($member_srl) . $member_srl;
|
$cache_key = sprintf('member:member_info:%d', $member_srl);
|
||||||
$GLOBALS['__member_info__'][$member_srl] = Rhymix\Framework\Cache::get($cache_key);
|
$GLOBALS['__member_info__'][$member_srl] = Rhymix\Framework\Cache::get($cache_key);
|
||||||
if(!$GLOBALS['__member_info__'][$member_srl])
|
if(!$GLOBALS['__member_info__'][$member_srl])
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->member_srl = $member_srl;
|
$args->member_srl = $member_srl;
|
||||||
$output = executeQuery('member.getMemberInfoByMemberSrl', $args, $columnList);
|
$output = executeQuery('member.getMemberInfoByMemberSrl', $args);
|
||||||
if(!$output->data)
|
if(!$output->data)
|
||||||
{
|
{
|
||||||
Rhymix\Framework\Cache::set($cache_key, new stdClass);
|
Rhymix\Framework\Cache::set($cache_key, new stdClass);
|
||||||
return new stdClass;
|
return new stdClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->arrangeMemberInfo($output->data, $site_srl);
|
$member_info = $this->arrangeMemberInfo($output->data, $site_srl);
|
||||||
Rhymix\Framework\Cache::set($cache_key, $GLOBALS['__member_info__'][$member_srl]);
|
Rhymix\Framework\Cache::set($cache_key, $member_info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -456,7 +455,7 @@ class memberModel extends member
|
||||||
static $member_groups = array();
|
static $member_groups = array();
|
||||||
|
|
||||||
// cache controll
|
// cache controll
|
||||||
$cache_key = 'member:member_groups:' . getNumberingPath($member_srl) . $member_srl . ':site:' . $site_srl;
|
$cache_key = sprintf('member:member_groups:%d:site:%d', $member_srl, $site_srl);
|
||||||
$group_list = Rhymix\Framework\Cache::get($cache_key);
|
$group_list = Rhymix\Framework\Cache::get($cache_key);
|
||||||
|
|
||||||
if(!$member_groups[$member_srl][$site_srl] || $force_reload)
|
if(!$member_groups[$member_srl][$site_srl] || $force_reload)
|
||||||
|
|
@ -511,17 +510,18 @@ class memberModel extends member
|
||||||
/**
|
/**
|
||||||
* @brief Get a default group
|
* @brief Get a default group
|
||||||
*/
|
*/
|
||||||
function getDefaultGroup($site_srl = 0, $columnList = array())
|
function getDefaultGroup($site_srl = 0)
|
||||||
{
|
{
|
||||||
$default_group = Rhymix\Framework\Cache::get("member:default_group:$site_srl");
|
$cache_key = sprintf('member:default_group:site:%d', $site_srl);
|
||||||
|
$default_group = Rhymix\Framework\Cache::get($cache_key);
|
||||||
|
|
||||||
if(!$default_group)
|
if(!$default_group)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$args = new stdClass();
|
||||||
$args->site_srl = $site_srl;
|
$args->site_srl = $site_srl;
|
||||||
$output = executeQuery('member.getDefaultGroup', $args, $columnList);
|
$output = executeQuery('member.getDefaultGroup', $args);
|
||||||
$default_group = $output->data;
|
$default_group = $output->data;
|
||||||
Rhymix\Framework\Cache::set("member:default_group:$site_srl", $default_group, 0, true);
|
Rhymix\Framework\Cache::set($cache_key, $default_group, 0, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $default_group;
|
return $default_group;
|
||||||
|
|
@ -532,6 +532,7 @@ class memberModel extends member
|
||||||
*/
|
*/
|
||||||
function getAdminGroup($columnList = array())
|
function getAdminGroup($columnList = array())
|
||||||
{
|
{
|
||||||
|
$args = new stdClass;
|
||||||
$output = executeQuery('member.getAdminGroup', $args, $columnList);
|
$output = executeQuery('member.getAdminGroup', $args, $columnList);
|
||||||
return $output->data;
|
return $output->data;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue