aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/notifier.php6
-rw-r--r--include/zot.php17
2 files changed, 19 insertions, 4 deletions
diff --git a/include/notifier.php b/include/notifier.php
index dddf0aade..b22f77d91 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -204,7 +204,11 @@ function notifier_run($argv, $argc){
$r = fetch_post_tags($r);
$target_item = $r[0];
-
+
+ if($target_item['item_restrict'] & ITEM_DELETED)
+ logger('notifier: target item ITEM_DELETED', LOGGER_DEBUG);
+
+
$s = q("select * from channel where channel_id = %d limit 1",
intval($target_item['uid'])
);
diff --git a/include/zot.php b/include/zot.php
index ac18dfd41..8e3f0303e 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -910,8 +910,15 @@ function process_delivery($sender,$arr,$deliveries,$relay) {
}
if($arr['item_restrict'] & ITEM_DELETED) {
- delete_imported_item($sender,$arr,$channel['channel_id']);
+ $item_id = delete_imported_item($sender,$arr,$channel['channel_id']);
$result[] = array($d['hash'],'deleted');
+
+ if($relay && $item_id) {
+ logger('process_delivery: invoking relay');
+ proc_run('php','include/notifier.php','relay',intval($item_id));
+ $result[] = array($d['hash'],'relayed');
+ }
+
continue;
}
@@ -988,20 +995,24 @@ function update_imported_item($sender,$item,$uid) {
function delete_imported_item($sender,$item,$uid) {
- $r = q("select id from item where author_xchan = '%s' or owner_xchan = '%s'
+ logger('delete_imported_item invoked',LOGGER_DEBUG);
+
+ $r = q("select id from item where ( author_xchan = '%s' or owner_xchan = '%s' )
and uri = '%s' and uid = %d limit 1",
dbesc($sender['hash']),
dbesc($sender['hash']),
dbesc($item['uri']),
intval($uid)
);
+
if(! $r) {
logger('delete_imported_item: failed: ownership issue');
- return;
+ return false;
}
require_once('include/items.php');
drop_item($r[0]['id'],false);
+ return $r[0]['id'];
}
function process_mail_delivery($sender,$arr,$deliveries) {