From: Michael Date: Sun, 12 Mar 2017 20:52:14 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/develop' into 1702-no-old_pager X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=044e9a6603283b554d7864f0ad9a2a178979568b;p=friendica.git Merge remote-tracking branch 'upstream/develop' into 1702-no-old_pager Conflicts: mod/profile.php --- 044e9a6603283b554d7864f0ad9a2a178979568b diff --cc mod/profile.php index ab7b7cff76,d2864d838a..93f2602e23 --- a/mod/profile.php +++ b/mod/profile.php @@@ -240,6 -240,34 +240,17 @@@ function profile_content(App $a, $updat $sql_extra2 .= protect_sprintf(sprintf(" AND `thread`.`created` >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2)))); } + // Belongs the profile page to a forum? + // If not then we can improve the performance with an additional condition + $r = q("SELECT `uid` FROM `user` WHERE `uid` = %d AND `page-flags` IN (%d, %d)", + intval($a->profile['profile_uid']), + intval(PAGE_COMMUNITY), + intval(PAGE_PRVGROUP)); + + if (!dbm::is_result($r)) { + $sql_extra3 = sprintf(" AND `thread`.`contact-id` = %d ", intval(intval($a->profile['contact_id']))); + } + - if(get_config('system', 'old_pager')) { - $r = q("SELECT COUNT(*) AS `total` - FROM `thread` INNER JOIN `item` ON `item`.`id` = `thread`.`iid` - $sql_post_table INNER JOIN `contact` ON `contact`.`id` = `thread`.`contact-id` - AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 - WHERE `thread`.`uid` = %d AND `thread`.`visible` = 1 AND `thread`.`deleted` = 0 - and `thread`.`moderated` = 0 - AND `thread`.`wall` = 1 - $sql_extra3 $sql_extra $sql_extra2 ", - intval($a->profile['profile_uid']) - ); - - if (dbm::is_result($r)) { - $a->set_pager_total($r[0]['total']); - } - } - // check if we serve a mobile device and get the user settings // accordingly if ($a->is_mobile) {