]> git.mxchange.org Git - friendica.git/blobdiff - boot.php
NL: update to the strings
[friendica.git] / boot.php
index 32af5046777fb95abe49d528fc13288bebfd7cd5..4b2439d929f51ed91f5bb7992864b9779ae113ea 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -12,7 +12,7 @@ require_once('library/Mobile_Detect/Mobile_Detect.php');
 require_once('include/features.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '3.1.1659' );
+define ( 'FRIENDICA_VERSION',      '3.1.1743' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
 define ( 'DB_UPDATE_VERSION',      1163      );
 define ( 'EOL',                    "<br />\r\n"     );
@@ -383,8 +383,13 @@ if(! class_exists('App')) {
                        'force_max_items' => 0,
                        'thread_allow' => true,
                        'stylesheet' => '',
-                       'template_engine' => 'internal',
+                       'template_engine' => 'smarty3',
                );
+               
+               // array of registered template engines ('name'=>'class name')
+               public $template_engines = array();
+               // array of instanced template engines ('name'=>'instance')
+               public $template_engine_instance = array();
 
                private $ldelim = array(
                        'internal' => '',
@@ -418,6 +423,7 @@ if(! class_exists('App')) {
                        $this->performance["start"] = microtime(true);
                        $this->performance["database"] = 0;
                        $this->performance["network"] = 0;
+                       $this->performance["file"] = 0;
                        $this->performance["rendering"] = 0;
                        $this->performance["parser"] = 0;
                        $this->performance["marktime"] = 0;
@@ -431,6 +437,14 @@ if(! class_exists('App')) {
 
                        startup();
 
+                       set_include_path(
+                                       'include' . PATH_SEPARATOR
+                                       . 'library' . PATH_SEPARATOR
+                                       . 'library/phpsec' . PATH_SEPARATOR
+                                       . 'library/langdet' . PATH_SEPARATOR
+                                       . '.' );
+
+
                        $this->scheme = 'http';
                        if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS'])
                                $this->scheme = 'https';
@@ -465,15 +479,8 @@ if(! class_exists('App')) {
                                $argc --;
                        }
 
-                       set_include_path(
-                                       "include/$this->hostname" . PATH_SEPARATOR
-                                       . 'include' . PATH_SEPARATOR
-                                       . 'library' . PATH_SEPARATOR
-                                       . 'library/phpsec' . PATH_SEPARATOR
-                                       . 'library/langdet' . PATH_SEPARATOR
-                                       . '.' );
+                       set_include_path("include/$this->hostname" . PATH_SEPARATOR . get_include_path());
             
-
                        if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") {
                                $this->query_string = substr($_SERVER['QUERY_STRING'],2);
                                // removing trailing / - maybe a nginx problem
@@ -539,6 +546,17 @@ if(! class_exists('App')) {
                        $mobile_detect = new Mobile_Detect();
                        $this->is_mobile = $mobile_detect->isMobile();
                        $this->is_tablet = $mobile_detect->isTablet();
+                       
+                       /**
+                        * register template engines
+                        */
+                       $dc = get_declared_classes();
+                       foreach ($dc as $k) {
+                               if (in_array("ITemplateEngine", class_implements($k))){
+                                       $this->register_template_engine($k);
+                               }
+                       }
+                       
                }
 
                function get_basepath() {
@@ -617,7 +635,11 @@ if(! class_exists('App')) {
                function set_pager_itemspage($n) {
                        $this->pager['itemspage'] = ((intval($n) > 0) ? intval($n) : 0);
                        $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
-
+               }
+               
+               function set_pager_page($n) {
+                       $this->pager['page'] = $n;
+                       $this->pager['start'] = ($this->pager['page'] * $this->pager['itemspage']) - $this->pager['itemspage'];
                }
 
                function init_pagehead() {
@@ -712,13 +734,64 @@ if(! class_exists('App')) {
                        return $this->cached_profile_image[$avatar_image];
                }
 
+
+               /**
+                * register template engine class
+                * if $name is "", is used class static property $class::$name
+                * @param string $class
+                * @param string $name
+                */
+               function register_template_engine($class, $name = '') {
+                       if ($name===""){
+                               $v = get_class_vars( $class );
+                               if(x($v,"name")) $name = $v['name'];
+                       }
+                       if ($name===""){
+                               echo "template engine <tt>$class</tt> cannot be registered without a name.\n";
+                               killme(); 
+                       }
+                       $this->template_engines[$name] = $class;
+               }
+
+               /**
+                * return template engine instance. If $name is not defined,
+                * return engine defined by theme, or default
+                * 
+                * @param strin $name Template engine name
+                * @return object Template Engine instance
+                */
+               function template_engine($name = ''){
+                       if ($name!=="") {
+                               $template_engine = $name;
+                       } else {
+                               $template_engine = 'smarty3';
+                               if (x($this->theme, 'template_engine')) {
+                                       $template_engine = $this->theme['template_engine'];
+                               }
+                       }
+                       
+                       if (isset($this->template_engines[$template_engine])){
+                               if(isset($this->template_engine_instance[$template_engine])){
+                                       return $this->template_engine_instance[$template_engine];
+                               } else {
+                                       $class = $this->template_engines[$template_engine];
+                                       $obj = new $class;
+                                       $this->template_engine_instance[$template_engine] = $obj;
+                                       return $obj;
+                               }
+                       }
+                       
+                       echo "template engine <tt>$template_engine</tt> is not registered!\n"; killme();
+               }
+
                function get_template_engine() {
                        return $this->theme['template_engine'];
                }
 
-               function set_template_engine($engine = 'internal') {
-
-                       $this->theme['template_engine'] = 'internal';
+               function set_template_engine($engine = 'smarty3') {
+                       $this->theme['template_engine'] = $engine;
+                       /*
+                       $this->theme['template_engine'] = 'smarty3';
 
                        switch($engine) {
                                case 'smarty3':
@@ -728,13 +801,14 @@ if(! class_exists('App')) {
                                default:
                                        break;
                        }
+                       */
                }
 
-               function get_template_ldelim($engine = 'internal') {
+               function get_template_ldelim($engine = 'smarty3') {
                        return $this->ldelim[$engine];
                }
 
-               function get_template_rdelim($engine = 'internal') {
+               function get_template_rdelim($engine = 'smarty3') {
                        return $this->rdelim[$engine];
                }
 
@@ -1887,6 +1961,13 @@ if(! function_exists('profile_tabs')){
                                'title' => t('Photo Albums'),
                                'id' => 'photo-tab',
                        ),
+                       array(
+                               'label' => t('Videos'),
+                               'url'   => $a->get_baseurl() . '/videos/' . $nickname,
+                               'sel'   => ((!isset($tab)&&$a->argv[0]=='videos')?'active':''),
+                               'title' => t('Videos'),
+                               'id' => 'video-tab',
+                       ),
                );
        
                if ($is_owner){
@@ -2030,10 +2111,7 @@ function random_digits($digits) {
 function get_cachefile($file, $writemode = true) {
        $cache = get_config("system","itemcache");
 
-       if ($cache == "")
-               return("");
-
-       if (!is_dir($cache))
+       if ((! $cache) || (! is_dir($cache)))
                return("");
 
        $subfolder = $cache."/".substr($file, 0, 2);