From: Raphaël Barrois Date: Sat, 6 Feb 2010 09:37:15 +0000 (+0100) Subject: Improve UFC_Mentor_Sectorization X-Git-Tag: xorg/1.0.0~332^2~246 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=c5da8574376ee6ee3e247c82ad653bc2d9511c23;p=platal.git Improve UFC_Mentor_Sectorization Signed-off-by: Raphaël Barrois --- diff --git a/classes/userfilter.php b/classes/userfilter.php index 34f3b0f..ded3262 100644 --- a/classes/userfilter.php +++ b/classes/userfilter.php @@ -1151,29 +1151,31 @@ class UFC_Mentor_Country implements UserFilterCondition // {{{ class UFC_Mentor_Sectorization /** Filters users based on mentoring (sub|)sector - * @param $sector ID of sector - * @param $subsector Subsector (null for any) + * @param $sector ID of (sub)sector + * @param $type Whether we are looking for a sector or a subsector */ class UFC_Mentor_Sectorization implements UserFilterCondition { + const SECTOR = 1; + const SUBSECTOR = 2; private $sector; - private $subsector; + private $type; - public function __construct($sector, $subsector = null) + public function __construct($sector, $type = self::SECTOR) { $this->sector = $sector; - $this->subsubsector = $subsector; + $this->type = $type; } public function buildCondition(PlFilter &$uf) { $sub = $uf->addMentorFilter(UserFilter::MENTOR_SECTOR); - $conds = array(); - $conds[] = $sub . '.sectorid = ' . XDB::format('{?}', $this->sector); - if ($this->subsector != null) { - $conds[] = $sub . '.subsectorid = ' . XDB::format('{?}', $this->subsector); + if ($this->type == self::SECTOR) { + $field = 'sectorid'; + } else { + $field = 'subsectorid'; } - return implode(' AND ', $conds); + return $sub . '.' . $field . ' = ' . XDB::format('{?}', $this->sector); } } // }}}