From 125cf79a377a1073d18e6c609da9a6fcee64677b Mon Sep 17 00:00:00 2001
From: Bart Visscher <bartv@thisnet.nl>
Date: Sun, 12 Feb 2012 20:38:28 +0100
Subject: OC_Response: add setExpiresHeader function

---
 apps/contacts/thumbnail.php |  4 +---
 lib/response.php            | 12 ++++++++++++
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/apps/contacts/thumbnail.php b/apps/contacts/thumbnail.php
index 9c68e0789b4..0cdd0a86c74 100644
--- a/apps/contacts/thumbnail.php
+++ b/apps/contacts/thumbnail.php
@@ -27,9 +27,7 @@ OC_JSON::checkLoggedIn();
 OC_Util::checkAppEnabled('contacts');
 
 function getStandardImage(){
-	$date = new DateTime('now');
-	$date->add(new DateInterval('P10D'));
-	header('Expires: '.$date->format(DateTime::RFC2822));
+	OC_Response::setExpiresHeader('P10D');
 	OC_Response::enableCaching();
 	OC_Response::redirect(OC_Helper::imagePath('contacts', 'person.png'));
 }
diff --git a/lib/response.php b/lib/response.php
index 5f095a0affd..7733168b5b9 100644
--- a/lib/response.php
+++ b/lib/response.php
@@ -42,6 +42,18 @@ class OC_Response {
 		header('Location: '.$location);
 	}
 
+	static public function setExpiresHeader($expires) {
+		if (is_string($expires) && $expires[0] == 'P') {
+			$interval = $expires;
+			$expires = new DateTime('now');
+			$expires->add(new DateInterval(expires));
+		}
+		if ($expires instanceof DateTime) {
+			$expires = $expires->format(DateTime::RFC2822);
+		}
+		header('Expires: '.expires);
+	}
+
 	static public function setETagHeader($etag) {
 		if (empty($etag)) {
 			return;
-- 
cgit v1.2.3