Include per-group count of unseen items in /ping output
See #1718 Unfinished work
This commit is contained in:
parent
e74916d395
commit
ba158dfeb1
27
mod/ping.php
27
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,25 @@ 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) gm
|
||||
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>';
|
||||
$r = q(sql, intval(local_user()), intval(local_user()));
|
||||
#echo $r;
|
||||
foreach ($r as $it) {
|
||||
$network_group[] = $it;
|
||||
}
|
||||
}
|
||||
|
||||
$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 +222,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 uid="' . intval(local_user()) . '">';
|
||||
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