aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2012-02-12 20:38:06 +0100
committerBart Visscher <bartv@thisnet.nl>2012-02-12 20:40:52 +0100
commit45bb6f5fd49cc5f86107176cf34f1b097698ed72 (patch)
treec962a0ef2c1f787787aabb4e07cb7a5f273864d7
parentee7931f457177d20f798b13911eb54fa92423f2f (diff)
downloadnextcloud-server-45bb6f5fd49cc5f86107176cf34f1b097698ed72.tar.gz
nextcloud-server-45bb6f5fd49cc5f86107176cf34f1b097698ed72.zip
OC_Response: add redirect function
-rw-r--r--apps/contacts/thumbnail.php6
-rw-r--r--lib/response.php21
2 files changed, 22 insertions, 5 deletions
diff --git a/apps/contacts/thumbnail.php b/apps/contacts/thumbnail.php
index d7043b75f04..9c68e0789b4 100644
--- a/apps/contacts/thumbnail.php
+++ b/apps/contacts/thumbnail.php
@@ -30,10 +30,8 @@ function getStandardImage(){
$date = new DateTime('now');
$date->add(new DateInterval('P10D'));
header('Expires: '.$date->format(DateTime::RFC2822));
- header('Cache-Control: cache');
- header('Pragma: cache');
- header("HTTP/1.1 307 Temporary Redirect");
- header('Location: '.OC_Helper::imagePath('contacts', 'person.png'));
+ OC_Response::enableCaching();
+ OC_Response::redirect(OC_Helper::imagePath('contacts', 'person.png'));
}
if(!function_exists('imagecreatefromjpeg')) {
diff --git a/lib/response.php b/lib/response.php
index c254ddd10e7..5f095a0affd 100644
--- a/lib/response.php
+++ b/lib/response.php
@@ -7,7 +7,9 @@
*/
class OC_Response {
+ const STATUS_FOUND = 304;
const STATUS_NOT_MODIFIED = 304;
+ const STATUS_TEMPORARY_REDIRECT = 307;
static public function enableCaching() {
header('Cache-Control: cache');
@@ -15,12 +17,29 @@ class OC_Response {
}
static public function setStatus($status) {
+ $protocol = $_SERVER['SERVER_PROTOCOL'];
switch($status) {
case self::STATUS_NOT_MODIFIED:
$status = $status . ' Not Modified';
break;
+ case self::STATUS_TEMPORARY_REDIRECT:
+ if ($protocol == 'HTTP/1.1') {
+ $status = $status . ' Temporary Redirect';
+ break;
+ } else {
+ $status = self::STATUS_FOUND;
+ // fallthrough
+ }
+ case self::STATUS_FOUND;
+ $status = $status . ' Found';
+ break;
}
- header($_SERVER["SERVER_PROTOCOL"].' '.$status);
+ header($protocol.' '.$status);
+ }
+
+ static public function redirect($location) {
+ self::setStatus(self::STATUS_TEMPORARY_REDIRECT);
+ header('Location: '.$location);
}
static public function setETagHeader($etag) {