diff --git a/include/group.php b/include/group.php
index a1375e00df..2b872f16a7 100644
--- a/include/group.php
+++ b/include/group.php
@@ -215,7 +215,7 @@ function mini_group_select($uid,$gid = 0) {
/**
* @brief Create group sidebar widget
- *
+ *
* @param string $every
* @param string $each
* @param string $editmode
@@ -234,7 +234,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
return '';
$groups = array();
-
+
$groups[] = array(
'text' => t('Everybody'),
'id' => 0,
@@ -255,7 +255,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
if(count($r)) {
foreach($r as $rr) {
$selected = (($group_id == $rr['id']) ? ' group-selected' : '');
-
+
if ($editmode == "full") {
$groupedit = array(
'href' => "group/".$rr['id'],
@@ -264,7 +264,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
} else {
$groupedit = null;
}
-
+
$groups[] = array(
'id' => $rr['id'],
'cid' => $cid,
@@ -362,14 +362,13 @@ function groups_containing($uid,$c) {
*/
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` ",
+ $r = q("SELECT `group`.`id`, `group`.`name`,
+ (SELECT COUNT(*) FROM `item`
+ WHERE `uid` = %d AND `unseen` AND
+ `contact-id` IN (SELECT `contact-id` FROM `group_member`
+ WHERE `group_member`.`gid` = `group`.`id` AND `group_member`.`uid` = %d)) AS `count`
+ FROM `group` WHERE `group`.`uid` = %d;",
+ intval(local_user()),
intval(local_user()),
intval(local_user())
);
diff --git a/mod/ping.php b/mod/ping.php
index 50d179595e..2eb94576b3 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -219,19 +219,21 @@ function ping_init(&$a) {
$home\r\n";
if ($register!=0) echo "$register";
- if ( count($groups_unseen) ) {
+ if (count($groups_unseen)) {
echo '';
- foreach ($groups_unseen as $it) {
- echo '' . $it['count'] . "";
- }
+ foreach ($groups_unseen as $it)
+ if ($it['count'] > 0)
+ echo ''.$it['count']."";
+
echo "";
}
- if ( count($forums_unseen) ) {
+ if (count($forums_unseen)) {
echo '';
- foreach ($forums_unseen as $it) {
- echo '' . $it['count'] . "";
- }
+ foreach ($forums_unseen as $it)
+ if ($it['count'] > 0)
+ echo ''.$it['count']."";
+
echo "";
}