コード例 #1
0
ファイル: upd_helpers.php プロジェクト: divyinfo/SuperNova
function upd_create_table($table_name, $declaration)
{
    global $config, $update_tables;
    if (!$update_tables[$table_name]) {
        upd_do_query('set foreign_key_checks = 0;', true);
        $result = upd_do_query("CREATE TABLE IF NOT EXISTS `{$config->db_prefix}{$table_name}` {$declaration}");
        $error = db_error();
        if ($error) {
            die("Creating error for table `{$table_name}`: {$error}<br />" . dump($declaration));
        }
        upd_do_query('set foreign_key_checks = 1;', true);
        upd_load_table_info($table_name, false);
        sys_refresh_tablelist();
    }
    return $result;
}
コード例 #2
0
ファイル: update.php プロジェクト: divyinfo/SuperNova
if ($config->db_version < 26) {
    $sys_log_disabled = true;
}
$upd_log = '';
$new_version = floatval($config->db_version);
upd_check_key('upd_lock_time', 300, !isset($config->upd_lock_time));
set_time_limit($config->upd_lock_time + 10);
upd_log_message('Update started. Disabling server');
$old_server_status = $config->db_loadItem('game_disable');
$config->db_saveItem('game_disable', GAME_DISABLE_UPDATE);
upd_log_message('Server disabled. Loading table info...');
$update_tables = array();
$update_indexes = array();
$query = upd_do_query('SHOW TABLES;', true);
while ($row = db_fetch_row($query)) {
    upd_load_table_info($row[0]);
}
upd_log_message('Table info loaded. Now looking DB for upgrades...');
upd_do_query('SET FOREIGN_KEY_CHECKS=0;', true);
if ($new_version < 37) {
    require_once 'update_old.php';
}
ini_set('memory_limit', '1024M');
switch ($new_version) {
    case 37:
        upd_log_version_update();
        upd_check_key('player_vacation_timeout', PERIOD_WEEK, $config->player_vacation_timeout != PERIOD_WEEK);
        upd_check_key('player_vacation_time', PERIOD_WEEK, $config->player_vacation_time != PERIOD_WEEK);
        upd_alter_table('users', "ADD `vacation_next` INT(11) NOT NULL DEFAULT 0 COMMENT 'Next datetime when player can go on vacation'", !$update_tables['users']['vacation_next']);
        upd_alter_table('users', "ADD `metamatter` BIGINT(20) NOT NULL DEFAULT 0 COMMENT 'Metamatter amount'", !$update_tables['users']['metamatter']);
        upd_check_key('url_purchase_metamatter', $config->url_dark_matter, !$config->url_purchase_metamatter && $config->url_dark_matter);