aboutsummaryrefslogtreecommitdiffstats
path: root/mod/ping.php
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-02-29 16:26:07 -0800
committerfriendica <info@friendica.com>2012-02-29 16:26:07 -0800
commit84d5f495e6e6edd7114b7e72711035e96479e39a (patch)
tree1432e53be1743ca09bc1ed2435f678ef45ff1804 /mod/ping.php
parentfb33b4f2bcd18e63d311e6dba3aaa2ea5efdec3b (diff)
downloadvolse-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.php23
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();