static function CheckCookie(&$futurebb_user) { global $base_config, $db; $futurebb_user = array(); if (isset($_COOKIE[$base_config['cookie_name']])) { $cookie = base64_decode($_COOKIE[$base_config['cookie_name']]); } else { self::Guest(); return; } $parts = explode(chr(1), $cookie); if (sizeof($parts) < 3) { self::Guest(); return; } else { $id = intval($parts[0]); $hash = $parts[1]; self::$randid = $parts[2]; } $result = $db->query('SELECT u.*,g.* FROM `#^users` AS u LEFT JOIN `#^user_groups` AS g ON g.g_id=u.group_id WHERE u.id=' . $id) or error('Failed to check user', __FILE__, __LINE__, $db->error()); $user_info = $db->fetch_assoc($result); if ($id != 0) { if ($hash != futurebb_hash($user_info['password'] . $_SERVER['HTTP_USER_AGENT'])) { self::Guest(); return; } $futurebb_user = $user_info; $futurebb_user['notifications_count'] = $db->num_rows($db->query('SELECT type, send_time, contents FROM `#^notifications` WHERE user='******'id'] . ' AND read_time = 0')); //self::LoadNotifications(); self::CheckPromotion(); } else { self::Guest(); return; } }