From 821a560f19543424344f3d75ff1eacc8c27e7ce7 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 22 Apr 2010 09:58:41 -0400
Subject: [PATCH] - one improvement more
---
program/include/rcube_contacts.php | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/program/include/rcube_contacts.php b/program/include/rcube_contacts.php
index cc610bc..7014415 100644
--- a/program/include/rcube_contacts.php
+++ b/program/include/rcube_contacts.php
@@ -163,11 +163,12 @@
$length = $subset != 0 ? abs($subset) : $this->page_size;
if ($this->group_id)
- $join = "LEFT JOIN ".get_table_name('contactgroupmembers')." AS m".
+ $join = " LEFT JOIN ".get_table_name('contactgroupmembers')." AS m".
" ON (m.contact_id = c.".$this->primary_key.")";
$sql_result = $this->db->limitquery(
- "SELECT * FROM ".$this->db_name." AS c ".$join .
+ "SELECT * FROM ".$this->db_name." AS c" .
+ $join .
" WHERE c.del<>1" .
" AND c.user_id=?" .
($this->group_id ? " AND m.contactgroup_id=?" : "").
@@ -194,6 +195,8 @@
else if ($this->list_page <= 1) {
if ($cnt < $this->page_size && $subset == 0)
$this->result->count = $cnt;
+ else if (isset($this->cache['count']))
+ $this->result->count = $this->cache['count'];
else
$this->result->count = $this->_count();
}
@@ -263,14 +266,15 @@
private function _count()
{
if ($this->group_id)
- $join = "LEFT JOIN ".get_table_name('contactgroupmembers')." AS m".
+ $join = " LEFT JOIN ".get_table_name('contactgroupmembers')." AS m".
" ON (m.contact_id=c.".$this->primary_key.")";
// count contacts for this user
$sql_result = $this->db->query(
"SELECT COUNT(c.contact_id) AS rows".
- " FROM ".$this->db_name." AS c ".$join.
- " WHERE c.del<>1".
+ " FROM ".$this->db_name." AS c".
+ $join.
+ " WHERE c.del<>1".
" AND c.user_id=?".
($this->group_id ? " AND m.contactgroup_id=?" : "").
($this->filter ? " AND (".$this->filter.")" : ""),
--
Gitblit v1.9.1