X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fnotifier.php;h=446824a26ae065164374d23b599b8bba464a4dee;hb=18cbe9f6ff275cbb363fd9a0a5014bc8fe3d9f7b;hp=6c90629bd87128865e0535d80e1a0523ae1f7ce7;hpb=6434b5d8ce8d3bd3163862446ce31b5825307372;p=friendica.git diff --git a/include/notifier.php b/include/notifier.php index 6c90629bd8..446824a26a 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -132,18 +132,25 @@ function notifier_run(&$argv, &$argc){ $recipients[] = $suggest[0]['cid']; $item = $suggest[0]; } elseif($cmd === 'removeme') { - $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($item_id)); - if (! $r) + $r = q("SELECT `contact`.*, `user`.`pubkey` AS `upubkey`, `user`.`prvkey` AS `uprvkey`, + `user`.`timezone`, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`, + `user`.`page-flags`, `user`.`prvnets`, `user`.`guid` + FROM `contact` INNER JOIN `user` ON `user`.`uid` = `contact`.`uid` + WHERE `contact`.`uid` = %d AND `contact`.`self` LIMIT 1", + intval($item_id)); + if (!$r) return; $user = $r[0]; - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1", intval($item_id)); - if (! $r) + + $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1", intval($item_id)); + if (!$r) return; $self = $r[0]; - $r = q("SELECT * FROM `contact` WHERE `self` = 0 AND `uid` = %d", intval($item_id)); - if(! $r) + + $r = q("SELECT * FROM `contact` WHERE NOT `self` AND `uid` = %d", intval($item_id)); + if(!$r) return; require_once('include/Contact.php'); @@ -388,17 +395,30 @@ function notifier_run(&$argv, &$argc){ // We have not only to look at the parent, since it could be a Friendica thread. if (($thr_parent AND ($thr_parent[0]['network'] == NETWORK_OSTATUS)) OR ($parent['network'] == NETWORK_OSTATUS)) { - logger('Some parent is OStatus for '.$target_item["guid"], LOGGER_DEBUG); + logger('Some parent is OStatus for '.$target_item["guid"]." - Author: ".$thr_parent[0]['author-link']." - Owner: ".$thr_parent[0]['owner-link'], LOGGER_DEBUG); // Send a salmon to the parent author - $probed_contact = probe_url($thr_parent[0]['author-link']); + $r = q("SELECT `notify` FROM `contact` WHERE `nurl`='%s' AND `uid` IN (0, %d) AND `notify` != ''", + dbesc(normalise_link($thr_parent[0]['author-link'])), + intval($uid)); + if ($r) + $probed_contact = $r[0]; + else + $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']); + $r = q("SELECT `notify` FROM `contact` WHERE `nurl`='%s' AND `uid` IN (0, %d) AND `notify` != ''", + dbesc(normalise_link($thr_parent[0]['owner-link'])), + intval($uid)); + if ($r) + $probed_contact = $r[0]; + else + $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"];