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 "";