]> git.mxchange.org Git - friendica.git/commitdiff
better handling of multiple notifications for same item, and old notifications
authorfriendica <info@friendica.com>
Thu, 1 Mar 2012 00:26:07 +0000 (16:26 -0800)
committerfriendica <info@friendica.com>
Thu, 1 Mar 2012 00:26:07 +0000 (16:26 -0800)
boot.php
mod/notify.php
mod/ping.php

index e1dc7e5373115177076add5c1d697a3af7df53c0..31e8cb05ff960802e4337ce28f5096086d7bec03 100755 (executable)
--- a/boot.php
+++ b/boot.php
@@ -9,7 +9,7 @@ require_once('include/nav.php');
 require_once('include/cache.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '2.3.1266' );
+define ( 'FRIENDICA_VERSION',      '2.3.1267' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.22'    );
 define ( 'DB_UPDATE_VERSION',      1129      );
 
index e6a7a885966418d35c9dcf163410c8dfe74e1cfe..16b87b76f5e7797d1c51ec4e5ba8ef317f025583 100644 (file)
@@ -11,8 +11,8 @@ function notify_init(&$a) {
                        intval(local_user())
                );
                if(count($r)) {
-                       q("update notify set seen = 1 where id = %d and uid = %d limit 1",
-                               intval($a->argv[2]),
+                       q("update notify set seen = 1 where link = '%s' and uid = %d",
+                               dbesc($r[0]['link']),
                                intval(local_user())
                        );
                        goaway($r[0]['link']);
index 7380ff7d051e915c25b2450663bdad36827849ca..1562254b1731c19f6732e8edf3b43201575f6472 100644 (file)
@@ -14,10 +14,29 @@ function ping_init(&$a) {
 
                $firehose = intval(get_pconfig(local_user(),'system','notify_full'));
 
-               $z = q("select * from notify where uid = %d
-                       order by seen asc, date desc limit 0, 50",
+               $t = q("select count(*) as total from notify where uid = %d and seen = 0",
                        intval(local_user())
                );
+               if($t && intval($t[0]['total']) > 49) {
+                       $z = q("select * from notify where uid = %d
+                               and seen = 0 order by date desc limit 0, 50",
+                               intval(local_user())
+                       );
+               }
+               else {
+                       $z1 = q("select * from notify where uid = %d
+                               and seen = 0 order by date desc limit 0, 50",
+                               intval(local_user())
+                       );
+
+                       $z2 = q("select * from notify where uid = %d
+                               and seen = 1 order by date desc limit 0, %d",
+                               intval(local_user()),
+                               intval(50 - intval($t[0]['total']))
+                       );
+                       $z = array_merge($z1,$z2);
+               }
+
 
 
                $tags = array();