diff options
| author | czaks <marcin@6irc.net> | 2013-09-17 10:43:44 -0400 |
|---|---|---|
| committer | czaks <marcin@6irc.net> | 2013-09-17 10:43:44 -0400 |
| commit | 6cb7eb939e549f978ca6dd7d2afe2dabc0f18025 (patch) | |
| tree | 8b2342bbf5c15847717db733ecf4f2f46718dacb /install.php | |
| parent | 069f1def9bf8c8d769afdc5740e9ff13271065bd (diff) | |
| parent | 803f0c8ce1487ea791824197de9d1ee140127838 (diff) | |
Merge branch 'master' of https://github.com/savetheinternet/Tinyboard into vichan-devel-4.5
Conflicts:
inc/config.php
inc/display.php
inc/mod/pages.php
install.php
js/quick-reply.js
post.php
templates/index.html
Diffstat (limited to 'install.php')
| -rw-r--r-- | install.php | 89 |
1 files changed, 88 insertions, 1 deletions
diff --git a/install.php b/install.php index 808529ab..51d5f133 100644 --- a/install.php +++ b/install.php @@ -1,7 +1,7 @@ <?php // Installation/upgrade file -define('VERSION', 'v0.9.6-dev-16 + <a href="https://int.vichan.net/devel/">vichan-devel-4.0.13</a>'); +define('VERSION', 'v0.9.6-dev-21 + <a href="https://int.vichan.net/devel/">vichan-devel-4.4.90</a>'); require 'inc/functions.php'; @@ -401,6 +401,93 @@ if (file_exists($config['has_installed'])) { ADD INDEX `list_threads` (`thread`, `sticky`, `bump`)", $board['uri'])) or error(db_error()); } case 'v0.9.6-dev-16': + case 'v0.9.6-dev-16 + <a href="https://int.vichan.net/devel/">vichan-devel-4.0.13</a>': + query("ALTER TABLE ``bans`` ADD INDEX `seen` (`seen`)") or error(db_error()); + case 'v0.9.6-dev-17': + query("ALTER TABLE ``ip_notes`` + DROP INDEX `ip`, + ADD INDEX `ip_lookup` (`ip`, `time`)") or error(db_error()); + case 'v0.9.6-dev-18': + query("CREATE TABLE IF NOT EXISTS ``flood`` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `ip` varchar(39) NOT NULL, + `board` varchar(58) CHARACTER SET utf8 NOT NULL, + `time` int(11) NOT NULL, + `posthash` char(32) NOT NULL, + `filehash` char(32) DEFAULT NULL, + `isreply` tinyint(1) NOT NULL, + PRIMARY KEY (`id`), + KEY `ip` (`ip`), + KEY `posthash` (`posthash`), + KEY `filehash` (`filehash`), + KEY `time` (`time`) + ) ENGINE=MyISAM DEFAULT CHARSET=ascii COLLATE=ascii_bin AUTO_INCREMENT=1 ;") or error(db_error()); + case 'v0.9.6-dev-19': + query("UPDATE ``mods`` SET `type` = 10 WHERE `type` = 0") or error(db_error()); + query("UPDATE ``mods`` SET `type` = 20 WHERE `type` = 1") or error(db_error()); + query("UPDATE ``mods`` SET `type` = 30 WHERE `type` = 2") or error(db_error()); + query("ALTER TABLE ``mods`` CHANGE `type` `type` smallint(1) NOT NULL") or error(db_error()); + case 'v0.9.6-dev-20': + query("CREATE TABLE IF NOT EXISTS `bans_new_temp` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `ipstart` varbinary(16) NOT NULL, + `ipend` varbinary(16) DEFAULT NULL, + `created` int(10) unsigned NOT NULL, + `expires` int(10) unsigned DEFAULT NULL, + `board` varchar(58) DEFAULT NULL, + `creator` int(10) NOT NULL, + `reason` text, + `seen` tinyint(1) NOT NULL, + `post` blob, + PRIMARY KEY (`id`), + KEY `expires` (`expires`), + KEY `ipstart` (`ipstart`,`ipend`) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1") or error(db_error()); + $listquery = query("SELECT * FROM ``bans`` ORDER BY `id`") or error(db_error()); + while ($ban = $listquery->fetch(PDO::FETCH_ASSOC)) { + $query = prepare("INSERT INTO ``bans_new_temp`` VALUES + (NULL, :ipstart, :ipend, :created, :expires, :board, :creator, :reason, :seen, NULL)"); + + $range = Bans::parse_range($ban['ip']); + if ($range === false) { + // Invalid retard ban; just skip it. + continue; + } + + $query->bindValue(':ipstart', $range[0]); + if ($range[1] !== false && $range[1] != $range[0]) + $query->bindValue(':ipend', $range[1]); + else + $query->bindValue(':ipend', null, PDO::PARAM_NULL); + + $query->bindValue(':created', $ban['set']); + + if ($ban['expires']) + $query->bindValue(':expires', $ban['expires']); + else + $query->bindValue(':expires', null, PDO::PARAM_NULL); + + if ($ban['board']) + $query->bindValue(':board', $ban['board']); + else + $query->bindValue(':board', null, PDO::PARAM_NULL); + + $query->bindValue(':creator', $ban['mod']); + + if ($ban['reason']) + $query->bindValue(':reason', $ban['reason']); + else + $query->bindValue(':reason', null, PDO::PARAM_NULL); + + $query->bindValue(':seen', $ban['seen']); + $query->execute() or error(db_error($query)); + } + + // Drop old bans table + query("DROP TABLE ``bans``") or error(db_error()); + // Replace with new table + query("RENAME TABLE ``bans_new_temp`` TO ``bans``") or error(db_error()); + case 'v0.9.6-dev-21': case false: // Update version number file_write($config['has_installed'], VERSION); |
