summaryrefslogtreecommitdiffstats
path: root/apis/update.inc.php
diff options
context:
space:
mode:
authorSimon Rettberg2014-05-28 18:18:34 +0200
committerSimon Rettberg2014-05-28 18:18:34 +0200
commite4e79982dd3c447a4ced762a6069db553e246f59 (patch)
treed17f74565ed5347350edeab412a07c77bd80a636 /apis/update.inc.php
parentWIP (diff)
downloadslx-admin-e4e79982dd3c447a4ced762a6069db553e246f59.tar.gz
slx-admin-e4e79982dd3c447a4ced762a6069db553e246f59.tar.xz
slx-admin-e4e79982dd3c447a4ced762a6069db553e246f59.zip
Fixed some bugs from Sateserver v05
Diffstat (limited to 'apis/update.inc.php')
-rw-r--r--apis/update.inc.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/apis/update.inc.php b/apis/update.inc.php
new file mode 100644
index 00000000..4ec94882
--- /dev/null
+++ b/apis/update.inc.php
@@ -0,0 +1,58 @@
+<?php
+
+$targetVersion = 2;
+
+// #######################
+
+$res = Database::queryFirst("SELECT value FROM property WHERE name = 'webif-version' LIMIT 1", array(), true);
+
+$currentVersion = (int) ($res === false ? 1 : $res['value']);
+
+if ($currentVersion >= $targetVersion)
+ die('Up to date :-)');
+
+$function = 'update_' . $currentVersion;
+
+if (!function_exists($function))
+ die("Don't know how to update from version $currentVersion to $targetVersion :-(");
+
+if (!$function())
+ die("Update from $currentVersion to $targetVersion failed! :-(");
+
+$currentVersion++;
+
+$ret = Database::exec("INSERT INTO property (name, value) VALUES ('webif-version', :version)", array('version' => $currentVersion), true);
+if ($ret === false)
+ die('Writing version information back to DB failed. Next update will probably break.');
+
+if ($currentVersion < $targetVersion) {
+ Header('Location: api.php?do=update&random=' . mt_rand());
+ die("Updated to $currentVersion - press F5 to continue");
+}
+
+die("Updated to $currentVersion");
+
+// #######################
+
+// ##### 2014-05-28
+// Add dateline field to property table
+
+function update_1()
+{
+ $res = Database::simpleQuery("DESCRIBE property", array(), false);
+ $type = false;
+ while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
+ if ($row['Field'] !== 'dateline') continue;
+ $type = $row['Type'];
+ break;
+ }
+ if ($type === false) {
+ Database::exec("ALTER TABLE `property` ADD `dateline` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `name` , ADD INDEX ( `dateline` )");
+ } else {
+ Database::exec("ALTER TABLE `property` CHANGE `dateline` `dateline` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'");
+ }
+ return true;
+}
+
+
+// ################ \ No newline at end of file