public function buildCondition(PlFilter $uf) { $conds = array(); $jsub = $uf->addJobFilter(); if ($this->fields & UserFilter::JOB_USERDEFINED) { $conds[] = $jsub . '.description ' . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, $this->description); } if ($this->fields & UserFilter::JOB_CV) { $uf->requireProfiles(); // CV is private $conds[] = '( ' . $uf->getVisibilityConditionAbsolute(Visibility::EXPORT_PRIVATE) . ' AND p.cv ' . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, $this->description) . ')'; } if (count($conds) == 0) { return self::COND_TRUE; } return $uf->getVisibilityConditionForField($jsub . '.pub') . ' AND ( ' . implode(' OR ', $conds) . ' )'; }