Merge pull request #2048 from strk/group_post
Include per-group count of unseen items in /ping output
This commit is contained in:
commit
e6a8a7c8a9
1 changed files with 24 additions and 0 deletions
24
mod/ping.php
24
mod/ping.php
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue