]> git.mxchange.org Git - friendica.git/commitdiff
Support for a new Diaspora command for post retraction
authorMichael Vogel <icarus@dabo.de>
Thu, 3 Dec 2015 07:35:47 +0000 (08:35 +0100)
committerMichael Vogel <icarus@dabo.de>
Thu, 3 Dec 2015 07:35:47 +0000 (08:35 +0100)
include/diaspora.php

index c5ba07586d5e0e7646915d51439cc59d035d930b..e0eaf065d6956907b921e9b40b0a0fa8e327bb97 100644 (file)
@@ -2254,8 +2254,23 @@ function diaspora_retraction($importer,$xml) {
        if($type === 'Person') {
                require_once('include/Contact.php');
                contact_remove($contact['id']);
-       }
-       elseif($type === 'Post') {
+       } elseif($type === 'StatusMessage') {
+               $guid = notags(unxmlify($xml->post_guid));
+
+               $r = q("SELECT * FROM `item` WHERE `guid` = '%s' AND `uid` = %d AND NOT `file` LIKE '%%[%%' LIMIT 1",
+                       dbesc($guid),
+                       intval($importer['uid'])
+               );
+               if(count($r)) {
+                       if(link_compare($r[0]['author-link'],$contact['url'])) {
+                               q("UPDATE `item` SET `deleted` = 1, `changed` = '%s' WHERE `id` = %d",
+                                       dbesc(datetime_convert()),
+                                       intval($r[0]['id'])
+                               );
+                               delete_thread($r[0]['id'], $r[0]['parent-uri']);
+                       }
+               }
+       } elseif($type === 'Post') {
                $r = q("select * from item where guid = '%s' and uid = %d and not file like '%%[%%' limit 1",
                        dbesc('guid'),
                        intval($importer['uid'])