aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2014-04-07 16:10:43 -0700
committerfriendica <info@friendica.com>2014-04-07 16:10:43 -0700
commit74029a9ee9b0dfdb98d88a3697beabfcd8ab29d0 (patch)
tree0706b4253763cd368258f8b5f93265f195e4bed9
parent7e160a7b048c50a8b7c7a7e6e99687bbedcb3487 (diff)
downloadvolse-hubzilla-74029a9ee9b0dfdb98d88a3697beabfcd8ab29d0.tar.gz
volse-hubzilla-74029a9ee9b0dfdb98d88a3697beabfcd8ab29d0.tar.bz2
volse-hubzilla-74029a9ee9b0dfdb98d88a3697beabfcd8ab29d0.zip
this should be better - "xchan deleted" state on remote sites only follows the xchan_flags and not the channel_pageflags; XCHAN_FLAGS_DELETED should only be set if the channel is to be removed from the entire network. As mentioned in a previous commit, channel_pageflags could be set to PAGE_REMOVED but still leave living clones on other sites.
-rw-r--r--include/zot.php15
-rw-r--r--mod/zfinger.php11
2 files changed, 12 insertions, 14 deletions
diff --git a/include/zot.php b/include/zot.php
index 490d63798..19512c1ec 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -632,13 +632,10 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED) {
if($adult_changed)
$new_flags = $new_flags ^ XCHAN_FLAGS_SELFCENSORED;
-// $deleted = (($r[0]['xchan_flags'] & XCHAN_FLAGS_DELETED) ? true : false);
-// $deleted_changed = ((intval($deleted) != intval($arr['deleted'])) ? true : false);
-// if($deleted_changed)
-// $new_flags = $new_flags ^ XCHAN_FLAGS_DELETED;
-
-
-
+ $deleted = (($r[0]['xchan_flags'] & XCHAN_FLAGS_DELETED) ? true : false);
+ $deleted_changed = ((intval($deleted) != intval($arr['deleted'])) ? true : false);
+ if($deleted_changed)
+ $new_flags = $new_flags ^ XCHAN_FLAGS_DELETED;
if(($r[0]['xchan_name_date'] != $arr['name_updated'])
|| ($r[0]['xchan_connurl'] != $arr['connections_url'])
@@ -683,8 +680,8 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED) {
$new_flags = 0;
if($arr['adult_content'])
$new_flags |= XCHAN_FLAGS_SELFCENSORED;
-// if($arr['deleted'])
-// $new_flags |= XCHAN_FLAGS_DELETED;
+ if(array_key_exists('deleted',$arr) && $arr['deleted'])
+ $new_flags |= XCHAN_FLAGS_DELETED;
$x = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_mimetype,
xchan_photo_l, xchan_addr, xchan_url, xchan_connurl, xchan_follow, xchan_connpage, xchan_name, xchan_network, xchan_photo_date, xchan_name_date, xchan_flags)
diff --git a/mod/zfinger.php b/mod/zfinger.php
index f2d46bff8..dcc755992 100644
--- a/mod/zfinger.php
+++ b/mod/zfinger.php
@@ -94,10 +94,10 @@ function zfinger_init(&$a) {
$id = $e['channel_id'];
- $special_channel = (($e['channel_pageflags'] & PAGE_PREMIUM) ? true : false);
- $adult_channel = (($e['channel_pageflags'] & PAGE_ADULT) ? true : false);
- $searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true);
- $deleted = (($e['channel_pageflags'] & PAGE_REMOVED) ? true : false);
+ $special_channel = (($e['channel_pageflags'] & PAGE_PREMIUM) ? true : false);
+ $adult_channel = (($e['channel_pageflags'] & PAGE_ADULT) ? true : false);
+ $searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true);
+ $deleted = (($e['xchan_flags'] & XCHAN_FLAGS_DELETED) ? true : false);
if(($e['xchan_flags'] & XCHAN_FLAGS_HIDDEN) || $deleted)
$searchable = false;
@@ -166,7 +166,8 @@ function zfinger_init(&$a) {
$ret['target_sig'] = $zsig;
$ret['searchable'] = $searchable;
$ret['adult_content'] = $adult_channel;
- $ret['deleted'] = $deleted;
+ if($deleted)
+ $ret['deleted'] = $deleted;
// premium or other channel desiring some contact with potential followers before connecting.
// This is a template - %s will be replaced with the follow_url we discover for the return channel.