function LoadFromDB() { global $POSTS_PER_PAGE; $s = new SQLSelect(); $s->AddTable("bbs_topics"); $s->AddWhere("bbs_topics.id=".$this->id); $this->topic = SQLLib::SelectRow($s->GetQuery()); if(!$this->topic) return false; $s = new SQLSelect(); $s->AddField("count(*) as c"); $s->AddTable("bbs_posts"); $s->AddWhere("bbs_posts.topic=".$this->id); $this->postcount = SQLLib::SelectRow($s->GetQuery())->c; $s = new BM_Query(); $s->AddTable("bbs_posts"); $s->AddField("bbs_posts.id as id"); $s->AddField("bbs_posts.post as post"); $s->AddField("bbs_posts.added as added"); $s->attach(array("bbs_posts"=>"author"),array("users as user"=>"id")); $s->AddWhere("bbs_posts.topic=".$this->id); //$s->SetLimit( $POSTS_PER_PAGE, (int)(($this->page - 1)*$POSTS_PER_PAGE) ); $this->paginator = new PouetPaginator(); $this->paginator->SetData( "topic.php?which=".$this->id, $this->postcount, $POSTS_PER_PAGE, $_GET["page"] ); $this->paginator->SetLimitOnQuery( $s ); $this->posts = $s->perform(); $this->title = _html($this->topic->topic); }
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("comments"); $s->AddField("comments.rating"); $s->AddField("comments.addedDate"); $s->attach(array("comments"=>"which"),array("prods as prod"=>"id")); $s->attach(array("comments"=>"who"),array("users as user"=>"id")); $s->AddOrder("comments.addedDate DESC"); $s->AddWhere(sprintf_esc("(UNIX_TIMESTAMP()-UNIX_TIMESTAMP(comments.addedDate))<=(3600*%d)",get_setting("commentshours"))); $this->comments = $s->perform(); $a = array(); foreach($this->comments as $v) $a[] = &$v->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() { $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() { $s = new SQLSelect(); $this->group = PouetGroup::Spawn($this->id); $this->addeduser = PouetUser::Spawn($this->group->addedUser); // not to boast or anything, but this is f*****g beautiful. $sub = new SQLSelect(); $sub->AddField("max(comments.addedDate) as maxDate"); $sub->AddField("comments.which"); $sub->AddTable("comments"); $sub->AddJoin("left","prods","prods.id = comments.which"); //$sub->AddOrder("comments.addedDate desc"); $sub->AddGroup("comments.which"); $sub->AddWhere(sprintf_esc("(prods.group1 = %d) or (prods.group2 = %d) or (prods.group3 = %d)",$this->id,$this->id,$this->id)); $s = new BM_Query("prods"); $s->AddField("cmts.addedDate as lastcomment"); $s->AddField("cmts.rating as lastcommentrating"); $s->AddJoin("left","(select comments.addedDate,comments.who,comments.which,comments.rating from (".$sub->GetQuery().") as dummy left join comments on dummy.maxDate = comments.addedDate and dummy.which = comments.which) as cmts","cmts.which=prods.id"); $s->attach(array("cmts"=>"who"),array("users as user"=>"id")); $s->AddWhere(sprintf_esc("(prods.group1 = %d) or (prods.group2 = %d) or (prods.group3 = %d)",$this->id,$this->id,$this->id)); $r = !!$_GET["reverse"]; switch($_GET["order"]) { case "type": $s->AddOrder("prods.type ".($r?"DESC":"ASC")); break; case "party": $s->AddOrder("prods_party.name ".($r?"DESC":"ASC")); $s->AddOrder("prods.party_year ".($r?"DESC":"ASC")); $s->AddOrder("prods.party_place ".($r?"DESC":"ASC")); break; case "release": $s->AddOrder("prods.releaseDate ".($r?"ASC":"DESC")); break; case "thumbup": $s->AddOrder("prods.voteup ".($r?"ASC":"DESC")); break; case "thumbpig": $s->AddOrder("prods.votepig ".($r?"ASC":"DESC")); break; case "thumbdown": $s->AddOrder("prods.votedown ".($r?"ASC":"DESC")); break; case "avg": $s->AddOrder("prods.voteavg ".($r?"ASC":"DESC")); break; case "views": $s->AddOrder("prods.views ".($r?"ASC":"DESC")); break; case "latestcomment": $s->AddOrder("lastcomment ".($r?"ASC":"DESC")); break; default: $s->AddOrder("prods.name ".($r?"DESC":"ASC")); break; } $this->prods = $s->perform(); PouetCollectPlatforms($this->prods); PouetCollectAwards($this->prods); $s = new BM_Query("affiliatedboards"); $s->attach(array("affiliatedboards"=>"board"),array("boards as board"=>"id")); $s->AddWhere(sprintf_esc("affiliatedboards.group=%d",$this->id)); $this->affil = $s->perform(); }
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("users_cdcs"); $s->attach(array("users_cdcs"=>"cdc"),array("prods as prod"=>"id")); $s->AddGroup("users_cdcs.cdc"); $s->AddField("count(*) as c"); $s->AddOrder("c desc"); $this->cdcs = $s->perform(); $a = array(); foreach($this->cdcs as $v) $a[] = &$v->prod; PouetCollectPlatforms($a); }
function LoadFromDB() { $s = new BM_Query("modification_requests"); $s->AddField("modification_requests.id"); $s->AddField("modification_requests.requestType"); $s->AddField("modification_requests.itemID"); $s->AddField("modification_requests.itemType"); $s->AddField("modification_requests.requestBlob"); $s->AddField("modification_requests.requestDate"); $s->Attach(array("modification_requests"=>"userID"),array("users as user"=>"id")); $s->Attach(array("modification_requests"=>"itemID"),array("prods as prod"=>"id")); $s->AddWhere("approved is null"); $s->AddOrder("requestDate desc"); $this->requests = $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(); }
function LoadFromDB() { $this->board = SQLLib::SelectRow(sprintf_esc("select * from boards where id = %d",$this->id)); if (!$this->board) return; $a = SQLLib::SelectRows(sprintf_esc("select * from boards_platforms where board = %d",$this->id)); $this->platforms = array(); foreach($a as $v) $this->platforms[] = $v->platform; $this->addedUser = PouetUser::Spawn($this->board->addedUser); $this->nfos = SQLLib::SelectRows(sprintf_esc("select * from othernfos where refid = %d",$this->id)); $s = new BM_Query("affiliatedboards"); $s->AddField("affiliatedboards.type"); $s->Attach(array("affiliatedboards"=>"group"),array("groups as group"=>"id")); $s->AddWhere(sprintf_esc("affiliatedboards.board = %d",$this->id)); $this->groups = $s->perform(); $s = new BM_Query("prods"); $s->AddWhere(sprintf_esc("prods.boardID = %d",$this->id)); $this->bbstros = $s->perform(); }
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; }
function LoadFromDB() { $s = new BM_Query(); $s->AddField("comments.id as id"); $s->AddField("comments.comment as comment"); $s->AddField("comments.rating as rating"); $s->AddField("comments.addedDate as addedDate"); $s->attach(array("comments"=>"who"),array("users as user"=>"id")); $s->AddTable("comments"); $s->AddOrder("comments.addedDate"); $s->AddWhere("comments.which=".$this->id); $perPage = get_setting("prodcomments"); if ($perPage != -1) { $sc = new SQLSelect(); $sc->AddField("count(*) as c"); $sc->AddWhere("comments.which=".$this->id); $sc->AddTable("comments"); $commentCount = SQLLib::SelectRow($sc->GetQuery())->c; $this->paginator->SetData( "prod.php?which=".$this->id, $commentCount, $perPage, $_GET["page"] ); $this->paginator->SetLimitOnQuery( $s ); /* $this->commentCount = $this->numPages = (int)ceil($this->commentCount / $this->perPage); if (!isset($_GET["page"])) $this->page = $this->numPages; else $this->page = (int)$_GET["page"]; $this->page = (int)max( $this->page, 1 ); $this->page = (int)min( $this->page, $this->numPages ); if ($this->numPages > 1) $s->SetLimit( $this->perPage, (int)(($this->page-1) * $this->perPage) ); */ } $r = $s->perform(); $this->data = $r; }
die($xml->AsXML()); $xml->addAttribute("standard","1.1"); $xml->addAttribute("version","1"); $xml->addAttribute("author","*****@*****.**"); $xml->addAttribute("mode","partial"); $xml->addChild("demo"); $xml->demo->addAttribute("pouet_id",_html($prod->id)); $xml->demo->addChild("name",_html($prod->name)); foreach($prod->types as $v) $xml->demo->addChild("category",ucfirst(_html($v)))->addAttribute("type",_html($v)); $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",$prod->id)); $rows = $s->perform(); foreach($rows as $row) { $prod->placings[] = new PouetPlacing( array("party"=>$row->party,"compo"=>$row->party_compo,"ranking"=>$row->party_place,"year"=>$row->party_year) ); } global $COMPOTYPES; foreach($prod->placings as $p) { $release = $xml->demo->addChild("release");
<? require_once("../bootstrap.inc.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("comments"); $s->AddField("comments.id"); $s->AddField("comments.addedDate"); $s->AddField("comments.comment"); $s->AddField("comments.rating"); $s->attach(array("comments"=>"which"),array("prods as prod"=>"id")); $s->attach(array("comments"=>"who"),array("users as user"=>"id")); $s->AddWhere(sprintf_esc("comments.which = %d",$_GET["prod"])); $s->AddOrder("comments.addedDate DESC"); $s->SetLimit($limit); $data = $s->perform(); $first = reset($data); $rss = new PouetRSS(array( "title"=>"pouët.net - prod comments for ".$first->prod->name, "link"=>$first->prod->GetLink(), )); $votes = array( -1 => "sucks", 0 => "isok", 1 => "rulez" ); foreach($data as $item) { $rss->AddItem(array( "title" => $item->user->nickname,
<? $timer["html"]["start"] = microtime_float(); 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 !',
function PouetBoxAdminEditProdAffil( $prod ) { parent::__construct(); $this->uniqueID = "pouetbox_prodeditprodaffil"; $this->prod = $prod; $this->title = "related prods"; $this->headers = array("relation","prod"); $s = new BM_Query(); $s->AddField("affiliatedprods.id"); $s->AddField("affiliatedprods.type"); $s->AddTable("affiliatedprods"); $s->attach(array("affiliatedprods"=>"original"),array("prods as prodOriginal"=>"id")); $s->attach(array("affiliatedprods"=>"derivative"),array("prods as prodDerivative"=>"id")); $s->AddWhere(sprintf_esc("original=%d or derivative=%d",$this->prod->id,$this->prod->id)); $this->data = $s->perform(); }