From b2c05f4c2b3618f5c438d40fc152607439cf3db9 Mon Sep 17 00:00:00 2001 From: Parziphal Date: Mon, 26 May 2014 08:06:35 -0500 Subject: [PATCH] Fixed #77. --- app/controllers/PoolController.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/controllers/PoolController.php b/app/controllers/PoolController.php index 01bbe6f..15fb70e 100755 --- a/app/controllers/PoolController.php +++ b/app/controllers/PoolController.php @@ -126,8 +126,6 @@ class PoolController extends ApplicationController $this->browse_mode = current_user()->pool_browse_mode; - // $q = Tag::parse_query(""); - $q = []; $q['pool'] = (int)$this->params()->id; $q['show_deleted_only'] = false; @@ -142,9 +140,19 @@ class PoolController extends ApplicationController list($sql, $params) = Post::generate_sql($q, array('from_api' => true, 'offset' => $offset, 'limit' => $q['limit'])); - $posts = Post::findBySql($sql, $params); - $this->posts = new Rails\ActiveRecord\Collection($posts->members(), ['page' => $page, 'perPage' => $q['limit'], 'offset' => $offset, 'totalRows' => $posts->totalRows()]); + # Stringify query so it can be passed to fast_count. + $tag_query = []; + foreach ($q as $tag => $value) { + if ($tag == 'show_deleted_only') { + $tag = 'deleted'; + $value = 'all'; + } + $tag_query[] = $tag . ':' . $value; + } + $count = Post::fast_count(implode(' ', $tag_query)); + $posts = Post::findBySql($sql, $params); + $this->posts = new Rails\ActiveRecord\Collection($posts->members(), ['page' => $page, 'perPage' => $q['limit'], 'offset' => $offset, 'totalRows' => $count]); $this->set_title($this->pool->pretty_name()); # iTODO: