From 8c35304013dad110a240978ef21f6e1d0ee3e06d Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Mon, 30 Nov 2015 08:25:11 +0100 Subject: [PATCH] Some SQL improvements --- mod/contacts.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/mod/contacts.php b/mod/contacts.php index 48d9c87e83..0c0b88a823 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -881,17 +881,20 @@ function contact_posts($a, $contact_id) { profile_load($a, "", 0, get_contact_details_by_url($contact["url"])); } - $r = q("SELECT COUNT(*) AS `total` FROM `item` - WHERE `item`.`uid` = %d AND `contact-id` = %d AND `item`.`id` = `item`.`parent`", - intval(local_user()), intval($contact_id)); + if(get_config('system', 'old_pager')) { + $r = q("SELECT COUNT(*) AS `total` FROM `item` + WHERE `item`.`uid` = %d AND (`author-link` = '%s')", + intval(local_user()), dbesc($contact["url"])); - $a->set_pager_total($r[0]['total']); + $a->set_pager_total($r[0]['total']); + } $r = q("SELECT `item`.`uri`, `item`.*, `item`.`id` AS `item_id`, `author-name` AS `name`, `owner-avatar` AS `photo`, `owner-link` AS `url`, `owner-avatar` AS `thumb` - FROM `item` WHERE `item`.`uid` = %d AND `contact-id` = %d - AND ((`item`.`id` = `item`.`parent`) OR (`author-link` = '%s')) + FROM `item` FORCE INDEX (uid_contactid_created) + WHERE `item`.`uid` = %d AND `contact-id` = %d + AND (`author-link` = '%s') ORDER BY `item`.`created` DESC LIMIT %d, %d", intval(local_user()), intval($contact_id), @@ -900,8 +903,6 @@ function contact_posts($a, $contact_id) { intval($a->pager['itemspage']) ); - - $tab_str = contact_tabs($a, $contact_id, 1); $header = $contact["name"];