require_once DISCUZ_ROOT . './include/forum.func.php'; $forumselect = forumselect(); if ($discuz_uid == $uid) { $layout[$side][] = 'postblog'; } } $layout[$side][] = 'hotblog'; $layout[$side][] = 'lastpostblog'; $hotblog = spacecaches($uid, array('hotblog', 'lastpostblog')); $moduledata = array_merge($moduledata, $hotblog); } elseif ($mod == 'mytrades') { $layout[$side][] = 'mytradetypes'; $layout[$side][] = 'tradeinfo'; if (!isset($tradetypeid)) { $layout[1][] = 'mycounters'; $moduledata['mycounters']['value'] = updatespacecache($uid, 'mycounters', TRUE); } $tmp = spacecaches($uid, 'mytradetypes'); $moduledata['mytradetypes']['value'] = $tmp['mytradetypes']['value']; $moduledata['tradeinfo']['value'] = $member; } } else { $moduledata = spacecaches($uid, $modulelist); } foreach ($modulelist as $module) { if (array_key_exists($module, $listmodule) && intval($spacedata['limit' . $module])) { $menulist[$listmodule[$module]] = $module; } } ksort($menulist); $moduledata['userinfo']['value'] = $member;
function spacecaches($uid, $modulelist = '') { global $db, $tablepre, $timestamp; $moduledata = array(); if (is_array($modulelist)) { $allmodules = array('mythreads', 'myreplies', 'myrewards', 'mytrades', 'myvideos', 'myfriends', 'myfavforums', 'myfavthreads', 'myblogs', 'hotblog', 'lastpostblog'); $modulelist = empty($modulelist) ? $allmodules : array_intersect($modulelist, $allmodules); $query = $db->query("SELECT * FROM {$tablepre}spacecaches WHERE uid='{$uid}'"); } else { $query = $db->query("SELECT * FROM {$tablepre}spacecaches WHERE uid='{$uid}' AND variable='{$modulelist}'"); $modulelist = $allmodules = array($modulelist); } while ($module = $db->fetch_array($query)) { $moduledata[$module['variable']]['expiration'] = $module['expiration']; $moduledata[$module['variable']]['value'] = unserialize($module['value']); } foreach ($allmodules as $module) { if (in_array($module, $modulelist) && (empty($moduledata[$module]) || $timestamp > $moduledata[$module]['expiration'])) { $moduledata[$module]['value'] = updatespacecache($uid, $module); } if (!empty($modulelist) && !in_array($module, $modulelist)) { unset($moduledata[$module]); } } return $moduledata; }