发新帖
if (!function_exists('till_users_widget_latest_users')) {
function till_users_widget_latest_users($limit = 8)
{
$limit = max(1, intval($limit));
$cache_key = 'till_users_widget_latest_users_' . $limit;
$userlist = cache_get($cache_key);
if ($userlist !== NULL) {
return is_array($userlist) ? $userlist : array();
}
$result = array();
$raw_list = db_find('user', array(), array('uid' => -1), 1, $limit * 2, 'uid');
if (!empty($raw_list)) {
foreach ($raw_list as $raw_user) {
$uid = intval($raw_user['uid']);
if ($uid <= 0) continue;
$user = user_read_cache($uid);
if (empty($user)) continue;
$result[] = array(
'uid' => $uid,
'username' => $user['username'],
'avatar_url' => $user['avatar_url'],
'create_date_fmt' => !empty($user['create_date']) ? humandate(intval($user['create_date'])) : '-',
);
if (count($result) >= $limit) break;
}
}
cache_set($cache_key, $result, 300);
return $result;
}
}
if (!function_exists('till_users_widget_online_users')) {
function till_users_widget_online_users($limit = 8)
{
$limit = max(1, intval($limit));
$result = array();
$seen = array();
$online_user_list = online_list_cache();
if (!empty($online_user_list)) {
foreach ($online_user_list as $online_user) {
$uid = intval($online_user['uid']);
if ($uid <= 0 || isset($seen[$uid])) continue;
$seen[$uid] = 1;
$user = user_read_cache($uid);
if (empty($user)) continue;
$last_date = intval($online_user['last_date']);
$result[] = array(
'uid' => $uid,
'username' => $user['username'],
'avatar_url' => $user['avatar_url'],
'last_date_fmt' => $last_date > 0 ? humandate($last_date) : '-',
);
if (count($result) >= $limit) break;
}
}
return $result;
}
}
$widget_latest_users = till_users_widget_latest_users(8);
$widget_online_users = till_users_widget_online_users(8);
$widget_online_total = isset($runtime['onlines']) ? intval($runtime['onlines']) : count($widget_online_users);
?>