Optimizations and more aggressive caching.

This commit is contained in:
Thomas Tanghus 2012-01-19 18:28:17 +01:00
parent 5bd117dd6d
commit 137c630377
1 changed files with 10 additions and 15 deletions

View File

@ -22,22 +22,16 @@
// Init owncloud
require_once('../../lib/base.php');
OC_JSON::checkLoggedIn();
//OC_Util::checkLoggedIn();
//OC_JSON::checkLoggedIn();
OC_Util::checkLoggedIn();
OC_Util::checkAppEnabled('contacts');
if(!function_exists('imagecreatefromjpeg')) {
OC_Log::write('contacts','thumbnail.php. GD module not installed',OC_Log::DEBUG);
header('Content-Type: image/png');
// TODO: Check if it works to read the file and echo the content.
return 'img/person.png';
}
function getStandardImage(){
$date = new DateTime('now');
$date->add(new DateInterval('P10D'));
header('Expires: '.$date->format(DateTime::RFC850));
header('Cache-Control: cache');
header('Pragma: cache');
header('Location: '.OC_Helper::imagePath('contacts', 'person.png'));
exit();
// $src_img = imagecreatefrompng('img/person.png');
@ -46,6 +40,11 @@ function getStandardImage(){
// imagedestroy($src_img);
}
if(!function_exists('imagecreatefromjpeg')) {
OC_Log::write('contacts','thumbnail.php. GD module not installed',OC_Log::DEBUG);
getStandardImage();
exit();
}
$id = $_GET['id'];
@ -76,18 +75,14 @@ if( is_null($content)){
$thumbnail_size = 23;
// Finf the photo from VCard.
// Find the photo from VCard.
foreach($content->children as $child){
if($child->name == 'PHOTO'){
foreach($child->parameters as $parameter){
if( $parameter->name == 'TYPE' ){
$mime = $parameter->value;
}
}
$image = new OC_Image();
if($image->loadFromBase64($child->value)) {
if($image->centerCrop()) {
if($image->resize($thumbnail_size)) {
header('ETag: '.md5($child->value));
if(!$image()) {
OC_Log::write('contacts','thumbnail.php. Couldn\'t display thumbnail for ID '.$id,OC_Log::ERROR);
getStandardImage();