better handling of multiple notifications for same item, and old notifications

This commit is contained in:
friendica 2012-02-29 16:26:07 -08:00
parent fb33b4f2bc
commit 84d5f495e6
3 changed files with 24 additions and 5 deletions

View file

@ -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 );

View 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']);

View 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();