]> git.mxchange.org Git - friendica.git/blobdiff - boot.php
Merge pull request #351 from annando/master
[friendica.git] / boot.php
index 70dd1c4268c8053a73845a6d55279d2d38f90416..be47184aa254e541c5c52c104f88a162b622c814 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -4,12 +4,13 @@ require_once('include/config.php');
 require_once('include/network.php');
 require_once('include/plugin.php');
 require_once('include/text.php');
+require_once('include/datetime.php');
 require_once('include/pgettext.php');
 require_once('include/nav.php');
 require_once('include/cache.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '3.0.1371' );
+define ( 'FRIENDICA_VERSION',      '3.0.1382' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
 define ( 'DB_UPDATE_VERSION',      1149      );
 
@@ -76,14 +77,6 @@ define ( 'CONTACT_IS_SHARING',  2);
 define ( 'CONTACT_IS_FRIEND',   3);
 
 
-/**
- * Hook array order
- */
-
-define ( 'HOOK_HOOK',      0);
-define ( 'HOOK_FILE',      1);
-define ( 'HOOK_FUNCTION',  2);
-
 /**
  * DB update return values
  */
@@ -331,8 +324,17 @@ if(! class_exists('App')) {
                private $curl_code;
                private $curl_headers;
 
+               private $cached_profile_image;
+               private $cached_profile_picdate;
+                                                       
                function __construct() {
 
+                       global $default_timezone;
+
+                       $this->timezone = ((x($default_timezone)) ? $default_timezone : 'UTC');
+
+                       date_default_timezone_set($this->timezone);
+
                        $this->config = array();
                        $this->page = array();
                        $this->pager= array();
@@ -407,9 +409,6 @@ if(! class_exists('App')) {
                        $this->argc = count($this->argv);
                        if((array_key_exists('0',$this->argv)) && strlen($this->argv[0])) {
                                $this->module = str_replace(".", "_", $this->argv[0]);
-                               if(array_key_exists('2',$this->argv)) {
-                                       $this->category = $this->argv[2];
-                               }
                        }
                        else {
                                $this->argc = 1;
@@ -539,6 +538,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];
+               }
+
 
        }
 }
@@ -1126,9 +1147,9 @@ if(! function_exists('profile_sidebar')) {
                        'fullname' => $profile['name'],
                        'firstname' => $firstname,
                        'lastname' => $lastname,
-                       'photo300' => $a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg',
-                       'photo100' => $a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg',
-                       'photo50' => $a->get_baseurl() . '/photo/custom/50/'  . $profile['uid'] . '.jpg',
+                       'photo300' => $a->get_cached_avatar_image($a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg'),
+                       'photo100' => $a->get_cached_avatar_image($a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg'),
+                       'photo50' => $a->get_cached_avatar_image($a->get_baseurl() . '/photo/custom/50/'  . $profile['uid'] . '.jpg'),
                );
 
                if (!$block){
@@ -1363,7 +1384,7 @@ if(! function_exists('proc_run')) {
 
 if(! function_exists('current_theme')) {
        function current_theme(){
-               $app_base_themes = array('duepuntozero', 'loozah');
+               $app_base_themes = array('duepuntozero', 'dispy', 'quattro');
        
                $a = get_app();
        
@@ -1381,7 +1402,7 @@ if(! function_exists('current_theme')) {
                                return($t);
                }
        
-               $fallback = glob('view/theme/*/style.[css|php]');
+               $fallback = array_merge(glob('view/theme/*/style.css'),glob('view/theme/*/style.php'));
                if(count($fallback))
                        return (str_replace('view/theme/','', substr($fallback[0],0,-10)));
        
@@ -1573,3 +1594,30 @@ function zrl($s,$force = false) {
                return $s . $achar . 'zrl=' . urlencode($mine);
        return $s;
 }
+
+/**
+* returns querystring as string from a mapped array
+*
+* @param params Array 
+* @return string
+*/
+function build_querystring($params, $name=null) { 
+    $ret = ""; 
+    foreach($params as $key=>$val) {
+        if(is_array($val)) { 
+            if($name==null) {
+                $ret .= build_querystring($val, $key); 
+            } else {
+                $ret .= build_querystring($val, $name."[$key]");    
+            }
+        } else {
+            $val = urlencode($val);
+            if($name!=null) {
+                $ret.=$name."[$key]"."=$val&"; 
+            } else {
+                $ret.= "$key=$val&"; 
+            }
+        } 
+    } 
+    return $ret;    
+}