From 09c1f8f576ad8bf1a76022b35a4d08b974b66a23 Mon Sep 17 00:00:00 2001 From: Dominik Beerbohm Date: Tue, 17 Jan 2012 00:34:54 +0100 Subject: [PATCH] Bad parameter forwarding from SS_ListDecorator (sort,filter,exclude) to i.e. DataList. --- model/ListDecorator.php | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/model/ListDecorator.php b/model/ListDecorator.php index 9eaf0840e..a5d706cd2 100644 --- a/model/ListDecorator.php +++ b/model/ListDecorator.php @@ -1,7 +1,7 @@ list->canSortBy($by); } - + /** * Sorts this list by one or more fields. You can either pass in a single * field name and direction, or a map of field names to sort directions. @@ -120,22 +120,22 @@ abstract class SS_ListDecorator extends ViewableData implements SS_List { */ public function sort() { $args = func_get_args(); - return $this->list->sort($args); + return call_user_func_array(array($this->list, 'sort'), $args); } - + /** * Filter the list to include items with these charactaristics - * + * * @example $list->filter('Name', 'bob'); // only bob in list * @example $list->filter('Name', array('aziz', 'bob'); // aziz and bob in list * @example $list->filter(array('Name'=>'bob, 'Age'=>21)); // bob or someone with Age 21 - * @example $list->filter(array('Name'=>'bob, 'Age'=>array(21, 43))); // bob or anyone with Age 21 or 43 + * @example $list->filter(array('Name'=>'bob, 'Age'=>array(21, 43))); // bob or anyone with Age 21 or 43 */ public function filter(){ $args = func_get_args(); - return $this->list->filter(func_get_args($args)); + return call_user_func_array(array($this->list, 'filter'), $args); } - + /** * Exclude the list to not contain items with these charactaristics * @@ -146,8 +146,7 @@ abstract class SS_ListDecorator extends ViewableData implements SS_List { */ public function exclude(){ $args = func_get_args(); - return $this->list->exclude(func_get_args($args)); - + return call_user_func_array(array($this->list, 'exclude'), $args); } public function debug() {