示例#1
0
文件: Home.php 项目: rjha/sc
 private function getFeaturedPosts($postDao, $limit)
 {
     //33 featured posts
     $filters = array();
     $model = new \com\indigloo\sc\model\Post();
     $filter = new Filter($model);
     $filter->add($model::FEATURED, Filter::EQ, TRUE);
     array_push($filters, $filter);
     $rows = $postDao->getPosts($limit, $filters);
     return $rows;
 }
示例#2
0
文件: Lists.php 项目: rjha/sc
 function process($params, $options)
 {
     if (is_null($params) || empty($params)) {
         $controller = new \com\indigloo\sc\controller\Http400();
         $controller->process();
         exit;
     }
     $plistId = Util::getArrayKey($params, "list_id");
     $listId = PseudoId::decode($plistId);
     $qparams = Url::getRequestQueryParams();
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     //@todo input check
     // people can type all sort of input garbage
     settype($listId, "int");
     $listDao = new \com\indigloo\sc\dao\Lists();
     $listDBRow = $listDao->getOnId($listId);
     if (empty($listDBRow)) {
         //not found
         $controller = new \com\indigloo\sc\controller\Http404();
         $controller->process();
         exit;
     }
     $listName = $listDBRow["name"];
     $listPubUrl = sprintf("%s/pub/list/%d/%s", Url::base(), $plistId, $listDBRow["seo_name"]);
     //get items from sc_list_item table
     $model = new \com\indigloo\sc\model\ListItem();
     $filter = new Filter($model);
     $filter->add($model::LIST_ID, Filter::EQ, $listId);
     $pageSize = Config::getInstance()->get_value("user.page.items");
     $filters = array();
     array_push($filters, $filter);
     $paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
     $itemDBRows = $listDao->getPagedItems($paginator, $filters);
     $loginId = $listDBRow["login_id"];
     $userDao = new \com\indigloo\sc\dao\User();
     $userDBRow = $userDao->getOnLoginId($loginId);
     $template = APP_WEB_DIR . '/view/list/pub.php';
     //page variables
     $pageBaseUrl = $listPubUrl;
     $pageTitle = sprintf("page %d of %s", $gpage, $listDBRow["name"]);
     $description = Util::abbreviate($listDBRow["description"], 160);
     $metaDescription = SeoData::thisOrHomeDescription($description);
     $metaKeywords = SeoData::getHomeMetaKeywords();
     include $template;
 }
示例#3
0
文件: Editor.php 项目: rjha/sc
 function process($params, $options)
 {
     $postDao = new \com\indigloo\sc\dao\Post();
     //post featured filter
     $filters = array();
     $model = new \com\indigloo\sc\model\Post();
     $filter = new Filter($model);
     $filter->add($model::FEATURED, Filter::EQ, TRUE);
     array_push($filters, $filter);
     $limit = Config::getInstance()->get_value("search.page.items");
     // fetch top N rows from sc_post that match our filter
     // this relies on the default sorting in mysql#Posts::getPosts() method
     $postDBRows = $postDao->getPosts($limit, $filters);
     $pageHeader = 'Editor\'s Pick';
     $pageTitle = "items on 3mik selected by our editors ";
     $metaDescription = SeoData::getHomeMetaDescription();
     $metaKeywords = SeoData::getHomeMetaKeywords();
     $view = APP_WEB_DIR . '/view/tiles.php';
     include $view;
 }
示例#4
0
文件: index.php 项目: rjha/sc
$userDao = new \com\indigloo\sc\dao\User();
$userDBRow = $userDao->getOnLoginId($loginId);
$loginName = $gSessionLogin->name;
if (is_null($loginId)) {
    trigger_error("Error : NULL login_id on user dashboard", E_USER_ERROR);
}
$analyticDao = new \com\indigloo\sc\dao\Analytic();
$counters = $analyticDao->getUserCounters($loginId);
$activityDao = new \com\indigloo\sc\dao\Activity();
$feedDataObj = $activityDao->getUserFeeds($loginId, 20);
//suggestions are editor picks right now
$postDao = new \com\indigloo\sc\dao\Post();
//post featured filter
$filters = array();
$model = new \com\indigloo\sc\model\Post();
$filter = new Filter($model);
$filter->add($model::FEATURED, Filter::EQ, TRUE);
array_push($filters, $filter);
// pick 12 posts from editor picks
$postDBRows = $postDao->getPosts(12, $filters);
$dashItemHelp = \com\indigloo\sc\html\Site::getDashItemHelp($counters["post_count"]);
$params = array("q" => base64_encode(Url::current()));
$linkInvitation = Url::createUrl("/user/invite.php", $params);
?>


<!DOCTYPE html>
<html>

    <head>
        <title>  Dashboard - <?php 
示例#5
0
文件: all.php 项目: rjha/sc
<?php

