Beispiel #1
0
 function process($params, $options)
 {
     $qparams = Url::getRequestQueryParams();
     $gpage = Url::tryQueryParam("gpage");
     $gpage = empty($gpage) ? "1" : $gpage;
     $redis = new redis\Activity();
     $pageSize = Config::getInstance()->get_value("main.page.items");
     $paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
     $zsetKey = Nest::score("post", "likes");
     $members = $redis->getPagedZSet($zsetKey, $paginator);
     //first one is id, second one is score
     $count = 0;
     $scores = array();
     $ids = array();
     for ($i = 1; $i < sizeof($members); $i++) {
         if ($i % 2 == 0) {
             array_push($scores, $members[$i - 1]);
         } else {
             $itemId = $members[$i - 1];
             $postId = PseudoId::decode($itemId);
             array_push($ids, $postId);
         }
     }
     //get post rows using ids
     $postDao = new \com\indigloo\sc\dao\Post();
     $postDBRows = $postDao->getOnSearchIds($ids);
     $pageHeader = 'Most popular';
     $pageBaseUrl = '/pub/popular';
     $pageTitle = SeoData::getPageTitleWithNumber($gpage, "popular items");
     $metaKeywords = SeoData::getHomeMetaKeywords();
     $metaDescription = SeoData::getMetaDescriptionWithNumber($gpage, "popular items");
     $file = APP_WEB_DIR . '/view/tiles-page.php';
     include $file;
 }
Beispiel #2
0
Datei: users.php Projekt: rjha/sc
    case 2:
        $sortVariable = "likes";
        break;
    case 3:
        $sortVariable = "comments";
        break;
    case 4:
        $sortVariable = "posts";
        break;
    case 5:
        $sortVariable = "followings";
        break;
    default:
        $sortVariable = "followers";
}
$zsetKey = Nest::score("user", $sortVariable);
$members = $redis->getPagedZSet($zsetKey, $paginator);
$count = 0;
$scores = array();
$ids = array();
if (sizeof($members) >= 2) {
    // odd one is login_id
    // next one is score.
    for ($i = 1; $i < sizeof($members); $i++) {
        if ($i % 2 != 0) {
            $loginId = $members[$i - 1];
            array_push($ids, $loginId);
            $scores[$loginId] = isset($members[$i]) ? $members[$i] : 0;
        }
    }
}
Beispiel #3
0
 function addComment($loginId, $itemId, $feed)
 {
     $redis = Redis::getInstance()->connection();
     //notify post subscribers + subject's followers
     $this->fanoutOnPost($redis, $loginId, $feed);
     $this->fanoutOnSubject($redis, $loginId, $feed);
     $key1 = Nest::subscribers("post", $itemId);
     $key2 = Nest::activities("user", $loginId);
     $key3 = Nest::feeds("post", $itemId);
     $key4 = Nest::score("post", "comments");
     $key5 = Nest::score("user", "comments");
     $redis->pipeline()->sadd($key1, $loginId)->lpush($key2, $feed)->lpush($key3, $feed)->zincrby($key4, 1, $itemId)->zincrby($key5, 1, $loginId)->uncork();
 }
Beispiel #4
0
Datei: posts.php Projekt: rjha/sc
$sortVariable = "likes";
$pageSize = 25;
$paginator = new \com\indigloo\ui\Pagination($qparams, $pageSize);
$baseURI = "/monitor/analytic/posts.php";
$postDao = new \com\indigloo\sc\dao\Post();
switch ($tab) {
    case 1:
        $sortVariable = "likes";
        break;
    case 2:
        $sortVariable = "comments";
        break;
    default:
        $sortVariable = "likes";
}
$zsetKey = Nest::score("post", $sortVariable);
$members = $redis->getPagedZSet($zsetKey, $paginator);
$count = 0;
$scores = array();
$ids = array();
if (sizeof($members) >= 2) {
    for ($i = 1; $i < sizeof($members); $i++) {
        // odd ones are members
        // evens are scores
        if ($i % 2 != 0) {
            $itemId = $members[$i - 1];
            $postId = PseudoId::decode($itemId);
            array_push($ids, $postId);
            //score is next one
            $scores[$itemId] = isset($members[$i]) ? $members[$i] : 0;
        }