]> 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 76a11652d1aebf50189fb2b418e44c28249467b3..7e76f332a977bd7029cddc90e867edcf43a6b9f3 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -8,9 +8,10 @@ require_once('include/datetime.php');
 require_once('include/pgettext.php');
 require_once('include/nav.php');
 require_once('include/cache.php');
+require_once('library/Mobile_Detect/Mobile_Detect.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '3.0.1413' );
+define ( 'FRIENDICA_VERSION',      '3.0.1444' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
 define ( 'DB_UPDATE_VERSION',      1154      );
 
@@ -252,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' );
@@ -353,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;
@@ -559,7 +574,7 @@ if(! class_exists('App')) {
                                $interval = 40000;
 
                        $this->page['title'] = $this->config['sitename'];
-                       $tpl = file_get_contents('view/head.tpl');
+                       $tpl = get_markup_template('head.tpl');
                        $this->page['htmlhead'] = replace_macros($tpl,array(
                                '$baseurl' => $this->get_baseurl(), // FIXME for z_path!!!!
                                '$local_user' => local_user(),
@@ -572,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;
                }
@@ -714,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);
@@ -879,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;
                }
@@ -1243,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');
 
@@ -1322,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');
 
@@ -1433,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));
        }
 }
 
@@ -1443,9 +1489,18 @@ if(! function_exists('current_theme')) {
        
                $a = get_app();
        
-               $system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : '');
-               $theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme);
+               $mobile_detect = new Mobile_Detect();
+               $is_mobile = $mobile_detect->isMobile() || $mobile_detect->isTablet();
        
+               if($is_mobile) {
+                       $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);
+               }
+               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')))
@@ -1581,18 +1636,21 @@ if(! function_exists('profile_tabs')){
                                'url' => $url,
                                'sel' => ((!isset($tab)&&$a->argv[0]=='profile')?'active':''),
                                'title' => t('Status Messages and Posts'),
+                               'id' => 'status-tab',
                        ),
                        array(
                                'label' => t('Profile'),
                                'url'   => $url.'/?tab=profile',
                                'sel'   => ((isset($tab) && $tab=='profile')?'active':''),
                                'title' => t('Profile Details'),
+                               'id' => 'profile-tab',
                        ),
                        array(
                                'label' => t('Photos'),
                                'url'   => $a->get_baseurl() . '/photos/' . $nickname,
                                'sel'   => ((!isset($tab)&&$a->argv[0]=='photos')?'active':''),
                                'title' => t('Photo Albums'),
+                               'id' => 'photo-tab',
                        ),
                );
        
@@ -1602,12 +1660,14 @@ if(! function_exists('profile_tabs')){
                                'url'   => $a->get_baseurl() . '/events',
                                'sel'   =>((!isset($tab)&&$a->argv[0]=='events')?'active':''),
                                'title' => t('Events and Calendar'),
+                               'id' => 'events-tab',
                        );
                        $tabs[] = array(
                                'label' => t('Personal Notes'),
                                'url'   => $a->get_baseurl() . '/notes',
                                'sel'   =>((!isset($tab)&&$a->argv[0]=='notes')?'active':''),
                                'title' => t('Only You Can See This'),
+                               'id' => 'notes-tab',
                        );
                }