Browse code

better update and install fix

Jimako authored on 2023/09/06 02:37:39
Showing 2 changed files
... ...
@@ -519,7 +519,7 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_authorprefs` (
519 519
   `email` varchar(200) NOT NULL default '',
520 520
   `bio` text NULL,
521 521
   `image` varchar(200) NOT NULL default '',
522
-  `date` datetime NOT NULL default '0000-00-00 00:00:00',
522
+  `date`int(11) NOT NULL default '0',
523 523
   `admincreated` char(1) NOT NULL default '0',
524 524
   `password` varchar(40) NOT NULL default '0',
525 525
   PRIMARY KEY  (`uid`),
... ...
@@ -622,7 +622,7 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_authorprefs` (
622 622
   `nid` int(11) NOT NULL default '0',
623 623
   `uid` int(11) NOT NULL default '0',
624 624
   `comment` text NOT NULL,
625
-  `time` datetime NOT NULL default '0000-00-00 00:00:00',
625
+  `time` int(11) NOT NULL default '0',
626 626
   PRIMARY KEY  (`cid`),
627 627
   KEY `commentlist` (`nid`,`time`)
628 628
 ) ENGINE=MyISAM;");
... ...
@@ -725,7 +725,7 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_modules` (
725 725
   `reviewer` varchar(60) NOT NULL default '0',
726 726
   `uid` int(11) NOT NULL default '0',
727 727
   `review` text NOT NULL,
728
-  `date` datetime NOT NULL default '0000-00-00 00:00:00',
728
+  `date`int(11) NOT NULL default '0',
729 729
   `rating` int(11) NOT NULL default '0',
730 730
   `respond` char(1) NOT NULL default '0',
731 731
   `type` char(2) NOT NULL default '',
... ...
@@ -781,8 +781,8 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_modules` (
781 781
   `classes` varchar(200) NOT NULL default '0',
782 782
   `charid` varchar(250) NOT NULL default '0',
783 783
   `rid` varchar(25) NOT NULL default '0',
784
-  `date` datetime default NULL,
785
-  `updated` datetime NOT NULL default '0000-00-00 00:00:00',
784
+  `date` int(11) NOT NULL default '0',
785
+  `updated` int(11) NOT NULL default '0',
786 786
   `uid` int(11) NOT NULL default '0',
787 787
   `coauthors` varchar(50) NOT NULL default '0',
788 788
   `featured` char(1) NOT NULL default '0',
... ...
@@ -56,85 +56,101 @@ if ($oldVersion[0] == 3 && ($oldVersion[1] < 5 || $oldVersion[2] < 6))  //3.5.5
56 56
 		if ($oldVersion[1] == 5 && $oldVersion[2] < 6)
57 57
 		{
58 58
 			/****************************************************************************************************************/
59
- 
60
-			/* trying not to lost data */
61
-			$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_authors LIKE 'date_tmp'"));
62
-			if (!$updated)
63
-			{
64
-				dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_authors` ADD `date_tmp` int(11) NOT NULL default '0'");
59
+			$tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_authors LIKE 'date'"));
60
+			if ($tmp['Type'] == "datetime")
61
+			{ 
62
+				$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_authors LIKE 'date_tmp'"));
63
+				if (!$updated)
64
+				{
65
+					dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_authors` ADD `date_tmp` int(11) NOT NULL default '0'");
66
+				}
67
+
68
+				dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_authors` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
69
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` CHANGE `date` `date` INT NOT NULL");
70
+				dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_authors` set date = date_tmp");
71
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` DROP `date_tmp`");
65 72
 			}
66
-
67
-			dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_authors` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
68
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` CHANGE `date` `date` INT NOT NULL");
69
-			dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_authors` set date = date_tmp");
70
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_authors` DROP `date_tmp`");
71
-
72 73
 			/****************************************************************************************************************/
74
+			$tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_log LIKE 'date'"));
73 75
  
74
-			$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_log LIKE 'date_tmp'"));
75
-			if (!$updated)
76
-			{
77
-				dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_log` ADD `date_tmp` int(11) NOT NULL default '0'");
76
+			if ($tmp['Type'] == "datetime")
77
+			{ 
78
+				$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_log LIKE 'date_tmp'"));
79
+				if (!$updated)
80
+				{
81
+					dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_log` ADD `date_tmp` int(11) NOT NULL default '0'");
82
+				}
83
+
84
+				dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_log` SET `date_tmp` = UNIX_TIMESTAMP( `log_timestamp` )");
85
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` CHANGE `log_timestamp` `log_timestamp` INT NOT NULL");
86
+				dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_log` set log_timestamp = date_tmp");
87
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` DROP `date_tmp`");
78 88
 			}
79
-
80
-			dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_log` SET `date_tmp` = UNIX_TIMESTAMP( `log_timestamp` )");
81
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` CHANGE `log_timestamp` `log_timestamp` INT NOT NULL");
82
-			dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_log` set log_timestamp = date_tmp");
83
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_log` DROP `date_tmp`");
84
-
85 89
 			/****************************************************************************************************************/
86 90
 			/* fanfiction_comments   `time` datetime NOT NULL default '0000-00-00 00:00:00'  */
