summaryrefslogtreecommitdiffstats
path: root/modules-available/news/install.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/news/install.inc.php')
-rw-r--r--modules-available/news/install.inc.php31
1 files changed, 22 insertions, 9 deletions
diff --git a/modules-available/news/install.inc.php b/modules-available/news/install.inc.php
index 88a20749..a60f7748 100644
--- a/modules-available/news/install.inc.php
+++ b/modules-available/news/install.inc.php
@@ -1,6 +1,6 @@
<?php
-$res = array();
+$dbret = array();
@@ -10,8 +10,8 @@ if (tableExists('news')) {
if (!tableRename('news', 'vmchooser_pages')) {
finalResponse(UPDATE_FAILED, "Could not rename news to vmchooser_pages: " . Database::lastError());
}
- $res[] = UPDATE_DONE;
- if (false === Database::exec("ALTER TABLE `vmchooser_pages` ADD COLUMN type VARCHAR(10)")) {
+ $dbret[] = UPDATE_DONE;
+ if (false === Database::exec("ALTER TABLE `vmchooser_pages` ADD COLUMN type VARCHAR(10) CHARACTER SET ascii NOT NULL")) {
EventLog::warning("Could not add type column to vmchooser_pages: " . Database::lastError());
}
if (false === Database::exec("UPDATE `vmchooser_pages` SET `type` = 'news' WHERE 1")) {
@@ -20,33 +20,46 @@ if (tableExists('news')) {
}
-$res[] = tableCreate('vmchooser_pages', "
+$dbret[] = tableCreate('vmchooser_pages', "
`newsid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`dateline` int(10) unsigned NOT NULL,
`expires` int(10) unsigned NOT NULL,
+ `locationid` int(11) NULL,
`title` varchar(200) DEFAULT NULL,
- `content` text,
- `type` varchar(10),
+ `content` text NOT NULL,
+ `type` varchar(10) CHARACTER SET ascii NOT NULL,
PRIMARY KEY (`newsid`),
- KEY `type` (`type`, `dateline`),
- KEY `all3` (`type`, `expires`, `dateline`)
+ KEY `type` (`type`, `dateline`)
");
if (tableGetIndex('vmchooser_pages', ['dateline']) !== false) {
Database::exec('ALTER TABLE vmchooser_pages DROP KEY `dateline`');
Database::exec('ALTER TABLE vmchooser_pages ADD KEY `type` (`type`, `dateline`)');
+ $dbret[] = UPDATE_DONE;
}
if (tableGetIndex('vmchooser_pages', ['type', 'expires', 'dateline']) === false) {
Database::exec('ALTER TABLE vmchooser_pages ADD KEY `all3` (`type`, `expires`, `dateline`)');
+ $dbret[] = UPDATE_DONE;
}
if (!tableHasColumn('vmchooser_pages', 'expires')) {
Database::exec('ALTER TABLE vmchooser_pages ADD COLUMN `expires` int(10) unsigned NOT NULL AFTER `dateline`');
Database::exec('UPDATE vmchooser_pages SET expires = dateline + 86400 * 3650 WHERE expires = 0'); // ~10 Years
+ $dbret[] = UPDATE_DONE;
}
+if (!tableHasColumn('vmchooser_pages', 'locationid')) {
+ Database::exec('ALTER TABLE vmchooser_pages ADD COLUMN `locationid` int(11) NULL AFTER `expires`');
+ $dbret[] = UPDATE_DONE;
+}
+
+Database::exec('ALTER TABLE vmchooser_pages MODIFY `type` varchar(10) CHARACTER SET ascii NOT NULL');
+
+$dbret[] = tableAddConstraint('vmchooser_pages', 'locationid', 'location', 'locationid',
+ 'ON UPDATE CASCADE ON DELETE CASCADE');
+
// Create response for browser
-if (in_array(UPDATE_DONE, $res)) {
+if (in_array(UPDATE_DONE, $dbret)) {
finalResponse(UPDATE_DONE, 'Tables created successfully');
}