diff options
author | friendica <info@friendica.com> | 2012-10-28 22:08:08 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-10-28 22:08:08 -0700 |
commit | e1388761998f231de0c321e6652f7db9ed567c09 (patch) | |
tree | d72a64c56e657f73c5568b7f57af9b0c238f8500 /mod | |
parent | d0d8971a69040c9dfd0d53a346135979b881c020 (diff) | |
download | volse-hubzilla-e1388761998f231de0c321e6652f7db9ed567c09.tar.gz volse-hubzilla-e1388761998f231de0c321e6652f7db9ed567c09.tar.bz2 volse-hubzilla-e1388761998f231de0c321e6652f7db9ed567c09.zip |
fix updating of bitwise 'unseen' to account for mysql operator precedence
Diffstat (limited to 'mod')
-rw-r--r-- | mod/network.php | 6 | ||||
-rw-r--r-- | mod/ping.php | 2 | ||||
-rw-r--r-- | mod/profile.php | 9 |
3 files changed, 10 insertions, 7 deletions
diff --git a/mod/network.php b/mod/network.php index 8793aa51a..e1629bdd6 100644 --- a/mod/network.php +++ b/mod/network.php @@ -678,10 +678,10 @@ function network_content(&$a, $update = 0, $load = false) { // We aren't going to try and figure out at the item, group, and page // level which items you've seen and which you haven't. If you're looking // at the top level network page just mark everything seen. - + if((! $group) && (! $cid) && (! $star)) { - $r = q("UPDATE `item` SET item_flags = item_flags & (! %d) - WHERE item_flags & %d AND `uid` = %d", + $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()) diff --git a/mod/ping.php b/mod/ping.php index 60ca7f734..a679c9342 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -127,7 +127,7 @@ function ping_init(&$a) { $t1 = dba_timer(); $r = q("SELECT id, item_restrict, item_flags FROM item - WHERE item_restrict = %d and item_flags & %d and `item`.`uid` = %d", + WHERE item_restrict = %d and ( item_flags & %d ) and uid = %d", intval(ITEM_VISIBLE), intval(ITEM_UNSEEN), intval(local_user()) diff --git a/mod/profile.php b/mod/profile.php index 8ba9584b1..8fdd38ced 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -247,15 +247,18 @@ function profile_content(&$a, $update = 0) { } + if($is_owner) { - $r = q("UPDATE `item` SET `item_flags` = item_flags - %d - WHERE item_flags & %d AND `uid` = %d", + $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_UNSEEN|ITEM_WALL), + intval(ITEM_WALL), intval(local_user()) ); } + $o .= conversation($a,$items,'profile',$update); if(! $update) |