better update and install fix
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',

file:a/update.php -> file:b/update.php
--- 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);