Changeset 1610
- Timestamp:
- 04/21/08 12:49:47 (3 months ago)
- Files:
-
- branches/punbb-1.3-dev/extras/db_update.php (modified) (46 diffs)
- branches/punbb-1.3-dev/extras/turn_off_maintenance_mode.php (modified) (2 diffs)
- branches/punbb-1.3-dev/upload/admin/bans.php (modified) (8 diffs)
- branches/punbb-1.3-dev/upload/admin/categories.php (modified) (8 diffs)
- branches/punbb-1.3-dev/upload/admin/censoring.php (modified) (3 diffs)
- branches/punbb-1.3-dev/upload/admin/extensions.php (modified) (10 diffs)
- branches/punbb-1.3-dev/upload/admin/forums.php (modified) (18 diffs)
- branches/punbb-1.3-dev/upload/admin/groups.php (modified) (20 diffs)
- branches/punbb-1.3-dev/upload/admin/index.php (modified) (4 diffs)
- branches/punbb-1.3-dev/upload/admin/options.php (modified) (3 diffs)
- branches/punbb-1.3-dev/upload/admin/prune.php (modified) (4 diffs)
- branches/punbb-1.3-dev/upload/admin/ranks.php (modified) (4 diffs)
- branches/punbb-1.3-dev/upload/admin/reindex.php (modified) (5 diffs)
- branches/punbb-1.3-dev/upload/admin/reports.php (modified) (4 diffs)
- branches/punbb-1.3-dev/upload/admin/users.php (modified) (19 diffs)
- branches/punbb-1.3-dev/upload/delete.php (modified) (1 diff)
- branches/punbb-1.3-dev/upload/edit.php (modified) (3 diffs)
- branches/punbb-1.3-dev/upload/extern.php (modified) (7 diffs)
- branches/punbb-1.3-dev/upload/footer.php (modified) (7 diffs)
- branches/punbb-1.3-dev/upload/header.php (modified) (1 diff)
- branches/punbb-1.3-dev/upload/include/cache.php (modified) (8 diffs)
- branches/punbb-1.3-dev/upload/include/common_admin.php (modified) (5 diffs)
- branches/punbb-1.3-dev/upload/include/dblayer/common_db.php (modified) (1 diff)
- branches/punbb-1.3-dev/upload/include/essentials.php (modified) (1 diff)
- branches/punbb-1.3-dev/upload/include/functions.php (modified) (62 diffs)
- branches/punbb-1.3-dev/upload/include/search_idx.php (modified) (9 diffs)
- branches/punbb-1.3-dev/upload/index.php (modified) (3 diffs)
- branches/punbb-1.3-dev/upload/install.php (modified) (28 diffs)
- branches/punbb-1.3-dev/upload/login.php (modified) (9 diffs)
- branches/punbb-1.3-dev/upload/misc.php (modified) (10 diffs)
- branches/punbb-1.3-dev/upload/moderate.php (modified) (31 diffs)
- branches/punbb-1.3-dev/upload/post.php (modified) (5 diffs)
- branches/punbb-1.3-dev/upload/profile.php (modified) (19 diffs)
- branches/punbb-1.3-dev/upload/register.php (modified) (2 diffs)
- branches/punbb-1.3-dev/upload/search.php (modified) (18 diffs)
- branches/punbb-1.3-dev/upload/userlist.php (modified) (5 diffs)
- branches/punbb-1.3-dev/upload/viewforum.php (modified) (7 diffs)
- branches/punbb-1.3-dev/upload/viewtopic.php (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/punbb-1.3-dev/extras/db_update.php
r1576 r1610 84 84 85 85 // Check current version 86 $result = $ db->query('SELECT conf_value FROM '.$db->prefix.'config WHERE conf_name=\'o_cur_version\'');87 $cur_version = $ db->result($result);86 $result = $pun_db->query('SELECT conf_value FROM '.$pun_db->prefix.'config WHERE conf_name=\'o_cur_version\''); 87 $cur_version = $pun_db->result($result); 88 88 if (version_compare($cur_version, '1.2', '<')) 89 89 error('Version mismatch. The database \''.$db_name.'\' doesn\'t seem to be running a PunBB database schema supported by this update script.', __FILE__, __LINE__); … … 91 91 // If we've already done charset conversion in a previous update, we have to do SET NAMES 92 92 if (strpos($cur_version, '1.3') === 0) 93 $ db->query('SET NAMES \'utf8\'') or error(__FILE__, __LINE__);93 $pun_db->query('SET NAMES \'utf8\'') or error(__FILE__, __LINE__); 94 94 95 95 … … 97 97 if ($db_type == 'mysql' || $db_type == 'mysqli') 98 98 { 99 $result = $ db->query('SELECT VERSION()') or error(__FILE__, __LINE__);100 $mysql_version = $ db->result($result);99 $result = $pun_db->query('SELECT VERSION()') or error(__FILE__, __LINE__); 100 $mysql_version = $pun_db->result($result); 101 101 if (version_compare($mysql_version, MIN_MYSQL_VERSION, '<')) 102 102 error('You are running MySQL version '.$mysql_version.'. PunBB '.UPDATE_TO.' requires at least MySQL '.MIN_MYSQL_VERSION.' to run properly. You must upgrade your MySQL installation before you can continue.'); … … 105 105 106 106 // Get the forum config 107 $result = $ db->query('SELECT * FROM '.$db->prefix.'config');108 while ($cur_config_item = $ db->fetch_row($result))107 $result = $pun_db->query('SELECT * FROM '.$pun_db->prefix.'config'); 108 while ($cur_config_item = $pun_db->fetch_row($result)) 109 109 $pun_config[$cur_config_item[0]] = $cur_config_item[1]; 110 110 … … 121 121 $pun_user['style'] = 'Oxygen'; 122 122 123 $ db->query('UPDATE '.$db->prefix.'config SET conf_value=\'Oxygen\' WHERE conf_name=\'o_default_style\'') or error(__FILE__, __LINE__);123 $pun_db->query('UPDATE '.$pun_db->prefix.'config SET conf_value=\'Oxygen\' WHERE conf_name=\'o_default_style\'') or error(__FILE__, __LINE__); 124 124 } 125 125 … … 128 128 if (!file_exists(PUN_ROOT.'lang/'.$pun_config['o_default_lang'].'/common.php')) 129 129 { 130 $ db->query('UPDATE '.$db->prefix.'config SET conf_value=\'English\' WHERE conf_name=\'o_default_lang\'') or error(__FILE__, __LINE__);130 $pun_db->query('UPDATE '.$pun_db->prefix.'config SET conf_value=\'English\' WHERE conf_name=\'o_default_lang\'') or error(__FILE__, __LINE__); 131 131 } 132 132 … … 263 263 $seems_utf8 = true; 264 264 265 $result = $ db->query('SELECT MIN(id), MAX(id) FROM '.$db->prefix.'posts') or error(__FILE__, __LINE__);266 list($min_id, $max_id) = $ db->fetch_row($result);265 $result = $pun_db->query('SELECT MIN(id), MAX(id) FROM '.$pun_db->prefix.'posts') or error(__FILE__, __LINE__); 266 list($min_id, $max_id) = $pun_db->fetch_row($result); 267 267 268 268 // Get a random soup of data and check if it appears to be UTF-8 … … 271 271 $id = ($i == 0) ? $min_id : (($i == 1) ? $max_id : rand($min_id, $max_id)); 272 272 273 $result = $ db->query('SELECT p.message, p.poster, t.subject, f.forum_name FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'topics AS t ON t.id = p.topic_id INNER JOIN '.$db->prefix.'forums AS f ON f.id = t.forum_id WHERE p.id>='.$id.' LIMIT 1') or error(__FILE__, __LINE__);274 $temp = $ db->fetch_row($result);273 $result = $pun_db->query('SELECT p.message, p.poster, t.subject, f.forum_name FROM '.$pun_db->prefix.'posts AS p INNER JOIN '.$pun_db->prefix.'topics AS t ON t.id = p.topic_id INNER JOIN '.$pun_db->prefix.'forums AS f ON f.id = t.forum_id WHERE p.id>='.$id.' LIMIT 1') or error(__FILE__, __LINE__); 274 $temp = $pun_db->fetch_row($result); 275 275 276 276 if (!seems_utf8($temp[0].$temp[1].$temp[2].$temp[3])) … … 306 306 307 307 // Set table default charset to utf8 308 $ db->query('ALTER TABLE `'.$table.'` CHARACTER SET utf8') or error(__FILE__, __LINE__);308 $pun_db->query('ALTER TABLE `'.$table.'` CHARACTER SET utf8') or error(__FILE__, __LINE__); 309 309 310 310 // Find out which columns need converting and build SQL statements 311 $result = $ db->query('SHOW FULL COLUMNS FROM `'.$table.'`') or error(__FILE__, __LINE__);312 while ($cur_column = $ db->fetch_assoc($result))311 $result = $pun_db->query('SHOW FULL COLUMNS FROM `'.$table.'`') or error(__FILE__, __LINE__); 312 while ($cur_column = $pun_db->fetch_assoc($result)) 313 313 { 314 314 list($type) = explode('(', $cur_column['Type']); … … 320 320 // Only supply a default value if a default value is specified 321 321 if ($cur_column['Default'] !== null) 322 $attributes .= ' DEFAULT \''.$ db->escape($cur_column['Default']).'\'';322 $attributes .= ' DEFAULT \''.$pun_db->escape($cur_column['Default']).'\''; 323 323 324 324 $convert_to_binary[] = $names.preg_replace('/'. $type .'/i', $types[$type], $cur_column['Type']) . $attributes; … … 330 330 { 331 331 // Convert text columns to binary 332 $ db->query('ALTER TABLE `'.$table.'` '.implode(', ', $convert_to_binary)) or error(__FILE__, __LINE__);332 $pun_db->query('ALTER TABLE `'.$table.'` '.implode(', ', $convert_to_binary)) or error(__FILE__, __LINE__); 333 333 // Convert binary columns to utf8 334 $ db->query('ALTER TABLE `'.$table.'` '.implode(', ', $convert_to_utf8)) or error(__FILE__, __LINE__);334 $pun_db->query('ALTER TABLE `'.$table.'` '.implode(', ', $convert_to_utf8)) or error(__FILE__, __LINE__); 335 335 } 336 336 } … … 478 478 case 'start': 479 479 // Add the extensions table if it doesn't already exist 480 if (!$ db->table_exists($db->prefix.'extensions'))480 if (!$pun_db->table_exists($pun_db->prefix.'extensions')) 481 481 { 482 482 switch ($db_type) … … 484 484 case 'mysql': 485 485 case 'mysqli': 486 $sql = 'CREATE TABLE '.$ db->prefix."extensions (486 $sql = 'CREATE TABLE '.$pun_db->prefix."extensions ( 487 487 id VARCHAR(50) NOT NULL DEFAULT '', 488 488 title VARCHAR(255) NOT NULL DEFAULT '', … … 498 498 499 499 case 'pgsql': 500 $sql = 'CREATE TABLE '.$ db->prefix."extensions (500 $sql = 'CREATE TABLE '.$pun_db->prefix."extensions ( 501 501 id VARCHAR(50) NOT NULL DEFAULT '', 502 502 title VARCHAR(255) NOT NULL DEFAULT '', … … 512 512 513 513 case 'sqlite': 514 $sql = 'CREATE TABLE '.$ db->prefix."extensions (514 $sql = 'CREATE TABLE '.$pun_db->prefix."extensions ( 515 515 id VARCHAR(50) NOT NULL DEFAULT '', 516 516 title VARCHAR(255) NOT NULL DEFAULT '', … … 526 526 } 527 527 528 $ db->query($sql) or error(__FILE__, __LINE__);528 $pun_db->query($sql) or error(__FILE__, __LINE__); 529 529 } 530 530 531 531 // Add uninstall_note field to extensions 532 $ db->add_field($db->prefix.'extensions', 'uninstall_note', 'TEXT', true, null, 'uninstall');532 $pun_db->add_field($pun_db->prefix.'extensions', 'uninstall_note', 'TEXT', true, null, 'uninstall'); 533 533 534 534 // Drop uninstall_notes (plural) field 535 $ db->drop_field($db->prefix.'extensions', 'uninstall_notes');535 $pun_db->drop_field($pun_db->prefix.'extensions', 'uninstall_notes'); 536 536 537 537 // Add disabled field to extensions 538 $ db->add_field($db->prefix.'extensions', 'disabled', 'TINYINT(1)', false, 0, 'uninstall_note');538 $pun_db->add_field($pun_db->prefix.'extensions', 'disabled', 'TINYINT(1)', false, 0, 'uninstall_note'); 539 539 540 540 // Add the extension_hooks table 541 if (!$ db->table_exists($db->prefix.'extension_hooks'))541 if (!$pun_db->table_exists($pun_db->prefix.'extension_hooks')) 542 542 { 543 543 switch ($db_type) … … 545 545 case 'mysql': 546 546 case 'mysqli': 547 $sql = 'CREATE TABLE '.$ db->prefix."extension_hooks (547 $sql = 'CREATE TABLE '.$pun_db->prefix."extension_hooks ( 548 548 id VARCHAR(50) NOT NULL DEFAULT '', 549 549 extension_id VARCHAR(50) NOT NULL DEFAULT '', … … 555 555 556 556 case 'pgsql': 557 $sql = 'CREATE TABLE '.$ db->prefix."extension_hooks (557 $sql = 'CREATE TABLE '.$pun_db->prefix."extension_hooks ( 558 558 id VARCHAR(50) NOT NULL DEFAULT '', 559 559 extension_id VARCHAR(50) NOT NULL DEFAULT '', … … 565 565 566 566 case 'sqlite': 567 $sql = 'CREATE TABLE '.$ db->prefix."extension_hooks (567 $sql = 'CREATE TABLE '.$pun_db->prefix."extension_hooks ( 568 568 id VARCHAR(50) NOT NULL DEFAULT '', 569 569 extension_id VARCHAR(50) NOT NULL DEFAULT '', … … 575 575 } 576 576 577 $ db->query($sql) or error(__FILE__, __LINE__);577 $pun_db->query($sql) or error(__FILE__, __LINE__); 578 578 } 579 579 … … 581 581 { 582 582 // Make all e-mail fields VARCHAR(80) 583 $ db->query('ALTER TABLE '.$db->prefix.'bans CHANGE email email VARCHAR(80)') or error(__FILE__, __LINE__);584 $ db->query('ALTER TABLE '.$db->prefix.'posts CHANGE poster_email poster_email VARCHAR(80)') or error(__FILE__, __LINE__);585 $ db->query('ALTER TABLE '.$db->prefix.'users CHANGE email email VARCHAR(80)') or error(__FILE__, __LINE__);586 $ db->query('ALTER TABLE '.$db->prefix.'users CHANGE jabber jabber VARCHAR(80)') or error(__FILE__, __LINE__);587 $ db->query('ALTER TABLE '.$db->prefix.'users CHANGE msn msn VARCHAR(80)') or error(__FILE__, __LINE__);588 $ db->query('ALTER TABLE '.$db->prefix.'users CHANGE activate_string activate_string VARCHAR(80)') or error(__FILE__, __LINE__);583 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'bans CHANGE email email VARCHAR(80)') or error(__FILE__, __LINE__); 584 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'posts CHANGE poster_email poster_email VARCHAR(80)') or error(__FILE__, __LINE__); 585 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'users CHANGE email email VARCHAR(80)') or error(__FILE__, __LINE__); 586 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'users CHANGE jabber jabber VARCHAR(80)') or error(__FILE__, __LINE__); 587 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'users CHANGE msn msn VARCHAR(80)') or error(__FILE__, __LINE__); 588 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'users CHANGE activate_string activate_string VARCHAR(80)') or error(__FILE__, __LINE__); 589 589 590 590 // Remove NOT NULL from TEXT fields for consistency. See http://dev.punbb.org/changeset/596 591 $ db->query('ALTER TABLE '.$db->prefix.'posts CHANGE message message TEXT') or error(__FILE__, __LINE__);592 $ db->query('ALTER TABLE '.$db->prefix.'reports CHANGE message message TEXT') or error(__FILE__, __LINE__);591 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'posts CHANGE message message TEXT') or error(__FILE__, __LINE__); 592 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'reports CHANGE message message TEXT') or error(__FILE__, __LINE__); 593 593 } 594 594 595 595 // Add the DST option to the users table 596 $ db->add_field($db->prefix.'users', 'dst', 'TINYINT(1)', false, 0, 'timezone');596 $pun_db->add_field($pun_db->prefix.'users', 'dst', 'TINYINT(1)', false, 0, 'timezone'); 597 597 598 598 // Add the salt field to the users table 599 $ db->add_field($db->prefix.'users', 'salt', 'VARCHAR(12)', true, null, 'password');599 $pun_db->add_field($pun_db->prefix.'users', 'salt', 'VARCHAR(12)', true, null, 'password'); 600 600 601 601 // Add the access_keys field to the users table 602 $ db->add_field($db->prefix.'users', 'access_keys', 'TINYINT(1)', false, 0, 'show_sig');602 $pun_db->add_field($pun_db->prefix.'users', 'access_keys', 'TINYINT(1)', false, 0, 'show_sig'); 603 603 604 604 // Add the CSRF token field to the online table 605 $ db->add_field($db->prefix.'online', 'csrf_token', 'VARCHAR(40)', false, '', null);605 $pun_db->add_field($pun_db->prefix.'online', 'csrf_token', 'VARCHAR(40)', false, '', null); 606 606 607 607 // Add the prev_url field to the online table 608 $ db->add_field($db->prefix.'online', 'prev_url', 'VARCHAR(255)', true, null, null);608 $pun_db->add_field($pun_db->prefix.'online', 'prev_url', 'VARCHAR(255)', true, null, null); 609 609 610 610 // Drop use_avatar column from users table 611 $ db->drop_field($db->prefix.'users', 'use_avatar');611 $pun_db->drop_field($pun_db->prefix.'users', 'use_avatar'); 612 612 613 613 // Make sure we have o_additional_navlinks (was added in 1.2.1) 614 614 if (!array_key_exists('o_additional_navlinks', $pun_config)) 615 $ db->query('INSERT INTO '.$db->prefix.'config (conf_name, conf_value) VALUES(\'o_additional_navlinks\', \'\')') or error(__FILE__, __LINE__);615 $pun_db->query('INSERT INTO '.$pun_db->prefix.'config (conf_name, conf_value) VALUES(\'o_additional_navlinks\', \'\')') or error(__FILE__, __LINE__); 616 616 617 617 // Insert new config options o_sef 618 618 if (!array_key_exists('o_sef', $pun_config)) 619 $ db->query('INSERT INTO '.$db->prefix.'config (conf_name, conf_value) VALUES(\'o_sef\', \'Default\')') or error(__FILE__, __LINE__);619 $pun_db->query('INSERT INTO '.$pun_db->prefix.'config (conf_name, conf_value) VALUES(\'o_sef\', \'Default\')') or error(__FILE__, __LINE__); 620 620 621 621 // Insert new config option o_topic_views 622 622 if (!array_key_exists('o_topic_views', $pun_config)) 623 $ db->query('INSERT INTO '.$db->prefix.'config (conf_name, conf_value) VALUES(\'o_topic_views\', \'1\')') or error(__FILE__, __LINE__);623 $pun_db->query('INSERT INTO '.$pun_db->prefix.'config (conf_name, conf_value) VALUES(\'o_topic_views\', \'1\')') or error(__FILE__, __LINE__); 624 624 625 625 // Insert new config option o_signatures 626 626 if (!array_key_exists('o_signatures', $pun_config)) 627 $ db->query('INSERT INTO '.$db->prefix.'config (conf_name, conf_value) VALUES(\'o_signatures\', \'1\')') or error(__FILE__, __LINE__);627 $pun_db->query('INSERT INTO '.$pun_db->prefix.'config (conf_name, conf_value) VALUES(\'o_signatures\', \'1\')') or error(__FILE__, __LINE__); 628 628 629 629 // Insert new config option o_smtp_ssl 630 630 if (!array_key_exists('o_smtp_ssl', $pun_config)) 631 $ db->query('INSERT INTO '.$db->prefix.'config (conf_name, conf_value) VALUES(\'o_smtp_ssl\', \'0\')') or error(__FILE__, __LINE__);631 $pun_db->query('INSERT INTO '.$pun_db->prefix.'config (conf_name, conf_value) VALUES(\'o_smtp_ssl\', \'0\')') or error(__FILE__, __LINE__); 632 632 633 633 // Insert new config option o_check_for_updates … … 635 635 { 636 636 $check_for_updates = (function_exists('curl_init') || function_exists('fsockopen') || in_array(strtolower(@ini_get('allow_url_fopen')), array('on', 'true', '1'))) ? 1 : 0; 637 $ db->query('INSERT INTO '.$db->prefix.'config (conf_name, conf_value) VALUES(\'o_check_for_updates\', \''.$check_for_updates.'\')') or error(__FILE__, __LINE__);637 $pun_db->query('INSERT INTO '.$pun_db->prefix.'config (conf_name, conf_value) VALUES(\'o_check_for_updates\', \''.$check_for_updates.'\')') or error(__FILE__, __LINE__); 638 638 } 639 639 640 640 // Insert new config option o_announcement_heading 641 641 if (!array_key_exists('o_announcement_heading', $pun_config)) 642 $ db->query('INSERT INTO '.$db->prefix.'config (conf_name, conf_value) VALUES(\'o_announcement_heading\', \'\')') or error(__FILE__, __LINE__);642 $pun_db->query('INSERT INTO '.$pun_db->prefix.'config (conf_name, conf_value) VALUES(\'o_announcement_heading\', \'\')') or error(__FILE__, __LINE__); 643 643 644 644 // Server timezone is now simply the default timezone 645 645 if (!array_key_exists('o_default_timezone', $pun_config)) 646 $ db->query('UPDATE '.$db->prefix.'config SET conf_name=\'o_default_timezone\' WHERE conf_name=\'o_server_timezone\'') or error(__FILE__, __LINE__);646 $pun_db->query('UPDATE '.$pun_db->prefix.'config SET conf_name=\'o_default_timezone\' WHERE conf_name=\'o_server_timezone\'') or error(__FILE__, __LINE__); 647 647 648 648 // Increase visit timeout to 30 minutes (only if it hasn't been changed from the default) 649 649 if ($pun_config['o_timeout_visit'] == '600') 650 $ db->query('UPDATE '.$db->prefix.'config SET conf_value=\'1800\' WHERE conf_name=\'o_timeout_visit\'') or error(__FILE__, __LINE__);650 $pun_db->query('UPDATE '.$pun_db->prefix.'config SET conf_value=\'1800\' WHERE conf_name=\'o_timeout_visit\'') or error(__FILE__, __LINE__); 651 651 652 652 // Remove obsolete g_post_polls permission from groups table 653 if ($ db->field_exists($db->prefix.'groups', 'g_post_polls') && $db_type != 'sqlite') // No DROP column in SQLite654 $ db->query('ALTER TABLE '.$db->prefix.'groups DROP g_post_polls') or error(__FILE__, __LINE__);653 if ($pun_db->field_exists($pun_db->prefix.'groups', 'g_post_polls') && $db_type != 'sqlite') // No DROP column in SQLite 654 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'groups DROP g_post_polls') or error(__FILE__, __LINE__); 655 655 656 656 // Make room for multiple moderator groups 657 if (!$ db->field_exists($db->prefix.'groups', 'g_moderator'))657 if (!$pun_db->field_exists($pun_db->prefix.'groups', 'g_moderator')) 658 658 { 659 659 // Add g_moderator column to groups table 660 $ db->add_field($db->prefix.'groups', 'g_moderator', 'TINYINT(1)', false, 0, 'g_user_title');660 $pun_db->add_field($pun_db->prefix.'groups', 'g_moderator', 'TINYINT(1)', false, 0, 'g_user_title'); 661 661 662 662 // Give the moderator group moderator privileges 663 $ db->query('UPDATE '.$db->prefix.'groups SET g_moderator=1 WHERE g_id=2') or error(__FILE__, __LINE__);663 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_moderator=1 WHERE g_id=2') or error(__FILE__, __LINE__); 664 664 665 665 // Shuffle the group IDs around a bit 666 $result = $ db->query('SELECT MAX(g_id)+1 FROM '.$db->prefix.'groups') or error(__FILE__, __LINE__);667 $temp_id = $ db->result($result);668 669 $ db->query('UPDATE '.$db->prefix.'groups SET g_id='.$temp_id.' WHERE g_id=2') or error(__FILE__, __LINE__);670 $ db->query('UPDATE '.$db->prefix.'groups SET g_id=2 WHERE g_id=3') or error(__FILE__, __LINE__);671 $ db->query('UPDATE '.$db->prefix.'groups SET g_id=3 WHERE g_id=4') or error(__FILE__, __LINE__);672 $ db->query('UPDATE '.$db->prefix.'groups SET g_id=4 WHERE g_id='.$temp_id) or error(__FILE__, __LINE__);673 674 $ db->query('UPDATE '.$db->prefix.'users SET group_id='.$temp_id.' WHERE group_id=2') or error(__FILE__, __LINE__);675 $ db->query('UPDATE '.$db->prefix.'users SET group_id=2 WHERE group_id=3') or error(__FILE__, __LINE__);676 $ db->query('UPDATE '.$db->prefix.'users SET group_id=3 WHERE group_id=4') or error(__FILE__, __LINE__);677 $ db->query('UPDATE '.$db->prefix.'users SET group_id=4 WHERE group_id='.$temp_id) or error(__FILE__, __LINE__);678 679 $ db->query('UPDATE '.$db->prefix.'forum_perms SET group_id='.$temp_id.' WHERE group_id=2') or error(__FILE__, __LINE__);680 $ db->query('UPDATE '.$db->prefix.'forum_perms SET group_id=2 WHERE group_id=3') or error(__FILE__, __LINE__);681 $ db->query('UPDATE '.$db->prefix.'forum_perms SET group_id=3 WHERE group_id=4') or error(__FILE__, __LINE__);682 $ db->query('UPDATE '.$db->prefix.'forum_perms SET group_id=4 WHERE group_id='.$temp_id) or error(__FILE__, __LINE__);666 $result = $pun_db->query('SELECT MAX(g_id)+1 FROM '.$pun_db->prefix.'groups') or error(__FILE__, __LINE__); 667 $temp_id = $pun_db->result($result); 668 669 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_id='.$temp_id.' WHERE g_id=2') or error(__FILE__, __LINE__); 670 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_id=2 WHERE g_id=3') or error(__FILE__, __LINE__); 671 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_id=3 WHERE g_id=4') or error(__FILE__, __LINE__); 672 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_id=4 WHERE g_id='.$temp_id) or error(__FILE__, __LINE__); 673 674 $pun_db->query('UPDATE '.$pun_db->prefix.'users SET group_id='.$temp_id.' WHERE group_id=2') or error(__FILE__, __LINE__); 675 $pun_db->query('UPDATE '.$pun_db->prefix.'users SET group_id=2 WHERE group_id=3') or error(__FILE__, __LINE__); 676 $pun_db->query('UPDATE '.$pun_db->prefix.'users SET group_id=3 WHERE group_id=4') or error(__FILE__, __LINE__); 677 $pun_db->query('UPDATE '.$pun_db->prefix.'users SET group_id=4 WHERE group_id='.$temp_id) or error(__FILE__, __LINE__); 678 679 $pun_db->query('UPDATE '.$pun_db->prefix.'forum_perms SET group_id='.$temp_id.' WHERE group_id=2') or error(__FILE__, __LINE__); 680 $pun_db->query('UPDATE '.$pun_db->prefix.'forum_perms SET group_id=2 WHERE group_id=3') or error(__FILE__, __LINE__); 681 $pun_db->query('UPDATE '.$pun_db->prefix.'forum_perms SET group_id=3 WHERE group_id=4') or error(__FILE__, __LINE__); 682 $pun_db->query('UPDATE '.$pun_db->prefix.'forum_perms SET group_id=4 WHERE group_id='.$temp_id) or error(__FILE__, __LINE__); 683 683 684 684 // Update the default usergroup if it uses the old ID for the members group 685 $ db->query('UPDATE '.$db->prefix.'config SET conf_value="3" WHERE conf_name="o_default_user_group" and conf_value="4"') or error(__FILE__, __LINE__);685 $pun_db->query('UPDATE '.$pun_db->prefix.'config SET conf_value="3" WHERE conf_name="o_default_user_group" and conf_value="4"') or error(__FILE__, __LINE__); 686 686 } 687 687 … … 689 689 if (array_key_exists('p_mod_edit_users', $pun_config)) 690 690 { 691 $ db->query('DELETE FROM '.$db->prefix.'config WHERE conf_name=\'p_mod_edit_users\'') or error(__FILE__, __LINE__);692 $ db->add_field($db->prefix.'groups', 'g_mod_edit_users', 'TINYINT(1)', false, 0, 'g_moderator');693 $ db->query('UPDATE '.$db->prefix.'groups SET g_mod_edit_users='.$pun_config['p_mod_edit_users'].' WHERE g_moderator=1') or error(__FILE__, __LINE__);691 $pun_db->query('DELETE FROM '.$pun_db->prefix.'config WHERE conf_name=\'p_mod_edit_users\'') or error(__FILE__, __LINE__); 692 $pun_db->add_field($pun_db->prefix.'groups', 'g_mod_edit_users', 'TINYINT(1)', false, 0, 'g_moderator'); 693 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_mod_edit_users='.$pun_config['p_mod_edit_users'].' WHERE g_moderator=1') or error(__FILE__, __LINE__); 694 694 } 695 695 … … 697 697 if (array_key_exists('p_mod_rename_users', $pun_config)) 698 698 { 699 $ db->query('DELETE FROM '.$db->prefix.'config WHERE conf_name=\'p_mod_rename_users\'') or error(__FILE__, __LINE__);700 $ db->add_field($db->prefix.'groups', 'g_mod_rename_users', 'TINYINT(1)', false, 0, 'g_mod_edit_users');701 $ db->query('UPDATE '.$db->prefix.'groups SET g_mod_rename_users='.$pun_config['p_mod_rename_users'].' WHERE g_moderator=1') or error(__FILE__, __LINE__);699 $pun_db->query('DELETE FROM '.$pun_db->prefix.'config WHERE conf_name=\'p_mod_rename_users\'') or error(__FILE__, __LINE__); 700 $pun_db->add_field($pun_db->prefix.'groups', 'g_mod_rename_users', 'TINYINT(1)', false, 0, 'g_mod_edit_users'); 701 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_mod_rename_users='.$pun_config['p_mod_rename_users'].' WHERE g_moderator=1') or error(__FILE__, __LINE__); 702 702 } 703 703 … … 705 705 if (array_key_exists('p_mod_change_passwords', $pun_config)) 706 706 { 707 $ db->query('DELETE FROM '.$db->prefix.'config WHERE conf_name=\'p_mod_change_passwords\'') or error(__FILE__, __LINE__);708 $ db->add_field($db->prefix.'groups', 'g_mod_change_passwords', 'TINYINT(1)', false, 0, 'g_mod_rename_users');709 $ db->query('UPDATE '.$db->prefix.'groups SET g_mod_change_passwords='.$pun_config['p_mod_change_passwords'].' WHERE g_moderator=1') or error(__FILE__, __LINE__);707 $pun_db->query('DELETE FROM '.$pun_db->prefix.'config WHERE conf_name=\'p_mod_change_passwords\'') or error(__FILE__, __LINE__); 708 $pun_db->add_field($pun_db->prefix.'groups', 'g_mod_change_passwords', 'TINYINT(1)', false, 0, 'g_mod_rename_users'); 709 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_mod_change_passwords='.$pun_config['p_mod_change_passwords'].' WHERE g_moderator=1') or error(__FILE__, __LINE__); 710 710 } 711 711 … … 713 713 if (array_key_exists('p_mod_ban_users', $pun_config)) 714 714 { 715 $ db->query('DELETE FROM '.$db->prefix.'config WHERE conf_name=\'p_mod_ban_users\'') or error(__FILE__, __LINE__);716 $ db->add_field($db->prefix.'groups', 'g_mod_ban_users', 'TINYINT(1)', false, 0, 'g_mod_change_passwords');717 $ db->query('UPDATE '.$db->prefix.'groups SET g_mod_ban_users='.$pun_config['p_mod_ban_users'].' WHERE g_moderator=1') or error(__FILE__, __LINE__);715 $pun_db->query('DELETE FROM '.$pun_db->prefix.'config WHERE conf_name=\'p_mod_ban_users\'') or error(__FILE__, __LINE__); 716 $pun_db->add_field($pun_db->prefix.'groups', 'g_mod_ban_users', 'TINYINT(1)', false, 0, 'g_mod_change_passwords'); 717 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_mod_ban_users='.$pun_config['p_mod_ban_users'].' WHERE g_moderator=1') or error(__FILE__, __LINE__); 718 718 } 719 719 720 720 // We need to add a unique index to avoid users having multiple rows in the online table 721 if (!$ db->index_exists($db->prefix.'online', $db->prefix.'online_user_id_ident_idx'))722 { 723 $ db->query('DELETE FROM '.$db->prefix.'online') or error(__FILE__, __LINE__);721 if (!$pun_db->index_exists($pun_db->prefix.'online', $pun_db->prefix.'online_user_id_ident_idx')) 722 { 723 $pun_db->query('DELETE FROM '.$pun_db->prefix.'online') or error(__FILE__, __LINE__); 724 724 725 725 switch ($db_type) … … 727 727 case 'mysql': 728 728 case 'mysqli': 729 $ db->query('ALTER TABLE '.$db->prefix.'online ADD UNIQUE INDEX '.$db->prefix.'online_user_id_ident_idx (user_id, ident(25))') or error(__FILE__, __LINE__);729 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'online ADD UNIQUE INDEX '.$pun_db->prefix.'online_user_id_ident_idx (user_id, ident(25))') or error(__FILE__, __LINE__); 730 730 break; 731 731 732 732 default: 733 $ db->query('CREATE UNIQUE INDEX '.$db->prefix.'online_user_id_ident_idx ON '.$db->prefix.'online(user_id, ident)') or error(__FILE__, __LINE__);733 $pun_db->query('CREATE UNIQUE INDEX '.$pun_db->prefix.'online_user_id_ident_idx ON '.$pun_db->prefix.'online(user_id, ident)') or error(__FILE__, __LINE__); 734 734 break; 735 735 } … … 737 737 738 738 // Get rid of the old search tables for mysql/mysqli 739 if (($db_type == 'mysql' || $db_type == 'mysqli') && $ db->table_exists($db->prefix.'search_cache') && $db->table_exists($db->prefix.'search_matches') && $db->table_exists($db->prefix.'search_words'))740 $ db->query('DROP TABLE '.$db->prefix.'search_cache, '.$db->prefix.'search_matches, '.$db->prefix.'search_words') or error(__FILE__, __LINE__);739 if (($db_type == 'mysql' || $db_type == 'mysqli') && $pun_db->table_exists($pun_db->prefix.'search_cache') && $pun_db->table_exists($pun_db->prefix.'search_matches') && $pun_db->table_exists($pun_db->prefix.'search_words')) 740 $pun_db->query('DROP TABLE '.$pun_db->prefix.'search_cache, '.$pun_db->prefix.'search_matches, '.$pun_db->prefix.'search_words') or error(__FILE__, __LINE__); 741 741 742 742 // Add an index on last_post in the topics table 743 if (!$ db->index_exists($db->prefix.'topics', $db->prefix.'topics_last_post_idx'))743 if (!$pun_db->index_exists($pun_db->prefix.'topics', $pun_db->prefix.'topics_last_post_idx')) 744 744 { 745 745 switch ($db_type) … … 747 747 case 'mysql': 748 748 case 'mysqli': 749 $ db->query('ALTER TABLE '.$db->prefix.'topics ADD INDEX '.$db->prefix.'topics_last_post_idx(last_post)') or error(__FILE__, __LINE__);749 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'topics ADD INDEX '.$pun_db->prefix.'topics_last_post_idx(last_post)') or error(__FILE__, __LINE__); 750 750 break; 751 751 752 752 default: 753 $ db->query('CREATE INDEX '.$db->prefix.'topics_last_post_idx ON '.$db->prefix.'topics(last_post)') or error(__FILE__, __LINE__);753 $pun_db->query('CREATE INDEX '.$pun_db->prefix.'topics_last_post_idx ON '.$pun_db->prefix.'topics(last_post)') or error(__FILE__, __LINE__); 754 754 break; 755 755 } … … 757 757 758 758 // Remove any remnants of the now defunct post approval system 759 $ db->drop_field($db->prefix.'forums', 'approval');760 $ db->drop_field($db->prefix.'groups', 'g_posts_approved');761 $ db->drop_field($db->prefix.'posts', 'approved');759 $pun_db->drop_field($pun_db->prefix.'forums', 'approval'); 760 $pun_db->drop_field($pun_db->prefix.'groups', 'g_posts_approved'); 761 $pun_db->drop_field($pun_db->prefix.'posts', 'approved'); 762 762 763 763 // Add g_view_users field to groups table 764 $ db->add_field($db->prefix.'groups', 'g_view_users', 'TINYINT(1)', false, 1, 'g_read_board');764 $pun_db->add_field($pun_db->prefix.'groups', 'g_view_users', 'TINYINT(1)', false, 1, 'g_read_board'); 765 765 766 766 // Add the time/date format settings to the user table 767 $ db->add_field($db->prefix.'users', 'time_format', 'INT(10)', false, 0, 'dst');768 $ db->add_field($db->prefix.'users', 'date_format', 'INT(10)', false, 0, 'dst');767 $pun_db->add_field($pun_db->prefix.'users', 'time_format', 'INT(10)', false, 0, 'dst'); 768 $pun_db->add_field($pun_db->prefix.'users', 'date_format', 'INT(10)', false, 0, 'dst'); 769 769 770 770 // Add the last_search column to the users table 771 $ db->add_field($db->prefix.'users', 'last_search', 'INT(10)', true, null, 'last_post');771 $pun_db->add_field($pun_db->prefix.'users', 'last_search', 'INT(10)', true, null, 'last_post'); 772 772 773 773 // Add the last_email_sent column to the users table and the g_send_email and 774 774 // g_email_flood columns to the groups table 775 $ db->add_field($db->prefix.'users', 'last_email_sent', 'INT(10)', true, null, 'last_search');776 $ db->add_field($db->prefix.'groups', 'g_send_email', 'TINYINT(1)', false, 1, 'g_search_users');777 $ db->add_field($db->prefix.'groups', 'g_email_flood', 'INT(10)', false, 60, 'g_search_flood');775 $pun_db->add_field($pun_db->prefix.'users', 'last_email_sent', 'INT(10)', true, null, 'last_search'); 776 $pun_db->add_field($pun_db->prefix.'groups', 'g_send_email', 'TINYINT(1)', false, 1, 'g_search_users'); 777 $pun_db->add_field($pun_db->prefix.'groups', 'g_email_flood', 'INT(10)', false, 60, 'g_search_flood'); 778 778 779 779 // Set non-default g_send_email and g_flood_email values properly 780 $ db->query('UPDATE '.$db->prefix.'groups SET g_send_email=0 WHERE g_id=2') or error(__FILE__, __LINE__);781 $ db->query('UPDATE '.$db->prefix.'groups SET g_email_flood=0 WHERE g_id IN (1,2,4)') or error(__FILE__, __LINE__);780 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_send_email=0 WHERE g_id=2') or error(__FILE__, __LINE__); 781 $pun_db->query('UPDATE '.$pun_db->prefix.'groups SET g_email_flood=0 WHERE g_id IN (1,2,4)') or error(__FILE__, __LINE__); 782 782 783 783 // Add the auto notify/subscription option to the users table 784 $ db->add_field($db->prefix.'users', 'auto_notify', 'TINYINT(1)', false, 0, 'notify_with_post');784 $pun_db->add_field($pun_db->prefix.'users', 'auto_notify', 'TINYINT(1)', false, 0, 'notify_with_post'); 785 785 786 786 // Add the first_post_id column to the topics table 787 if (!$ db->field_exists($db->prefix.'topics', 'first_post_id'))787 if (!$pun_db->field_exists($pun_db->prefix.'topics', 'first_post_id')) 788 788 { 789 789 switch ($db_type) … … 791 791 case 'mysql': 792 792 case 'mysqli': 793 $ db->query('ALTER TABLE '.$db->prefix.'topics ADD first_post_id INT(10) UNSIGNED NOT NULL DEFAULT 0 AFTER posted') or error(__FILE__, __LINE__);794 $ db->query('ALTER TABLE '.$db->prefix.'topics ADD INDEX '.$db->prefix.'topics_first_post_id_idx(first_post_id)') or error(__FILE__, __LINE__);793 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'topics ADD first_post_id INT(10) UNSIGNED NOT NULL DEFAULT 0 AFTER posted') or error(__FILE__, __LINE__); 794 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'topics ADD INDEX '.$pun_db->prefix.'topics_first_post_id_idx(first_post_id)') or error(__FILE__, __LINE__); 795 795 break; 796 796 797 797 default: 798 $ db->add_field($db->prefix.'topics', 'first_post_id', 'INT', false, 0, null);799 $ db->query('CREATE INDEX '.$db->prefix.'topics_first_post_id_idx ON '.$db->prefix.'topics(first_post_id)') or error(__FILE__, __LINE__);798 $pun_db->add_field($pun_db->prefix.'topics', 'first_post_id', 'INT', false, 0, null); 799 $pun_db->query('CREATE INDEX '.$pun_db->prefix.'topics_first_post_id_idx ON '.$pun_db->prefix.'topics(first_post_id)') or error(__FILE__, __LINE__); 800 800 break; 801 801 } 802 802 803 803 // Now that we've added the column and indexed it, we need to give it correct data 804 $result = $ db->query('SELECT min(id) AS first_post, topic_id FROM '.$db->prefix.'posts GROUP BY topic_id') or error(__FILE__, __LINE__);805 806 while ($cur_post = $ db->fetch_assoc($result))807 { 808 $ db->query('UPDATE '.$db->prefix.'topics SET first_post_id = '.$cur_post['first_post'].' WHERE id = '.$cur_post['topic_id']) or error(__FILE__, __LINE__);804 $result = $pun_db->query('SELECT min(id) AS first_post, topic_id FROM '.$pun_db->prefix.'posts GROUP BY topic_id') or error(__FILE__, __LINE__); 805 806 while ($cur_post = $pun_db->fetch_assoc($result)) 807 { 808 $pun_db->query('UPDATE '.$pun_db->prefix.'topics SET first_post_id = '.$cur_post['first_post'].' WHERE id = '.$cur_post['topic_id']) or error(__FILE__, __LINE__); 809 809 } 810 810 } 811 811 812 812 // Move any users with the old unverified status to their new group 813 $ db->query('UPDATE '.$db->prefix.'users SET group_id=0 WHERE group_id=32000') or error(__FILE__, __LINE__);813 $pun_db->query('UPDATE '.$pun_db->prefix.'users SET group_id=0 WHERE group_id=32000') or error(__FILE__, __LINE__); 814 814 815 815 // Add the ban_creator column to the bans table 816 if (!$ db->field_exists($db->prefix.'bans', 'ban_creator'))816 if (!$pun_db->field_exists($pun_db->prefix.'bans', 'ban_creator')) 817 817 { 818 818 switch ($db_type) … … 820 820 case 'mysql': 821 821 case 'mysqli': 822 $ db->query('ALTER TABLE '.$db->prefix.'bans ADD ban_creator INT(10) UNSIGNED NOT NULL DEFAULT 0') or error(__FILE__, __LINE__);822 $pun_db->query('ALTER TABLE '.$pun_db->prefix.'bans ADD ban_creator INT(10) UNSIGNED NOT NULL DEFAULT 0') or error(__FILE__, __LINE__); 823 823 break; 824 824 825 825 default: 826 $ db->add_field($db->prefix.'bans', 'ban_creator', 'INT', false, 0, null);826 $pun_db->add_field($pun_db->prefix.'bans', 'ban_creator', 'INT', false, 0, null); 827 827 break; 828 828 } … … 832 832 if (!empty($supersedes_ext)) 833 833 { 834 $ db->query('DELETE FROM '.$db->prefix.'extension_hooks WHERE extension_id IN(\''.implode('\',\'', $supersedes_ext).'\')') or error(__FILE__, __LINE__);835 $ db->query('DELETE FROM '.$db->prefix.'extensions WHERE id IN(\''.implode('\',\'', $supersedes_ext).'\')') or error(__FILE__, __LINE__);834 $pun_db->query('DELETE FROM '.$pun_db->prefix.'extension_hooks WHERE extension_id IN(\''.implode('\',\'', $supersedes_ext).'\')') or error(__FILE__, __LINE__); 835 $pun_db->query('DELETE FROM '.$pun_db->prefix.'extensions WHERE id IN(\''.implode('\',\'', $supersedes_ext).'\')') or error(__FILE__, __LINE__); 836 836 } 837 837 … … 851 851 { 852 852 if (convert_to_utf8($conf_value, $old_charset)) 853 $ db->query('UPDATE '.$db->prefix.'config SET conf_value=\''.$db->escape($conf_value).'\' WHERE conf_name=\''.$conf_name.'\'') or error(__FILE__, __LINE__);853 $pun_db->query('UPDATE '.$pun_db->prefix.'config SET conf_value=\''.$pun_db->escape($conf_value).'\' WHERE conf_name=\''.$conf_name.'\'') or error(__FILE__, __LINE__); 854 854 } 855 855 856 856 // Convert categories 857 857 echo 'Converting categories âŠ'."<br />\n"; 858 $result = $ db->query('SELECT id, cat_name FROM '.$db->prefix.'categories ORDER BY id') or error(__FILE__, __LINE__);859 while ($cur_item = $ db->fetch_assoc($result))858 $result = $pun_db->query('SELECT id, cat_name FROM '.$pun_db->prefix.'categories ORDER BY id') or error(__FILE__, __LINE__); 859 while ($cur_item = $pun_db->fetch_assoc($result)) 860 860 { 861 861 if (convert_to_utf8($cur_item['cat_name'], $old_charset)) 862 $ db->query('UPDATE '.$db->prefix.'categories SET cat_name=\''.$db->escape($cur_item['cat_name']).'\' WHERE id='.$cur_item['id']) or error(__FILE__, __LINE__);862 $pun_db->query('UPDATE '.$pun_db->prefix.'categories SET cat_name=\''.$pun_db->escape($cur_item['cat_name']).'\' WHERE id='.$cur_item['id']) or error(__FILE__, __LINE__); 863 863 } 864 864 865 865 // Convert forums 866 866 echo 'Converting forums âŠ'."<br />\n"; 867 $result = $ db->query('SELECT id, forum_name, forum_desc, moderators FROM '.$db->prefix.'forums ORDER BY id') or error(__FILE__, __LINE__);868 while ($cur_item = $ db->fetch_assoc($result))
