From c0406918ece1a48bb7ce3def21ce53f8b34c2307 Mon Sep 17 00:00:00 2001 From: rabuzarus <> Date: Thu, 3 Dec 2015 17:15:49 +0100 Subject: [PATCH] ping: cleanup --- include/group.php | 15 +++++++++++++++ mod/ping.php | 26 +++++++++----------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/include/group.php b/include/group.php index 862d06818..7e417b0e6 100644 --- a/include/group.php +++ b/include/group.php @@ -340,3 +340,18 @@ function groups_containing($uid,$c) { return $ret; } + +function groups_count_unseen() { + + $r = q("SELECT `group`.`id`, `group`.`name`, COUNT(`item`.id`) AS `count` FROM `group`, `group_member`, `item` + WHERE `group`.`uid` = %d + AND `item`.`uid` = %d + AND `item`.`unseen` AND `item`.`visible` + AND NOT `item`.`deleted` + AND `item`.`contact-id` = `group_member`.`contact-id` + AND `group_member`.`gid` = `group`.`id` + GROUP BY `group.id` ", + intval(local_user()), + intval(local_user()) + ); +} \ No newline at end of file diff --git a/mod/ping.php b/mod/ping.php index 967555881..f8faadff8 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -2,6 +2,7 @@ require_once("include/datetime.php"); require_once('include/bbcode.php'); require_once('include/forums.php'); +require_once('include/groupo.php'); require_once("mod/proxy.php"); function ping_init(&$a) { @@ -34,7 +35,7 @@ function ping_init(&$a) { $home = 0; $network = 0; - $network_group = array(); + $groups_unseen = array(); $forums_unseen = array(); $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`wall`, `item`.`author-name`, @@ -88,20 +89,11 @@ function ping_init(&$a) { } } - if ( $network ) - { - # Find out how unseen network posts are spread across groups - $sql = "SELECT g.id, g.name, count(i.id) count " . - "FROM `group` g, group_member gm, item i " . - "WHERE g.uid = %d " . - "AND i.uid = %d " . - "AND i.unseen AND i.visible " . - "AND NOT i.deleted " . - "AND i.`contact-id` = gm.`contact-id` " . - "AND gm.gid = g.id GROUP BY g.id"; - #echo '' . $sql . ''; - $network_group = q($sql, intval(local_user()), intval(local_user())); - #echo ''; + if($network) { + if(intval(feature_enabled(local_user(),'groups'))) { + // Find out how unseen network posts are spread across groups + $groups_unseen = groups_count_unseen(); + } if(intval(feature_enabled(local_user(),'forumlist_widget'))) { $forums_unseen = forums_count_unseen(); @@ -227,9 +219,9 @@ function ping_init(&$a) { $home\r\n"; if ($register!=0) echo "$register"; - if ( count($network_group) ) { + if ( count($groups_unseen) ) { echo ''; - foreach ($network_group as $it) { + foreach ($groups_unseen as $it) { echo '' . $it['count'] . ""; } echo "";