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;
 }
Example #3
0
<?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";
Example #7
0
<?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>