diff options
author | friendica <info@friendica.com> | 2012-02-29 16:26:07 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-02-29 16:26:07 -0800 |
commit | 84d5f495e6e6edd7114b7e72711035e96479e39a (patch) | |
tree | 1432e53be1743ca09bc1ed2435f678ef45ff1804 /mod/ping.php | |
parent | fb33b4f2bcd18e63d311e6dba3aaa2ea5efdec3b (diff) | |
download | volse-hubzilla-84d5f495e6e6edd7114b7e72711035e96479e39a.tar.gz volse-hubzilla-84d5f495e6e6edd7114b7e72711035e96479e39a.tar.bz2 volse-hubzilla-84d5f495e6e6edd7114b7e72711035e96479e39a.zip |
better handling of multiple notifications for same item, and old notifications
Diffstat (limited to 'mod/ping.php')
-rw-r--r-- | mod/ping.php | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/mod/ping.php b/mod/ping.php index 7380ff7d0..1562254b1 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -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(); |