Esempio n. 1
0
  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);
 }
Esempio n. 4
0
 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);
 }
Esempio n. 5
0
  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);
  }
Esempio n. 6
0
  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);
  }
Esempio n. 7
0
  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);
  }
Esempio n. 8
0
  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);
  }
Esempio n. 11
0
  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();
  }
Esempio n. 12
0
 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();
 }
Esempio n. 13
0
<?
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));
  }
}
Esempio n. 14
0
  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();
  }
Esempio n. 15
0
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>',
Esempio n. 16
0
 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);
 }
Esempio n. 17
0
  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);
  }
Esempio n. 18
0
  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;
  }