array( 'Body' => "Body" ), 'numeric' => array( 'AuthorId' => "AuthorId", 'ThreadId' => "ThreadId", 'Revision' => "Revision" ), 'boolean' => array( "Visible" => "Visible", "LatestRevision" => "LatestRevision" ), 'timestamp' => array( "PostedDate" => "PostedDate", "LastEditedDate" => "LastEditedDate", "EditExpiry" => "EditExpiry" ), 'user' => array( 'Author' => "AuthorId" ), 'forumthread' => array( "Thread" => "ThreadId" ) ); public function GetPermalink() { return "/forums/post/{$this->sId}/{$this->sThread->sSlug}"; } public function GetPage() { global $database; /* How many posts before this post in the thread? */ $result = $database->CachedQuery("SELECT COUNT(*) FROM forum_posts WHERE `ThreadId` = :ThreadId AND `Id` < :Id", array(":ThreadId" => $this->sThreadId, ":Id" => $this->sId)); $total_posts = $result->data[0]["COUNT(*)"]; return ($total_posts == 0) ? 1 : ceil(($total_posts + 1) / 30); } }