query($sql); $DB->query('SELECT FOUND_ROWS()'); list($NumResults) = $DB->next_record(); if ($NumResults > $PerPage * ($Page - 1)) { $DB->set_query_id($PostIDs); $PostIDs = $DB->collect('ID'); $sql = ' SELECT f.ID AS ForumID, f.Name AS ForumName, p.TopicID, t.Title, p.Body, t.LastPostID, t.IsLocked, t.IsSticky, p.ID, um.ID, um.Username, ui.Avatar, p.EditedUserID, p.EditedTime, ed.Username AS EditedUsername FROM forums_posts AS p LEFT JOIN forums_topics AS t ON t.ID = p.TopicID LEFT JOIN forums AS f ON f.ID = t.ForumID LEFT JOIN users_main AS um ON um.ID = p.AuthorID LEFT JOIN users_info AS ui ON ui.UserID = um.ID LEFT JOIN users_main AS ed ON ed.ID = um.ID WHERE p.ID IN ('.implode(',', $PostIDs).') ORDER BY f.Name ASC, t.LastPostID DESC'; $DB->query($sql); } $JsonPosts = array(); while (list($ForumID, $ForumName, $TopicID, $ThreadTitle, $Body, $LastPostID, $Locked, $Sticky, $PostID, $AuthorID, $AuthorName, $AuthorAvatar, $EditedUserID, $EditedTime, $EditedUsername) = $DB->next_record()) { $JsonPost = array( 'forumId' => (int)$ForumID, 'forumName' => $ForumName, 'threadId' => (int)$TopicID, 'threadTitle' => $ThreadTitle, 'postId' => (int)$PostID, 'lastPostId' => (int)$LastPostID, 'locked' => $Locked == 1, 'new' => ($PostID < $LastPostID && !$Locked) ); $JsonPosts[] = $JsonPost; } json_die('success', array( 'threads' => $JsonPosts )); ?>