Contacts: Clear cache for contact photo and thumbnail when it has been changed.

This commit is contained in:
Thomas Tanghus 2012-04-22 20:38:17 +02:00
parent 1bba445642
commit 8a6cb23170
3 changed files with 11 additions and 3 deletions

View file

@ -94,6 +94,8 @@ if(file_exists($tmp_path)) {
OC_Log::write('contacts','savecrop.php: files: Adding PHOTO property.', OC_Log::DEBUG); OC_Log::write('contacts','savecrop.php: files: Adding PHOTO property.', OC_Log::DEBUG);
$card->addProperty('PHOTO', $image->__toString(), array('ENCODING' => 'b', 'TYPE' => $image->mimeType())); $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)) { if(!OC_Contacts_VCard::edit($id,$card)) {
bailOut('Error saving contact.'); bailOut('Error saving contact.');
} }

View file

@ -19,7 +19,12 @@ function getStandardImage(){
OC_Response::redirect(OC_Helper::imagePath('contacts', 'person_large.png')); 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); $contact = OC_Contacts_App::getContactVCard($id);
$image = new OC_Image(); $image = new OC_Image();
@ -30,7 +35,7 @@ if(!$image) {
if( is_null($contact)) { if( is_null($contact)) {
OC_Log::write('contacts','photo.php. The VCard for ID '.$id.' is not RFC compatible',OC_Log::ERROR); OC_Log::write('contacts','photo.php. The VCard for ID '.$id.' is not RFC compatible',OC_Log::ERROR);
} else { } else {
OC_Response::enableCaching(); OC_Response::enableCaching($caching);
OC_Contacts_App::setLastModifiedHeader($contact); OC_Contacts_App::setLastModifiedHeader($contact);
// Photo :-) // Photo :-)

View file

@ -39,6 +39,7 @@ if(!function_exists('imagecreatefromjpeg')) {
} }
$id = $_GET['id']; $id = $_GET['id'];
$caching = isset($_GET['refresh']) ? 0 : null;
$contact = OC_Contacts_App::getContactVCard($id); $contact = OC_Contacts_App::getContactVCard($id);
@ -48,7 +49,7 @@ if(is_null($contact)){
getStandardImage(); getStandardImage();
exit(); exit();
} }
OC_Response::enableCaching(); OC_Response::enableCaching($caching);
OC_Contacts_App::setLastModifiedHeader($contact); OC_Contacts_App::setLastModifiedHeader($contact);
$thumbnail_size = 23; $thumbnail_size = 23;