Merge pull request #2048 from strk/group_post

Include per-group count of unseen items in /ping output
This commit is contained in:
fabrixxm 2015-11-08 16:01:19 +01:00
commit e6a8a7c8a9
1 changed files with 24 additions and 0 deletions

View File

@ -33,6 +33,7 @@ function ping_init(&$a) {
$home = 0;
$network = 0;
$network_group = array();
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`wall`, `item`.`author-name`,
`item`.`contact-id`, `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`,
@ -84,6 +85,22 @@ 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 id="' . intval(local_user()) . '">' . $sql . '</SQL>';
$network_group = q($sql, intval(local_user()), intval(local_user()));
#echo '<COUNT R="' . count($network_group) . '"/>';
}
$intros1 = q("SELECT `intro`.`id`, `intro`.`datetime`,
`fcontact`.`name`, `fcontact`.`url`, `fcontact`.`photo`
FROM `intro` LEFT JOIN `fcontact` ON `intro`.`fid` = `fcontact`.`id`
@ -202,6 +219,13 @@ function ping_init(&$a) {
<net>$network</net>
<home>$home</home>\r\n";
if ($register!=0) echo "<register>$register</register>";
if ( count($network_group) ) {
echo '<groups>';
foreach ($network_group as $it) {
echo '<group id="' . $it['id'] . '">' . $it['count'] . "</group>";
}
echo "</groups>";
}
echo "<all-events>$all_events</all-events>
<all-events-today>$all_events_today</all-events-today>