From 9dcecb6b3704037cb13e8a6350b5df83f6917a40 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 3 Feb 2013 19:07:01 -0800 Subject: finish up the "mark all xyz seen" for all known values of xyz --- mod/ping.php | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'mod/ping.php') diff --git a/mod/ping.php b/mod/ping.php index 477b9ff0d..4ab7a68cb 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -48,6 +48,49 @@ function ping_init(&$a) { killme(); } + if(x($_REQUEST,'markRead') && local_user()) { + switch($_REQUEST['markRead']) { + case 'network': + $r = q("update item set item_flags = ( item_flags ^ %d ) where (item_flags & %d) and uid = %d", + intval(ITEM_UNSEEN), + intval(ITEM_UNSEEN), + intval(local_user()) + ); + break; + + case 'home': + $r = q("update item set item_flags = ( item_flags ^ %d ) where (item_flags & %d) and (item_flags & %d) and uid = %d", + intval(ITEM_UNSEEN), + intval(ITEM_UNSEEN), + intval(ITEM_WALL), + intval(local_user()) + ); + break; + case 'messages': + $r = q("update mail set mail_flags = ( item_flags ^ %d ) where uid = %d and not (item_flags & %d)", + intval(MAIL_SEEN), + intval(local_user()), + intval(MAIL_SEEN) + ); + break; + case 'all_events': + $r = q("update event set ignore = 1 where ignore = 0 and uid = %d", + intval(local_user()) + ); + break; + + case 'notify': + $r = q("update notify set seen = 1 where uid = %d", + intval(local_user()) + ); + break; + + default: + break; + } + } + + if(argc() > 1 && argv(1) === 'notify') { $t = q("select count(*) as total from notify where uid = %d and seen = 0", intval(local_user()) -- cgit v1.2.3