function PouetBoxAdminEditParty( $id ) { parent::__construct(); $this->id = (int)$id; $this->party = PouetParty::Spawn( $this->id ); $this->title = "edit this party: "._html( $this->party->name ); }
function PouetBoxAdminEditPartyEdition( $id, $year ) { parent::__construct(); $this->id = $id; $this->year = $year; $this->party = PouetParty::Spawn( $this->id ); $this->title = sprintf("edit this party: %s %04d",_html($this->party->name),$this->year); }
function RenderDetails() { global $currentUser; //var_dump($this->data); echo "<table id='stattable'>\n"; echo " <tr>\n"; echo " <td>platform :</td>\n"; echo " <td>".$this->prod->RenderPlatformNames()."</td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td>type :</td>\n"; echo " <td>".$this->prod->RenderTypeNames()."</td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td>release date :</td>\n"; echo " <td>"; if ($this->prod->releaseDate && $this->prod->releaseDate{0}!="0") { echo $this->prod->RenderReleaseDate(); } else { echo "<span class='na'>n/a</span>"; if ($currentUser && $currentUser->CanSubmitItems()) { printf(" [<a class='submitadditional' href='submit_prod_info.php?which=%d'>+</a>]",$this->prod->id); } } echo "</td>\n"; echo " </tr>\n"; if ($this->prod->party->id != NO_PARTY_ID) { if (count($this->prod->placings) == 1) { $p = $this->prod->placings[0]; if ($p->party) { echo " <tr>\n"; echo " <td>release party :</td>\n"; echo " <td>".$p->party->PrintLinked($p->year)."</td>\n"; echo " </tr>\n"; } echo " <tr>\n"; echo " <td>compo :</td>\n"; echo " <td>"; if ($p->compo) { global $COMPOTYPES; echo $COMPOTYPES[ $p->compo ]; } else { echo "<span class='na'>n/a</span>"; if ($currentUser && $currentUser->CanSubmitItems()) { printf(" [<a class='submitadditional' href='submit_prod_info.php?which=%d'>+</a>]",$this->prod->id); } } echo "</td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td>ranked :</td>\n"; echo " <td>"; if ($p->ranking) { echo $p->PrintRanking(); } else { echo "<span class='na'>n/a</span>"; if ($currentUser && $currentUser->CanSubmitItems()) { printf(" [<a class='submitadditional' href='submit_prod_info.php?which=%d'>+</a>]",$this->prod->id); } } echo "</td>\n"; echo " </tr>\n"; } } if (count($this->relatedProds)) { global $AFFILIATIONS_ORIGINAL; global $AFFILIATIONS_INVERSE; echo " <tr>\n"; echo " <td>related :</td>\n"; echo " <td id='relatedprods'>"; echo " <ul>"; foreach($this->relatedProds as $r) { if ($r->prodOriginal->id == $this->id) printf("<li>%s: %s</li>",$AFFILIATIONS_ORIGINAL[$r->type],$r->prodDerivative ? $r->prodDerivative->RenderLink() : "" ); else printf("<li>%s: %s</li>",$AFFILIATIONS_INVERSE[$r->type],$r->prodOriginal ? $r->prodOriginal->RenderLink() : "" ); } echo " </ul>"; echo "</td>\n"; echo " </tr>\n"; } if ($this->prod->invitation) { $invitationParty = PouetParty::Spawn( $this->prod->invitation ); if ($invitationParty) { echo " <tr>\n"; echo " <td>invitation for :</td>\n"; echo " <td>".$invitationParty->PrintLinked($this->prod->invitationyear)."</td>\n"; echo " </tr>\n"; } } if ($this->board) { echo " <tr>\n"; echo " <td>advertising for :</td>\n"; echo " <td><a href='boards.php?which=".(int)$this->board->id."'>"._html($this->board->name)."</td>\n"; echo " </tr>\n"; } echo "</table>\n"; if (count($this->prod->placings) > 1) { echo "<table id='partytable'>\n"; echo " <tr>\n"; echo " <th>party</th>\n"; echo " <th>ranking</th>\n"; echo " <th>compo</th>\n"; $n = 1; foreach ($this->prod->placings as $p) { if (!$p->party) continue; echo " <tr>\n"; echo " <td>".$p->party->PrintLinked($p->year)."</td>\n"; //if ($p->ranking) echo " <td>".$p->PrintRanking()."</td>\n"; //if ($p->compo) global $COMPOTYPES; echo " <td>".$COMPOTYPES[ $p->compo ]."</td>\n"; echo " </tr>\n"; } echo "</table>\n"; } }
function LoadFromDB() { $this->party = PouetParty::spawn($_GET["which"]); if (!$this->party) return; $this->party->addeduser = PouetUser::spawn( $this->party->addedUser ); if (isset($_GET["when"])) { $this->year = $_GET["when"]; } else { $r = SQLLib::selectRow(sprintf_esc("select party_year from prods where party = %d order by rand() limit 1",$_GET["which"])); $this->year = $r->party_year; } if ($this->year < 100) { $this->year += ($this->year < 50 ? 2000 : 1900); } $this->prods = array(); $s = new BM_Query("prods"); $s->AddWhere( sprintf_esc("(prods.party = %d AND prods.party_year = %d) or (prodotherparty.party = %d AND prodotherparty.party_year = %d)",$this->party->id,$this->year,$this->party->id,$this->year) ); // this is where it gets nasty; luckily we can fake it relatively elegantly: ORM won't notice if we override some of the field selections $s->AddJoin("left","prodotherparty",sprintf_esc("prodotherparty.prod = prods.id and (prodotherparty.party = %d AND prodotherparty.party_year = %d)",$this->party->id,$this->year)); foreach($s->fields as &$v) { if ($v == "prods.party_compo as prods_party_compo") { $v = "COALESCE(prodotherparty.party_compo,prods.party_compo) as prods_party_compo"; } if ($v == "prods.party_place as prods_party_place") { $v = "COALESCE(prodotherparty.party_place,prods.party_place) as prods_party_place"; } } $dir = "DESC"; if ($_GET["reverse"]) $dir = "ASC"; $this->sortByCompo = false; 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; default: { $s->AddOrder( "COALESCE(prodotherparty.party_compo,prods.party_compo)" ); $s->AddOrder( "COALESCE(prodotherparty.party_place,prods.party_place)" ); $this->sortByCompo = true; // include invitations on top $inv = new BM_Query("prods"); $inv->AddWhere( sprintf_esc("(prods.invitation = %d AND prods.invitationyear = %d)",$this->party->id,$this->year,$this->party->id,$this->year) ); $inv->AddOrder( "prods.addedDate" ); $prods = $inv->perform(); foreach($prods as &$v) { $v->party_compo = 1; // invit unset($v->placings); } $this->prods = array_merge( $this->prods, $prods ); } break; } $prods = $s->perform(); $this->prods = array_merge( $this->prods, $prods ); PouetCollectPlatforms($this->prods); PouetCollectAwards($this->prods); }
function Commit($data) { if ($data["delParty"]) { SQLLib::Query("delete from prodotherparty where id=".(int)$data["delParty"]); gloperator_log( "prod", (int)$this->prod->id, "prod_party_del" ); return array(); } $a = array(); $a["party"] = $data["partyID"]; $a["party_year"] = $data["partyYear"]; $a["party_place"] = $data["partyPlace"]; $a["party_compo"] = nullify($data["partyCompo"]); if ($data["editPartyID"]) { SQLLib::UpdateRow("prodotherparty",$a,"id=".(int)$data["editPartyID"]); $a["id"] = $data["editPartyID"]; gloperator_log( "prod", (int)$this->prod->id, "prod_party_edit", array("id"=>$a["id"]) ); } else { $a["prod"] = $this->prod->id; $a["id"] = SQLLib::InsertRow("prodotherparty",$a); gloperator_log( "prod", (int)$this->prod->id, "prod_party_add", array("id"=>$a["id"]) ); } if ($data["partial"]) { $o = toObject($a); $o->party = PouetParty::Spawn($a["party"]); $this->RenderNormalRow($o); $this->RenderNormalRowEnd($o); exit(); } return array(); }
function LoadFromDB() { $this->party = PouetParty::spawn( $_GET["which"] ); $this->title = $this->party->name." ".(int)$_GET["when"]." results"; }