/** * 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); }
/** * @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; }
<?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"; }
/** * 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; }
<?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"; }