working on delete
This commit is contained in:
parent
9f81c3345b
commit
557ebe4700
|
@ -62,8 +62,8 @@ function get_feed_for(&$a,$dfrn_id,$owner_id,$last_update) {
|
||||||
`contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
|
`contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
|
||||||
`contact`.`id` AS `contact-id`, `contact`.`uid` AS `contact-uid`
|
`contact`.`id` AS `contact-id`, `contact`.`uid` AS `contact-uid`
|
||||||
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
|
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
|
||||||
WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
|
WHERE `item`.`uid` = %d AND `item`.`visible` = 1
|
||||||
AND NOT `item`.`type` IN ( 'remote', 'net-comment') AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
|
AND NOT `item`.`type` IN ( 'remote', 'net-comment' ) AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
|
||||||
AND `item`.`edited` > '%s'
|
AND `item`.`edited` > '%s'
|
||||||
$sql_extra
|
$sql_extra
|
||||||
ORDER BY `parent` ASC, `created` ASC LIMIT 0, 300",
|
ORDER BY `parent` ASC, `created` ASC LIMIT 0, 300",
|
||||||
|
|
|
@ -74,16 +74,45 @@ echo "Length:" . strlen($xml) . "\r\n";
|
||||||
|
|
||||||
foreach($feed->get_items() as $item) {
|
foreach($feed->get_items() as $item) {
|
||||||
|
|
||||||
|
$deleted = false;
|
||||||
|
|
||||||
$rawdelete = $item->get_item_tags("http://purl.org/atompub/tombstones/1.0", 'deleted-entry');
|
$rawdelete = $item->get_item_tags("http://purl.org/atompub/tombstones/1.0", 'deleted-entry');
|
||||||
print_r($rawdelete);
|
if(isset($rawdelete[0]['attribs']['']['ref'])) {
|
||||||
|
$uri = $rawthread[0]['attribs']['']['ref'];
|
||||||
|
$deleted = true;
|
||||||
|
if(isset($rawdelete[0]['attribs']['']['when'])) {
|
||||||
|
$when = $rawthread[0]['attribs']['']['when'];
|
||||||
|
$when = datetime_convert('UTC','UTC', $when, 'Y-m-d H:i:s');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$when = datetime_convert('UTC','UTC','now','Y-m-d H:i:s');
|
||||||
|
}
|
||||||
if($deleted) {
|
if($deleted) {
|
||||||
// pick out ref and when from attribs
|
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
// check hasn't happened already, verify ownership and then process it
|
dbesc($uri),
|
||||||
|
intval($importer['uid'])
|
||||||
|
);
|
||||||
|
if(count($r)) {
|
||||||
|
if($r[0]['uri'] == $r[0]['parent-uri']) {
|
||||||
|
$r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s'
|
||||||
|
WHERE `parent-uri` = '%s'"
|
||||||
|
dbesc($when),
|
||||||
|
dbesc($r[0]['uri'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s'
|
||||||
|
WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
|
dbesc($when),
|
||||||
|
dbesc($uri),
|
||||||
|
intval($importer['uid'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$is_reply = false;
|
$is_reply = false;
|
||||||
$item_id = $item->get_id();
|
$item_id = $item->get_id();
|
||||||
$rawthread = $item->get_item_tags("http://purl.org/syndication/thread/1.0",'in-reply-to');
|
$rawthread = $item->get_item_tags("http://purl.org/syndication/thread/1.0",'in-reply-to');
|
||||||
|
|
|
@ -39,13 +39,41 @@ function dfrn_notify_post(&$a) {
|
||||||
|
|
||||||
foreach($feed->get_items() as $item) {
|
foreach($feed->get_items() as $item) {
|
||||||
|
|
||||||
|
$deleted = false;
|
||||||
|
|
||||||
$rawdelete = $item->get_item_tags("http://purl.org/atompub/tombstones/1.0", 'deleted-entry');
|
$rawdelete = $item->get_item_tags("http://purl.org/atompub/tombstones/1.0", 'deleted-entry');
|
||||||
print_r($rawdelete);
|
if(isset($rawdelete[0]['attribs']['']['ref'])) {
|
||||||
|
$uri = $rawthread[0]['attribs']['']['ref'];
|
||||||
|
$deleted = true;
|
||||||
|
if(isset($rawdelete[0]['attribs']['']['when'])) {
|
||||||
|
$when = $rawthread[0]['attribs']['']['when'];
|
||||||
|
$when = datetime_convert('UTC','UTC', $when, 'Y-m-d H:i:s');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$when = datetime_convert('UTC','UTC','now','Y-m-d H:i:s');
|
||||||
|
}
|
||||||
if($deleted) {
|
if($deleted) {
|
||||||
// pick out ref and when from attribs
|
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
// check hasn't happened already, verify ownership and then process it
|
dbesc($uri),
|
||||||
|
intval($importer['uid'])
|
||||||
|
);
|
||||||
|
if(count($r)) {
|
||||||
|
if($r[0]['uri'] == $r[0]['parent-uri']) {
|
||||||
|
$r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s'
|
||||||
|
WHERE `parent-uri` = '%s'"
|
||||||
|
dbesc($when),
|
||||||
|
dbesc($r[0]['uri'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s'
|
||||||
|
WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
|
dbesc($when),
|
||||||
|
dbesc($uri),
|
||||||
|
intval($importer['uid'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue