diff options
author | friendica <info@friendica.com> | 2014-03-02 19:40:59 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-03-02 19:40:59 -0800 |
commit | 7baeb451836752a612ca976db04aeffcafeb621d (patch) | |
tree | 09a75e437616318eecc689c5331344c112fe4afd /include/zot.php | |
parent | b98ddc69de966fbb8a47ba5ca4947c6cb3f81618 (diff) | |
download | volse-hubzilla-7baeb451836752a612ca976db04aeffcafeb621d.tar.gz volse-hubzilla-7baeb451836752a612ca976db04aeffcafeb621d.tar.bz2 volse-hubzilla-7baeb451836752a612ca976db04aeffcafeb621d.zip |
some anomolies found when viewing connections in various cases.
Diffstat (limited to 'include/zot.php')
-rw-r--r-- | include/zot.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/zot.php b/include/zot.php index d7d7eb419..a52abfecd 100644 --- a/include/zot.php +++ b/include/zot.php @@ -330,8 +330,15 @@ function zot_refresh($them,$channel = null, $force = false) { else $permissions = $j['permissions']; + $connected_set = false; + if($permissions && is_array($permissions)) { foreach($permissions as $k => $v) { + // The connected permission means you are in their address book + if($k === 'connected') { + $connected_set = intval($v); + continue; + } if($v) { $their_perms = $their_perms | intval($global_perms[$k][1]); } @@ -353,6 +360,20 @@ function zot_refresh($them,$channel = null, $force = false) { intval($channel['channel_id']), intval(ABOOK_FLAG_SELF) ); + if($connected_set === 0) { + + // if they are in your address book but you aren't in theirs, mark their address book entry hidden. + + $y1 = q("update abook set abook_flags = (abook_flags | %d) + where abook_xchan = '%s' and abook_channel = %d + and not (abook_flags & %d) limit 1", + intval(ABOOK_FLAG_HIDDEN), + dbesc($x['hash']), + intval($channel['channel_id']), + intval(ABOOK_FLAG_SELF) + ); + } + if(! $y) logger('abook update failed'); else { |