/** * Delete whole items and related offers when deleting user * Please note that we will delete items which has not been traded yet. * */ public function deleteItemsByUserID($userID) { global $db; if (!is_numeric($userID)) { return; } $query = sprintf("SELECT itemID FROM %s WHERE status!=%d AND userID=%d", TABLE_TRADE_ITEMS, BuckysTradeItem::STATUS_ITEM_TRADED, $userID); $oldItemList = $db->getResultsArray($query); $idList = array(); if (count($oldItemList) > 0) { foreach ($oldItemList as $data) { $idList[] = $data['itemID']; } } if (count($idList) > 0) { //Delete items $this->removeItems($idList); //Remove related trade offers which made with this item $tradeOfferIns = new BuckysTradeOffer(); $tradeOfferIns->removeRelatedOffers($idList); } return; }
<?php require dirname(dirname(__FILE__)) . '/includes/bootstrap.php'; if (!($userID = buckys_is_logged_in())) { buckys_redirect('/index.php', MSG_NOT_LOGGED_IN_USER, MSG_TYPE_ERROR); } buckys_enqueue_stylesheet('trade.css'); buckys_enqueue_javascript('trade.js'); $TNB_GLOBALS['content'] = 'trade/offer_declined'; $TNB_GLOBALS['headerType'] = 'trade'; $paramCurrentPage = get_secure_integer($_REQUEST['page']); $paramType = get_secure_string($_REQUEST['type']); // default 'bythem' or empty, another possible value is 'byme' $view = []; //Get offer_received info $tradeOfferIns = new BuckysTradeOffer(); $baseURL = '/trade/offer_declined.php'; if ($paramType == 'byme') { $view['offers'] = $tradeOfferIns->getOfferDeclined($userID, false); $baseURL .= "?type=byme"; } else { $paramType = ''; $view['offers'] = $tradeOfferIns->getOfferDeclined($userID, true); } $view['offers'] = fn_buckys_pagination($view['offers'], $baseURL, $paramCurrentPage, COMMON_ROWS_PER_PAGE); $view['type'] = $paramType; $TNB_GLOBALS['title'] = 'Offers Declined - BuckysRoomTrade'; //Mark the activity (offer received) as read $tradeNotificationIns = new BuckysTradeNotification(); $tradeNotificationIns->markAsRead($userID, BuckysTradeNotification::ACTION_TYPE_OFFER_DECLINED); require DIR_FS_TEMPLATE . $TNB_GLOBALS['template'] . "/" . $TNB_GLOBALS['layout'] . ".php";
<?php require dirname(dirname(__FILE__)) . '/includes/bootstrap.php'; if (!($userID = buckys_is_logged_in())) { buckys_redirect('/index.php', MSG_NOT_LOGGED_IN_USER, MSG_TYPE_ERROR); } buckys_enqueue_stylesheet('trade.css'); buckys_enqueue_javascript('trade.js'); $BUCKYS_GLOBALS['content'] = 'trade/offer_received'; $BUCKYS_GLOBALS['headerType'] = 'trade'; $paramCurrentPage = get_secure_integer($_REQUEST['page']); $paramTargetID = get_secure_integer($_REQUEST['targetID']); $view = array(); //Get offer_received info $tradeOfferIns = new BuckysTradeOffer(); $view['offers'] = $tradeOfferIns->getOfferReceived($userID, $paramTargetID); $view['offers'] = buckys_trade_pagination($view['offers'], '/trade/offer_received.php', $paramCurrentPage, TRADE_ROWS_PER_PAGE); $BUCKYS_GLOBALS['title'] = 'Offer Received - BuckysRoomTrade'; //Mark the activity (offer received) as read $tradeNotificationIns = new BuckysTradeNotification(); $tradeNotificationIns->markAsRead($userID, BuckysTradeNotification::ACTION_TYPE_OFFER_RECEIVED); $tradeOfferIns->markAsRead($userID, BuckysTradeOffer::STATUS_OFFER_ACTIVE); require DIR_FS_TEMPLATE . $BUCKYS_GLOBALS['template'] . "/" . $BUCKYS_GLOBALS['layout'] . ".php";
/** * Delete offer */ function deleteOffer() { $userID = buckys_is_logged_in(); if (!$userID) { //You should be logged in return; } else { $tradeOfferIns = new BuckysTradeOffer(); $offerID = get_secure_integer($_REQUEST['offerID']); $result = $tradeOfferIns->deleteOfferMade($offerID, $userID); if ($result) { echo json_encode(['success' => 1, 'msg' => "You have deleted an offer successfully."]); } else { echo json_encode(['success' => 0, 'msg' => "You do not have permission."]); } } }
<?php /** * Display trade left side navitation * */ $tradeOfferReceived = 0; $userData = $BUCKYS_GLOBALS['user']; if (isset($userData) && isset($userData['userID'])) { $tradeOfferIns = new BuckysTradeOffer(); $tradeOfferReceived = $tradeOfferIns->getNewOfferCount($userData['userID']); } ?> <aside id="main_aside" class="trade-left-panel"> <span class="titles">Trade Account</span> <a href="/trade/available.php" class="accountLinks" style="margin-top:10px;">My Items</a> <a href="/trade/available.php" class="accountSubLinks">Available</a> <br/> <a href="/trade/available.php?type=expired" class="accountSubLinks">Expired</a> <br/><br/> <a href="/trade/offer_received.php" class="accountLinks">Offers</a> <a href="/trade/offer_made.php" class="accountSubLinks">Made</a> <br/> <a href="/trade/offer_received.php" class="accountSubLinks<?php echo $tradeOfferReceived > 0 ? 'Bold' : ''; ?> ">Received<?php echo $tradeOfferReceived > 0 ? ' (' . $tradeOfferReceived . ') ' : ''; ?> </a><br/> <a href="/trade/offer_declined.php" class="accountSubLinks">Declined</a> <br/><br/>
<?php require dirname(dirname(__FILE__)) . '/includes/bootstrap.php'; $userID = buckys_is_logged_in(); buckys_enqueue_stylesheet('trade.css'); buckys_enqueue_javascript('trade.js'); $BUCKYS_GLOBALS['content'] = 'trade/view'; $BUCKYS_GLOBALS['headerType'] = 'trade'; $paramItemID = get_secure_integer($_REQUEST['id']); $view = array(); $tradeItemIns = new BuckysTradeItem(); $tradeCatIns = new BuckysTradeCategory(); $countryIns = new BuckysCountry(); $userIns = new BuckysUser(); $tradeOfferIns = new BuckysTradeOffer(); $view['item'] = $tradeItemIns->getItemById($paramItemID); $view['myID'] = $userID; if (!isset($view['item']) || $view['item']['status'] == BuckysTradeItem::STATUS_ITEM_INACTIVE) { buckys_redirect('/trade/index.php', MSG_INVALID_REQUEST, MSG_TYPE_ERROR); } //Check if the items owner is active one $userData = $userIns->getUserData($view['item']['userID']); if ($userData['status'] == BuckysUser::STATUS_USER_BANNED) { buckys_redirect('/trade/index.php', MSG_INVALID_REQUEST, MSG_TYPE_ERROR); } //Read more info from DB $catData = $tradeCatIns->getCategoryByID($view['item']['catID']); $view['item']['categoryName'] = isset($catData) ? $catData['name'] : ''; $countryData = $countryIns->getCountryById($view['item']['locationID']); $view['item']['locationName'] = isset($countryData) ? $countryData['country_title'] : ''; $view['item']['userInfo'] = $userIns->getUserBasicInfo($view['item']['userID']);
/** * Unban Users * * @param mixed $ids */ public static function unbanUsers($ids) { global $db, $TNB_GLOBALS; if (!is_array($ids)) { $ids = [$ids]; } //Check the user has lready been banned or not $rows = $db->getResultsArray("SELECT * FROM " . TABLE_BANNED_USERS . " WHERE bannedID IN (" . implode(', ', $ids) . ")"); if ($rows) { foreach ($rows as $brow) { $userID = $brow['bannedUserID']; //Change User Table $db->query("UPDATE " . TABLE_USERS . " SET status=1 WHERE userID=" . $userID); //Change Posts table $db->query("UPDATE " . TABLE_POSTS . " SET post_status=1 WHERE poster=" . $userID); //Change Activities $db->query("UPDATE " . TABLE_MAIN_ACTIVITIES . " SET activityStatus=1 WHERE userID=" . $userID); //Change Messages $db->query("UPDATE " . TABLE_MESSAGES . " SET messageStatus=1 WHERE sender=" . $userID); //Fix Comments Count $query = $db->prepare("SELECT count(commentID) AS c, postID FROM " . TABLE_POSTS_COMMENTS . " WHERE commenter=%d AND commentStatus=0 GROUP BY postID", $userID); $pcRows = $db->getResultsArray($query); foreach ($pcRows as $row) { $db->query("UPDATE " . TABLE_POSTS . " SET `comments` = `comments` + " . $row['c'] . " WHERE postID=" . $row['postID']); } //Unblock Comments $db->query("UPDATE " . TABLE_POSTS_COMMENTS . " SET commentStatus=1 WHERE commenter=" . $userID); //Fix Likes Count $query = $db->prepare("SELECT count(likeID) AS c, postID FROM " . TABLE_POSTS_LIKES . " WHERE userID=%d AND likeStatus=0 GROUP BY postID", $userID); $plRows = $db->getResultsArray($query); foreach ($plRows as $row) { $db->query("UPDATE " . TABLE_POSTS . " SET `likes` = `likes` + " . $row['c'] . " WHERE postID=" . $row['postID']); } //Unblock Likes $db->query("UPDATE " . TABLE_POSTS_LIKES . " SET likeStatus=1 WHERE userID=" . $userID); //Unblock Votes for Moderator $query = $db->prepare("SELECT count(voteID) AS c, candidateID FROM " . TABLE_MODERATOR_VOTES . " WHERE voterID=%d AND voteStatus=0 GROUP BY candidateID", $userID); $vRows = $db->getResultsArray($query); foreach ($vRows as $row) { $db->query("UPDATE " . TABLE_MODERATOR_CANDIDATES . " SET `votes` = `votes` + " . $row['c'] . " WHERE candidateID=" . $row['candidateID']); } $db->query("UPDATE " . TABLE_MODERATOR_VOTES . " SET voteStatus=1 WHERE voterID=" . $userID); //Unblock Replies $query = $db->prepare("SELECT count(r.replyID), r.topicID, t.categoryID FROM " . TABLE_FORUM_REPLIES . " AS r LEFT JOIN " . TABLE_FORUM_TOPICS . " AS t ON t.topicID=r.topicID WHERE r.status='suspended' AND r.creatorID=%d GROUP BY r.topicID", $userID); $rRows = $db->getResultsArray($query); $db->query("UPDATE " . TABLE_FORUM_REPLIES . " SET `status`='publish' WHERE creatorID=" . $userID . " AND `status`='suspended'"); foreach ($rRows as $row) { $db->query("UPDATE " . TABLE_FORUM_TOPICS . " SET `replies` = `replies` + " . $row['c'] . " WHERE topicID=" . $row['topicID']); $db->query("UPDATE " . TABLE_FORUM_CATEGORIES . " SET `replies` = `replies` + " . $row['c'] . " WHERE categoryID=" . $row['categoryID']); BuckysForumTopic::updateTopicLastReplyID($row['topicID']); BuckysForumCategory::updateCategoryLastTopicID($row['categoryID']); } //unblock Topics $query = $db->prepare("SELECT count(topicID) AS tc, SUM(replies) AS rc, categoryID FROM " . TABLE_FORUM_TOPICS . " WHERE creatorID=%d AND `status`='suspended' GROUP BY categoryID", $userID); $tRows = $db->getResultsArray($query); $db->query("UPDATE " . TABLE_FORUM_TOPICS . " SET `status`='publish' WHERE creatorID=" . $userID . " AND `status`='suspended'"); foreach ($tRows as $row) { $db->query("UPDATE " . TABLE_FORUM_CATEGORIES . " SET `replies` = `replies` + " . $row['rc'] . ", `topics` = `topics` + " . $row['tc'] . " WHERE categoryID=" . $row['categoryID']); BuckysForumCategory::updateCategoryLastTopicID($row['categoryID']); } //Unblock Reply Votes $query = $db->prepare("SELECT count(voteID) AS c, objectID FROM " . TABLE_FORUM_VOTES . " WHERE voterID=%d AND voteStatus=0 GROUP BY objectID", $userID); $vRows = $db->getResultsArray($query); foreach ($vRows as $row) { $db->query("UPDATE " . TABLE_FORUM_REPLIES . " SET `votes` = `votes` + " . $row['c'] . " WHERE replyID=" . $row['objectID']); } $db->query("UPDATE " . TABLE_FORUM_VOTES . " SET voteStatus=1 WHERE voterID=" . $userID); //Unblock page section & Trade section $tradeItemIns = new BuckysTradeItem(); $tradeOfferIns = new BuckysTradeOffer(); $pageIns = new BuckysPage(); $tradeItemIns->massStatusChange($userID, BuckysTradeItem::STATUS_ITEM_ACTIVE); $tradeOfferIns->massStatusChange($userID, BuckysTradeOffer::STATUS_OFFER_ACTIVE); $pageIns->massStatusChange($userID, BuckysPage::STATUS_ACTIVE); //enable Shop Products $shopProdIns = new BuckysShopProduct(); $shopProdIns->massStatusChange($userID, BuckysShopProduct::STATUS_ACTIVE); //Remove From banned users table $db->query("DELETE FROM " . TABLE_BANNED_USERS . " WHERE bannedID=" . $brow['bannedID']); } } }
<?php require dirname(dirname(__FILE__)) . '/includes/bootstrap.php'; if (!($userID = buckys_is_logged_in())) { buckys_redirect('/index.php', MSG_NOT_LOGGED_IN_USER, MSG_TYPE_ERROR); } buckys_enqueue_stylesheet('trade.css'); buckys_enqueue_javascript('trade.js'); $BUCKYS_GLOBALS['content'] = 'trade/offer_made'; $BUCKYS_GLOBALS['headerType'] = 'trade'; $paramCurrentPage = get_secure_integer($_REQUEST['page']); $view = array(); //Get offer_received info $tradeOfferIns = new BuckysTradeOffer(); $view['offers'] = $tradeOfferIns->getOfferMade($userID); $view['offers'] = buckys_trade_pagination($view['offers'], '/trade/offer_made.php', $paramCurrentPage, TRADE_ROWS_PER_PAGE); $BUCKYS_GLOBALS['title'] = 'Offer Made - BuckysRoomTrade'; require DIR_FS_TEMPLATE . $BUCKYS_GLOBALS['template'] . "/" . $BUCKYS_GLOBALS['layout'] . ".php";