public function getPageForSession($ipp, $user) { if ($user === false || $user->isWebspider() || $user->isOptionEnabled(0x10000000)) { return array(1, 1); } $rank = WC_RegAt::calcExactRank($user); $page = GWF_PageMenu::getPageForPos($rank, $ipp); return array($page, WC_RegAt::calcRank($user)); }
private function getPageNum($ipp, $bit) { if (false !== ($user = GWF_Session::getUser()) && !$user->isWebspider() && !$user->isOptionEnabled(0x10000000)) { if (false !== ($page = Common::getGet('page'))) { $hlrank = ($page - 1) * $ipp + 1; } else { // $page = Common::getGet('page', 1); $hlrank = $this->calcRank($user, $bit); $page = GWF_PageMenu::getPageForPos($hlrank, $ipp); } } else { $page = Common::getGet('page', 1); $hlrank = 1; } return array($page, $hlrank); }
private function getSinglePageRank($cid, $ipp, $user) { # Guest or not your country if ($user === false || $user->getCountryID() !== $cid) { return array(Common::getGet('page', 1), 1); } # Requested a page, so use it if (false !== ($page = Common::getGet('page'))) { return array($page, 1); } # Oh, auto-page detection for the user! $rank = WC_RegAt::calcExactCountryRank($user); $page = GWF_PageMenu::getPageForPos($rank, $ipp); return array($page, $rank); }
private function getPageRank($langid, $ipp, $user) { // return array(1,1); # We want a specific page... if (false !== ($page = Common::getGet('page'))) { $page = (int) $page; return array($page, ($page - 1) * $ipp + 1); } # Not logged in, so default is page1, rank1 (unless specified) if ($user === false || $user->isOptionEnabled(0x10000000)) { return array(1, 1); } $regat = GWF_TABLE_PREFIX . 'wc_regat'; # Logged in, we show the current user // $query = // "SELECT SUM(regat_score) FROM $regat WHERE regat_uid=$userid HAVING regat_langid=$langid;"; // $query = "SELECT COUNT(*) AS c FROM gwf_wc_regat GROUP BY regat_uid WHERE SUM(regat_score)>1234 HAVING regat_langid=1"; // $query = "SELECT COUNT(*) AS c FROM $regat WHERE regat_langid=$langid GROUP BY regat_uid HAVING SUM(regat_score) > 1234"; // $query = "SELECT v1a.userid, COUNT(v1b.userid) AS cnt FROM v1 AS v1a JOIN v1 AS v1b ON (v1a.total, v1a.userid) <= (v1b.total, v1b.userid) GROUP BY v1a.userid ORDER BY cnt ASC" // $query = "SELECT v1a.regat_uid, COUNT(v1b.regat_uid) AS cnt FROM $regat AS v1a JOIN $regat AS v1b ON (SUM(regat_score), v1a.regat_uid) <= (SUM(regat_score), v1b.userid) GROUP BY v1a.regat_uid ORDER BY cnt ASC"; // SELECT regat_onsitename, SUM(regat_score) AS total FROM gwf_wc_regat WHERE regat_langid=1 GROUP BY regat_uid, regat_langid ORDER BY total DESC LIMIT 3; // $query = "SELECT regat_uid, SUM(regat_score) AS total FROM gwf_wc_regat WHERE regat_langid=1 GROUP BY regat_uid ORDER BY total DESC LIMIT 1;"; // $query = "SELECT COUNT(*) AS c FROM $regat AS r1 JOIN (SELECT SUM(regat_score) AS total FROM gwf_wc_regat WHERE regat_langid=1 GROUP BY regat_uid) AS r2 WHERE total>1234"; // $query = "SELECT COUNT(*) FROM $regat WHERE SUM(regat_score) > 80000 GROUP BY regat_uid HAVING regat_langid=1"; # YAY \o/ #SELECT SUM(regat_score) FROM gwf_wc_regat WHERE regat_langid=1 GROUP BY regat_uid HAVING SUM(regat_score)>180000; $db = gdo_db(); $userid = $user->getID(); $query = "SELECT SUM(regat_score) s FROM {$regat} WHERE regat_langid={$langid} AND regat_uid={$userid}"; if (false === ($result = $db->queryFirst($query))) { return array(1, 1); } if ($result['s'] === NULL) { return array(1, 1); } $score = $result['s']; $query = "SELECT SUM(regat_score) FROM {$regat} WHERE regat_langid={$langid} GROUP BY regat_uid HAVING (SUM(regat_score)>({$score})) OR (SUM(regat_score)=({$score}) AND regat_uid<{$userid})"; if (false === ($result = $db->queryRead($query))) { $db->free($result); return array(1, 1); } $rank = $db->numRows($result) + 1; $db->free($result); // $rank = intval($result['c'])+1; $page = GWF_PageMenu::getPageForPos($rank, $ipp); return array($page, $rank); }