<?php require dirname(dirname(__FILE__)) . '/includes/bootstrap.php'; $categoryID = isset($_GET['id']) ? $_GET['id'] : 0; if (isset($_REQUEST['action'])) { if ($_REQUEST['action'] == 'follow' || $_REQUEST['action'] == 'unfollow') { if (!($userID = buckys_is_logged_in()) && buckys_check_form_token('request')) { buckys_redirect(isset($_REQUEST['return']) ? base64_decode($_REQUEST['return']) : '/forum', MSG_INVALID_REQUEST, MSG_TYPE_ERROR); } $category = BuckysForumCategory::getCategory($categoryID); if (!$category || $_REQUEST['action'] == 'follow' && BuckysForumFollower::isFollow($category['categoryID'], $userID) || $_REQUEST['action'] == 'unfollow' && !BuckysForumFollower::isFollow($category['categoryID'], $userID) || $category['creatorID'] == $userID) { buckys_redirect(isset($_REQUEST['return']) ? base64_decode($_REQUEST['return']) : '/forum', MSG_INVALID_REQUEST, MSG_TYPE_ERROR); } if ($_REQUEST['action'] == 'follow') { BuckysForumFollower::followForum($userID, $categoryID); buckys_add_message(MSG_FOLLOW_FORUM_SUCCESS); } else { BuckysForumFollower::unfollowForum($userID, $categoryID); buckys_add_message(MSG_UNFOLLOW_FORUM_SUCCESS); } buckys_redirect(isset($_REQUEST['return']) ? base64_decode($_REQUEST['return']) : '/forum'); } } $category = BuckysForumCategory::getCategory($categoryID); if (!$category) { buckys_redirect('/forum'); } //Getting Topics by category id $page = isset($_GET['page']) ? $_GET['page'] : 1; $orderby = isset($_GET['orderby']) ? $_GET['orderby'] : 'recent'; switch ($orderby) {
/** * @param $categoryID * @param $applicants */ public static function approveApplicants($categoryID, $applicants) { global $db; foreach ($applicants as $aid) { $query = $db->prepare("UPDATE " . TABLE_FORUM_MODERATORS . " SET `status`='Approved' WHERE categoryID=%d AND userID=%d", $categoryID, $aid); $db->query($query); //Make the user follow the forum if (!BuckysForumFollower::isFollow($categoryID, $aid)) { BuckysForumFollower::followForum($aid, $categoryID); } } }
/** * @param $id * @param $name * @param $description * @return bool|int|null|string */ public static function saveCategory($id, $name, $description) { global $db; $userID = buckys_is_logged_in(); if (!$id) { //New Category //Getting Sort Order $query = "SELECT max(sortOrder) FROM " . TABLE_FORUM_CATEGORIES . " WHERE parentID=" . USER_FORUM_CATEGORY; $sortOrder = $db->getVar($query); $sortOrder = !$sortOrder ? 1 : $sortOrder + 1; $query = $db->prepare("INSERT INTO " . TABLE_FORUM_CATEGORIES . "(`categoryName`, `description`,`sortOrder`, `creatorID`, `parentID`, `createdDate`)VALUES(%s, %s, %d, %d, %d, %s)", $name, $description, $sortOrder, $userID, USER_FORUM_CATEGORY, date("Y-m-d H:i:s")); $id = $db->insert($query); if (!$id) { buckys_add_message($db->last_error, MSG_TYPE_ERROR); return false; } //Make the user to follow this forum BuckysForumFollower::followForum($userID, $id); } else { $query = $db->prepare("UPDATE " . TABLE_FORUM_CATEGORIES . " SET `categoryName`=%s, `description`=%s WHERE `categoryID`=%d", $name, $description, $id); $db->query($query); } return $id; }