]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/ExpirePosts.php
Merge remote-tracking branch 'upstream/develop' into user-contact
[friendica.git] / src / Worker / ExpirePosts.php
index 3f1075db5db68bc678696f9f88ea17fc55e3697b..8d7b8c6eeaea645988048a255e55d99f453dc90f 100644 (file)
@@ -119,7 +119,7 @@ class ExpirePosts
                Logger::notice('Adding missing entries');
 
                $rows = 0;
-               $userposts = DBA::select('post-user', [], ["`uri-id` not in (select `uri-id` from `post`)"], ['group_by' => ['uri-id']]);
+               $userposts = DBA::select('post-user', [], ["`uri-id` not in (select `uri-id` from `post`)"]);
                while ($fields = DBA::fetch($userposts)) {
                        $post_fields = DBStructure::getFieldsForTable('post', $fields);
                        DBA::insert('post', $post_fields, Database::INSERT_IGNORE);
@@ -133,7 +133,7 @@ class ExpirePosts
                }
 
                $rows = 0;
-               $userposts = DBA::select('post-user', [], ["`gravity` = ? AND `uri-id` not in (select `uri-id` from `post-thread`)", GRAVITY_PARENT], ['group_by' => ['uri-id']]);
+               $userposts = DBA::select('post-user', [], ["`gravity` = ? AND `uri-id` not in (select `uri-id` from `post-thread`)", GRAVITY_PARENT]);
                while ($fields = DBA::fetch($userposts)) {
                        $post_fields = DBStructure::getFieldsForTable('post-thread', $fields);
                        $post_fields['commented'] = $post_fields['changed'] = $post_fields['created'];
@@ -170,7 +170,7 @@ class ExpirePosts
        {
                // We have to avoid deleting newly created "item-uri" entries.
                // So we fetch a post that had been stored yesterday and only delete older ones.
-               $item = Post::selectFirst(['uri-id'], ["`uid` = ? AND `received` < UTC_TIMESTAMP() - INTERVAL ? DAY", 0, 1],
+               $item = Post::selectFirstThread(['uri-id'], ["`uid` = ? AND `received` < UTC_TIMESTAMP() - INTERVAL ? DAY", 0, 1],
                        ['order' => ['received' => true]]);
                if (empty($item['uri-id'])) {
                        Logger::warning('No item with uri-id found - we better quit here');
@@ -183,6 +183,11 @@ class ExpirePosts
                        AND NOT EXISTS(SELECT `thr-parent-id` FROM `post-user` WHERE `thr-parent-id` = `item-uri`.`id`)
                        AND NOT EXISTS(SELECT `external-id` FROM `post-user` WHERE `external-id` = `item-uri`.`id`)
                        AND NOT EXISTS(SELECT `uri-id` FROM `mail` WHERE `uri-id` = `item-uri`.`id`)
+                       AND NOT EXISTS(SELECT `uri-id` FROM `event` WHERE `uri-id` = `item-uri`.`id`)
+                       AND NOT EXISTS(SELECT `uri-id` FROM `user-contact` WHERE `uri-id` = `item-uri`.`id`)
+                       AND NOT EXISTS(SELECT `uri-id` FROM `contact` WHERE `uri-id` = `item-uri`.`id`)
+                       AND NOT EXISTS(SELECT `uri-id` FROM `apcontact` WHERE `uri-id` = `item-uri`.`id`)
+                       AND NOT EXISTS(SELECT `uri-id` FROM `fcontact` WHERE `uri-id` = `item-uri`.`id`)
                        AND NOT EXISTS(SELECT `parent-uri-id` FROM `mail` WHERE `parent-uri-id` = `item-uri`.`id`)
                        AND NOT EXISTS(SELECT `thr-parent-id` FROM `mail` WHERE `thr-parent-id` = `item-uri`.`id`)", $item['uri-id']]);