diff options
author | Simon Rettberg | 2014-05-28 18:18:34 +0200 |
---|---|---|
committer | Simon Rettberg | 2014-05-28 18:18:34 +0200 |
commit | e4e79982dd3c447a4ced762a6069db553e246f59 (patch) | |
tree | d17f74565ed5347350edeab412a07c77bd80a636 /apis/update.inc.php | |
parent | WIP (diff) | |
download | slx-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.php | 58 |
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 |