* adequate joins. It must return the 'WHERE' condition to use
* with the filter.
*/
-interface UserFilterCondition
+interface UserFilterCondition extends PlFilterCondition
{
- /** Check that the given user matches the rule.
- */
- public function buildCondition(UserFilter &$uf);
}
// }}}
*/
class UFC_Profile implements UserFilterCondition
{
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
return '$PID IS NOT NULL';
}
}
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
if ($this->grade == UserFilter::DISPLAY) {
$sub = $uf->addDisplayFilter();
return str_replace('$ME', 'pn' . $sub, $where);
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$left = '$ME.name';
$op = ' LIKE ';
$this->exact = $exact;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addNameTokensFilter(!($this->exact || $this->soundex));
$conds = array();
$this->date = $date;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$str = 'p.deathdate IS NOT NULL';
if (!is_null($this->comparison)) {
$this->date = $date;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
if ($this->active) {
$date = 'a.uid IS NOT NULL AND a.state = \'active\'';
$this->date = $date;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
return 'p.last_change ' . $this->comparison . XDB::format(' {?}', date('Y-m-d H:i:s', $this->date));
}
$this->date = $date;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
return 'p.next_birthday ' . $this->comparison . XDB::format(' {?}', date('Y-m-d', $this->date));
}
$this->sex = $sex;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
if ($this->sex != User::GENDER_MALE && $this->sex != User::GENDER_FEMALE) {
return self::COND_FALSE;
$this->anim = $anim;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addGroupFilter($this->group);
$where = 'gpm' . $sub . '.perms IS NOT NULL';
$this->email = $email;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
if (User::isForeignEmailAddress($this->email)) {
$sub = $uf->addEmailRedirectFilter($this->email);
$this->emails = $emails;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$email = null;
$virtual = null;
$cond = array();
if (count($this->emails) == 0) {
- return UserFilterCondition::COND_TRUE;
+ return PlFilterCondition::COND_TRUE;
}
foreach ($this->emails as $entry) {
$this->postalCode = $postalCode;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addAddressFilter();
$conds = array();
$this->type = $type;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
/** Tables shortcuts:
* pc for profile_corps,
$this->rank = $rank;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
/** Tables shortcuts:
* pcr for profile_corps_rank
}
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addJobCompanyFilter();
$cond = $sub . '.' . $this->type . ' = ' . XDB::format('{?}', $this->value);
$this->subsubsector = $subsubsector;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
// No need to add the JobFilter, it will be done by addJobSectorizationFilter
$conds = array();
$this->description = $description;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$conds = array();
if ($this->fields & UserFilter::JOB_USERDEFINED) {
$this->value = $value;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addNetworkingFilter();
$conds = array();
$this->phone_type = format_phone_number($phone_type);
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addPhoneFilter();
$conds = array();
$this->grade = $grade;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$conds = array();
$sub = $uf->addMedalFilter();
$this->expertise = $expertise;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addMentorFilter(UserFilter::MENTOR_EXPERTISE);
return $sub . '.expertise LIKE ' . XDB::format('CONCAT(\'%\', {?}, \'%\'', $this->expertise);
$this->country = $country;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addMentorFilter(UserFilter::MENTOR_COUNTRY);
return $sub . '.country = ' . XDB::format('{?}', $this->country);
$this->subsubsector = $subsector;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addMentorFilter(UserFilter::MENTOR_SECTOR);
$conds = array();
*/
class UFC_Contact extends UFC_UserRelated
{
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$sub = $uf->addContactFilter($this->user->id());
return 'c' . $sub . '.contact IS NOT NULL';
*/
class UFC_WatchRegistration extends UFC_UserRelated
{
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
if (!$this->user->watch('registration')) {
- return UserFilterCondition::COND_FALSE;
+ return PlFilterCondition::COND_FALSE;
}
$uids = $this->user->watchUsers();
if (count($uids) == 0) {
- return UserFilterCondition::COND_FALSE;
+ return PlFilterCondition::COND_FALSE;
} else {
return '$UID IN ' . XDB::formatArray($uids);
}
$this->grade = $grade;
}
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
$promos = $this->user->watchPromos();
if (count($promos) == 0) {
- return UserFilterCondition::COND_FALSE;
+ return PlFilterCondition::COND_FALSE;
} else {
$sube = $uf->addEducationFilter(true, $this->grade);
$field = 'pe' . $sube . '.' . UserFilter::promoYear($this->grade);
*/
class UFC_WatchContact extends UFC_Contact
{
- public function buildCondition(UserFilter &$uf)
+ public function buildCondition(PlFilter &$uf)
{
if (!$this->user->watchContacts()) {
- return UserFilterCondition::COND_FALSE;
+ return PlFilterCondition::COND_FALSE;
}
return parent::buildCondition($uf);
}