Esempio n. 1
0
 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));
 }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
 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);
 }