include 'sc-app.inc';
include APP_WEB_DIR . '/inc/header.inc';
include APP_WEB_DIR . '/inc/role/user.inc';
use com\indigloo\Url;
use com\indigloo\ui\Pagination;
use com\indigloo\sc\auth\Login;
use com\indigloo\ui\Filter;
$qparams = Url::getRequestQueryParams();
$login = Login::getLoginInSession();
$loginId = $login->id;
$groupDao = new \com\indigloo\sc\dao\Group();
$filters = array();
$model = new \com\indigloo\sc\model\Group();
$filter = new Filter($model);
$filter->add($model::LOGIN_ID, Filter::EQ, $loginId);
array_push($filters, $filter);
$pageSize = 100;
$paginator = new Pagination($qparams, $pageSize);
$groups = $groupDao->getPagedUserGroups($paginator, $filters);
$startId = NULL;
$endId = NULL;
if (sizeof($groups) > 0) {
    $startId = $groups[0]['id'];
    $endId = $groups[sizeof($groups) - 1]['id'];
}
$pageBaseUrl = "/group/user/all.php";
$title = sprintf("%s's groups", $login->name);
$hasNavigation = false;
include APP_WEB_DIR . "/view/group/cards-page.php";
示例#6
0
文件: detail.php 项目: rjha/sc
}
$plistId = Url::getQueryParam("list_id");
$listId = PseudoId::decode($plistId);
settype($listId, "int");
$listDao = new \com\indigloo\sc\dao\Lists();
$listDBRow = $listDao->getOnId($listId);
$listName = $listDBRow["name"];
//list owner check
if (!Login::isOwner($listDBRow["login_id"])) {
    header("Location: /site/error/403.html");
    exit;
}
$listPubUrl = sprintf("%s/pub/list/%d/%s", Url::base(), $plistId, $listDBRow["seo_name"]);
//get items from sc_list_item table
$model = new \com\indigloo\sc\model\ListItem();
$filter = new Filter($model);
$filter->add($model::LIST_ID, Filter::EQ, $listId);
$pageSize = Config::getInstance()->get_value("user.page.items");
$filters = array();
array_push($filters, $filter);
$paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
$itemDBRows = $listDao->getPagedItems($paginator, $filters);
$baseURI = "/user/dashboard/list/detail.php";
$fUrl = Url::current();
?>

<!DOCTYPE html>
<html>

    <head>
        <title> <?php 
示例#7
0
文件: bookmark.php 项目: rjha/sc
$gSessionLogin = \com\indigloo\sc\auth\Login::getLoginInSession();
$loginId = $gSessionLogin->id;
if (is_null($loginId)) {
    trigger_error("Error : NULL or invalid login_id", E_USER_ERROR);
}
$sticky = new Sticky($gWeb->find(Constants::STICKY_MAP, true));
$bookmarkDao = new \com\indigloo\sc\dao\Bookmark();
//add login_id and code filters
$model = new \com\indigloo\sc\model\Bookmark();
$filters = array();
//filter-1
$filter = new Filter($model);
$filter->add($model::SUBJECT_ID_COLUMN, Filter::EQ, $loginId);
array_push($filters, $filter);
//filter-2
$filter = new Filter($model);
$filter->add($model::VERB_COLUMN, Filter::EQ, AppConstants::LIKE_VERB);
array_push($filters, $filter);
$pageSize = Config::getInstance()->get_value("user.page.items");
$paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
$postDBRows = $bookmarkDao->getPaged($paginator, $filters);
$baseURI = "/user/dashboard/bookmark.php";
?>
<!DOCTYPE html>
<html>

    <head>
        <title> Likes of <?php 
echo $gSessionLogin->name;
?>
 </title>
示例#8
0
文件: User.php 项目: rjha/sc
 private function processLikes($params, $options)
 {
     $pubUserId = Util::getArrayKey($params, "login_id");
     $loginId = PseudoId::decode($pubUserId);
     $qparams = Url::getRequestQueryParams();
     $userDao = new \com\indigloo\sc\dao\User();
     $userDBRow = $userDao->getOnLoginId($loginId);
     $this->isValidUser($userDBRow);
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     $bookmarkDao = new \com\indigloo\sc\dao\Bookmark();
     //add login_id and code filters
     $model = new \com\indigloo\sc\model\Bookmark();
     $filters = array();
     //filter-1
     $filter = new Filter($model);
     $filter->add($model::SUBJECT_ID_COLUMN, Filter::EQ, $loginId);
     array_push($filters, $filter);
     //filter-2
     $filter = new Filter($model);
     $filter->add($model::VERB_COLUMN, Filter::EQ, AppConstants::LIKE_VERB);
     array_push($filters, $filter);
     $pageSize = Config::getInstance()->get_value("user.page.items");
     $paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
     $postDBRows = $bookmarkDao->getPaged($paginator, $filters);
     $template = APP_WEB_DIR . '/view/user/items.php';
     //page variables
     $pageBaseUrl = "/pub/user/" . $pubUserId;
     $pageTitle = sprintf("page %d of likes by %s", $gpage, $userDBRow["name"]);
     $metaKeywords = SeoData::getHomeMetaKeywords();
     $metaDescription = SeoData::getHomeMetaDescription();
     include $template;
 }
示例#9
0
文件: posts.php 项目: rjha/sc
if (!is_null($ft)) {
    switch ($ft) {
        case "featured":
            $filter = new Filter($model);
            $filter->add($model::FEATURED, Filter::EQ, TRUE);
            array_push($filters, $filter);
            $ftname = "Featured";
            break;
        case "24hours":
            $filter = new Filter($model);
            $filter->add($model::CREATED_ON, Filter::GT, "24 HOUR");
            array_push($filters, $filter);
            $ftname = "Last 24 hour";
            break;
        case "item":
            $filter = new Filter($model);
            $filter->add($model::ITEM_ID, Filter::EQ, $itemId);
            array_push($filters, $filter);
            $ftname = "Item:" . $itemId;
            break;
        default:
            break;
    }
}
$postDBRows = array();
$postDao = new \com\indigloo\sc\dao\Post();
$pageSize = Config::getInstance()->get_value("user.page.items");
$total = 0;
if (empty($ft) && !empty($gtoken)) {
    $sphinx = new \com\indigloo\sc\search\SphinxQL();
    $total = $sphinx->getPostsCount($gtoken);