aboutsummaryrefslogtreecommitdiffstats
path: root/boot.php
diff options
context:
space:
mode:
authorZvi ben Yaakov (a.k.a rdc) <coderzvi@infosoc.net>2012-06-18 21:12:13 +0300
committerZvi ben Yaakov (a.k.a rdc) <coderzvi@infosoc.net>2012-06-18 21:12:13 +0300
commit358ffaef24e961dc6afd61090e86be1921106ca2 (patch)
tree2a08a70f155b9fc73c2d85ef61d17c1b8634af3f /boot.php
parentd61408958218c3842906b70e38865c5cbdf0e29c (diff)
downloadvolse-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
Diffstat (limited to 'boot.php')
-rw-r--r--boot.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/boot.php b/boot.php
index 06f18b784..465bdf0c1 100644
--- a/boot.php
+++ b/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];
+ }
+
}
}