protected $env;
protected $ufc;
- public function __construct(UserFilterBuilder &$ufb, PlFilterCondition &$ufc = null, array $env = array())
+ public function __construct(UserFilterBuilder $ufb, PlFilterCondition $ufc = null, array $env = array())
{
$this->ufb = $ufb;
$this->ufc = $ufc;
$this->ufc = new PFC_And();
foreach ($this->fields as $field) {
- $this->valid = $field->apply(&$this);
+ $this->valid = $field->apply($this);
if (!$this->valid) {
return;
}
}
}
- public function addCond(PlFilterCondition &$cond)
+ public function addCond(PlFilterCondition $cond)
{
$this->ufc->addChild($cond);
}
- public function addOrder(PlFilterOrder &$order)
+ public function addOrder(PlFilterOrder $order)
{
$this->order[] = $order;
}
{
$this->buildUFC();
if ($this->valid) {
- return $this->ufc;
+ if ($this->isEmpty()) {
+ return new PFC_True();
+ } else {
+ return $this->ufc;
+ }
} else {
return new PFC_False();
}
return false;
}
- public function apply(UserFilterBuilder &$ufb) {
+ public function apply(UserFilterBuilder $ufb) {
if (!$this->check($ufb)) {
return false;
}
/** Create the UFC associated to the field; won't be called
* if the field is "empty"
- * @param &$ufb UFB to which fields must be added
+ * @param $ufb UFB to which fields must be added
* @return UFC
*/
- abstract protected function buildUFC(UserFilterBuilder &$ufb);
+ abstract protected function buildUFC(UserFilterBuilder $ufb);
/** This function is intended to run consistency checks on the value
* @return boolean Whether the input is valid
*/
- abstract protected function check(UserFilterBuilder &$ufb);
+ abstract protected function check(UserFilterBuilder $ufb);
// Simple form interface
$this->maxlength = $maxlength;
}
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if ($ufb->blank($this->envfield)) {
$this->empty = true;
$this->max = $max;
}
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if ($ufb->blank($this->envfield)) {
$this->empty = true;
*/
abstract class UFBF_Index extends UFB_Field
{
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if ($ufb->blank($this->envfield)) {
$this->empty = true;
$this->strict = $strict;
}
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if ($ufb->blank($this->envfield)) {
$this->empty = true;
// {{{ class UFBF_Bool
abstract class UFBF_Bool extends UFB_Field
{
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if ($ufb->blank($this->envfield)) {
$this->empty = true;
$this->envfieldindex = $envfieldindex;
}
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if ($ufb->blank($this->envfieldindex) && !$ufb->hasAlnum($this->envfield)) {
$this->empty = true;
// {{{ class UFBF_Quick
class UFBF_Quick extends UFB_Field
{
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if ($ufb->blank($this->envfield)) {
$this->empty = true;
return true;
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
$r = $s = $this->val;
}
if (count($strings)) {
- if (S::logged()) {
+ if (S::user() != null && S::user()->checkPerms('directory_private')) {
$flags = array();
} else {
$flags = array('public');
$this->reversed_envfield = $reversed_envfield;
}
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if ($ufb->blank($this->envfield)) {
$this->empty = true;
}
$value = $ufb->t($this->envfield);
- $values = explode("\n", $value);
+ $values = explode("\r\n", $value);
$ids = array();
foreach ($values as $val) {
if (preg_match('/^[0-9A-Z]{0,8}$/', $val)) {
return true;
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
$ufc = new UFC_SchoolId($this->type, $this->val);
if ($this->reversed) {
// {{{ class UFBF_Name
class UFBF_Name extends UFBF_Text
{
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if (!parent::check($ufb)) {
return false;
return true;
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_NameTokens($this->val, array(), $ufb->b('with_soundex'), $ufb->b('exact'));
}
$this->envfieldcomp = $envfieldcomp;
}
- protected function check(UserFilterBuilder &$ufb)
+ protected function check(UserFilterBuilder $ufb)
{
if ($ufb->blank($this->envfield) || $ufb->blank($this->envfieldcomp)) {
$this->empty = true;
return true;
}
- protected function buildUFC(UserFilterBuilder &$ufb) {
+ protected function buildUFC(UserFilterBuilder $ufb) {
return new UFC_Promo($this->comp, UserFilter::GRADE_ING, $this->val);
}
}
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Sex(self::getVal($this->val));
}
// Simple field for selecting only alive, not registered users (for quick search)
class UFBF_NotRegistered extends UFBF_Bool
{
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if ($this->val) {
return new PFC_And(
parent::__construct($envfield, $formtext, array(1, 2));
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if ($this->val == 1) {
return new UFC_Registered();
parent::__construct($envfield, $formtext, array(1, 2));
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if ($this->val == 1) {
return new PFC_Not(new UFC_Dead());
parent::__construct($envfield, $formtext, 2, 30);
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if ($ufb->isOn($this->onlycurrentfield)) {
$flags = UFC_Address::FLAG_CURRENT;
$this->onlycurrentfield = $onlycurrentfield;
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if ($ufb->isOn($this->onlycurrentfield)) {
$flags = UFC_Address::FLAG_CURRENT;
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if ($ufb->isOn($this->onlycurrentfield)) {
$flags = UFC_Address::FLAG_CURRENT;
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if ($ufb->isOn($this->onlycurrentfield)) {
$flags = UFC_Address::FLAG_CURRENT;
$this->onlymentorfield = $onlymentorfield;
}
- public function check(UserFilterBuilder &$ufb) {
+ public function check(UserFilterBuilder $ufb) {
if (parent::check($ufb)) {
# No company check for mentors
if ($ufb->isOn($this->onlymentorfield)) {
}
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Job_Company(UFC_Job_Company::JOBNAME, $this->val);
}
// {{{ class UFBF_JobTerms
class UFBF_JobTerms extends UFBF_Index
{
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Job_Terms($this->val);
}
$this->onlymentorfield = $onlymentorfield;
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if ($ufb->isOn($this->onlymentorfield)) {
return new UFC_Mentor_Expertise($this->val);
$this->onlymentorfield = $onlymentorfield;
}
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if ($ufb->isOn($this->onlymentorfield)) {
return new UFC_Mentor_Expertise($this->val);
{
protected $direnum = DirEnum::NATIONALITIES;
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Nationality($this->val);
}
{
protected $direnum = DirEnum::BINETS;
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Binet($this->val);
}
{
protected $direnum = DirEnum::GROUPESX;
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
if (count($this->val) == 1) {
return new UFC_Group($this->val[0]);
{
protected $direnum = DirEnum::SECTIONS;
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Section($this->val);
}
{
protected $direnum = DirEnum::EDUSCHOOLS;
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_EducationSchool($this->val);
}
{
protected $direnum = DirEnum::EDUDEGREES;
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_EducationDegree($this->val);
}
{
protected $direnum = DirEnum::EDUFIELDS;
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_EducationField($this->val);
}
// {{{ class UFBF_Comment
class UFBF_Comment extends UFBF_Text
{
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Comment($this->val);
}
// {{{ class UFBF_Phone
class UFBF_Phone extends UFBF_Text
{
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Phone($this->val);
}
$this->networktypefield = $networktypefield;
}
- public function check(UserFilterBuilder &$ufb)
+ public function check(UserFilterBuilder $ufb)
{
if (parent::check($ufb)) {
$this->nwtype = $ufb->i($this->networktypefield);
return parent::isEmpty() || $this->nwtype == 0;
}
- public function buildUFC(UserFilterBuilder &$ufb)
+ public function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Networking($this->nwtype, $this->val);
}
// {{{ class UFBF_Mentor
class UFBF_Mentor extends UFBF_Bool
{
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Mentor();
}
// {{{ class UFBF_MentorCountry
class UFBF_MentorCountry extends UFBF_Text
{
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Mentor_Country($this->val);
}
// {{{ class UFBF_Mentorterm
class UFBF_MentorTerm extends UFBF_Index
{
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Mentor_Terms($this->val);
}
// {{{ class UFBF_MentorExpertise
class UFBF_MentorExpertise extends UFBF_Text
{
- protected function buildUFC(UserFilterBuilder &$ufb)
+ protected function buildUFC(UserFilterBuilder $ufb)
{
return new UFC_Mentor_Expertise($this->val);
}