diff options
Diffstat (limited to 'modules-available/news/install.inc.php')
-rw-r--r-- | modules-available/news/install.inc.php | 31 |
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'); } |