aboutsummaryrefslogtreecommitdiffstats
path: root/include/zot.php
diff options
context:
space:
mode:
authorredmatrix <redmatrix@redmatrix.me>2015-09-20 18:03:41 -0700
committerredmatrix <redmatrix@redmatrix.me>2015-09-20 18:03:41 -0700
commit1501d1c5704cf08e5fa8591aa0952be3bc3067e2 (patch)
treeae6e7bffd145464f10e1f158b630a7b0dac5ed8d /include/zot.php
parent421dfce599dcd56b661f0f306840c60482965553 (diff)
parent59a56ac77fcef3348bcf82db043d526b33f5bc9f (diff)
downloadvolse-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
Diffstat (limited to 'include/zot.php')
-rw-r--r--include/zot.php17
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) {