delete item should now mostly work

This commit is contained in:
friendica 2013-01-28 19:24:36 -08:00
parent 89c6fc939d
commit 95415bff69
3 changed files with 20 additions and 5 deletions

View file

@ -204,7 +204,11 @@ function notifier_run($argv, $argc){
$r = fetch_post_tags($r); $r = fetch_post_tags($r);
$target_item = $r[0]; $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", $s = q("select * from channel where channel_id = %d limit 1",
intval($target_item['uid']) intval($target_item['uid'])
); );

View file

@ -910,8 +910,15 @@ function process_delivery($sender,$arr,$deliveries,$relay) {
} }
if($arr['item_restrict'] & ITEM_DELETED) { 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'); $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; continue;
} }
@ -988,20 +995,24 @@ function update_imported_item($sender,$item,$uid) {
function delete_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", and uri = '%s' and uid = %d limit 1",
dbesc($sender['hash']), dbesc($sender['hash']),
dbesc($sender['hash']), dbesc($sender['hash']),
dbesc($item['uri']), dbesc($item['uri']),
intval($uid) intval($uid)
); );
if(! $r) { if(! $r) {
logger('delete_imported_item: failed: ownership issue'); logger('delete_imported_item: failed: ownership issue');
return; return false;
} }
require_once('include/items.php'); require_once('include/items.php');
drop_item($r[0]['id'],false); drop_item($r[0]['id'],false);
return $r[0]['id'];
} }
function process_mail_delivery($sender,$arr,$deliveries) { function process_mail_delivery($sender,$arr,$deliveries) {

View file

@ -41,7 +41,7 @@ function poco_init(&$a) {
if(! $system_mode) { if(! $system_mode) {
$r = q("SELECT channel.channel_id from channel where channel_address = '%s' limit 1", $r = q("SELECT channel_id from channel where channel_address = '%s' limit 1",
dbesc($user) dbesc($user)
); );
if(! $r) { if(! $r) {