aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
authorSimon L'nu <simon.lnu@gmail.com>2012-02-29 23:26:49 -0500
committerSimon L'nu <simon.lnu@gmail.com>2012-02-29 23:26:49 -0500
commitb7ab2a2fc92bbd7ec3a506e18f950579e10719eb (patch)
tree951a691592d7a52a85267da7aba9c2d8e15a53bd /mod
parent68554741465e92fe2e462b8de4470ddd0eb91302 (diff)
parentbd2c8c92f1b30d8f811bd4aab0fe3a2c5496ec61 (diff)
downloadvolse-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.php6
-rw-r--r--mod/ping.php23
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();