/** * Checks whether a share has expired, calls unshareItem() if yes. * @param array $item Share data (usually database row) * @return boolean True if item was expired, false otherwise. */ protected static function expireItem(array $item) { $result = false; // only use default expiration date for link shares if ((int) $item['share_type'] === self::SHARE_TYPE_LINK) { // calculate expiration date if (!empty($item['expiration'])) { $userDefinedExpire = new \DateTime($item['expiration']); $expires = $userDefinedExpire->getTimestamp(); } else { $expires = null; } // get default expiration settings $defaultSettings = Helper::getDefaultExpireSetting(); $expires = Helper::calculateExpireDate($defaultSettings, $item['stime'], $expires); if (is_int($expires)) { $now = time(); if ($now > $expires) { self::unshareItem($item); $result = true; } } } return $result; }