if(! ($mail || $fsuggest || $relocate)) {
- $slap = ostatus_salmon($target_item,$owner);
+ $slap = ostatus::salmon($target_item,$owner);
require_once('include/group.php');
$parent = $items[0];
- $thr_parent = q("SELECT `network` FROM `item` WHERE `uri` = '%s' AND `uid` = %d",
+ $thr_parent = q("SELECT `network`, `author-link`, `owner-link` FROM `item` WHERE `uri` = '%s' AND `uid` = %d",
dbesc($target_item["thr-parent"]), intval($target_item["uid"]));
logger('Parent is '.$parent['network'].'. Thread parent is '.$thr_parent[0]['network'], LOGGER_DEBUG);
if ($parent["network"] == NETWORK_OSTATUS) {
// Distribute the message to the DFRN contacts as if this wasn't a followup since OStatus can't relay comments
// Currently it is work at progress
- $r = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `network` = '%s' AND NOT `blocked` AND NOT `pending`",
+ $r = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `network` = '%s' AND NOT `blocked` AND NOT `pending` AND NOT `archive`",
intval($uid),
dbesc(NETWORK_DFRN)
);
logger('Some parent is OStatus for '.$target_item["guid"], LOGGER_DEBUG);
+ // Send a salmon to the parent author
+ $probed_contact = probe_url($thr_parent[0]['author-link']);
+ if ($probed_contact["notify"] != "") {
+ logger('Notify parent author '.$probed_contact["url"].': '.$probed_contact["notify"]);
+ $url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
+ }
+
+ // Send a salmon to the parent owner
+ $probed_contact = probe_url($thr_parent[0]['owner-link']);
+ if ($probed_contact["notify"] != "") {
+ logger('Notify parent owner '.$probed_contact["url"].': '.$probed_contact["notify"]);
+ $url_recipients[$probed_contact["notify"]] = $probed_contact["notify"];
+ }
+
// Send a salmon notification to every person we mentioned in the post
$arr = explode(',',$target_item['tag']);
foreach($arr as $x) {
} else
$sql_extra = " AND `network` IN ('".NETWORK_OSTATUS."', '".NETWORK_DFRN."', '".NETWORK_DIASPORA."', '".NETWORK_MAIL."', '".NETWORK_MAIL2."')";
- $r = q("SELECT * FROM `contact` WHERE `id` IN ($conversant_str) AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0".$sql_extra);
+ $r = q("SELECT * FROM `contact` WHERE `id` IN ($conversant_str) AND NOT `blocked` AND NOT `pending` AND NOT `archive`".$sql_extra);
if(count($r))
$contacts = $r;
if ($relocate)
$r = $recipients_relocate;
else
- $r = q("SELECT * FROM `contact` WHERE `id` IN (%s) AND NOT `blocked` AND NOT `pending`",
+ $r = q("SELECT * FROM `contact` WHERE `id` IN (%s) AND NOT `blocked` AND NOT `pending` AND NOT `archive`",
dbesc($recip_str)
);
if($public_message) {
if (!$followup)
- $r0 = diaspora_fetch_relay();
+ $r0 = diaspora::relay_list();
else
$r0 = array();
);
$r2 = q("SELECT `id`, `name`,`network` FROM `contact`
- WHERE `network` in ( '%s', '%s') AND `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
+ WHERE `network` in ( '%s', '%s') AND `uid` = %d AND NOT `blocked` AND NOT `pending` AND NOT `archive`
AND `rel` != %d order by rand() ",
dbesc(NETWORK_DFRN),
dbesc(NETWORK_MAIL2),
$r = array_merge($r2,$r1,$r0);
if(count($r)) {
- logger('pubdeliver: ' . print_r($r,true), LOGGER_DEBUG);
+ logger('pubdeliver '.$target_item["guid"].': '.print_r($r,true), LOGGER_DEBUG);
// throw everything into the queue in case we get killed
}
if((! $mail) && (! $fsuggest) && (! $followup)) {
- logger('notifier: delivery agent: ' . $rr['name'] . ' ' . $rr['id']);
+ logger('notifier: delivery agent: '.$rr['name'].' '.$rr['id'].' '.$rr['network'].' '.$target_item["guid"]);
proc_run('php','include/delivery.php',$cmd,$item_id,$rr['id']);
if($interval)
@time_sleep_until(microtime(true) + (float) $interval);
proc_run('php','include/pubsubpublish.php');
}
- // If the item was deleted, clean up the `sign` table
- if($target_item['deleted']) {
- $r = q("DELETE FROM sign where `retract_iid` = %d",
- intval($target_item['id'])
- );
- }
-
logger('notifier: calling hooks', LOGGER_DEBUG);
if($normal_mode)