prevent follows of and notifications to deceased channels
This commit is contained in:
parent
7d429b2894
commit
10167fdf51
@ -18,8 +18,9 @@ function notification($params) {
|
||||
}
|
||||
if($params['to_xchan']) {
|
||||
$y = q("select channel.*, account.* from channel left join account on channel_account_id = account_id
|
||||
where channel_hash = '%s' limit 1",
|
||||
dbesc($params['to_xchan'])
|
||||
where channel_hash = '%s' and not (channel_pageflags & %d) limit 1",
|
||||
dbesc($params['to_xchan']),
|
||||
intval(PAGE_REMOVED)
|
||||
);
|
||||
}
|
||||
if($x & $y) {
|
||||
|
@ -75,11 +75,17 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
// do we have an xchan and hubloc?
|
||||
// If not, create them.
|
||||
|
||||
$x = import_xchan($j);
|
||||
|
||||
if(array_key_exists('deleted',$j) && intval($j['deleted'])) {
|
||||
$result['message'] = t('Channel was deleted and no longer exists.');
|
||||
return $result;
|
||||
}
|
||||
|
||||
if(! $x['success'])
|
||||
return $x;
|
||||
|
||||
|
@ -632,6 +632,13 @@ 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;
|
||||
|
||||
|
||||
|
||||
|
||||
if(($r[0]['xchan_name_date'] != $arr['name_updated'])
|
||||
|| ($r[0]['xchan_connurl'] != $arr['connections_url'])
|
||||
@ -676,6 +683,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;
|
||||
|
||||
$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)
|
||||
|
@ -97,7 +97,9 @@ function zfinger_init(&$a) {
|
||||
$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);
|
||||
if($e['xchan_flags'] & XCHAN_FLAGS_HIDDEN)
|
||||
$deleted = (($e['channel_pageflags'] & PAGE_REMOVED) ? true : false);
|
||||
|
||||
if(($e['xchan_flags'] & XCHAN_FLAGS_HIDDEN) || $deleted)
|
||||
$searchable = false;
|
||||
|
||||
// This is for birthdays and keywords, but must check access permissions
|
||||
@ -164,7 +166,7 @@ function zfinger_init(&$a) {
|
||||
$ret['target_sig'] = $zsig;
|
||||
$ret['searchable'] = $searchable;
|
||||
$ret['adult_content'] = $adult_channel;
|
||||
|
||||
$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.
|
||||
|
@ -1 +1 @@
|
||||
2014-04-06.639
|
||||
2014-04-07.640
|
||||
|
Reference in New Issue
Block a user