87
-			$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_comments LIKE 'time_tmp'"));
88
-			if (!$updated)
91
+			$tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_comments LIKE 'date'"));
92
+			if ($tmp['Type'] == "datetime")
89 93
 			{
90
-				dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_comments` ADD `time_tmp` int(11) NOT NULL default '0'");
94
+				$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_comments LIKE 'time_tmp'"));
95
+				if (!$updated)
96
+				{
97
+					dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_comments` ADD `time_tmp` int(11) NOT NULL default '0'");
98
+				}
99
+
100
+				dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_comments` SET `time_tmp` = UNIX_TIMESTAMP( `time` )");
101
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` CHANGE `time` `time` INT NOT NULL");
102
+				dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_comments` set time = time_tmp");
103
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` DROP `time_tmp`");
91 104
 			}
92
-
93
-			dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_comments` SET `time_tmp` = UNIX_TIMESTAMP( `time` )");
94
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` CHANGE `time` `time` INT NOT NULL");
95
-			dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_comments` set time = time_tmp");
96
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_comments` DROP `time_tmp`");
97
- 
98 105
 			/****************************************************************************************************************/
99 106
 			/* fanfiction_reviews   `date` datetime NOT NULL default '0000-00-00 00:00:00', */
100
-			$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_reviews LIKE 'date_tmp'"));
101
-			if (!$updated)
107
+			$tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_reviews LIKE 'date'"));
108
+			if ($tmp['Type'] == "datetime")
102 109
 			{
103
-				dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_reviews` ADD `date_tmp` int(11) NOT NULL default '0'");
110
+				$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_reviews LIKE 'date_tmp'"));
111
+				if (!$updated)
112
+				{
113
+					dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_reviews` ADD `date_tmp` int(11) NOT NULL default '0'");
114
+				}
115
+
116
+				dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_reviews` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
117
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` CHANGE `date` `date` INT NOT NULL");
118
+				dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_reviews` set date = date_tmp");
119
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` DROP `date_tmp`");
104 120
 			}
105
-
106
-			dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_reviews` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
107
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` CHANGE `date` `date` INT NOT NULL");
108
-			dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_reviews` set date = date_tmp");
109
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_reviews` DROP `date_tmp`");
110
-
111 121
 			/****************************************************************************************************************/
112 122
 			/* fanfiction_stories `date` datetime NOT NULL default '0000-00-00 00:00:00',   */
113
-			$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'date_tmp'"));
114
-			if (!$updated)
115
-			{
116
-				dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_stories` ADD `date_tmp` int(11) NOT NULL default '0'");
123
+			$tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'date'"));
124
+			if($tmp['Type'] == "datetime") {
125
+				$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'date_tmp'"));
126
+				if (!$updated)
127
+				{
128
+					dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_stories` ADD `date_tmp` int(11) NOT NULL default '0'");
129
+				}
130
+
131
+				dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_stories` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
132
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` CHANGE `date` `date` INT NOT NULL");
133
+				dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` set date = date_tmp");
134
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` DROP `date_tmp`");
117 135
 			}
118 136
 
119
-			dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_stories` SET `date_tmp` = UNIX_TIMESTAMP( `date` )");
120
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` CHANGE `date` `date` INT NOT NULL");
121
-			dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` set date = date_tmp");
122
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` DROP `date_tmp`");
123
-
137
+			/****************************************************************************************************************/
124 138
 			/* fanfiction_stories `updated` datetime NOT NULL default '0000-00-00 00:00:00', */
125
-			$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'updated_tmp'"));
126
-			if (!$updated)
127
-			{
128
-				dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_stories` ADD `updated_tmp` int(11) NOT NULL default '0'");
139
+			$tmp = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'updated'"));
140
+			if ($tmp['Type'] == "datetime")
141
+			{				
142
+				$updated = dbassoc(dbquery("SHOW COLUMNS FROM " . TABLEPREFIX . "fanfiction_stories LIKE 'updated_tmp'"));
143
+				if (!$updated)
144
+				{
145
+					dbquery("ALTER TABLE 	`" . TABLEPREFIX . "fanfiction_stories` ADD `updated_tmp` int(11) NOT NULL default '0'");
146
+				}
147
+
148
+				dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_stories` SET `updated_tmp` = UNIX_TIMESTAMP( `updated` )");
149
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` CHANGE `updated` `updated` INT NOT NULL");
150
+				dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` set updated = updated_tmp");
151
+				dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` DROP `updated_tmp`");
129 152
 			}
130
-
131
-			dbquery("UPDATE 		`" . TABLEPREFIX . "fanfiction_stories` SET `updated_tmp` = UNIX_TIMESTAMP( `updated` )");
132
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` CHANGE `updated` `updated` INT NOT NULL");
133
-			dbquery("UPDATE `" . TABLEPREFIX . "fanfiction_stories` set updated = updated_tmp");
134
-			dbquery("ALTER TABLE `" . TABLEPREFIX . "fanfiction_stories` DROP `updated_tmp`");
135 153
 			
136
-			
137
-
138 154
 		}
139 155
 		$update = dbquery("UPDATE " . $settingsprefix . "fanfiction_settings SET version = '" . $version . "' WHERE sitekey = '" . SITEKEY . "'");
140 156
 		if ($update) $output .= write_message(_ACTIONSUCCESSFUL);