]> git.mxchange.org Git - friendica.git/blobdiff - mod/ping.php
Merge pull request #3483 from rabuzarus/20170522_-_frio_event_button_fix
[friendica.git] / mod / ping.php
index b5330c7b330bcfebdf64c51446432ebfb1baf8b5..17180c74ee98dc0bdcdbe454ec4eeb7af2befd91 100644 (file)
@@ -1,5 +1,8 @@
 <?php
-require_once("include/datetime.php");
+
+use Friendica\App;
+
+require_once('include/datetime.php');
 require_once('include/bbcode.php');
 require_once('include/ForumManager.php');
 require_once('include/group.php');
@@ -199,7 +202,7 @@ function ping_init(App $a)
                $cachekey = "ping_init:".local_user();
                $ev = Cache::get($cachekey);
                if (is_null($ev)) {
-                       $ev = qu("SELECT count(`event`.`id`) AS total, type, start, adjust FROM `event`
+                       $ev = qu("SELECT type, start, adjust FROM `event`
                                WHERE `event`.`uid` = %d AND `start` < '%s' AND `finish` > '%s' and `ignore` = 0
                                ORDER BY `start` ASC ",
                                intval(local_user()),
@@ -212,7 +215,7 @@ function ping_init(App $a)
                }
 
                if (dbm::is_result($ev)) {
-                       $all_events = intval($ev[0]['total']);
+                       $all_events = count($ev);
 
                        if ($all_events) {
                                $str_now = datetime_convert('UTC', $a->timezone, 'now', 'Y-m-d');
@@ -305,8 +308,18 @@ function ping_init(App $a)
 
                // sort notifications by $[]['date']
                $sort_function = function($a, $b) {
-                       $adate = date($a['date']);
-                       $bdate = date($b['date']);
+                       $adate = strtotime($a['date']);
+                       $bdate = strtotime($b['date']);
+
+                       // Unseen messages are kept at the top
+                       // The value 31536000 means one year. This should be enough :-)
+                       if (!$a['seen']) {
+                               $adate += 31536000;
+                       }
+                       if (!$b['seen']) {
+                               $bdate += 31536000;
+                       }
+
                        if ($adate == $bdate) {
                                return 0;
                        }