toggle diaspora protocol on a per-channel level in addition to the existing per site setting. Default is enabled if the site setting is enabled.

This commit is contained in:
redmatrix
2015-06-09 18:50:11 -07:00
parent faa7f97c25
commit d08c43d80c
4 changed files with 34 additions and 2 deletions

View File

@@ -64,6 +64,15 @@ function diaspora_dispatch($importer,$msg) {
return;
}
$allowed = get_pconfig($importer['channel_id'],'system','diaspora_allowed');
if($allowed === false)
$allowed = 1;
if(! intval($allowed)) {
logger('mod-diaspora: disallowed for channel ' . $importer['channel_name']);
return;
}
// php doesn't like dashes in variable names
$msg['message'] = str_replace(
@@ -169,6 +178,16 @@ function diaspora_process_outbound($arr) {
*/
$allowed = get_pconfig($arr['channel']['channel_id'],'system','diaspora_allowed');
if($allowed === false)
$allowed = 1;
if(! intval($allowed)) {
logger('mod-diaspora: disallowed for channel ' . $arr['channel']['channel_name']);
return;
}
if($arr['location'])
return;

View File

@@ -135,6 +135,15 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
$result['message'] = t('Protocol disabled.');
return $result;
}
$allowed = get_pconfig($uid,'system','diaspora_allowed');
if($allowed === false)
$allowed = 1;
if(! intval($allowed)) {
$result['message'] = t('Protocol blocked for this channel.');
return $result;
}
}
$their_perms = 0;