/**
  * Initializes list with player bans filtering.
  * 
  * @version 0.1.5
  * @since 0.1.5
  */
 public function __construct()
 {
     parent::__construct();
     // filters only account bans
     $filter = new OTS_SQLFilter();
     $filter->addFilter(new OTS_SQLField('type', 'bans'), POT::BAN_PLAYER);
     $this->setFilter($filter);
 }
示例#2
0
 /**
  * @version 0.1.5
  * @since 0.1.3
  * @return OTS_Accounts_List Filtered list.
  * @deprecated 0.1.5 Use OTS_AccountBans_List.
  */
 public static function bannedAccounts()
 {
     // creates filter
     $filter = new OTS_SQLFilter();
     $filter->addFilter(new OTS_SQLField('type', 'bans'), POT::BAN_ACCOUNT);
     $filter->addFilter(new OTS_SQLField('active', 'bans'), 1);
     $filter->addFilter(new OTS_SQLField('value', 'bans'), new OTS_SQLField('id', 'accounts'));
     // selects only active bans
     $actives = new OTS_SQLFilter();
     $actives->addFilter(new OTS_SQLField('expires', 'bans'), 0);
     $actives->addFilter(new OTS_SQLField('time', 'bans'), time(), OTS_SQLFilter::OPERATOR_GREATER, OTS_SQLFilter::CRITERIUM_OR);
     $filter->addFilter($actives);
     // creates list and aplies filter
     $list = new OTS_Accounts_List();
     $list->setFilter($filter);
     return $list;
 }
示例#3
0
文件: foreign.php 项目: Tobbebror/POT
<?php

// to not repeat all that stuff
include 'quickstart.php';
// creates new players list object
$players = new OTS_Players_List();
// creates filter
$filter = new OTS_SQLFilter();
// selects player whose rank belongs to guild with ID 5
$filter->addFilter(new OTS_SQLField('rank_id', 'players'), new OTS_SQLField('id', 'ranks'));
$filter->addFilter(new OTS_SQLField('guild_id', 'ranks'), 5);
// sets filter on list
$players->setFilter($filter);
// iterates throught selected players
foreach ($players as $index => $player) {
    echo $player->getName(), "\n";
}
示例#4
0
 /**
  * Returns list of VIPs.
  * 
  * <p>
  * It means list of players which this player have on his/her list.
  * </p>
  * 
  * @version 0.1.3
  * @since 0.1.3
  * @return OTS_Players_List List of VIPs.
  * @throws E_OTS_NotLoaded If player is not loaded.
  * @throws PDOException On PDO operation error.
  */
 public function getVIPsList()
 {
     if (!isset($this->data['id'])) {
         throw new E_OTS_NotLoaded();
     }
     $list = new OTS_Players_List();
     // foreign table fields identifiers
     $field1 = new OTS_SQLField('player_id', 'player_viplist');
     $field2 = new OTS_SQLField('vip_id', 'player_viplist');
     // creates filter
     $filter = new OTS_SQLFilter();
     $filter->addFilter($field1, $this->data['id']);
     $filter->compareField('id', $field2);
     // puts filter onto list
     $list->setFilter($filter);
     return $list;
 }
示例#5
0
<?php

// to not repeat all that stuff
include 'quickstart.php';
// creates new players list object
$players = new OTS_Players_List();
// creates filter
$filter = new OTS_SQLFilter();
// sets filter to choose players with capacity equal to hit points
$filter->addFilter(new OTS_SQLField('cap'), new OTS_SQLField('health'));
// another filter
$sub = new OTS_SQLFilter();
// only players with level 8 and higher...
$sub->compareField('level', 8, OTS_SQLFilter::OPERATOR_NLOWER);
// ... OR magic level 5 and higher
$sub->compareField('maglevel', 5, OTS_SQLFilter::OPERATOR_NLOWER, OTS_SQLFilter::CRITERIUM_OR);
// final result is:
// "cap" = "health" AND ("level" = 8 OR "maglevel" = 5)
$filter->addFilter($sub);
// sets filter on list
$players->setFilter($filter);
// iterates throught selected players
foreach ($players as $index => $player) {
    echo $player->getName(), "\n";
}