Added get_cached_avatar_image to App class for shared profile image
access and reduced sql queries/load
This commit is contained in:
parent
d614089582
commit
358ffaef24
25
boot.php
25
boot.php
|
@ -332,6 +332,9 @@ if(! class_exists('App')) {
|
|||
private $curl_code;
|
||||
private $curl_headers;
|
||||
|
||||
private $cached_profile_image;
|
||||
private $cached_profile_picdate;
|
||||
|
||||
function __construct() {
|
||||
|
||||
global $default_timezone;
|
||||
|
@ -543,6 +546,28 @@ if(! class_exists('App')) {
|
|||
return $this->curl_headers;
|
||||
}
|
||||
|
||||
function get_cached_avatar_image($avatar_image){
|
||||
if($this->cached_profile_image[$avatar_image])
|
||||
return $this->cached_profile_image[$avatar_image];
|
||||
|
||||
$path_parts = explode("/",$avatar_image);
|
||||
$common_filename = $path_parts[count($path_parts)-1];
|
||||
|
||||
if($this->cached_profile_picdate[$common_filename]){
|
||||
$this->cached_profile_image[$avatar_image] = $avatar_image . $this->cached_profile_picdate[$common_filename];
|
||||
} else {
|
||||
$r = q("SELECT `contact`.`avatar-date` AS picdate FROM `contact` WHERE `contact`.`thumb` like \"%%/%s\"",
|
||||
$common_filename);
|
||||
if(! count($r)){
|
||||
$this->cached_profile_image[$avatar_image] = $avatar_image;
|
||||
} else {
|
||||
$this->cached_profile_picdate[$common_filename] = "?rev=" . urlencode($r[0]['picdate']);
|
||||
$this->cached_profile_image[$avatar_image] = $avatar_image . $this->cached_profile_picdate[$common_filename];
|
||||
}
|
||||
}
|
||||
return $this->cached_profile_image[$avatar_image];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue