From a7d9ab897cff6cd82d02fd314aabd68f23831c26 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Barrois?= Date: Fri, 5 Feb 2010 16:34:03 +0100 Subject: [PATCH] Add ProfileSet / ProfileFilter, fix orders MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Raphaël Barrois --- classes/userfilter.php | 10 ++++++++++ include/userset.inc.php | 24 +++++++++++++++++++----- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/classes/userfilter.php b/classes/userfilter.php index 843de8f..34f3b0f 100644 --- a/classes/userfilter.php +++ b/classes/userfilter.php @@ -2469,5 +2469,15 @@ class UserFilter extends PlFilter } // }}} +// {{{ class ProfileFilter +class ProfileFilter extends UserFilter +{ + public function get(PlLimit &$limit) + { + return $this->getProfiles($limit); + } +} +// }}} + // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?> diff --git a/include/userset.inc.php b/include/userset.inc.php index 56dac4b..92a5531 100644 --- a/include/userset.inc.php +++ b/include/userset.inc.php @@ -21,7 +21,7 @@ class UserSet extends PlSet { - public function __construct(PlFilterCondition &$cond, $orders) + public function __construct(PlFilterCondition &$cond, $orders = null) { parent::__construct($cond, $orders); } @@ -32,12 +32,24 @@ class UserSet extends PlSet } } -class SearchSet extends UserSet +class ProfileSet extends PlSet +{ + public function __construct(PlFilterCondition &$cond, $orders = null) + { + parent::__construct($cond, $orders); + } + + protected function buildFilter(PlFilterCondition &$cond, $orders) + { + return new ProfileFilter($cond, $orders); + } +} + +class SearchSet extends ProfileSet { public $advanced = false; private $score = null; private $conds = null; - private $orders = null; private $quick = false; public function __construct($quick = false, $no_search = false, PlFilterCondition $cond = null) @@ -107,9 +119,11 @@ class SearchSet extends UserSet $this->conds->addChild($ufb->getUFC()); } - public function &get(PlLimit $limit = null) + public function &get(PlLimit $limit = null, $orders = array()) { - $uf = $this->buildFilter($this->conds, $this->orders); + $orders = array_merge($orders, $this->orders); + + $uf = $this->buildFilter($this->conds, $orders); if (is_null($limit)) { $limit = new PlLimit(20, 0); } -- 2.1.4