]> git.mxchange.org Git - friendica.git/blobdiff - boot.php
Merge pull request #4607 from annando/dfrn-relationship
[friendica.git] / boot.php
index c996d06e3979cf9023084bed0ba3f1c6d2d41c65..caf645c0486c80521d7c31964d2d5f7a4b2acf25 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * @file boot.php
+ * @file_tag_unsave_file boot.php
  * This file defines some global constants and includes the central App class.
  */
 
@@ -23,22 +23,23 @@ use Friendica\App;
 use Friendica\Core\Addon;
 use Friendica\Core\Config;
 use Friendica\Core\L10n;
-use Friendica\Core\Network;
 use Friendica\Core\PConfig;
+use Friendica\Core\Protocol;
 use Friendica\Core\System;
 use Friendica\Core\Worker;
 use Friendica\Database\DBM;
 use Friendica\Database\DBStructure;
 use Friendica\Model\Contact;
+use Friendica\Model\Conversation;
 use Friendica\Util\DateTimeFormat;
 
 require_once 'include/text.php';
 
 define('FRIENDICA_PLATFORM',     'Friendica');
 define('FRIENDICA_CODENAME',     'Asparagus');
-define('FRIENDICA_VERSION',      '3.6-dev');
+define('FRIENDICA_VERSION',      '3.6-rc');
 define('DFRN_PROTOCOL_VERSION',  '2.23');
-define('DB_UPDATE_VERSION',      1248);
+define('DB_UPDATE_VERSION',      1256);
 define('NEW_UPDATE_ROUTINE_VERSION', 1170);
 
 /**
@@ -233,49 +234,51 @@ define('CP_USERS_AND_GLOBAL',    2);
 
 /**
  * @name Protocols
+ * @deprecated since version 3.6
+ * @see Conversation
  *
  * Different protocols that we are storing
  * @{
  */
-define('PROTOCOL_UNKNOWN',         0);
-define('PROTOCOL_DFRN',            1);
-define('PROTOCOL_DIASPORA',        2);
-define('PROTOCOL_OSTATUS_SALMON',  3);
-define('PROTOCOL_OSTATUS_FEED',    4); // Deprecated
-define('PROTOCOL_GS_CONVERSATION', 5); // Deprecated
-define('PROTOCOL_SPLITTED_CONV',   6);
+define('PROTOCOL_UNKNOWN'        , Conversation::PROTOCOL_UNKNOWN);
+define('PROTOCOL_DFRN'           , Conversation::PROTOCOL_DFRN);
+define('PROTOCOL_DIASPORA'       , Conversation::PROTOCOL_DIASPORA);
+define('PROTOCOL_OSTATUS_SALMON' , Conversation::PROTOCOL_OSTATUS_SALMON);
+define('PROTOCOL_OSTATUS_FEED'   , Conversation::PROTOCOL_OSTATUS_FEED);    // Deprecated
+define('PROTOCOL_GS_CONVERSATION', Conversation::PROTOCOL_GS_CONVERSATION); // Deprecated
+define('PROTOCOL_SPLITTED_CONV'  , Conversation::PROTOCOL_SPLITTED_CONV);
 /**
  * @}
  */
 
 /**
- * @name Network
+ * @name Network constants
  * @deprecated since version 3.6
- * @see Friendica\Core\Network
+ * @see Protocol
  *
  * Network and protocol family types
  * @{
  */
