diff --git a/includes/datastream.inc b/includes/datastream.inc index e7547780..8584e53e 100644 --- a/includes/datastream.inc +++ b/includes/datastream.inc @@ -161,22 +161,32 @@ function islandora_view_datastream_cache_check(AbstractDatastream $datastream) { if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) { $modified_since = DateTime::createFromFormat('D, d M Y H:i:s e', $_SERVER['HTTP_IF_MODIFIED_SINCE']); - if ($datastream->createdDate->getTimestamp() - $modified_since->getTimestamp() > 0) { - // Changed! + if ($modified_since === FALSE) { return $return; } else { - $return = 304; + if ($datastream->createdDate->getTimestamp() - $modified_since->getTimestamp() > 0) { + // Changed! + return $return; + } + else { + $return = 304; + } } } if ($return === 200 && isset($_SERVER['HTTP_IF_UNMODIFIED_SINCE'])) { $unmodified_since = DateTime::createFromFormat('D, d M Y H:i:s e', $_SERVER['HTTP_IF_UNMODIFIED_SINCE']); - if ($datastream->createdDate->getTimestamp() !== $unmodified_since->getTimestamp()) { - // Changed! - $return = 412; + if ($unmodified_since === FALSE) { + return $return; } else { - return $return; + if ($datastream->createdDate->getTimestamp() !== $unmodified_since->getTimestamp()) { + // Changed! + $return = 412; + } + else { + return $return; + } } }