diff options
author | redmatrix <redmatrix@redmatrix.me> | 2015-09-20 18:03:41 -0700 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2015-09-20 18:03:41 -0700 |
commit | 1501d1c5704cf08e5fa8591aa0952be3bc3067e2 (patch) | |
tree | ae6e7bffd145464f10e1f158b630a7b0dac5ed8d | |
parent | 421dfce599dcd56b661f0f306840c60482965553 (diff) | |
parent | 59a56ac77fcef3348bcf82db043d526b33f5bc9f (diff) | |
download | volse-hubzilla-1501d1c5704cf08e5fa8591aa0952be3bc3067e2.tar.gz volse-hubzilla-1501d1c5704cf08e5fa8591aa0952be3bc3067e2.tar.bz2 volse-hubzilla-1501d1c5704cf08e5fa8591aa0952be3bc3067e2.zip |
Merge https://github.com/redmatrix/redmatrix into pending_merge
Conflicts:
include/zot.php
-rw-r--r-- | include/zot.php | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/include/zot.php b/include/zot.php index 2fbd4574c..2f291ec31 100644 --- a/include/zot.php +++ b/include/zot.php @@ -2940,12 +2940,21 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) { sync_menus($channel,$arr['menu']); if(array_key_exists('channel',$arr) && is_array($arr['channel']) && count($arr['channel'])) { - if(array_key_exists('channel_page_flags',$arr['channel']) && intval($arr['channel']['channel_pageflags'])) { - $arr['channel']['channel_removed'] = (($arr['channel']['channel_pageflags'] & 0x8000) ? 1 : 0); - $arr['channel']['channel_system'] = (($arr['channel']['channel_pageflags'] & 0x1000) ? 1 : 0); + + + + if(array_key_exists('channel_pageflags',$arr['channel']) && intval($arr['channel']['channel_pageflags'])) { + // These flags cannot be sync'd. + // If these bits aren't set locally, remove the bits from the incoming flags. + + if($arr['channel_pageflags'] & 0x8000) + $arr['channel_pageflags'] = $arr['channel_pageflags'] - 0x8000; + if($arr['channel_pageflags'] & 0x1000) + $arr['channel_pageflags'] = $arr['channel_pageflags'] - 0x1000; + } - $disallowed = array('channel_id','channel_account_id','channel_primary','channel_prvkey', 'channel_address', 'channel_notifyflags'); + $disallowed = array('channel_id','channel_account_id','channel_primary','channel_prvkey', 'channel_address', 'channel_notifyflags', 'channel_removed', 'channel_deleted', 'channel_system'); $clean = array(); foreach($arr['channel'] as $k => $v) { |