cleaned up the conditions on when to and when not to relay.
This commit is contained in:
parent
b6fdd3c76b
commit
a775474dff
|
@ -544,7 +544,6 @@ function diaspora_comment($importer,$xml,$msg) {
|
||||||
|
|
||||||
|
|
||||||
if($parent_author_signature) {
|
if($parent_author_signature) {
|
||||||
// $owner_signed_data = $guid . ';' . $parent_guid . ';' . $text . ';' . $msg['author'];
|
|
||||||
$owner_signed_data = $guid . ';' . $parent_guid . ';' . $text . ';' . $diaspora_handle;
|
$owner_signed_data = $guid . ';' . $parent_guid . ';' . $text . ';' . $diaspora_handle;
|
||||||
|
|
||||||
$parent_author_signature = base64_decode($parent_author_signature);
|
$parent_author_signature = base64_decode($parent_author_signature);
|
||||||
|
@ -619,13 +618,14 @@ function diaspora_comment($importer,$xml,$msg) {
|
||||||
dbesc(base64_encode($author_signature)),
|
dbesc(base64_encode($author_signature)),
|
||||||
dbesc($diaspora_handle)
|
dbesc($diaspora_handle)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// if the message isn't already being relayed, notify others
|
||||||
|
// the existence of parent_author_signature means the parent_author or owner
|
||||||
|
// is already relaying.
|
||||||
|
|
||||||
|
proc_run('php','include/notifier.php','comment',$message_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// notify others
|
|
||||||
// proc_run('php','include/notifier.php','comment',$message_id);
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function diaspora_photo($importer,$xml,$msg) {
|
function diaspora_photo($importer,$xml,$msg) {
|
||||||
|
@ -845,8 +845,12 @@ EOT;
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// notify others
|
// if the message isn't already being relayed, notify others
|
||||||
// proc_run('php','include/notifier.php','comment',$message_id);
|
// the existence of parent_author_signature means the parent_author or owner
|
||||||
|
// is already relaying.
|
||||||
|
|
||||||
|
if(! $parent_author_signature)
|
||||||
|
proc_run('php','include/notifier.php','comment',$message_id);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1556,7 +1556,7 @@ function subscribe_to_hub($url,$importer,$contact) {
|
||||||
intval($importer['uid'])
|
intval($importer['uid'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if(! count($r))
|
if((! count($r)) || $contact['network'] === NETWORK_DIASPORA)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$push_url = get_config('system','url') . '/pubsub/' . $r[0]['nickname'] . '/' . $contact['id'];
|
$push_url = get_config('system','url') . '/pubsub/' . $r[0]['nickname'] . '/' . $contact['id'];
|
||||||
|
|
|
@ -150,7 +150,37 @@ function notifier_run($argv, $argc){
|
||||||
|
|
||||||
$parent = $items[0];
|
$parent = $items[0];
|
||||||
|
|
||||||
if($parent['wall'] == 0 && (! $expire)) {
|
// This is IMPORTANT!!!!
|
||||||
|
|
||||||
|
// We will only send a "notify owner to relay" or followup message if the referenced post
|
||||||
|
// originated on our system by virtue of having our hostname somewhere
|
||||||
|
// in the URI, AND it was a comment (not top_level) AND the parent originated elsewhere.
|
||||||
|
// if $parent['wall'] == 1 we will already have the parent message in our array
|
||||||
|
// and we will relay the whole lot.
|
||||||
|
|
||||||
|
// expire sends an entire group of expire messages and cannot be forwarded.
|
||||||
|
// However the conversation owner will be a part of the conversation and will
|
||||||
|
// be notified during this run.
|
||||||
|
// Other DFRN conversation members will be alerted during polled updates.
|
||||||
|
|
||||||
|
// Diaspora members currently are not notified of expirations, and other networks have
|
||||||
|
// either limited or no ability to process deletions. We should at least fix Diaspora
|
||||||
|
// by stringing togther an array of retractions and sending them onward.
|
||||||
|
|
||||||
|
|
||||||
|
$localhost = $a->get_hostname();
|
||||||
|
if(strpos($localhost,':'))
|
||||||
|
$localhost = substr($localhost,0,strpos($localhost,':'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Be VERY CAREFUL if you make any changes to the following line. Seemingly innocuous changes
|
||||||
|
* have been known to cause runaway conditions which affected several servers, along with
|
||||||
|
* permissions issues.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
if((! $top_level) && ($parent['wall'] == 0) && (! $expire) && (stristr($target_item['uri'],$localhost))) {
|
||||||
// local followup to remote post
|
// local followup to remote post
|
||||||
$followup = true;
|
$followup = true;
|
||||||
$public_message = false; // not public
|
$public_message = false; // not public
|
||||||
|
|
Loading…
Reference in a new issue