From 74c922328123fe40265e3f4e42a34feff057c0d6 Mon Sep 17 00:00:00 2001 From: kondou Date: Sun, 1 Sep 2013 21:17:48 +0200 Subject: [PATCH] Properly check for tmpavatar, invalidate cache, fix debug msgs --- core/avatar/controller.php | 17 ++++++++++++++--- lib/avatar.php | 3 ++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/core/avatar/controller.php b/core/avatar/controller.php index 249c4cb6e2..5044f3374c 100644 --- a/core/avatar/controller.php +++ b/core/avatar/controller.php @@ -28,6 +28,11 @@ class OC_Core_Avatar_Controller { $avatar = new \OC_Avatar(); $image = $avatar->get($user, $size); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); + header('Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT'); + header('Cache-Control: no-store, no-cache, must-revalidate'); + header('Cache-Control: post-check=0, pre-check=0', false); + header('Pragma: no-cache'); if ($image instanceof \OC_Image) { $image->show(); } elseif ($image === false) { @@ -99,12 +104,18 @@ class OC_Core_Avatar_Controller { $user = OC_User::getUser(); $tmpavatar = \OC_Cache::get('tmpavatar'); - if ($tmpavatar === false) { - \OC_JSON::error(); + if (is_null($tmpavatar)) { + $l = new \OC_L10n('core'); + \OC_JSON::error(array("data" => array("message" => $l->t("No temporary avatar available, try again")) )); return; } $image = new \OC_Image($tmpavatar); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); + header('Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT'); + header('Cache-Control: no-store, no-cache, must-revalidate'); + header('Cache-Control: post-check=0, pre-check=0', false); + header('Pragma: no-cache'); $image->show(); } @@ -119,7 +130,7 @@ class OC_Core_Avatar_Controller { } $tmpavatar = \OC_Cache::get('tmpavatar'); - if ($tmpavatar === false) { + if (is_null($tmpavatar)) { $l = new \OC_L10n('core'); \OC_JSON::error(array("data" => array("message" => $l->t("No temporary avatar available, try again")) )); return; diff --git a/lib/avatar.php b/lib/avatar.php index eb1f2e1829..5ecce050d2 100644 --- a/lib/avatar.php +++ b/lib/avatar.php @@ -28,7 +28,8 @@ class OC_Avatar { return false; } - $avatar = new OC_Image($view->file_get_contents('avatar.'.$ext)); + $avatar = new OC_Image(); + $avatar->loadFromData($view->file_get_contents('avatar.'.$ext)); $avatar->resize($size); return $avatar; }