<?php
/**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
}
// Don't check the status if the last update was failed
- if (DI::config()->get('system', 'update', Update::SUCCESS, true) == Update::FAILED) {
+ if (DI::config()->get('system', 'update', Update::SUCCESS) == Update::FAILED) {
return;
}
}
// The postupdate has to completed version 1288 for the new post views to take over
- $postupdate = DI::config()->get('system', 'post_update_version', self::NEW_TABLE_STRUCTURE_VERSION);
+ $postupdate = DI::keyValue()->get('post_update_version') ?? self::NEW_TABLE_STRUCTURE_VERSION;
if ($postupdate < self::NEW_TABLE_STRUCTURE_VERSION) {
$error = DI::l10n()->t('Updates from postupdate version %s are not supported. Please update at least to version 2021.01 and wait until the postupdate finished version 1383.', $postupdate);
if (DI::mode()->getExecutor() == Mode::INDEX) {
DI::lock()->release('dbupdate', true);
}
- $build = DI::config()->get('system', 'build', null, true);
+ $build = DI::config()->get('system', 'build', null);
if (empty($build) || ($build > DB_UPDATE_VERSION)) {
$build = DB_UPDATE_VERSION - 1;
$stored = intval($build);
$current = intval(DB_UPDATE_VERSION);
if ($stored < $current || $force) {
- DI::config()->load('database');
+ DI::config()->reload();
// Compare the current structure with the defined structure
// If the Lock is acquired, never release it automatically to avoid double updates
Logger::notice('Update starting.', ['from' => $stored, 'to' => $current]);
// Checks if the build changed during Lock acquiring (so no double update occurs)
- $retryBuild = DI::config()->get('system', 'build', null, true);
+ $retryBuild = DI::config()->get('system', 'build', null);
if ($retryBuild !== $build) {
Logger::notice('Update already done.', ['from' => $stored, 'to' => $current]);
DI::lock()->release('dbupdate');
Logger::warning('Pre update failed', ['version' => $version]);
DI::config()->set('system', 'update', Update::FAILED);
DI::lock()->release('dbupdate');
- DI::config()->set('system', 'maintenance', 0);
- DI::config()->set('system', 'maintenance_reason', '');
+ DI::config()->set('system', 'maintenance', false, false);
+ DI::config()->delete('system', 'maintenance_reason', false);
+ DI::config()->save();
return $r;
} else {
Logger::notice('Pre update executed.', ['version' => $version]);
Logger::error('Update ERROR.', ['from' => $stored, 'to' => $current, 'retval' => $retval]);
DI::config()->set('system', 'update', Update::FAILED);
DI::lock()->release('dbupdate');
- DI::config()->set('system', 'maintenance', 0);
- DI::config()->set('system', 'maintenance_reason', '');
+ DI::config()->set('system', 'maintenance', false, false);
+ DI::config()->delete('system', 'maintenance_reason', false);
+ DI::config()->save();
return $retval;
} else {
Logger::notice('Database structure update finished.', ['from' => $stored, 'to' => $current]);
Logger::warning('Post update failed', ['version' => $version]);
DI::config()->set('system', 'update', Update::FAILED);
DI::lock()->release('dbupdate');
- DI::config()->set('system', 'maintenance', 0);
- DI::config()->set('system', 'maintenance_reason', '');
+ DI::config()->set('system', 'maintenance', false, false);
+ DI::config()->delete('system', 'maintenance_reason', false);
+ DI::config()->save();
return $r;
} else {
DI::config()->set('system', 'build', $version);
DI::config()->set('system', 'build', $current);
DI::config()->set('system', 'update', Update::SUCCESS);
DI::lock()->release('dbupdate');
- DI::config()->set('system', 'maintenance', 0);
- DI::config()->set('system', 'maintenance_reason', '');
+ DI::config()->set('system', 'maintenance', false, false);
+ DI::config()->delete('system', 'maintenance_reason', false);
+ DI::config()->save();
Logger::notice('Update success.', ['from' => $stored, 'to' => $current]);
if ($sendMail) {