From a263de144b5602008973aa2ac434185cb975bcf0 Mon Sep 17 00:00:00 2001 From: Isaac Connor Date: Thu, 29 Jun 2017 15:00:17 -0400 Subject: [PATCH] fixup defaults for Filter --- web/includes/Filter.php | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/web/includes/Filter.php b/web/includes/Filter.php index 86e7084b0..59988430d 100644 --- a/web/includes/Filter.php +++ b/web/includes/Filter.php @@ -59,7 +59,8 @@ public $defaults = array( if ( array_key_exists( $fn, $this ) ) { return $this->{$fn}; } else if ( array_key_exists( $fn, $this->defaults ) ) { - return $this->defaults{$fn}; + $this->{$fn} = $this->defaults{$fn}; + return $this->{$fn}; } else { $backTrace = debug_backtrace(); @@ -71,29 +72,40 @@ public $defaults = array( public function terms( ) { if ( func_num_args( ) ) { - $this->{'Query'}['terms'] = func_get_arg(0); + $this->Query()['terms'] = func_get_arg(0); } - return $this->{'Query'}['terms']; + if ( isset( $this->Query()['terms'] ) ) { + return $this->Query()['terms']; + } + return array(); } // The following three fields are actually stored in the Query public function sort_field( ) { if ( func_num_args( ) ) { - $this->{'Query'}['sort_field'] = func_get_arg(0); + $this->Query()['sort_field'] = func_get_arg(0); } - return $this->{'Query'}['sort_field']; + if ( isset( $this->Query()['sort_field'] ) ) { + return $this->{'Query'}['sort_field']; + } + return $this->defaults{'sort_field'}; } public function sort_asc( ) { if ( func_num_args( ) ) { $this->{'Query'}['sort_asc'] = func_get_arg(0); } - return $this->{'Query'}['sort_asc']; + if ( isset( $this->Query()['sort_asc'] ) ) { + return $this->{'Query'}['sort_asc']; + } + return $this->defaults{'sort_asc'}; } public function limit( ) { if ( func_num_args( ) ) { $this->{'Query'}['limit'] = func_get_arg(0); } - return $this->{'Query'}['limit']; + if ( isset( $this->Query()['limit'] ) ) + return $this->{'Query'}['limit']; + return $this->defaults{'limit'}; } public static function find_all() {