mirror of
https://github.com/friendica/friendica
synced 2025-04-27 23:10:12 +00:00
Delete unused media attachments
This commit is contained in:
parent
af28b82858
commit
425f23bbdc
17 changed files with 459 additions and 372 deletions
|
@ -13,6 +13,7 @@ use Friendica\Database\Database;
|
|||
use Friendica\Database\DBA;
|
||||
use Friendica\Database\DBStructure;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Attach;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Post;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
|
@ -43,6 +44,8 @@ class ExpirePosts
|
|||
self::addMissingEntries();
|
||||
}
|
||||
|
||||
self::deleteUnusedAttachments();
|
||||
|
||||
DBA::releaseOptimizeLock();
|
||||
|
||||
// Set the expiry for origin posts
|
||||
|
@ -304,4 +307,17 @@ class ExpirePosts
|
|||
} while ($affected_count);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete media attachments (excluding photos) that aren't linked to any post
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
private static function deleteUnusedAttachments()
|
||||
{
|
||||
$postmedia = DBA::select('attach', ['id'], ["`id` NOT IN (SELECT `attach-id` FROM `post-media`)"]);
|
||||
while ($media = DBA::fetch($postmedia)) {
|
||||
Attach::delete(['id' => $media['id']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue