mirror of
https://github.com/friendica/friendica
synced 2025-04-28 11:04:22 +02:00
Issue 13955: Check for publish date upon receival
This commit is contained in:
parent
f2ccce05b8
commit
bae7644d6f
5 changed files with 48 additions and 40 deletions
|
@ -689,38 +689,6 @@ class Item
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the item array is too old
|
||||
*
|
||||
* @param array $item Item record
|
||||
* @return boolean item is too old
|
||||
*/
|
||||
public static function isTooOld(array $item): bool
|
||||
{
|
||||
// check for create date and expire time
|
||||
$expire_interval = DI::config()->get('system', 'dbclean-expire-days', 0);
|
||||
|
||||
$user = DBA::selectFirst('user', ['expire'], ['uid' => $item['uid']]);
|
||||
if (DBA::isResult($user) && ($user['expire'] > 0) && (($user['expire'] < $expire_interval) || ($expire_interval == 0))) {
|
||||
$expire_interval = $user['expire'];
|
||||
}
|
||||
|
||||
if (($expire_interval > 0) && !empty($item['created'])) {
|
||||
$expire_date = time() - ($expire_interval * 86400);
|
||||
$created_date = strtotime($item['created']);
|
||||
if ($created_date < $expire_date) {
|
||||
Logger::notice('Item created before expiration interval.', [
|
||||
'created' => date('c', $created_date),
|
||||
'expired' => date('c', $expire_date),
|
||||
'$item' => $item
|
||||
]);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the id of the given item array if it has been stored before
|
||||
*
|
||||
|
@ -1032,7 +1000,7 @@ class Item
|
|||
|
||||
if (
|
||||
!empty($item['direction']) && in_array($item['direction'], [Conversation::PUSH, Conversation::RELAY]) &&
|
||||
empty($item['origin']) && self::isTooOld($item)
|
||||
empty($item['origin']) && DI::contentItem()->isTooOld($item['created'], $item['uid'])
|
||||
) {
|
||||
Logger::info('Item is too old', ['item' => $item]);
|
||||
return 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue