$id])->fetch(PDO::FETCH_OBJ); } static function GetReplyInfo($id) { return db::run("SELECT * FROM forum_replies WHERE id = :id", [":id" => $id])->fetch(PDO::FETCH_OBJ); } static function GetThreadReplies($id) { return db::run("SELECT COUNT(*) FROM forum_replies WHERE threadId = :id AND NOT deleted", [":id" => $id])->fetchColumn() ?: "-"; } static function GetSubforumInfo($id) { return db::run("SELECT * FROM forum_subforums WHERE id = :id", [":id" => $id])->fetch(PDO::FETCH_OBJ); } static function GetSubforumThreadCount($id, $includeReplies = false) { $threads = db::run("SELECT COUNT(*) FROM forum_threads WHERE subforumid = :id", [":id" => $id])->fetchColumn(); if(!$includeReplies) return $threads ?: '-'; $replies = db::run("SELECT COUNT(*) from forum_replies WHERE threadId IN (SELECT id FROM forum_threads WHERE subforumid = :id)", [":id" => $id])->fetchColumn(); $total = $threads + $replies; return $total ?: '-'; } } class pagination { // this is ugly and sucks // really this is only for the forums // everything else uses standard next and back pagination public static int $page = 1; public static int $pages = 1; public static string $url = '/'; public static array $pager = [1 => 1, 2 => 1, 3 => 1]; public static function initialize() { self::$pager[1] = self::$page-1; self::$pager[2] = self::$page; self::$pager[3] = self::$page+1; if(self::$page <= 2){ self::$pager[1] = self::$page; self::$pager[2] = self::$page+1; self::$pager[3] = self::$page+2; } if(self::$page == 1){ self::$pager[1] = self::$page+1; } if(self::$page >= self::$pages-1){ self::$pager[1] = self::$pages-3; self::$pager[2] = self::$pages-2; self::$pager[3] = self::$pages-1; } if(self::$page == self::$pages){ self::$pager[1] = self::$pages-1; self::$pager[2] = self::$pages-2; } if(self::$page == self::$pages-1){ self::$pager[1] = self::$pages-2; self::$pager[2] = self::$pages-1; } } public static function insert() { if(self::$pages <= 1) return; ?>