X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=boot.php;h=1c7a1570526cfb88f5c4b19012d30ae31fed0f2b;hb=894dfde122639cbcb90e4a07143fbe2f1d5c124a;hp=2b9b209b4dce83b607b5ac3b8cb4b6c0dad889c6;hpb=cb6c1f91b7b2b30c3d9e9f4e6c97b0704361a1f3;p=friendica.git
diff --git a/boot.php b/boot.php
index 2b9b209b4d..1c7a157052 100644
--- a/boot.php
+++ b/boot.php
@@ -4,9 +4,9 @@ set_time_limit(0);
ini_set('pcre.backtrack_limit', 250000);
-define ( 'FRIENDIKA_VERSION', '2.2.975' );
+define ( 'FRIENDIKA_VERSION', '2.2.1005' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
-define ( 'DB_UPDATE_VERSION', 1054 );
+define ( 'DB_UPDATE_VERSION', 1063 );
define ( 'EOL', "
\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@@ -378,9 +378,9 @@ class App {
function init_pagehead() {
$this->page['title'] = $this->config['sitename'];
- $tpl = load_view_file('view/head.tpl');
+ $tpl = file_get_contents('view/head.tpl');
$this->page['htmlhead'] = replace_macros($tpl,array(
- '$baseurl' => $this->get_baseurl() . '/',
+ '$baseurl' => $this->get_baseurl(),
'$generator' => 'Friendika' . ' ' . FRIENDIKA_VERSION,
'$delitem' => t('Delete this item?'),
'$comment' => t('Comment')
@@ -481,17 +481,26 @@ function check_config(&$a) {
$stored = intval($build);
$current = intval(DB_UPDATE_VERSION);
if(($stored < $current) && file_exists('update.php')) {
+
// We're reporting a different version than what is currently installed.
// Run any existing update scripts to bring the database up to current.
require_once('update.php');
- for($x = $stored; $x < $current; $x ++) {
- if(function_exists('update_' . $x)) {
- $func = 'update_' . $x;
- $func($a);
+
+ // make sure that boot.php and update.php are the same release, we might be
+ // updating right this very second and the correct version of the update.php
+ // file may not be here yet. This can happen on a very busy site.
+
+ if(DB_UPDATE_VERSION == UPDATE_VERSION) {
+
+ for($x = $stored; $x < $current; $x ++) {
+ if(function_exists('update_' . $x)) {
+ $func = 'update_' . $x;
+ $func($a);
+ }
}
+ set_config('system','build', DB_UPDATE_VERSION);
}
- set_config('system','build', DB_UPDATE_VERSION);
}
}
@@ -682,7 +691,7 @@ function fetch_url($url,$binary = false, &$redirects = 0) {
$s = substr($s,strlen($header)+4);
$header = substr($s,0,strpos($s,"\r\n\r\n"));
}
- if($http_code == 301 || $http_code == 302 || $http_code == 303) {
+ if($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) {
$matches = array();
preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches);
$url = trim(array_pop($matches));
@@ -828,7 +837,7 @@ function escape_tags($string) {
if(! function_exists('login')) {
function login($register = false) {
$o = "";
- $register_tpl = (($register) ? load_view_file("view/register-link.tpl") : "");
+ $register_tpl = (($register) ? get_markup_template("register-link.tpl") : "");
$register_html = replace_macros($register_tpl,array(
'$title' => t('Create a New Account'),
@@ -852,10 +861,10 @@ function login($register = false) {
$lostlink = t('Password Reset');
if(local_user()) {
- $tpl = load_view_file("view/logout.tpl");
+ $tpl = get_markup_template("logout.tpl");
}
else {
- $tpl = load_view_file("view/login.tpl");
+ $tpl = get_markup_template("login.tpl");
}
@@ -1007,6 +1016,13 @@ function notice($s) {
if($a->interactive)
$_SESSION['sysmsg'] .= $s;
}}
+if(! function_exists('info')) {
+function info($s) {
+ $a = get_app();
+ if($a->interactive)
+ $_SESSION['sysmsg_info'] .= $s;
+}}
+
// wrapper around config to limit the text length of an incoming message
@@ -1508,6 +1524,8 @@ function lrdd($uri) {
logger('lrdd: host_meta: ' . $xml, LOGGER_DATA);
$h = parse_xml_string($xml);
+ if(! $h)
+ return array();
$arr = convert_xml_element_to_array($h);
@@ -1672,6 +1690,9 @@ function fetch_xrd_links($url) {
logger('fetch_xrd_links: ' . $xml, LOGGER_DATA);
$h = parse_xml_string($xml);
+ if(! $h)
+ return array();
+
$arr = convert_xml_element_to_array($h);
$links = array();
@@ -1864,6 +1885,8 @@ function allowed_email($email) {
// wrapper to load a view template, checking for alternate
// languages before falling back to the default
+// obsolete, deprecated.
+
if(! function_exists('load_view_file')) {
function load_view_file($s) {
global $lang, $a;
@@ -1882,6 +1905,37 @@ function load_view_file($s) {
return file_get_contents($s);
}}
+if(! function_exists('get_intltext_template')) {
+function get_intltext_template($s) {
+ global $lang;
+
+ if(! isset($lang))
+ $lang = 'en';
+
+ if(file_exists("view/$lang/$s"))
+ return file_get_contents("view/$lang/$s");
+ elseif(file_exists("view/en/$s"))
+ return file_get_contents("view/en/$s");
+ else
+ return file_get_contents("view/$s");
+}}
+
+if(! function_exists('get_markup_template')) {
+function get_markup_template($s) {
+
+ $theme = current_theme();
+
+ if(file_exists("view/theme/$theme/$s"))
+ return file_get_contents("view/theme/$theme/$s");
+ else
+ return file_get_contents("view/$s");
+
+}}
+
+
+
+
+
// for html,xml parsing - let's say you've got
// an attribute foobar="class1 class2 class3"
// and you want to find out if it contains 'class3'.
@@ -1938,15 +1992,15 @@ function get_tags($s) {
$s = preg_replace('/\[code\](.*?)\[\/code\]/sm','',$s);
if(preg_match_all('/([@#][^ \x0D\x0A,:?]+)([ \x0D\x0A,:?]|$)/',$s,$match)) {
- foreach($match[1] as $match) {
- if(strstr($match,"]")) {
+ foreach($match[1] as $mtch) {
+ if(strstr($mtch,"]")) {
// we might be inside a bbcode color tag - leave it alone
continue;
}
- if(substr($match,-1,1) === '.')
- $ret[] = substr($match,0,-1);
+ if(substr($mtch,-1,1) === '.')
+ $ret[] = substr($mtch,0,-1);
else
- $ret[] = $match;
+ $ret[] = $mtch;
}
}
@@ -2023,7 +2077,7 @@ function contact_block() {
}}
if(! function_exists('micropro')) {
-function micropro($contact, $redirect = false, $class = '') {
+function micropro($contact, $redirect = false, $class = '', $textmode = false) {
if($class)
$class = ' ' . $class;
@@ -2042,20 +2096,29 @@ function micropro($contact, $redirect = false, $class = '') {
$click = ((x($contact,'click')) ? ' onclick="' . $contact['click'] . '" ' : '');
if($click)
$url = '';
- return '