Use post-type for the item container
authorMichael <heluecht@pirati.ca>
Thu, 1 Apr 2021 04:58:53 +0000 (04:58 +0000)
committerMichael <heluecht@pirati.ca>
Thu, 1 Apr 2021 04:58:53 +0000 (04:58 +0000)
mod/photos.php
src/Model/Item.php
src/Worker/ExpirePosts.php
src/Worker/RemoveUnusedContacts.php

index e720d7d..df84384 100644 (file)
@@ -784,7 +784,7 @@ function photos_post(App $a)
        $arr['guid']          = System::createUUID();
        $arr['uid']           = $page_owner_uid;
        $arr['uri']           = $uri;
-       $arr['type']          = 'photo';
+       $arr['post-type']     = Item::PT_IMAGE;
        $arr['wall']          = 1;
        $arr['resource-id']   = $resource_id;
        $arr['contact-id']    = $owner_record['id'];
index c7103e4..c814ac9 100644 (file)
@@ -2157,7 +2157,7 @@ class Item
 
                        // Only expire posts, not photos and photo comments
 
-                       if (!$expire_photos && strlen($item['resource-id'])) {
+                       if (!$expire_photos && (!empty($item['resource-id']) || ($item['post-type'] == self::PT_IMAGE))) {
                                continue;
                        } elseif (!$expire_starred && intval($item['starred'])) {
                                continue;
index 2c3f6f6..cff6e2b 100644 (file)
@@ -224,10 +224,10 @@ class ExpirePosts
                                        AND NOT `uri-id` IN (SELECT `parent-uri-id` FROM `post-user` INNER JOIN `contact` ON `contact`.`id` = `contact-id` AND `notify_new_posts`
                                                WHERE `parent-uri-id` = `post-thread`.`uri-id`)
                                        AND NOT `uri-id` IN (SELECT `parent-uri-id` FROM `post-user`
-                                               WHERE (`origin` OR `event-id` != 0 OR `post-type` = ?) AND `parent-uri-id` = `post-thread`.`uri-id`)
+                                               WHERE (`origin` OR `event-id` != 0 OR `post-type` IN (?, ?)) AND `parent-uri-id` = `post-thread`.`uri-id`)
                                        AND NOT `uri-id` IN (SELECT `uri-id` FROM `post-content`
                                                WHERE `resource-id` != 0 AND `uri-id` = `post-thread`.`uri-id`))",
-                               $expire_days, Item::PT_PERSONAL_NOTE]);
+                               $expire_days, Item::PT_PERSONAL_NOTE, Item::PT_IMAGE]);
 
                        Logger::notice('Start deleting expired threads');
                        $affected_count = 0;
index 2150b34..f93e3eb 100644 (file)
@@ -34,14 +34,14 @@ class RemoveUnusedContacts
 {
        public static function execute()
        {
-               $condition = ["`uid` = ? AND NOT `self` AND NOT `nurl` IN (SELECT `nurl` FROM `contact` WHERE `uid` != ?)
+               $condition = ["`id` != ? AND `uid` = ? AND NOT `self` AND NOT `nurl` IN (SELECT `nurl` FROM `contact` WHERE `uid` != ?)
                        AND (NOT `network` IN (?, ?, ?, ?, ?, ?) OR (`archive` AND `success_update` < UTC_TIMESTAMP() - INTERVAL ? DAY))
                        AND NOT `id` IN (SELECT `author-id` FROM `post-user`) AND NOT `id` IN (SELECT `owner-id` FROM `post-user`)
                        AND NOT `id` IN (SELECT `causer-id` FROM `post-user`) AND NOT `id` IN (SELECT `cid` FROM `post-tag`)
                        AND NOT `id` IN (SELECT `contact-id` FROM `post-user`) AND NOT `id` IN (SELECT `cid` FROM `user-contact`)
                        AND NOT `id` IN (SELECT `cid` FROM `event`) AND NOT `id` IN (SELECT `contact-id` FROM `group_member`)
                        AND `created` < UTC_TIMESTAMP() - INTERVAL ? DAY",
-                       0, 0, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, Protocol::FEED, Protocol::MAIL, Protocol::ACTIVITYPUB, 365, 30];
+                       0, 0, 0, Protocol::DFRN, Protocol::DIASPORA, Protocol::OSTATUS, Protocol::FEED, Protocol::MAIL, Protocol::ACTIVITYPUB, 365, 30];
 
                $total = DBA::count('contact', $condition);
                Logger::notice('Starting removal', ['total' => $total]);