Improve expire for item-content and item-activity
authorMichael <heluecht@pirati.ca>
Thu, 5 Jul 2018 22:07:50 +0000 (22:07 +0000)
committerMichael <heluecht@pirati.ca>
Thu, 5 Jul 2018 22:07:50 +0000 (22:07 +0000)
src/Model/Item.php
src/Worker/Expire.php

index b6af5e7..1382e52 100644 (file)
@@ -766,6 +766,10 @@ class Item extends BaseObject
                                                dba::update('item', $item_fields, ['id' => $item['id']]);
                                        }
                                }
+                       } else {
+                               if (empty($item['iaid'])) {
+                                       // To-Do
+                               }
                        }
 
                        if (!empty($tags)) {
index 713bfa2..3424088 100644 (file)
@@ -26,10 +26,13 @@ class Expire {
                if ($param == 'delete') {
                        logger('Delete expired items', LOGGER_DEBUG);
                        // physically remove anything that has been deleted for more than two months
-                       $r = dba::p("SELECT `id`, `icid` FROM `item` WHERE `deleted` AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY");
+                       $r = dba::p("SELECT `id`, `iaid`, `icid` FROM `item` WHERE `deleted` AND `changed` < UTC_TIMESTAMP() - INTERVAL 60 DAY");
                        while ($row = dba::fetch($r)) {
                                dba::delete('item', ['id' => $row['id']]);
-                               if (!dba::exists('item', ['icid' => $row['icid']])) {
+                               if (!empty($row['iaid']) && !dba::exists('item', ['iaid' => $row['iaid']])) {
+                                       dba::delete('item-content', ['id' => $row['icid']]);
+                               }
+                               if (!empty($row['icid']) && !dba::exists('item', ['icid' => $row['icid']])) {
                                        dba::delete('item-content', ['id' => $row['icid']]);
                                }
                        }