]> git.mxchange.org Git - friendica.git/blobdiff - boot.php
Merge pull request #442 from fermionic/frost-image-upload-and-post-local-time
[friendica.git] / boot.php
index 773e2d9660f7be3b6e21162b94dcf3d713b57246..7e76f332a977bd7029cddc90e867edcf43a6b9f3 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -11,7 +11,7 @@ require_once('include/cache.php');
 require_once('library/Mobile_Detect/Mobile_Detect.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '3.0.1412' );
+define ( 'FRIENDICA_VERSION',      '3.0.1444' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
 define ( 'DB_UPDATE_VERSION',      1154      );
 
@@ -253,6 +253,7 @@ define ( 'ACTIVITY_TAG',         NAMESPACE_ACTIVITY_SCHEMA . 'tag' );
 define ( 'ACTIVITY_FAVORITE',    NAMESPACE_ACTIVITY_SCHEMA . 'favorite' );
 
 define ( 'ACTIVITY_POKE',        NAMESPACE_ZOT . '/activity/poke' );
+define ( 'ACTIVITY_MOOD',        NAMESPACE_ZOT . '/activity/mood' );
 
 define ( 'ACTIVITY_OBJ_COMMENT', NAMESPACE_ACTIVITY_SCHEMA . 'comment' );
 define ( 'ACTIVITY_OBJ_NOTE',    NAMESPACE_ACTIVITY_SCHEMA . 'note' );
@@ -354,6 +355,19 @@ if(! class_exists('App')) {
 
                public $category;
 
+               // Allow themes to control internal parameters
+               // by changing App values in theme.php
+               //
+               // Possibly should make these part of the plugin
+               // system, but it seems like overkill to invoke
+               // all the plugin machinery just to change a couple
+               // of values
+               public  $sourcename = '';
+               public  $videowidth = 425;
+               public  $videoheight = 350;
+               public  $force_max_items = 0;
+               public  $theme_thread_allow = true;
+
                private $scheme;
                private $hostname;
                private $baseurl;
@@ -573,6 +587,13 @@ if(! class_exists('App')) {
                        ));
                }
 
+               function init_page_end() {
+                       $tpl = get_markup_template('end.tpl');
+                       $this->page['end'] = replace_macros($tpl,array(
+                               '$baseurl' => $this->get_baseurl() // FIXME for z_path!!!!
+                       ));
+               }
+
                function set_curl_code($code) {
                        $this->curl_code = $code;
                }
@@ -715,10 +736,14 @@ if(! function_exists('check_config')) {
                // than the currently visited url, store the current value accordingly.
                // "Radically different" ignores common variations such as http vs https
                // and www.example.com vs example.com.
+               // We will only change the url to an ip address if there is no existing setting
 
-               if((! x($url)) || (! link_compare($url,$a->get_baseurl())))
+               if(! x($url))
+                       $url = set_config('system','url',$a->get_baseurl());
+               if((! link_compare($url,$a->get_baseurl())) && (! preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$a->get_hostname)))
                        $url = set_config('system','url',$a->get_baseurl());
 
+
                if($build != DB_UPDATE_VERSION) {
                        $stored = intval($build);
                        $current = intval(DB_UPDATE_VERSION);
@@ -748,9 +773,10 @@ if(! function_exists('check_config')) {
                                                        // If the update fails or times-out completely you may need to
                                                        // delete the config entry to try again.
 
-                                                       if(get_config('database','update_' . $x))
+                                                       $t = get_config('database','update_' . $x);
+                                                       if($t !== false)
                                                                break;
-                                                       set_config('database','update_' . $x, '1');
+                                                       set_config('database','update_' . $x, time());
 
                                                        // call the specific update
 
@@ -773,13 +799,14 @@ if(! function_exists('check_config')) {
                                                                        . 'Content-transfer-encoding: 8bit' );
                                                                //try the logger
                                                                logger('CRITICAL: Update Failed: '. $x);
+                                                               break;
                                                        }
-                                                       else
+                                                       else {
                                                                set_config('database','update_' . $x, 'success');
-                                                               
+                                                               set_config('system','build', $x + 1);
+                                                       }                                                               
                                                }
                                        }
-                                       set_config('system','build', DB_UPDATE_VERSION);
                                }
                        }
                }
@@ -878,6 +905,10 @@ if(! function_exists('login')) {
                        $tpl = get_markup_template("logout.tpl");
                }
                else {
+                       $a->page['htmlhead'] .= replace_macros(get_markup_template("login_head.tpl"),array(
+                               '$baseurl'              => $a->get_baseurl(true)
+                       ));
+
                        $tpl = get_markup_template("login.tpl");
                        $_SESSION['return_url'] = $a->query_string;
                }
@@ -1242,6 +1273,12 @@ if(! function_exists('get_birthdays')) {
                if(! local_user())
                        return $o;
 
+               $mobile_detect = new Mobile_Detect();
+               $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
+
+               if($is_mobile)
+                       return $o;
+
                $bd_format = t('g A l F d') ; // 8 AM Friday January 18
                $bd_short = t('F d');
 
@@ -1321,6 +1358,13 @@ if(! function_exists('get_events')) {
                if(! local_user())
                        return $o;
 
+
+               $mobile_detect = new Mobile_Detect();
+               $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
+
+               if($is_mobile)
+                       return $o;
+
                $bd_format = t('g A l F d') ; // 8 AM Friday January 18
                $bd_short = t('F d');
 
@@ -1432,7 +1476,10 @@ if(! function_exists('proc_run')) {
                        $args[$x] = escapeshellarg($args[$x]);
 
                $cmdline = implode($args," ");
-               proc_close(proc_open($cmdline." &",array(),$foo));
+               if(get_config('system','proc_windows'))
+                       proc_close(proc_open('start /b ' . $cmdline,array(),$foo));
+               else
+                       proc_close(proc_open($cmdline." &",array(),$foo));
        }
 }
 
@@ -1449,11 +1496,11 @@ if(! function_exists('current_theme')) {
                        $system_theme = ((isset($a->config['system']['mobile-theme'])) ? $a->config['system']['mobile-theme'] : '');
                        $theme_name = ((isset($_SESSION) && x($_SESSION,'mobile-theme')) ? $_SESSION['mobile-theme'] : $system_theme);
                }
-               else {
+               if(!$is_mobile || ($system_theme === '' && $theme_name === '')) {
                        $system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : '');
                        $theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme);
                }
-       
+
                if($theme_name &&
                                (file_exists('view/theme/' . $theme_name . '/style.css') ||
                                                file_exists('view/theme/' . $theme_name . '/style.php')))