function LoadFromDB() { $s = new SQLSelect(); $perPage = get_setting("userlistusers"); $this->page = (int)max( 1, (int)$_GET["page"] ); $s = new BM_Query("users"); $dir = !$_GET["reverse"]; switch($_GET["order"]) { case "nickname": $s->AddOrder("users.nickname ".($dir?"ASC":"DESC")); break; case "age": $s->AddOrder("users.registerDate ".($dir?"ASC":"DESC")); break; case "level": $s->AddOrder("users.level ".($dir?"ASC":"DESC")); break; case "glops": default: $s->AddOrder("users.glops ".($dir?"DESC":"ASC")); break; } $s->AddOrder("users.id ".($dir?"ASC":"DESC")); $s->SetLimit( $perPage, (int)(($this->page-1) * $perPage) ); //echo $s->GetQuery(); $this->users = $s->performWithCalcRows( $this->count ); $this->maxglops = SQLLib::SelectRow("SELECT MAX(glops) as m FROM users")->m; }
function LoadFromDB() { $s = new SQLSelect(); $perPage = get_setting("prodlistprods"); $this->page = (int)max( 1, (int)$_GET["page"] ); $s = new BM_Query("prods"); if (is_array($_GET["type"])) { $cond = array(); foreach($_GET["type"] as $type) $cond[] = sprintf_esc("FIND_IN_SET('%s',prods.type)",$type); $s->AddWhere(implode(" OR ",$cond)); } if (is_array($_GET["platform"])) { global $PLATFORMS; $platforms = array(); foreach($_GET["platform"] as $platform) foreach($PLATFORMS as $k=>$v) if ($v["name"] == $platform) $platforms[] = $k; if ($platforms) { $s->AddJoin("LEFT","prods_platforms as pp","pp.prod = prods.id"); $s->AddWhere(sprintf_esc("pp.platform in (%s)",implode(",",$platforms))); } } $dir = "DESC"; if ($_GET["reverse"]) $dir = "ASC"; switch($_GET["order"]) { case "type": $s->AddOrder("prods.type ".$dir); break; case "name": $s->AddOrder("prods.name ".$dir); break; case "group": $s->AddOrder("prods.group1 ".$dir); $s->AddOrder("prods.group2 ".$dir); $s->AddOrder("prods.group3 ".$dir); break; case "party": $s->AddOrder("prods_party.name ".$dir); $s->AddOrder("prods.party_year ".$dir); $s->AddOrder("prods.party_place ".$dir); break; case "thumbup": $s->AddOrder("prods.voteup ".$dir); break; case "thumbpig": $s->AddOrder("prods.votepig ".$dir); break; case "thumbdown": $s->AddOrder("prods.votedown ".$dir); break; case "avg": $s->AddOrder("prods.voteavg ".$dir); break; case "views": $s->AddOrder("prods.views ".$dir); break; case "added": $s->AddOrder("prods.addedDate ".$dir); break; } $s->AddOrder("prods.releaseDate ".$dir); $s->AddOrder("prods.addedDate ".$dir); $s->SetLimit( $perPage, (int)(($this->page-1) * $perPage) ); //echo $s->GetQuery(); $this->prods = $s->performWithCalcRows( $this->count ); PouetCollectPlatforms($this->prods); PouetCollectAwards($this->prods); }