}
// }}}
+// {{{ class UFC_Nationality
+class UFC_Nationality implements UserFilterCondition
+{
+ private $nationality;
+
+ public function __construct($nationality)
+ {
+ $this->nationality = $nationality;
+ }
+
+ public function buildCondition(PlFilter &$uf)
+ {
+ $uf->requireProfiles();
+ $nat = XDB::format('{?}', $this->nationality);
+ $conds = array(
+ 'p.nationality1 = ' . $nat,
+ 'p.nationality2 = ' . $nat,
+ 'p.nationality3 = ' . $nat,
+ );
+ return implode(' OR ', $conds);
+ }
+}
+// }}}
+
// {{{ class UFC_Dead
/** Filters users based on death date
* @param $comparison Comparison operator
}
// }}}
+// {{{ class UFC_Binet
+class UFC_Binet implements UserFilterCondition
+{
+ private $binet;
+
+ public function __construct($binet)
+ {
+ $this->binet = $binet;
+ }
+
+ public function buildCondition(PlFilter &$uf)
+ {
+ $sub = $uf->addBinetsFilter();
+ return $sub . 'binet_id = ' . XDB::format('{?}', $this->binet);
+ }
+}
+// }}}
+
// {{{ class UFC_Email
/** Filters users based on email address
* @param $email Email whose owner we are looking for
return $joins;
}
+ /** BINETS
+ */
+
+ private $with_binets = false;
+ public function addBinetsFilter()
+ {
+ $this->requireProfiles();
+ $this->with_binets = true;
+ return 'bi';
+ }
+
+ protected function binetsJoins()
+ {
+ $joins = array();
+ if ($this->with_binets) {
+ $joins['bi'] = new PlSqlJoin(PlSqlJoin::MODE_LEFT, 'binets_ins', '$ME.uid = $PID');
+ }
+ return $joins;
+ }
+
/** EMAILS
*/
private $e = array();