+ /**
+ * Check if the item array is too old
+ *
+ * @param array $item
+ * @return boolean item is too old
+ */
+ public static function isTooOld(array $item)
+ {
+ // 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;
+ }
+