-define('NETWORK_DFRN'     , Network::DFRN);      // Friendica, Mistpark, other DFRN implementations
-define('NETWORK_ZOT'      , Network::ZOT);       // Zot! - Currently unsupported
-define('NETWORK_OSTATUS'  , Network::OSTATUS);   // GNU-social, Pleroma, Mastodon, other OStatus implementations
-define('NETWORK_FEED'     , Network::FEED);      // RSS/Atom feeds with no known "post/notify" protocol
-define('NETWORK_DIASPORA' , Network::DIASPORA);  // Diaspora
-define('NETWORK_MAIL'     , Network::MAIL);      // IMAP/POP
-define('NETWORK_FACEBOOK' , Network::FACEBOOK);  // Facebook API
-define('NETWORK_LINKEDIN' , Network::LINKEDIN);  // LinkedIn
-define('NETWORK_XMPP'     , Network::XMPP);      // XMPP - Currently unsupported
-define('NETWORK_MYSPACE'  , Network::MYSPACE);   // MySpace - Currently unsupported
-define('NETWORK_GPLUS'    , Network::GPLUS);     // Google+
-define('NETWORK_PUMPIO'   , Network::PUMPIO);    // pump.io
-define('NETWORK_TWITTER'  , Network::TWITTER);   // Twitter
-define('NETWORK_DIASPORA2', Network::DIASPORA2); // Diaspora connector
-define('NETWORK_STATUSNET', Network::STATUSNET); // Statusnet connector
-define('NETWORK_APPNET'   , Network::APPNET);    // app.net - Dead protocol
-define('NETWORK_NEWS'     , Network::NEWS);      // Network News Transfer Protocol - Currently unsupported
-define('NETWORK_ICALENDAR', Network::ICALENDAR); // iCalendar - Currently unsupported
-define('NETWORK_PNUT'     , Network::PNUT);      // pnut.io - Currently unsupported
-define('NETWORK_PHANTOM'  , Network::PHANTOM);   // Place holder
+define('NETWORK_DFRN'     , Protocol::DFRN);      // Friendica, Mistpark, other DFRN implementations
+define('NETWORK_ZOT'      , Protocol::ZOT);       // Zot! - Currently unsupported
+define('NETWORK_OSTATUS'  , Protocol::OSTATUS);   // GNU-social, Pleroma, Mastodon, other OStatus implementations
+define('NETWORK_FEED'     , Protocol::FEED);      // RSS/Atom feeds with no known "post/notify" protocol
+define('NETWORK_DIASPORA' , Protocol::DIASPORA);  // Diaspora
+define('NETWORK_MAIL'     , Protocol::MAIL);      // IMAP/POP
+define('NETWORK_FACEBOOK' , Protocol::FACEBOOK);  // Facebook API
+define('NETWORK_LINKEDIN' , Protocol::LINKEDIN);  // LinkedIn
+define('NETWORK_XMPP'     , Protocol::XMPP);      // XMPP - Currently unsupported
+define('NETWORK_MYSPACE'  , Protocol::MYSPACE);   // MySpace - Currently unsupported
+define('NETWORK_GPLUS'    , Protocol::GPLUS);     // Google+
+define('NETWORK_PUMPIO'   , Protocol::PUMPIO);    // pump.io
+define('NETWORK_TWITTER'  , Protocol::TWITTER);   // Twitter
+define('NETWORK_DIASPORA2', Protocol::DIASPORA2); // Diaspora connector
+define('NETWORK_STATUSNET', Protocol::STATUSNET); // Statusnet connector
+define('NETWORK_APPNET'   , Protocol::APPNET);    // app.net - Dead protocol
+define('NETWORK_NEWS'     , Protocol::NEWS);      // Network News Transfer Protocol - Currently unsupported
+define('NETWORK_ICALENDAR', Protocol::ICALENDAR); // iCalendar - Currently unsupported
+define('NETWORK_PNUT'     , Protocol::PNUT);      // pnut.io - Currently unsupported
+define('NETWORK_PHANTOM'  , Protocol::PHANTOM);   // Place holder
 /**
  * @}
  */
@@ -661,7 +664,7 @@ function check_db($via_worker)
 
        if (empty($build)) {
                Config::set('system', 'build', DB_UPDATE_VERSION - 1);
-               $build = DB_UPDATE_VERSION;
+               $build = DB_UPDATE_VERSION - 1;
        }
 
        // We don't support upgrading from very old versions anymore
@@ -669,7 +672,7 @@ function check_db($via_worker)
                die('You try to update from a version prior to database version 1170. The direct upgrade path is not supported. Please update to version 3.5.4 before updating to this version.');
        }
 
-       if ($build != DB_UPDATE_VERSION) {
+       if ($build < DB_UPDATE_VERSION) {
                // When we cannot execute the database update via the worker, we will do it directly
                if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) {
                        update_db();
@@ -851,11 +854,13 @@ function check_addons(App $a)
        return;
 }
 
-function get_guid($size = 16, $prefix = "")
+function get_guid($size = 16, $prefix = '')
 {
-       if ($prefix == "") {
+       if (is_bool($prefix) && !$prefix) {
+               $prefix = '';
+       } elseif ($prefix == '') {
                $a = get_app();
-               $prefix = hash("crc32", $a->get_hostname());
+               $prefix = hash('crc32', $a->get_hostname());
        }
 
        while (strlen($prefix) < ($size - 13)) {
@@ -864,10 +869,10 @@ function get_guid($size = 16, $prefix = "")
 
        if ($size >= 24) {
                $prefix = substr($prefix, 0, $size - 22);
-               return(str_replace(".", "", uniqid($prefix, true)));
+               return str_replace('.', '', uniqid($prefix, true));
        } else {
                $prefix = substr($prefix, 0, max($size - 13, 0));
-               return(uniqid($prefix));
+               return uniqid($prefix);
        }
 }
 
@@ -920,10 +925,10 @@ function public_contact()
        if (!$public_contact_id && x($_SESSION, 'authenticated')) {
                if (x($_SESSION, 'my_address')) {
                        // Local user
-                       $public_contact_id = intval(Contact::getIdForURL($_SESSION['my_address'], 0));
+                       $public_contact_id = intval(Contact::getIdForURL($_SESSION['my_address'], 0, true));
                } elseif (x($_SESSION, 'visitor_home')) {
                        // Remote user
-                       $public_contact_id = intval(Contact::getIdForURL($_SESSION['visitor_home'], 0));
+                       $public_contact_id = intval(Contact::getIdForURL($_SESSION['visitor_home'], 0, true));
                }
        } elseif (!x($_SESSION, 'authenticated')) {
                $public_contact_id = false;