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; }
$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; } } } $rows = $userDao->getOnSearchLoginIds($ids);