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 BM_Query("prods"); $s->AddOrder("prods.addedDate desc"); $s->SetLimit(POUET_CACHE_MAX); $this->data = $s->perform(); PouetCollectPlatforms($this->data); }
function LoadFromDB() { $s = new BM_Query("prods"); $s->AddOrder("prods.rank"); $s->AddWhere("prods.rank!=0"); $s->SetLimit(POUET_CACHE_MAX); $this->data = $s->perform(); PouetCollectPlatforms($this->data); }
function LoadFromDB() { $s = new BM_Query("prods"); $s->AddOrder("(prods.views/((sysdate()-prods.addedDate)/100000)+prods.views)*prods.voteavg*prods.voteup DESC"); $s->AddWhere("prods.addedDate > DATE_SUB(NOW(), INTERVAL 30 DAY)"); $s->SetLimit(POUET_CACHE_MAX); $this->data = $s->perform(); PouetCollectPlatforms($this->data); }
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); }
function LoadFromDB() { $s = new BM_Query(); $s->AddTable("cdc"); $s->attach(array("cdc"=>"which"),array("prods as prod"=>"id")); $s->AddOrder("cdc.addedDate desc"); $s->SetLimit(1); list($this->data) = $s->perform(); $a = array(&$this->data->prod); PouetCollectPlatforms($a); }
function LoadFromDB() { $id = SQLLib::SelectRow("SELECT prods.id as id FROM prods ORDER BY RAND() LIMIT 1")->id; $s = new BM_Query("prods"); $s->AddWhere(sprintf_esc("prods.id = %d",$id)); $s->SetLimit(1); $data = $s->perform(); $this->data = reset($data); $a = array(&$this->data); PouetCollectPlatforms($a); }
function LoadFromDB() { $this->prod = PouetProd::spawn( $_GET["which"] ); $s = new BM_Query(); $s->AddField("added"); $s->AddTable("nfos"); $s->SetLimit(1); $s->attach(array("nfos"=>"user"),array("users as user"=>"id")); $s->AddWhere(sprintf_esc("prod=%d",$this->prod->id)); list($this->nfo) = $s->perform(); }
function LoadFromDB() { $s = new BM_Query("parties"); $s->AddField("count(*) as c"); $s->AddField("prods.party_year"); $s->AddJoin("","prods","prods.party=parties.id"); $s->AddWhere(sprintf_esc("parties.id != %d",NO_PARTY_ID)); //$s->AddWhere(sprintf_esc("prods.id is not null"); $s->AddGroup("prods.party,prods.party_year"); $s->AddOrder("prods.releaseDate desc, prods.id desc"); $s->SetLimit(POUET_CACHE_MAX); $this->data = $s->perform(); //PouetCollectPlatforms($this->data); }
function LoadFromDB() { $s = new BM_Query(); $s->AddTable("(select * from comments order by comments.addedDate desc limit 25) as c"); $s->attach(array("c"=>"which"),array("prods as prod"=>"id")); $s->attach(array("c"=>"who"),array("users as user"=>"id")); $s->AddOrder("c.addedDate desc"); $s->AddField("c.id as commentID"); $s->AddField("c.rating as rating"); $s->SetLimit(POUET_CACHE_MAX); $this->data = $s->perform(); $a = array(); foreach($this->data as $p) $a[] = &$p->prod; PouetCollectPlatforms($a); }
function LoadFromDB() { /// $this->nfo = SQLLib::SelectRow( sprintf_esc("select * from othernfos where id = %d", $_GET["which"] ) ); $s = new BM_Query(); $s->AddField("othernfos.added"); $s->AddField("othernfos_board.name"); $s->AddTable("othernfos"); $s->SetLimit(1); $s->attach(array("othernfos"=>"adder"),array("users as user"=>"id")); $s->attach(array("othernfos"=>"refID"),array("boards as board"=>"id")); $s->AddWhere(sprintf_esc("othernfos.id=%d",$_GET["which"])); $s->GetQuery(); list($this->nfo) = $s->perform(); }
function LoadFromDB() { global $currentUser; if (!$currentUser) return; $ids = SQLLib::SelectRows(sprintf_esc("select prodID from watchlist where userID = %d",$currentUser->id)); if (!count($ids)) return; $i = array(); foreach($ids as $v) $i[] = $v->prodID; $s = new BM_Query(); //$s->AddTable(sprintf_esc("(select * from comments where comments.which in (%s) order by comments.addedDate desc) as c ",implode(",",$i))); $s->AddTable(sprintf_esc("(select *, max(comments.addedDate) as maxDate from comments where comments.which in (%s) group by comments.which) as c ",implode(",",$i))); $s->AddJoin("left","comments","c.maxDate = comments.addedDate and c.which = comments.which"); $s->attach(array("comments"=>"which"),array("prods as prod"=>"id")); $s->attach(array("comments"=>"who"),array("users as user"=>"id")); //$s->AddGroup("c.which"); $s->AddOrder("comments.addedDate desc"); $s->AddField("comments.id as commentID"); $s->SetLimit((int)$this->limit); $this->data = $s->perform(); }
<? require_once("../bootstrap.inc.php"); require_once( POUET_ROOT_LOCAL . "/include_pouet_index/box-index-latestadded.php"); require_once( POUET_ROOT_LOCAL . "/include_pouet/pouet-rss.php"); $limit = $_GET["howmany"] ? $_GET["howmany"] : 10; $limit = min($limit,25); $limit = max($limit,5); $s = new BM_Query("prods"); $s->AddOrder("prods.addedDate DESC"); $s->attach("addedUser",array("users as user"=>"id")); $s->SetLimit($limit); if ($_GET["type"]) { $s->AddWhere(sprintf_esc("FIND_IN_SET('%s',prods.type)",$_GET["type"])); } if ($_GET["platform"]) { $platformID = -1; foreach($PLATFORMS as $k=>$v) if ($v["name"] == $_GET["platform"]) $platformID = $k; if ($platformID != -1) { $s->AddJoin("LEFT","prods_platforms as pp","pp.prod = prods.id"); $s->AddWhere(sprintf_esc("pp.platform = %d",$platformID)); } }
function LoadFromDB() { global $PLATFORMS; $plat = array(); $plat[""] = "- none -"; foreach($PLATFORMS as $k=>$v) $plat[$k] = $v["name"]; uasort($plat,"strcasecmp"); $this->fields = array( "type"=>array( "name"=>"type", "type"=>"select", //"multiple"=>true, "assoc"=>true, "fields"=>$this->types, "info"=>" ", //"required"=>true, ), "platform"=>array( "name"=>"platform", "type"=>"select", //"multiple"=>true, "assoc"=>true, "fields"=>$plat, "info"=>" ", //"required"=>true, ), "days"=>array( "name"=>"days to go back", "type"=>"number", "value"=>0, "info"=>"0 means alltime", ), "limit"=>array( "name"=>"number of prods", "type"=>"number", "value"=>10, "max"=>50, ), ); if ($_GET) { foreach($_GET as $k=>$v) if ($this->fields[$k]) $this->fields[$k]["value"] = $v; } $s = new BM_Query("prods"); if ($_GET["days"]) { $s->AddOrder("(prods.views/((NOW()-prods.addedDate)/100000)+prods.views)*prods.voteavg*prods.voteup DESC"); $s->AddWhere(sprintf_esc("prods.addedDate > DATE_SUB(NOW(),INTERVAL %d DAY)",$_GET["days"])); } else if ($_GET["dateFrom"] || $_GET["dateTo"]) { $s->AddOrder("(prods.views/((NOW()-prods.addedDate)/100000)+prods.views)*prods.voteavg*prods.voteup DESC"); if ($_GET["dateFrom"]) $s->AddWhere(sprintf_esc("prods.addedDate >= '%s'",$_GET["dateFrom"])); if ($_GET["dateTo"]) $s->AddWhere(sprintf_esc("prods.addedDate <= '%s'",$_GET["dateTo"])); } else { $s->AddOrder("prods.rank"); $s->AddWhere("prods.rank > 0"); } if ($_GET["type"]) { $s->AddWhere(sprintf_esc("FIND_IN_SET('%s',prods.type)>0",$_GET["type"])); } if ($_GET["platform"]) { $s->AddJoin("","prods_platforms",sprintf_esc("prods_platforms.prod = prods.id AND prods_platforms.platform=%d",$_GET["platform"])); } $limit = (int)($_GET["limit"] ? $_GET["limit"] : 10); $limit = min($limit,50); $limit = max($limit,10); $s->SetLimit($limit); $this->prods = $s->perform(); }
require_once("header.bare.php"); echo "<header>\n"; echo " <h1>pouët.net</h1>\n"; if (get_setting("logos")) { $timer["logo"]["start"] = microtime_float(); $s = new BM_Query(); $s->AddTable("logos"); $s->AddField("logos.file as file"); $s->attach(array("logos"=>"author1"),array("users as u1"=>"id")); $s->attach(array("logos"=>"author2"),array("users as u2"=>"id")); $s->AddOrder("rand()"); $s->AddWhere("logos.vote_count>0"); $s->SetLimit("1"); list($logo) = $s->perform(); if ($logo) { $credit = $logo->u1->PrintLinkedName(); if ($logo->u2) $credit .= " and " . $logo->u2->PrintLinkedName(); } $timer["logo"]["end"] = microtime_float(); $random_quotes = Array ( 'send your logos to <a href="submit_logo.php">us</a> and be a popstar !', '<a href="logo_vote.php">vote</a> for the logos you like and be a lamah !', 'pouët.net is brought to you by <a href="http://www.pouet.net/groups.php?which=5">mandarine</a>',
static function spawn($id) { $query = new BM_Query(static::getTable()); $query->addExtendedFields(); $query->AddWhere(sprintf_esc("%s.%s = %d", static::getTable(), static::getPrimaryKey(), (int) $id)); $query->SetLimit(1); $rows = $query->perform(); return reset($rows); }
function LoadFromDB() { $this->prod = PouetProd::spawn( $this->id ); if(!$this->prod) return; if($this->prod->latestip != $_SERVER["REMOTE_ADDR"] && CheckReferrer($_SERVER["HTTP_REFERER"]) ) { SQLLib::Query(sprintf_esc("UPDATE prods SET views=views+1, latestip='%s' WHERE id=%d",$_SERVER["REMOTE_ADDR"],$this->id)); } $this->linkCheck = SQLLib::SelectRow(sprintf_esc("SELECT * FROM prods_linkcheck where prodID = %d",$this->id)); $a = array(&$this->prod); PouetCollectPlatforms( $a ); if ($this->prod->boardID) $this->board = SQLLib::SelectRow(sprintf_esc("SELECT * FROM boards WHERE id = %d",$this->prod->boardID)); $s = new BM_Query(); $s->AddField("added"); $s->AddTable("screenshots"); $s->SetLimit(1); $s->attach(array("screenshots"=>"user"),array("users as user"=>"id")); $s->AddWhere(sprintf_esc("prod=%d",$this->id)); list($this->screenshot) = $s->perform(); $s = new BM_Query(); $s->AddField("prodotherparty.party_compo"); $s->AddField("prodotherparty.party_place"); $s->AddField("prodotherparty.party_year"); $s->AddTable("prodotherparty"); $s->attach(array("prodotherparty"=>"party"),array("parties as party"=>"id")); $s->AddWhere(sprintf_esc("prod=%d",$this->id)); $rows = $s->perform(); foreach($rows as $row) { $this->prod->placings[] = new PouetPlacing( array("party"=>$row->party,"compo"=>$row->party_compo,"ranking"=>$row->party_place,"year"=>$row->party_year) ); } $s = new BM_Query(); $s->AddTable("affiliatedprods"); $s->AddField("affiliatedprods.type"); $s->attach(array("affiliatedprods"=>"original"),array("prods as prodOriginal"=>"id")); $s->attach(array("affiliatedprods"=>"derivative"),array("prods as prodDerivative"=>"id")); $s->AddWhere(sprintf_esc("affiliatedprods.original=%d or affiliatedprods.derivative=%d",$this->id,$this->id)); $this->relatedProds = $s->perform(); $s = new BM_Query(); $s->AddTable("users_cdcs"); $s->attach(array("users_cdcs"=>"user"),array("users as user"=>"id")); $s->AddWhere(sprintf_esc("cdc = %d",$this->id)); $cdcs = $s->perform(); $this->userCDCs = array(); foreach($cdcs as $v) $this->userCDCs[$v->user->id] = $v; $this->isPouetCDC = SQLLib::selectRow(sprintf_esc("select * from cdc where which = %d",$this->id)); $this->awards = SQLLib::selectRows(sprintf_esc("select * from sceneorgrecommended where prodid = %d order by type, category",$this->id)); $s = new BM_Query("credits"); $s->AddField("credits.role"); $s->AddWhere(sprintf("credits.prodID = %d",$this->id)); $s->Attach(array("credits"=>"userID"),array("users as user"=>"id")); $s->AddOrder("credits.role"); $this->credits = $s->perform(); $this->downloadLinks = array(); /* if ($this->prod->sceneorg) { $o = new stdClass(); $o->type = "scene.org"; $o->id = "sceneorgID"; $o->link = "http://scene.org/file.php?id=".(int)$this->prod->sceneorg; $this->downloadLinks[] = $o; } */ if ($this->prod->csdb) { $o = new stdClass(); $o->type = "csdb"; $o->id = "csdbID"; $o->link = "http://csdb.dk/release/?id=".(int)$this->prod->csdb; $this->downloadLinks[] = $o; } if ($this->prod->zxdemo) { $o = new stdClass(); $o->type = "zxdemo"; $o->id = "zxdemoID"; $o->link = "http://zxdemo.org/item.php?id=".(int)$this->prod->zxdemo; $this->downloadLinks[] = $o; } if ($this->prod->demozoo) { $o = new stdClass(); $o->type = "demozoo"; $o->id = "demozooID"; $o->link = "http://demozoo.org/productions/".(int)$this->prod->demozoo."/"; $this->downloadLinks[] = $o; } $this->downloadLinks = array_merge($this->downloadLinks,SQLLib::selectRows(sprintf_esc("select type, link from downloadlinks where prod = %d order by type",$this->id))); $this->screenshotPath = find_screenshot($this->prod->id); }
static function Display($itemID, $data) { $s = new BM_Query("credits"); $s->AddField("credits.id"); $s->AddField("credits.role"); $s->attach(array("credits"=>"userID"),array("users as user"=>"id")); $s->AddWhere(sprintf_esc("credits.id = %d",$data["creditID"])); $s->SetLimit(1); $l = $s->perform(); $row = reset($l); //$l = SQLLib::SelectRows(sprintf_esc("select credits.id,users.nickname,credits.role from credits left join users on users.id = credits.id where prodID = %d",$data["prod"])); $s = "<b>old</b>: "; if ($row->user) { $s .= $row->user->PrintLinkedAvatar()." "; $s .= $row->user->PrintLinkedName(); } $s .= " - "._html($row->role); return $s; }