better update and install fix
--- a/install/install.php
+++ b/install/install.php
@@ -519,7 +519,7 @@
`email` varchar(200) NOT NULL default '',
`bio` text NULL,
`image` varchar(200) NOT NULL default '',
- `date` datetime NOT NULL default '0000-00-00 00:00:00',
+ `date`int(11) NOT NULL default '0',
`admincreated` char(1) NOT NULL default '0',
`password` varchar(40) NOT NULL default '0',
PRIMARY KEY (`uid`),
@@ -622,7 +622,7 @@
`nid` int(11) NOT NULL default '0',
`uid` int(11) NOT NULL default '0',
`comment` text NOT NULL,
- `time` datetime NOT NULL default '0000-00-00 00:00:00',
+ `time` int(11) NOT NULL default '0',
PRIMARY KEY (`cid`),
KEY `commentlist` (`nid`,`time`)
) ENGINE=MyISAM;");
@@ -725,7 +725,7 @@
`reviewer` varchar(60) NOT NULL default '0',
`uid` int(11) NOT NULL default '0',
`review` text NOT NULL,
- `date` datetime NOT NULL default '0000-00-00 00:00:00',
+ `date`int(11) NOT NULL default '0',
`rating` int(11) NOT NULL default '0',
`respond` char(1) NOT NULL default '0',
`type` char(2) NOT NULL default '',
@@ -781,8 +781,8 @@
`classes` varchar(200) NOT NULL default '0',
`charid` varchar(250) NOT NULL default '0',
`rid` varchar(25) NOT NULL default '0',
- `date` datetime default NULL,
- `updated` datetime NOT NULL default '0000-00-00 00:00:00',
+ `date` int(11) NOT NULL default '0',
+ `updated` int(11) NOT NULL default '0',
`uid` int(11) NOT NULL default '0',
`coauthors` varchar(50) NOT NULL default '0',
`featured` char(1) NOT NULL default '0',
--- a/update.php
+++ b/update.php
@@ -56,85 +56,101 @@
if ($oldVersion[1] == 5 && $oldVersion[2] < 6)
{
/****************************************************************************************************************/
+ $tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_authors LIKE 'date'"));
+ if ($tmp['Type'] == "datetime")
+ {
+ $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_authors LIKE 'date_tmp'"));
+ if (!$updated)
+ {
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` ADD `date_tmp` int(11) NOT NULL default '0'");
+ }
+
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_authors` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` CHANGE `date` `date` INT NOT NULL");
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_authors` set date = date_tmp");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` DROP `date_tmp`");
+ }
+ /****************************************************************************************************************/
+ $tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_log LIKE 'date'"));
- /* trying not to lost data */
- $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_authors LIKE 'date_tmp'"));
- if (!$updated)
+ if ($tmp['Type'] == "datetime")
+ {
+ $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_log LIKE 'date_tmp'"));
+ if (!$updated)
+ {
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` ADD `date_tmp` int(11) NOT NULL default '0'");
+ }
+
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_log` SET `date_tmp` = UNIX_TIMESTAMP( `log_timestamp` )");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` CHANGE `log_timestamp` `log_timestamp` INT NOT NULL");
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_log` set log_timestamp = date_tmp");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` DROP `date_tmp`");
+ }
+ /****************************************************************************************************************/
+ /* fanfiction_comments `time` datetime NOT NULL default '0000-00-00 00:00:00' */
+ $tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_comments LIKE 'date'"));
+ if ($tmp['Type'] == "datetime")
{
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` ADD `date_tmp` int(11) NOT NULL default '0'");
+ $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_comments LIKE 'time_tmp'"));
+ if (!$updated)
+ {
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` ADD `time_tmp` int(11) NOT NULL default '0'");
+ }
+
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_comments` SET `time_tmp` = UNIX_TIMESTAMP( `time` )");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` CHANGE `time` `time` INT NOT NULL");
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_comments` set time = time_tmp");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` DROP `time_tmp`");
+ }
+ /****************************************************************************************************************/
+ /* fanfiction_reviews `date` datetime NOT NULL default '0000-00-00 00:00:00', */
+ $tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_reviews LIKE 'date'"));
+ if ($tmp['Type'] == "datetime")
+ {
+ $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_reviews LIKE 'date_tmp'"));
+ if (!$updated)
+ {
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` ADD `date_tmp` int(11) NOT NULL default '0'");
+ }
+
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_reviews` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` CHANGE `date` `date` INT NOT NULL");
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_reviews` set date = date_tmp");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` DROP `date_tmp`");
+ }
+ /****************************************************************************************************************/
+ /* fanfiction_stories `date` datetime NOT NULL default '0000-00-00 00:00:00', */
+ $tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'date'"));
+ if($tmp['Type'] == "datetime") {
+ $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'date_tmp'"));
+ if (!$updated)
+ {
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` ADD `date_tmp` int(11) NOT NULL default '0'");
+ }
+
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` CHANGE `date` `date` INT NOT NULL");
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` set date = date_tmp");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` DROP `date_tmp`");
}
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_authors` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` CHANGE `date` `date` INT NOT NULL");
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_authors` set date = date_tmp");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` DROP `date_tmp`");
+ /****************************************************************************************************************/
+ /* fanfiction_stories `updated` datetime NOT NULL default '0000-00-00 00:00:00', */
+ $tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'updated'"));
+ if ($tmp['Type'] == "datetime")
+ {
+ $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'updated_tmp'"));
+ if (!$updated)
+ {
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` ADD `updated_tmp` int(11) NOT NULL default '0'");
+ }
- /****************************************************************************************************************/
-
- $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_log LIKE 'date_tmp'"));
- if (!$updated)
- {
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` ADD `date_tmp` int(11) NOT NULL default '0'");
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` SET `updated_tmp` = UNIX_TIMESTAMP( `updated` )");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` CHANGE `updated` `updated` INT NOT NULL");
+ dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` set updated = updated_tmp");
+ dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` DROP `updated_tmp`");
}
-
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_log` SET `date_tmp` = UNIX_TIMESTAMP( `log_timestamp` )");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` CHANGE `log_timestamp` `log_timestamp` INT NOT NULL");
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_log` set log_timestamp = date_tmp");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` DROP `date_tmp`");
-
- /****************************************************************************************************************/
- /* fanfiction_comments `time` datetime NOT NULL default '0000-00-00 00:00:00' */
- $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_comments LIKE 'time_tmp'"));
- if (!$updated)
- {
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` ADD `time_tmp` int(11) NOT NULL default '0'");
- }
-
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_comments` SET `time_tmp` = UNIX_TIMESTAMP( `time` )");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` CHANGE `time` `time` INT NOT NULL");
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_comments` set time = time_tmp");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` DROP `time_tmp`");
-
- /****************************************************************************************************************/
- /* fanfiction_reviews `date` datetime NOT NULL default '0000-00-00 00:00:00', */
- $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_reviews LIKE 'date_tmp'"));
- if (!$updated)
- {
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` ADD `date_tmp` int(11) NOT NULL default '0'");
- }
-
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_reviews` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` CHANGE `date` `date` INT NOT NULL");
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_reviews` set date = date_tmp");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` DROP `date_tmp`");
-
- /****************************************************************************************************************/
- /* fanfiction_stories `date` datetime NOT NULL default '0000-00-00 00:00:00', */
- $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'date_tmp'"));
- if (!$updated)
- {
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` ADD `date_tmp` int(11) NOT NULL default '0'");
- }
-
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` CHANGE `date` `date` INT NOT NULL");
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` set date = date_tmp");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` DROP `date_tmp`");
-
- /* fanfiction_stories `updated` datetime NOT NULL default '0000-00-00 00:00:00', */
- $updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'updated_tmp'"));
- if (!$updated)
- {
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` ADD `updated_tmp` int(11) NOT NULL default '0'");
- }
-
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` SET `updated_tmp` = UNIX_TIMESTAMP( `updated` )");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` CHANGE `updated` `updated` INT NOT NULL");
- dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` set updated = updated_tmp");
- dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` DROP `updated_tmp`");
-
-
}
$update = dbquery("UPDATE " . $settingsprefix . "fanfiction_settings SET version = '" . $version . "' WHERE sitekey = '" . SITEKEY . "'");
if ($update) $output .= write_message(_ACTIONSUCCESSFUL);