]> git.mxchange.org Git - friendica.git/commitdiff
Fix Update::run()
authorPhilipp <admin@philipp.info>
Fri, 6 Jan 2023 16:50:56 +0000 (17:50 +0100)
committerPhilipp <admin@philipp.info>
Fri, 6 Jan 2023 16:50:56 +0000 (17:50 +0100)
src/Core/Update.php

index eb207b6c25a21c9925ac14fc25849dfd17567930..cef72f34bfda023e848f57c8878808452d307d35 100644 (file)
@@ -162,10 +162,20 @@ class Update
 
                                        // Checks if the build changed during Lock acquiring (so no double update occurs)
                                        $retryBuild = DI::config()->get('system', 'build');
-                                       if ($retryBuild !== $build) {
-                                               Logger::notice('Update already done.', ['from' => $stored, 'to' => $current]);
-                                               DI::lock()->release('dbupdate');
-                                               return '';
+                                       if ($retryBuild != $build) {
+                                               // legacy option - check if there's something in the Config table
+                                               if (DBStructure::existsTable('config')) {
+                                                       $dbConfig = DBA::selectFirst('config', ['v'], ['cat' => 'system', 'k' => 'build']);
+                                                       if (!empty($dbConfig)) {
+                                                               $retryBuild = intval($dbConfig['v']);
+                                                       }
+                                               }
+
+                                               if ($retryBuild != $build) {
+                                                       Logger::notice('Update already done.', ['from' => $build, 'retry' => $retryBuild, 'to' => $current]);
+                                                       DI::lock()->release('dbupdate');
+                                                       return '';
+                                               }
                                        }
 
                                        DI::config()->set('system', 'maintenance', 1);