X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fping.php;h=544aa446bbb4d073e6256a44f0c286209d40e946;hb=06998f13b61fcd50588f425703793bacc2e55cab;hp=a7a2755c5ed1712fbba664bf81dc56850fb74472;hpb=808eaa633a784c094dd5c2b79f541c911bec782e;p=friendica.git diff --git a/mod/ping.php b/mod/ping.php index a7a2755c5e..544aa446bb 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -1,6 +1,8 @@ ' . $sql . ''; - $network_group = q($sql, intval(local_user()), intval(local_user())); - #echo ''; + if($network) { + if(intval(feature_enabled(local_user(),'groups'))) { + // Find out how unseen network posts are spread across groups + $groups_unseen = groups_count_unseen(); + } + + if(intval(feature_enabled(local_user(),'forumlist_widget'))) { + $forums_unseen = ForumManager::count_unseen_items(); + } } $intros1 = q("SELECT `intro`.`id`, `intro`.`datetime`, @@ -203,12 +202,12 @@ function ping_init(&$a) { if ($a->is_friendica_app() OR !$regularnotifications) $n['message'] = str_replace("{0}", $n['name'], $n['message']); - $local_time = datetime_convert('UTC',date_default_timezone_get(),$n['date']); - + $local_time = datetime_convert('UTC',date_default_timezone_get(),$n['date']); + call_hooks('ping_xmlize', $n); - $notsxml = '%s'."\n"; - return sprintf ( $notsxml, - xmlify($n['href']), xmlify($n['name']), xmlify($n['url']), xmlify($n['photo']), + $notsxml = '%s'."\n"; + return sprintf ( $notsxml, intval($n['id']), + xmlify($n['href']), xmlify(xmlify($n['name'])), xmlify($n['url']), xmlify($n['photo']), xmlify(relative_date($n['date'])), xmlify($n['seen']), xmlify(strtotime($local_time)), xmlify($n['message']) ); @@ -219,14 +218,25 @@ function ping_init(&$a) { $network $home\r\n"; if ($register!=0) echo "$register"; - if ( count($network_group) ) { + + if (count($groups_unseen)) { echo ''; - foreach ($network_group as $it) { - echo '' . $it['count'] . ""; - } + foreach ($groups_unseen as $it) + if ($it['count'] > 0) + echo ''.$it['count'].""; + echo ""; } + if (count($forums_unseen)) { + echo ''; + foreach ($forums_unseen as $it) + if ($it['count'] > 0) + echo ''.$it['count'].""; + + echo ""; + } + echo "$all_events $all_events_today $events @@ -250,41 +260,41 @@ function ping_init(&$a) { $n = array( 'href' => $a->get_baseurl().'/notifications/intros/'.$i['id'], 'name' => $i['name'], - 'url' => $i['url'], + 'url' => $i['url'], 'photo' => $i['photo'], 'date' => $i['datetime'], 'seen' => false, - 'message' => t("{0} wants to be your friend"), + 'message' => t("{0} wants to be your friend"), ); $notifs[] = $n; } } - + if ($mail>0){ foreach ($mails as $i) { $n = array( 'href' => $a->get_baseurl().'/message/'.$i['id'], 'name' => $i['from-name'], - 'url' => $i['from-url'], + 'url' => $i['from-url'], 'photo' => $i['from-photo'], 'date' => $i['created'], 'seen' => false, - 'message' => t("{0} sent you a message"), + 'message' => t("{0} sent you a message"), ); $notifs[] = $n; } } - + if ($register>0){ foreach ($regs as $i) { $n = array( 'href' => $a->get_baseurl().'/admin/users/', 'name' => $i['name'], - 'url' => $i['url'], + 'url' => $i['url'], 'photo' => $i['micro'], 'date' => $i['created'], 'seen' => false, - 'message' => t("{0} requested registration"), + 'message' => t("{0} requested registration"), ); $notifs[] = $n; } @@ -363,7 +373,7 @@ function ping_get_notifications($uid) { $quit = true; else $offset += 50; - + foreach ($r AS $notification) { if (is_null($notification["visible"])) @@ -381,12 +391,16 @@ function ping_get_notifications($uid) { // Replace the name with {0} but ensure to make that only once // The {0} is used later and prints the name in bold. - $pos = strpos($notification["message"],$notification['name']); + if ($notification['name'] != "") + $pos = strpos($notification["message"],$notification['name']); + else + $pos = false; + if ($pos !== false) $notification["message"] = substr_replace($notification["message"],"{0}",$pos,strlen($notification["name"])); $notification['href'] = $a->get_baseurl() . '/notify/view/' . $notification['id']; - + if ($notification["visible"] AND !$notification["spam"] AND !$notification["deleted"] AND !is_array($result[$notification["parent"]])) { $result[$notification["parent"]] = $notification; @@ -395,6 +409,6 @@ function ping_get_notifications($uid) { } while ((count($result) < 50) AND !$quit); - + return($result); }