From: Thomas Tanghus Date: Sun, 22 Apr 2012 18:38:17 +0000 (+0200) Subject: Contacts: Clear cache for contact photo and thumbnail when it has been changed. X-Git-Tag: v4.0.0beta~227 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8a6cb23170b95336770bc4dcd6d58583de82815e;p=nextcloud-server.git Contacts: Clear cache for contact photo and thumbnail when it has been changed. --- diff --git a/apps/contacts/ajax/savecrop.php b/apps/contacts/ajax/savecrop.php index 73ac521e04b..d003834ef8c 100644 --- a/apps/contacts/ajax/savecrop.php +++ b/apps/contacts/ajax/savecrop.php @@ -94,6 +94,8 @@ if(file_exists($tmp_path)) { OC_Log::write('contacts','savecrop.php: files: Adding PHOTO property.', OC_Log::DEBUG); $card->addProperty('PHOTO', $image->__toString(), array('ENCODING' => 'b', 'TYPE' => $image->mimeType())); } + $now = new DateTime; + $card->setString('REV', $now->format(DateTime::W3C)); if(!OC_Contacts_VCard::edit($id,$card)) { bailOut('Error saving contact.'); } diff --git a/apps/contacts/photo.php b/apps/contacts/photo.php index 298f1215e3c..117d0a9808f 100644 --- a/apps/contacts/photo.php +++ b/apps/contacts/photo.php @@ -19,7 +19,12 @@ function getStandardImage(){ OC_Response::redirect(OC_Helper::imagePath('contacts', 'person_large.png')); } -$id = $_GET['id']; +$id = isset($_GET['id']) ? $_GET['id'] : null; +$caching = isset($_GET['refresh']) ? 0 : null; + +if(is_null($id)) { + getStandardImage(); +} $contact = OC_Contacts_App::getContactVCard($id); $image = new OC_Image(); @@ -30,7 +35,7 @@ if(!$image) { if( is_null($contact)) { OC_Log::write('contacts','photo.php. The VCard for ID '.$id.' is not RFC compatible',OC_Log::ERROR); } else { - OC_Response::enableCaching(); + OC_Response::enableCaching($caching); OC_Contacts_App::setLastModifiedHeader($contact); // Photo :-) diff --git a/apps/contacts/thumbnail.php b/apps/contacts/thumbnail.php index 5082626499b..28b8eba22c9 100644 --- a/apps/contacts/thumbnail.php +++ b/apps/contacts/thumbnail.php @@ -39,6 +39,7 @@ if(!function_exists('imagecreatefromjpeg')) { } $id = $_GET['id']; +$caching = isset($_GET['refresh']) ? 0 : null; $contact = OC_Contacts_App::getContactVCard($id); @@ -48,7 +49,7 @@ if(is_null($contact)){ getStandardImage(); exit(); } -OC_Response::enableCaching(); +OC_Response::enableCaching($caching); OC_Contacts_App::setLastModifiedHeader($contact); $thumbnail_size = 23;