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);
  }
Exemple #3
0
  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";
    }
  }
Exemple #4
0
  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();
  }
Exemple #6
0
 function LoadFromDB()
 {
   $this->party = PouetParty::spawn( $_GET["which"] );
   $this->title = $this->party->name." ".(int)$_GET["when"]." results";
 }