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 );
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' );
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;
$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(),
));
}
+ 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;
}
// 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);
$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;
}
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');
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');
$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));
}
}
$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')))
'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',
),
);
'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',
);
}