Only add update servers if they do not exist yet
authorAlexander Ebert <ebert@woltlab.com>
Tue, 23 Jan 2018 11:28:20 +0000 (12:28 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Tue, 23 Jan 2018 11:28:20 +0000 (12:28 +0100)
com.woltlab.wcf/update_3.1_3.sql
wcfsetup/install/files/acp/update_com.woltlab.wcf_3.1_postUpgrade.php

index 352910d1c1ac5a7eb9272bf5711d202ac17868da..004a1dbd3bbe5271d30378d6e418dfdaa3f3c12f 100644 (file)
@@ -121,8 +121,7 @@ ALTER TABLE wcf1_user_trophy ADD FOREIGN KEY (userID) REFERENCES wcf1_user (user
 ALTER TABLE wcf1_user_special_trophy ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
 ALTER TABLE wcf1_user_special_trophy ADD FOREIGN KEY (trophyID) REFERENCES wcf1_trophy (trophyID) ON DELETE CASCADE;
 
-INSERT INTO wcf1_package_update_server (serverURL, status, isDisabled, errorMessage, lastUpdateTime, loginUsername, loginPassword) VALUES ('http://update.woltlab.com/tornado/', 'online', 0, NULL, 0, '', '');
-INSERT INTO wcf1_package_update_server (serverURL, status, isDisabled, errorMessage, lastUpdateTime, loginUsername, loginPassword) VALUES ('http://store.woltlab.com/tornado/', 'online', 0, NULL, 0, '', '');
+-- update servers are added through a script to avoid collisions
 
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentContainerBackground', 'rgba(255, 255, 255, 1)');
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfContentContainerBorder', 'rgba(236, 241, 247, 1)');
index 13682c6ce1dc75a82635848a8e03fd167883d0ac..7ff2c189941645518bc105acd42aaa5a13883751 100644 (file)
@@ -1,5 +1,7 @@
 <?php
 use wcf\data\option\OptionEditor;
+use wcf\data\package\update\server\PackageUpdateServerEditor;
+use wcf\data\package\update\server\PackageUpdateServerList;
 use wcf\system\cache\builder\StyleCacheBuilder;
 use wcf\system\WCF;
 
@@ -40,6 +42,23 @@ while ($row = $statement->fetchArray()) {
 }
 WCF::getDB()->commitTransaction();
 
+// inserts update servers, unless they exist already
+$updateServers = new PackageUpdateServerList();
+$updateServers->readObjects();
+$hasServer = ['update' => false, 'store' => false];
+foreach ($updateServers as $updateServer) {
+       if (preg_match('~https?://(?P<server>update|store)\.woltlab\.com/tornado/~', $updateServer->serverURL, $matches)) {
+               $hasServer[$matches['server']] = true;
+       }
+}
+
+foreach ($hasServer as $type => $serverExists) {
+       if (!$serverExists) {
+               PackageUpdateServerEditor::create(['serverURL' => "http://{$type}.woltlab.com/tornado/"]);
+       }
+}
+
+
 // the upgrade added a bunch of new style variables
 StyleCacheBuilder::getInstance()->reset();