private static function get_base($where, $userid, $cache, $cloneid) { // If user isn't logged in, don't get unread data if (!isloggedin()) { $userid = -1; } // Get discussion data (including read status) $rs = self::query_discussions($where, $userid, 'id', 0, 1); if (!($discussionfields = rs_fetch_next_record($rs))) { throw new forum_exception('Unable to retrieve relevant discussion'); } rs_close($rs); // Get forum and construct discussion $forum = forum::get_from_id($discussionfields->forumid, $cloneid); $result = new forum_discussion($forum, $discussionfields, true, forum_utils::get_real_userid($userid)); if ($cache) { $result->cache($userid); } return $result; }