$config['site']['groups_hidden'] = array(4, 5, 6);
$config['site']['accounts_hidden'] = array(1);
public function loadSkill()
{
$this->setClass('Highscore');
$this->addOrder(new SQL_Order(new SQL_Field('value', 'player_skills'), SQL_Order::DESC));
$this->addOrder(new SQL_Order(new SQL_Field('count', 'player_skills'), SQL_Order::DESC));
$this->addExtraField(new SQL_Field('count', 'player_skills'));
$this->addExtraField(new SQL_Field('value', 'player_skills'));
$this->addExtraField(new SQL_Field('flag', 'accounts'));
$filterWorld = new SQL_Filter(new SQL_Field('world_id', 'players'), SQL_Filter::EQUAL, $this->worldId);
$filterPlayer = new SQL_Filter(new SQL_Field('id', 'players'), SQL_Filter::EQUAL, new SQL_Field('player_id', 'player_skills'));
$filterSkill = new SQL_Filter(new SQL_Field('skillid', 'player_skills'), SQL_Filter::EQUAL, $this->skillType);
$filter = new SQL_Filter($filterPlayer, SQL_Filter::CRITERIUM_AND, $filterSkill);
if($this->highscoreConfig->isSetKey('groups_hidden'))
foreach($this->highscoreConfig->getValue('groups_hidden') as $_group_filter)
$filter = new SQL_Filter(new SQL_Filter(new SQL_Field('group_id', 'players'), SQL_Filter::NOT_EQUAL, $_group_filter), SQL_Filter::CRITERIUM_AND, $filter);
if($this->highscoreConfig->isSetKey('accounts_hidden'))
foreach($this->highscoreConfig->getValue('accounts_hidden') as $_account_filter)
$filter = new SQL_Filter(new SQL_Filter(new SQL_Field('account_id', 'players'), SQL_Filter::NOT_EQUAL, $_account_filter), SQL_Filter::CRITERIUM_AND, $filter);
if($this->vocation != '')
$filter = new SQL_Filter(new SQL_Filter(new SQL_Field('vocation', 'players'), SQL_Filter::EQUAL, $this->vocation), SQL_Filter::CRITERIUM_AND, $filter);
$filter = new SQL_Filter($filterWorld, SQL_Filter::CRITERIUM_AND, $filter);
$filter = new SQL_Filter(new SQL_Filter(new SQL_Field('account_id', 'players'), SQL_Filter::EQUAL, new SQL_Field('id', 'accounts')), SQL_Filter::CRITERIUM_AND, $filter);
$this->setFilter($filter);
}
const EQUAL = ' = ';
const LOWER = ' < ';
const GREATER = ' > ';
const NOT_EQUAL = ' != ';
const NOT_LOWER = ' >= ';
const NOT_GREATER = ' <= ';
const LIKE = ' LIKE ';
const NOT_LIKE = ' NOT LIKE ';
const CRITERIUM_AND = ' AND ';
const CRITERIUM_OR = ' OR ';
$filterComment = new SQL_Filter(new SQL_Field('vocation', 'players'), SQL_Filter::GREATER, 2);
$filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterSkill);
public function loadSkill()
{
$this->setClass('Highscore');
$this->addOrder(new SQL_Order(new SQL_Field('value', 'player_skills'), SQL_Order::DESC));
$this->addOrder(new SQL_Order(new SQL_Field('count', 'player_skills'), SQL_Order::DESC));
$this->addExtraField(new SQL_Field('count', 'player_skills'));
$this->addExtraField(new SQL_Field('value', 'player_skills'));
$this->addExtraField(new SQL_Field('flag', 'accounts'));
$filterWorld = new SQL_Filter(new SQL_Field('world_id', 'players'), SQL_Filter::EQUAL, $this->worldId);
$filterPlayer = new SQL_Filter(new SQL_Field('id', 'players'), SQL_Filter::EQUAL, new SQL_Field('player_id', 'player_skills'));
$filterSkill = new SQL_Filter(new SQL_Field('skillid', 'player_skills'), SQL_Filter::EQUAL, $this->skillType);
$filter = new SQL_Filter($filterPlayer, SQL_Filter::CRITERIUM_AND, $filterSkill);
$filterComment = new SQL_Filter(new SQL_Field('vocation', 'players'), SQL_Filter::GREATER, 2);
$filter = new SQL_Filter($filter, SQL_Filter::CRITERIUM_AND, $filterSkill);
if($this->highscoreConfig->isSetKey('groups_hidden'))
foreach($this->highscoreConfig->getValue('groups_hidden') as $_group_filter)
$filter = new SQL_Filter(new SQL_Filter(new SQL_Field('group_id', 'players'), SQL_Filter::NOT_EQUAL, $_group_filter), SQL_Filter::CRITERIUM_AND, $filter);
if($this->highscoreConfig->isSetKey('accounts_hidden'))
foreach($this->highscoreConfig->getValue('accounts_hidden') as $_account_filter)
$filter = new SQL_Filter(new SQL_Filter(new SQL_Field('account_id', 'players'), SQL_Filter::NOT_EQUAL, $_account_filter), SQL_Filter::CRITERIUM_AND, $filter);
if($this->vocation != '')
$filter = new SQL_Filter(new SQL_Filter(new SQL_Field('vocation', 'players'), SQL_Filter::EQUAL, $this->vocation), SQL_Filter::CRITERIUM_AND, $filter);
$filter = new SQL_Filter($filterWorld, SQL_Filter::CRITERIUM_AND, $filter);
$filter = new SQL_Filter(new SQL_Filter(new SQL_Field('account_id', 'players'), SQL_Filter::EQUAL, new SQL_Field('id', 'accounts')), SQL_Filter::CRITERIUM_AND, $filter);
$this->setFilter($filter);
}
$costam = $SQL->query('SELECT `id` FROM `players`');
//
public function getPlayers($forceReload = false)
{
if(!isset($this->players) || $forceReload)
{
$this->players = new DatabaseList('Player');
$this->players->setFilter(new SQL_Filter(new SQL_Field('account_id'), SQL_Filter::EQUAL, $this->getID()));
$this->players->addOrder(new SQL_Order(new SQL_Field('name')));
}
return $this->players;
}
$sql = new PDO(blablabla);
$result = $sql->prepare(blablabla);
$result->execute();
$result->closeCursor();
Mo?na, tw?j kod by wygl?da? tak:a tak z ciekawo?ci si? zapytam mo?na u?ywa? na sztywno biblioteki PDO w tym nowym aac aby omin?? te filtry bo to wydaj? si? by? do?? nie por?czne moim zdaniem, a ja?niej chodzi mi oto
$result = $SQL->prepare(blablabla);
$result->execute();
$result->closeCursor();