protected function getSortTokens(PlFilter $uf) { if (UserFilter::isGrade($this->grade)) { $sub = $uf->addEducationFilter(true, $this->grade); return 'pe' . $sub . '.' . UserFilter::promoYear($this->grade); } else { $sub = $uf->addDisplayFilter(); return 'pd' . $sub . '.promo'; } }
public function buildCondition(PlFilter $uf) { $promos = $this->user->watchPromos(); if (count($promos) == 0) { return PlFilterCondition::COND_FALSE; } else { $sube = $uf->addEducationFilter(true, $this->grade); $field = 'pe' . $sube . '.' . UserFilter::promoYear($this->grade); return XDB::format($field . ' IN {?}', $promos); } }