diff options
author | redmatrix <redmatrix@redmatrix.me> | 2015-09-20 17:45:23 -0700 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2015-09-20 17:45:23 -0700 |
commit | 35f09f4f746fa53fc3c495f71e0f8379c24207fa (patch) | |
tree | c1f1dda79081e36946053fe5af0e98167b5be86e | |
parent | 9de8df496a98019d4b4a3e7549e0d5047dd87024 (diff) | |
download | volse-hubzilla-35f09f4f746fa53fc3c495f71e0f8379c24207fa.tar.gz volse-hubzilla-35f09f4f746fa53fc3c495f71e0f8379c24207fa.tar.bz2 volse-hubzilla-35f09f4f746fa53fc3c495f71e0f8379c24207fa.zip |
remove system flags from channel import packet
-rw-r--r-- | include/zot.php | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/include/zot.php b/include/zot.php index 57645f631..db53ccfc5 100644 --- a/include/zot.php +++ b/include/zot.php @@ -2925,11 +2925,15 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) { } if(array_key_exists('channel',$arr) && is_array($arr['channel']) && count($arr['channel'])) { - if(array_key_exists('channel_removed',$arr['channel'])) - $arr['channel_pageflags'] |= PAGE_REMOVED; - if(array_key_exists('channel_system',$arr['channel'])) - $arr['channel_pageflags'] |= PAGE_SYSTEM; - + + // These flags cannot be sync'd. + // If these bits aren't set locally, remove the bits from the incoming flags. + + if(! ($channel['channel_pageflags'] & PAGE_REMOVED)) + $arr['channel_pageflags'] = $arr['channel_pageflags'] & PAGE_REMOVED; + if(! ($channel['channel_pageflags'] & PAGE_SYSTEM)) + $arr['channel_pageflags'] = $arr['channel_pageflags'] & PAGE_SYSTEM; + $disallowed = array('channel_id','channel_account_id','channel_primary','channel_prvkey', 'channel_address', 'channel_notifyflags', 'channel_removed', 'channel_system'); $clean = array(); |