Merge pull request #4118 from annando/cleaned-update

Old stuff had been removed from the update routine
This commit is contained in:
Hypolite Petovan 2017-12-22 19:57:23 -05:00 committed by GitHub
commit d279cb0327
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 59 additions and 1653 deletions

View file

@ -37,7 +37,6 @@ require_once 'include/datetime.php';
require_once 'include/pgettext.php'; require_once 'include/pgettext.php';
require_once 'include/nav.php'; require_once 'include/nav.php';
require_once 'include/identity.php'; require_once 'include/identity.php';
require_once 'update.php';
define('FRIENDICA_PLATFORM', 'Friendica'); define('FRIENDICA_PLATFORM', 'Friendica');
define('FRIENDICA_CODENAME', 'Asparagus'); define('FRIENDICA_CODENAME', 'Asparagus');
@ -619,10 +618,17 @@ function is_ajax()
function check_db($via_worker) function check_db($via_worker)
{ {
$build = Config::get('system', 'build'); $build = Config::get('system', 'build');
if (!x($build)) {
if (empty($build)) {
Config::set('system', 'build', DB_UPDATE_VERSION); Config::set('system', 'build', DB_UPDATE_VERSION);
$build = DB_UPDATE_VERSION; $build = DB_UPDATE_VERSION;
} }
// We don't support upgrading from very old versions anymore
if ($build < NEW_UPDATE_ROUTINE_VERSION) {
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 // When we cannot execute the database update via the worker, we will do it directly
if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) { if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) {
@ -647,7 +653,7 @@ function check_url(App $a)
// and www.example.com vs example.com. // and www.example.com vs example.com.
// We will only change the url to an ip address if there is no existing setting // We will only change the url to an ip address if there is no existing setting
if (!x($url)) { if (empty($url)) {
$url = Config::set('system', 'url', System::baseUrl()); $url = Config::set('system', 'url', System::baseUrl());
} }
if ((!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->get_hostname))) { if ((!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->get_hostname))) {
@ -664,25 +670,21 @@ function check_url(App $a)
function update_db(App $a) function update_db(App $a)
{ {
$build = Config::get('system', 'build'); $build = Config::get('system', 'build');
if (!x($build)) {
$build = Config::set('system', 'build', DB_UPDATE_VERSION); if (empty($build)) {
Config::set('system', 'build', DB_UPDATE_VERSION);
$build = DB_UPDATE_VERSION;
} }
if ($build != DB_UPDATE_VERSION) { if ($build != DB_UPDATE_VERSION) {
require_once 'update.php';
$stored = intval($build); $stored = intval($build);
$current = intval(DB_UPDATE_VERSION); $current = intval(DB_UPDATE_VERSION);
if ($stored < $current) { if ($stored < $current) {
Config::load('database'); Config::load('database');
// We're reporting a different version than what is currently installed.
// Run any existing update scripts to bring the database up to current.
// 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) {
// Compare the current structure with the defined structure // Compare the current structure with the defined structure
$t = Config::get('database', 'dbupdate_' . DB_UPDATE_VERSION); $t = Config::get('database', 'dbupdate_' . DB_UPDATE_VERSION);
if (!is_null($t)) { if (!is_null($t)) {
return; return;
@ -690,19 +692,7 @@ function update_db(App $a)
Config::set('database', 'dbupdate_' . DB_UPDATE_VERSION, time()); Config::set('database', 'dbupdate_' . DB_UPDATE_VERSION, time());
// run old update routine (wich could modify the schema and // run update routine
// conflits with new routine)
for ($x = $stored; $x < NEW_UPDATE_ROUTINE_VERSION; $x++) {
$r = run_update_function($x);
if (!$r) {
break;
}
}
if ($stored < NEW_UPDATE_ROUTINE_VERSION) {
$stored = NEW_UPDATE_ROUTINE_VERSION;
}
// run new update routine
// it update the structure in one call // it update the structure in one call
$retval = DBStructure::update(false, true); $retval = DBStructure::update(false, true);
if ($retval) { if ($retval) {
@ -716,7 +706,7 @@ function update_db(App $a)
} }
// run any left update_nnnn functions in update.php // run any left update_nnnn functions in update.php
for ($x = $stored; $x < $current; $x ++) { for ($x = $stored + 1; $x <= $current; $x++) {
$r = run_update_function($x); $r = run_update_function($x);
if (!$r) { if (!$r) {
break; break;
@ -724,7 +714,6 @@ function update_db(App $a)
} }
} }
} }
}
return; return;
} }
@ -996,7 +985,7 @@ function remote_user()
if (local_user()) { if (local_user()) {
return false; return false;
} }
if ((x($_SESSION, 'authenticated')) && (x($_SESSION, 'visitor_id'))) { if (x($_SESSION, 'authenticated') && x($_SESSION, 'visitor_id')) {
return intval($_SESSION['visitor_id']); return intval($_SESSION['visitor_id']);
} }
return false; return false;
@ -1051,7 +1040,7 @@ function info($s)
function get_max_import_size() function get_max_import_size()
{ {
$a = get_app(); $a = get_app();
return ((x($a->config, 'max_import_size')) ? $a->config['max_import_size'] : 0 ); return (x($a->config, 'max_import_size') ? $a->config['max_import_size'] : 0);
} }

1621
update.php

File diff suppressed because it is too large Load diff