public function getListAction() { global $TNB_GLOBALS, $db; $data = $_POST; $keyword = isset($data['keyword']) ? $data['keyword'] : null; $token = isset($data['TOKEN']) ? trim($data['TOKEN']) : null; $sort = "pop"; $page = isset($data['page']) ? $data['page'] : null; if (!$token) { return ['STATUS_CODE' => STATUS_CODE_BAD_REQUEST, 'DATA' => buckys_api_get_error_result('Api token should not be blank')]; } if (!($userID = BuckysUsersToken::checkTokenValidity($token, "api"))) { return ['STATUS_CODE' => STATUS_CODE_UNAUTHORIZED, 'DATA' => buckys_api_get_error_result('Api token is not valid.')]; } //Search Results $searchIns = new BuckysSearch(); $pageIns = new BuckysPage(); $pageFollowerIns = new BuckysPageFollower(); $db_results = $searchIns->search($keyword, BuckysSearch::SEARCH_TYPE_USER_AND_PAGE, $sort, $page); $results = []; foreach ($db_results as $item) { $row = []; if ($item['type'] == "user") { //User $row['type'] = "user"; //Getting Detail Information $query = $db->prepare("SELECT \n u.firstName, \n u.lastName, \n u.userID, \n u.thumbnail, \n u.current_city, \n u.current_city_visibility,\n f.friendID \n FROM \n " . TABLE_USERS . " AS u\n LEFT JOIN " . TABLE_FRIENDS . " AS f ON f.userID=%d AND f.userFriendID=u.userID AND f.status='1'\n WHERE u.userID=%d", $userID, $item['userID']); $data = $db->getRow($query); $row['id'] = $item['userID']; $row['title'] = $data['firstName'] . " " . $data['lastName']; $row['description'] = $data['current_city_visibility'] ? $data['current_city'] : ""; $row['isFriend'] = !$data['friendID'] ? 'no' : 'yes'; $row['image'] = THENEWBOSTON_SITE_URL . BuckysUser::getProfileIcon($data); } else { $row['type'] = "page"; //Page $pageData = $pageIns->getPageByID($item['pageID']); $followerCount = $pageFollowerIns->getNumberOfFollowers($item['pageID']); $row['id'] = $item['pageID']; $row['title'] = $pageData['title']; $row['description'] = number_format($followerCount) . " follower" . ($followerCount > 1 ? "s" : ""); $row['isFollowed'] = BuckysPageFollower::isFollower($userID, $pageData['pageID']) ? 'yes' : 'no'; $row['image'] = THENEWBOSTON_SITE_URL . (!$pageData['logo'] ? DIR_WS_IMAGE . "newPagePlaceholder.jpg" : DIR_WS_PHOTO . "users/" . $pageData['userID'] . "/resized/" . $pageData['logo']); } $results[] = $row; } return ['STATUS_CODE' => STATUS_CODE_OK, 'DATA' => ["STATUS" => "SUCCESS", "RESULT" => $results]]; }
/** * Getting all posts that were published by the user's friends * * * @param mixed $userID * @return Array */ public function getUserPostsStream($userID, $lastDate = null) { global $db; $userID = intval($userID); $pageID = BuckysPost::INDEPENDENT_POST_PAGE_ID; $pageCondition = ""; //Add 0 for independent posts $pageIDs = array(BuckysPost::INDEPENDENT_POST_PAGE_ID); //Add users pages $myPages = BuckysPage::getPagesByUserId($userID); foreach ($myPages as $p) { $pageIDs[] = $p['pageID']; } //Add Follower pages $pageFollowerIns = new BuckysPageFollower(); $followedPageList = $pageFollowerIns->getPagesByFollowerID($userID); foreach ($followedPageList as $pageData) { $pageIDs[] = $pageData['pageID']; } $pageCondition = " p.pageID in (" . implode(", ", $pageIDs) . ")"; //Page Limit Query $limit_query = ' LIMIT ' . BuckysPost::$post_per_page; $query = $db->prepare("\r\n SELECT p.* FROM " . TABLE_POSTS . " AS p WHERE p.poster=%d AND " . $pageCondition . ($lastDate != null ? ' AND p.post_date < "' . $lastDate . '"' : '') . "\r\n UNION DISTINCT\r\n SELECT p.* FROM " . TABLE_POSTS . " AS p\r\n LEFT JOIN " . TABLE_FRIENDS . " AS f ON p.poster=f.userFriendID and f.status=1\r\n WHERE f.userID=%d AND " . $pageCondition . ($lastDate != null ? ' AND p.post_date < "' . $lastDate . '"' : '') . "\r\n ORDER BY post_date DESC " . $limit_query . "\r\n ", $userID, $userID); $rows = $db->getResultsArray($query); foreach ($rows as $idx => $row) { //Getting full name $query = "SELECT firstName, lastName FROM " . TABLE_USERS . " WHERE userID=" . $row['poster']; $urow = $db->getRow($query); $rows[$idx]['posterFullName'] = $urow['firstName'] . " " . $urow['lastName']; //Getting Liked $query = "SELECT likeID FROM " . TABLE_POSTS_LIKES . " WHERE postID=" . $row['postID'] . " AND userID=" . $userID; $liked = $db->getVar($query); $rows[$idx]['likeID'] = $liked; //Getting Reported $query = $db->prepare("SELECT reportID FROM " . TABLE_REPORTS . " WHERE reporterID=%d AND objectID=%d and objectType='post'", $userID, $row['postID']); $reportID = $db->getVar($query); $rows[$idx]['reportID'] = $reportID; } return $rows; }
<?php require dirname(__FILE__) . '/includes/bootstrap.php'; //Getting Current User ID $userID = buckys_is_logged_in(); $pageIns = new BuckysPage(); $pageFollowerIns = new BuckysPageFollower(); $paramPageID = isset($_GET['pid']) ? intval($_GET['pid']) : null; $pageData = $pageIns->getPageByID($paramPageID); //If the parameter is null, goto homepage if (!buckys_not_null($pageData)) { buckys_redirect('/index.php'); } $page = isset($_GET['page']) && is_numeric($_GET['page']) ? $_GET['page'] : 1; $totalCount = $pageFollowerIns->getNumberOfFollowers($pageData['pageID']); $pagination = new Pagination($totalCount, BuckysPageFollower::COUNT_PER_PAGE, $page); $page = $pagination->getCurrentPage(); //Get Friends $view['followers'] = $pageFollowerIns->getFollowers($pageData['pageID'], $page, BuckysPageFollower::COUNT_PER_PAGE); $view['pageData'] = $pageData; buckys_enqueue_stylesheet('profile.css'); buckys_enqueue_stylesheet('friends.css'); buckys_enqueue_stylesheet('account.css'); buckys_enqueue_stylesheet('stream.css'); buckys_enqueue_stylesheet('posting.css'); buckys_enqueue_stylesheet('uploadify.css'); buckys_enqueue_stylesheet('jquery.Jcrop.css'); buckys_enqueue_stylesheet('page.css'); buckys_enqueue_javascript('uploadify/jquery.uploadify.js'); buckys_enqueue_javascript('jquery.Jcrop.js'); buckys_enqueue_javascript('jquery.color.js');
</td> </tr> <?php } } ?> </table> </div> <?php } ?> <!-- Followed Page Section--> <?php $pageFollowerIns = new BuckysPageFollower(); $followedPageData = $pageFollowerIns->getPagesByFollowerID($profileID, 1, 10); if (count($followedPageData) > 0) { ?> <h4 style="margin-bottom:10px;">Pages <a href="/follows.php?user=<?php echo $profileID; ?> ">(view all)</a></h4> <div id="user-following-box" class="info-box"> <?php foreach ($followedPageData as $data) { render_pagethumb_link($data, 'followPageIcons'); } ?> <div class="clear"></div> </div>
/** * Delete page data by user ID * * @param integer $userID */ public function deletePageByUserID($userID) { global $db; if (!is_numeric($userID)) { return; } $pageList = $this->getPagesByUserId($userID); //Delete followers $pageFollowerIns = new BuckysPageFollower(); if (count($pageList) > 0) { foreach ($pageList as $pageData) { $pageFollowerIns->removeAllFollowersByPageID($pageData['pageID']); } } $query = sprintf("DELETE FROM %s WHERE userID=%d", TABLE_PAGES, $userID); $db->query($query); }
$userID = buckys_is_logged_in(); //Getting User ID from Parameter $profileID = isset($_GET['user']) ? intval($_GET['user']) : 0; //If the parameter is null, goto homepage if (!$profileID) { buckys_redirect('/index.php'); } //Getting UserData from Id $userData = BuckysUser::getUserData($profileID); //Goto Homepage if the userID is not correct if (!buckys_not_null($userData) || !BuckysUser::checkUserID($profileID, true)) { buckys_redirect('/index.php'); } //Get this user followed page info $page = isset($_GET['page']) && is_numeric($_GET['page']) ? $_GET['page'] : 1; $pageFollowerIns = new BuckysPageFollower(); $totalCount = $pageFollowerIns->getPagesCountByFollowerID($profileID); $pagination = new Pagination($totalCount, BuckysPageFollower::COUNT_PER_PAGE, $page); $page = $pagination->getCurrentPage(); //Get Pages $view['pages'] = $pageFollowerIns->getPagesByFollowerID($profileID, $page, BuckysPageFollower::COUNT_PER_PAGE); $view['profileID'] = $profileID; //if logged user can see all resources of the current user $canViewPrivate = $userID == $profileID || BuckysFriend::isFriend($userID, $profileID) || BuckysFriend::isSentFriendRequest($profileID, $userID); buckys_enqueue_stylesheet('profile.css'); buckys_enqueue_stylesheet('friends.css'); buckys_enqueue_stylesheet('posting.css'); buckys_enqueue_stylesheet('publisher.css'); $TNB_GLOBALS['content'] = 'follows'; //Page title $TNB_GLOBALS['title'] = trim($userData['firstName'] . ' ' . $userData['lastName']) . "'s Pages Followed - thenewboston";
<?php if (!isset($BUCKYS_GLOBALS)) { die("Invalid Request!"); } $userIns = new BuckysUser(); $pageIns = new BuckysPage(); $pageFollowerIns = new BuckysPageFollower(); $searcuResult = $view['search_result']; ?> <script type="text/javascript"> </script> <section id="main_section"> <?php buckys_get_panel('top_search'); ?> <section id="main_content" class="search-result-panel"> <?php render_result_messages(); ?> <div class="search-result-list"> <?php if (count($searcuResult) > 0) {
$pageData = $pageIns->getPageByID($paramPageID, false); $view['pageData'] = $pageData; if (!isset($pageData) || $pageData['userID'] != $userID && $pageData['status'] == BuckysPage::STATUS_INACTIVE) { //This page doesn't exist or inactive buckys_redirect('/index.php', MSG_NO_SUCH_PAGE, MSG_TYPE_ERROR); } //Get Posts Belonged to this page $postIns = new BuckysPost(); if (!$paramPostID) { $view['posts'] = $postIns->getPostsByUserID($pageData['userID'], $userID, $pageData['pageID']); $view['show_only_post'] = false; } else { $onePostData = $postIns->getPostById($paramPostID, $paramPageID); if (!buckys_not_null($onePostData)) { buckys_redirect('/index.php'); } $view['posts'][] = $onePostData; $view['show_only_post'] = true; } //Get followers $pageFollowerIns = new BuckysPageFollower(); $view['followers'] = $pageFollowerIns->getFollowers($pageData['pageID'], 1, 18, true); //Is this my page? $view['isMyPage'] = $pageData['userID'] == $userID; $TNB_GLOBALS['title'] = $pageData['title'] . ' - ' . TNB_SITE_NAME; $TNB_GLOBALS['content'] = 'page'; require DIR_FS_TEMPLATE . $TNB_GLOBALS['template'] . "/" . $TNB_GLOBALS['layout'] . ".php"; } else { //No such action here; buckys_redirect('/index.php', MSG_NO_SUCH_PAGE, MSG_TYPE_ERROR); }
public function followAction() { $data = $_POST; $token = isset($data['TOKEN']) ? trim($data['TOKEN']) : null; $pageID = isset($data['pageID']) ? $data['pageID'] : null; if (!$token) { return ['STATUS_CODE' => STATUS_CODE_BAD_REQUEST, 'DATA' => buckys_api_get_error_result('Api token should not be blank')]; } if (!($userID = BuckysUsersToken::checkTokenValidity($token, "api"))) { return ['STATUS_CODE' => STATUS_CODE_UNAUTHORIZED, 'DATA' => buckys_api_get_error_result('Api token is not valid.')]; } $pageFollowerIns = new BuckysPageFollower(); $result = $pageFollowerIns->addFollower($pageID, $userID); if ($result) { $count = $pageFollowerIns->getNumberOfFollowers($pageID); return ['STATUS_CODE' => STATUS_CODE_OK, 'DATA' => ["STATUS" => "SUCCESS", "MESSAGE" => MSG_FOLLOW_PAGE_SUCCESS, "FOLLOWERS" => $count . " follower" . ($count > 1 ? "s" : "")]]; } else { return ['STATUS_CODE' => STATUS_CODE_OK, 'DATA' => buckys_api_get_error_result(MSG_FOLLOW_PAGE_FAIL)]; } }
* Page Left Sidebar */ if (!isset($TNB_GLOBALS)) { die("Invalid Request!"); } global $view; $userID = null; if (isset($TNB_GLOBALS['user'])) { $userID = $TNB_GLOBALS['user']['userID']; } $pageData = $view['pageData']; //Get Number of photos $postIns = new BuckysPost(); $numberOfPhotos = $postIns->getNumberOfPhotosByUserID($pageData['userID'], $pageData['pageID']); //follower $pageFollowerIns = new BuckysPageFollower(); $view['isMyPage'] = $pageData['userID'] == $userID; $view['isFollowed'] = $pageFollowerIns->hasRelationInFollow($pageData['pageID'], $userID); ?> <script type="text/javascript"> var pageLinkList = <?php if ($pageData['links'] != '') { echo json_encode(unserialize($pageData['links'])); } else { echo json_encode([]); } ?> ; </script>