Merge pull request #3598 from annando/1707-expiration
Check general expiration time at item storing as well
This commit is contained in:
commit
2148a2bdb0
1 changed files with 16 additions and 11 deletions
|
@ -7,6 +7,7 @@
|
||||||
use Friendica\App;
|
use Friendica\App;
|
||||||
use Friendica\ParseUrl;
|
use Friendica\ParseUrl;
|
||||||
use Friendica\Util\Lock;
|
use Friendica\Util\Lock;
|
||||||
|
use Friendica\Core\Config;
|
||||||
|
|
||||||
require_once 'include/bbcode.php';
|
require_once 'include/bbcode.php';
|
||||||
require_once 'include/oembed.php';
|
require_once 'include/oembed.php';
|
||||||
|
@ -564,18 +565,22 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
|
||||||
$arr['type'] = 'remote';
|
$arr['type'] = 'remote';
|
||||||
}
|
}
|
||||||
|
|
||||||
// check for create date and expire time
|
|
||||||
$uid = intval($arr['uid']);
|
$uid = intval($arr['uid']);
|
||||||
$r = q("SELECT expire FROM user WHERE uid = %d", intval($uid));
|
|
||||||
if (dbm::is_result($r)) {
|
// check for create date and expire time
|
||||||
$expire_interval = $r[0]['expire'];
|
$expire_interval = Config::get('system', 'dbclean-expire-days', 0);
|
||||||
if ($expire_interval > 0) {
|
|
||||||
$expire_date = datetime_convert('UTC', 'UTC', '- '.$expire_interval.' days');
|
$r = dba::select('user', array('expire'), array('uid' => $uid), array("limit" => 1));
|
||||||
$created_date = datetime_convert('UTC', 'UTC', $arr['created']);
|
if (dbm::is_result($r) && ($r['expire'] > 0) && ($r['expire'] < $expire_interval)) {
|
||||||
if ($created_date < $expire_date) {
|
$expire_interval = $r['expire'];
|
||||||
logger('item-store: item created ('.$arr['created'].') before expiration time ('.$expire_date->format(DateTime::W3C).'). ignored. ' . print_r($arr,true), LOGGER_DEBUG);
|
}
|
||||||
return 0;
|
|
||||||
}
|
if ($expire_interval > 0) {
|
||||||
|
$expire_date = datetime_convert('UTC', 'UTC', '- '.$expire_interval.' days');
|
||||||
|
$created_date = datetime_convert('UTC', 'UTC', $arr['created']);
|
||||||
|
if ($created_date < $expire_date) {
|
||||||
|
logger('item-store: item created ('.$arr['created'].') before expiration time ('.$expire_date->format(DateTime::W3C).'). ignored. ' . print_r($arr,true), LOGGER_DEBUG);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue