OC_Response: add redirect function

This commit is contained in:
Bart Visscher 2012-02-12 20:38:06 +01:00
parent ee7931f457
commit 45bb6f5fd4
2 changed files with 22 additions and 5 deletions

View File

@ -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')) {

View File

@ -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
}
header($_SERVER["SERVER_PROTOCOL"].' '.$status);
case self::STATUS_FOUND;
$status = $status . ' Found';
break;
}
header($protocol.' '.$status);
}
static public function redirect($location) {
self::setStatus(self::STATUS_TEMPORARY_REDIRECT);
header('Location: '.$location);
}
static public function setETagHeader($etag) {