public function sort($rules)
{
$this->_load();
$rules = array_flip($rules);
usort($this->_rules, function ($a, $b) use($rules) {
$pos_a = isset($rules[$a->uid]) ? $rules[$a->uid] : null;
$pos_b = isset($rules[$b->uid]) ? $rules[$b->uid] : null;
if (is_null($pos_a)) {
return is_null($pos_b) ? 0 : 1;
}
return is_null($pos_b) ? -1 : ($pos_a < $pos_b ? -1 : 1);
});
$this->_store(self::STORE_SORT);
}