Merge pull request #2139 from rabuzarus/0312_ping_cleanup
moving group_count_unseen to include/group.php
This commit is contained in:
commit
dfbc5c39f5
|
@ -340,3 +340,30 @@ function groups_containing($uid,$c) {
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @brief count unread group items
|
||||||
|
*
|
||||||
|
* Count unread items of each groups
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
* 'id' => group id
|
||||||
|
* 'name' => group name
|
||||||
|
* 'count' => counted unseen group items
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
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())
|
||||||
|
);
|
||||||
|
|
||||||
|
return $r;
|
||||||
|
}
|
26
mod/ping.php
26
mod/ping.php
|
@ -2,6 +2,7 @@
|
||||||
require_once("include/datetime.php");
|
require_once("include/datetime.php");
|
||||||
require_once('include/bbcode.php');
|
require_once('include/bbcode.php');
|
||||||
require_once('include/forums.php');
|
require_once('include/forums.php');
|
||||||
|
require_once('include/group.php');
|
||||||
require_once("mod/proxy.php");
|
require_once("mod/proxy.php");
|
||||||
|
|
||||||
function ping_init(&$a) {
|
function ping_init(&$a) {
|
||||||
|
@ -34,7 +35,7 @@ function ping_init(&$a) {
|
||||||
|
|
||||||
$home = 0;
|
$home = 0;
|
||||||
$network = 0;
|
$network = 0;
|
||||||
$network_group = array();
|
$groups_unseen = array();
|
||||||
$forums_unseen = array();
|
$forums_unseen = array();
|
||||||
|
|
||||||
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`wall`, `item`.`author-name`,
|
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`wall`, `item`.`author-name`,
|
||||||
|
@ -88,20 +89,11 @@ function ping_init(&$a) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $network )
|
if($network) {
|
||||||
{
|
if(intval(feature_enabled(local_user(),'groups'))) {
|
||||||
# Find out how unseen network posts are spread across groups
|
// Find out how unseen network posts are spread across groups
|
||||||
$sql = "SELECT g.id, g.name, count(i.id) count " .
|
$groups_unseen = groups_count_unseen();
|
||||||
"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) . '"/>';
|
|
||||||
|
|
||||||
if(intval(feature_enabled(local_user(),'forumlist_widget'))) {
|
if(intval(feature_enabled(local_user(),'forumlist_widget'))) {
|
||||||
$forums_unseen = forums_count_unseen();
|
$forums_unseen = forums_count_unseen();
|
||||||
|
@ -227,9 +219,9 @@ function ping_init(&$a) {
|
||||||
<home>$home</home>\r\n";
|
<home>$home</home>\r\n";
|
||||||
if ($register!=0) echo "<register>$register</register>";
|
if ($register!=0) echo "<register>$register</register>";
|
||||||
|
|
||||||
if ( count($network_group) ) {
|
if ( count($groups_unseen) ) {
|
||||||
echo '<groups>';
|
echo '<groups>';
|
||||||
foreach ($network_group as $it) {
|
foreach ($groups_unseen as $it) {
|
||||||
echo '<group id="' . $it['id'] . '">' . $it['count'] . "</group>";
|
echo '<group id="' . $it['id'] . '">' . $it['count'] . "</group>";
|
||||||
}
|
}
|
||||||
echo "</groups>";
|
echo "</groups>";
|
||||||
|
|
Loading…
Reference in a new issue