From c5da8574376ee6ee3e247c82ad653bc2d9511c23 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Barrois?= Date: Sat, 6 Feb 2010 10:37:15 +0100 Subject: [PATCH] Improve UFC_Mentor_Sectorization MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Raphaël Barrois --- classes/userfilter.php | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) 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); } } // }}} -- 2.1.4