diff options
author | Simon L'nu <simon.lnu@gmail.com> | 2012-02-29 23:26:49 -0500 |
---|---|---|
committer | Simon L'nu <simon.lnu@gmail.com> | 2012-02-29 23:26:49 -0500 |
commit | b7ab2a2fc92bbd7ec3a506e18f950579e10719eb (patch) | |
tree | 951a691592d7a52a85267da7aba9c2d8e15a53bd /mod | |
parent | 68554741465e92fe2e462b8de4470ddd0eb91302 (diff) | |
parent | bd2c8c92f1b30d8f811bd4aab0fe3a2c5496ec61 (diff) | |
download | volse-hubzilla-b7ab2a2fc92bbd7ec3a506e18f950579e10719eb.tar.gz volse-hubzilla-b7ab2a2fc92bbd7ec3a506e18f950579e10719eb.tar.bz2 volse-hubzilla-b7ab2a2fc92bbd7ec3a506e18f950579e10719eb.zip |
Merge branch 'master', remote-tracking branch 'remotes/upstream/master'
* remotes/upstream/master:
yet more work on notifications
notification enhancements
better handling of multiple notifications for same item, and old notifications
* master:
Diffstat (limited to 'mod')
-rw-r--r-- | mod/notify.php | 6 | ||||
-rw-r--r-- | mod/ping.php | 23 |
2 files changed, 25 insertions, 4 deletions
diff --git a/mod/notify.php b/mod/notify.php index e6a7a8859..a572b1534 100644 --- a/mod/notify.php +++ b/mod/notify.php @@ -11,8 +11,10 @@ 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' or ( parent != 0 and parent = %d and otype = '%s' )) and uid = %d", + dbesc($r[0]['link']), + intval($r[0]['parent']), + dbesc($r[0]['otype']), intval(local_user()) ); goaway($r[0]['link']); 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(); |