X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fping.php;h=9338b8b686af87b99bd230b8158b05f6338d9813;hb=74883adfd186967cdd41037d76dd2684de273cb8;hp=9075bd28a708421bb27356bf987b5a2012596ba4;hpb=ddf3589fc5effa9fb28947e200bfe0a310cef88c;p=friendica.git diff --git a/mod/ping.php b/mod/ping.php index 9075bd28a7..9338b8b686 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -1,7 +1,8 @@ $r); call_hooks('network_ping', $arr); @@ -87,23 +91,14 @@ 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 . ''; - $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 = forums_count_unseen(); + $forums_unseen = ForumManager::count_unseen_items(); } } @@ -123,8 +118,6 @@ function ping_init(&$a) { $intro = count($intros1) + count($intros2); $intros = $intros1+$intros2; - - $myurl = $a->get_baseurl() . '/profile/' . $a->user['nickname'] ; $mails = q("SELECT * FROM `mail` WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ", @@ -157,7 +150,7 @@ function ping_init(&$a) { dbesc(datetime_convert('UTC','UTC','now')) ); - if($ev && count($ev)) { + if(dba::is_result($ev)) { $all_events = intval($ev[0]['total']); if($all_events) { @@ -212,9 +205,9 @@ function ping_init(&$a) { $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']) ); @@ -226,19 +219,21 @@ function ping_init(&$a) { $home\r\n"; if ($register!=0) echo "$register"; - if ( count($network_group) ) { + if ( dba::is_result($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) ) { + if ( dba::is_result($forums_unseen) ) { echo ''; - foreach ($forums_unseen as $it) { - echo '' . $it['count'] . ""; - } + foreach ($forums_unseen as $it) + if ($it['count'] > 0) + echo ''.$it['count'].""; + echo ""; } @@ -250,8 +245,8 @@ function ping_init(&$a) { $birthdays_today\r\n"; - if(count($notifs) && (! $sysnotify)) { - foreach($notifs as $zz) { + if (dba::is_result($notifs) && (! $sysnotify)) { + foreach ($notifs as $zz) { if($zz['seen'] == 0) $sysnotify ++; } @@ -260,7 +255,7 @@ function ping_init(&$a) { echo ' '; // merge all notification types in one array - if ($intro>0){ + if ( dba::is_result($intros) ) { foreach ($intros as $i) { $n = array( 'href' => $a->get_baseurl().'/notifications/intros/'.$i['id'], @@ -275,7 +270,7 @@ function ping_init(&$a) { } } - if ($mail>0){ + if ( dba::is_result($mails) ) { foreach ($mails as $i) { $n = array( 'href' => $a->get_baseurl().'/message/'.$i['id'], @@ -290,7 +285,7 @@ function ping_init(&$a) { } } - if ($register>0){ + if ( dba::is_result($regs) ) { foreach ($regs as $i) { $n = array( 'href' => $a->get_baseurl().'/admin/users/', @@ -304,6 +299,7 @@ function ping_init(&$a) { $notifs[] = $n; } } + // sort notifications by $[]['date'] $sort_function = function($a, $b) { $adate = date($a['date']); @@ -315,7 +311,7 @@ function ping_init(&$a) { }; usort($notifs, $sort_function); - if(count($notifs)) { + if( dba::is_result($notifs) ) { foreach($notifs as $n) { echo xmlize($n); } @@ -396,7 +392,11 @@ 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"]));