working on delete
This commit is contained in:
		| @@ -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; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user