diff options
author | Zvi ben Yaakov (a.k.a rdc) <coderzvi@infosoc.net> | 2012-06-18 21:12:13 +0300 |
---|---|---|
committer | Zvi ben Yaakov (a.k.a rdc) <coderzvi@infosoc.net> | 2012-06-18 21:12:13 +0300 |
commit | 358ffaef24e961dc6afd61090e86be1921106ca2 (patch) | |
tree | 2a08a70f155b9fc73c2d85ef61d17c1b8634af3f | |
parent | d61408958218c3842906b70e38865c5cbdf0e29c (diff) | |
download | volse-hubzilla-358ffaef24e961dc6afd61090e86be1921106ca2.tar.gz volse-hubzilla-358ffaef24e961dc6afd61090e86be1921106ca2.tar.bz2 volse-hubzilla-358ffaef24e961dc6afd61090e86be1921106ca2.zip |
Added get_cached_avatar_image to App class for shared profile image
access and reduced sql queries/load
-rw-r--r-- | boot.php | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -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]; + } + } } |