From be78a0fc4563b0f3db3d47d434d90c95d4bdd990 Mon Sep 17 00:00:00 2001 From: slawkens Date: Thu, 30 May 2024 11:32:03 +0200 Subject: [PATCH] Do adjustments only if table exist --- install/tools/5-database.php | 113 ++++++++++++++++++----------------- 1 file changed, 57 insertions(+), 56 deletions(-) diff --git a/install/tools/5-database.php b/install/tools/5-database.php index 12e02b90..3ad4348a 100644 --- a/install/tools/5-database.php +++ b/install/tools/5-database.php @@ -138,73 +138,74 @@ if(!$db->hasColumn('accounts', 'premium_points')) { success($locale['step_database_adding_field'] . ' accounts.premium_points...'); } -if($db->hasColumn('guilds', 'checkdata')) { - if(query("ALTER TABLE `guilds` MODIFY `checkdata` INT NOT NULL DEFAULT 0;")) - success($locale['step_database_modifying_field'] . ' guilds.checkdata...'); -} - -if(!$db->hasColumn('guilds', 'motd')) { - if(query("ALTER TABLE `guilds` ADD `motd` VARCHAR(255) NOT NULL DEFAULT '';")) - success($locale['step_database_adding_field'] . ' guilds.motd...'); -} -else { - if(query("ALTER TABLE `guilds` MODIFY `motd` VARCHAR(255) NOT NULL DEFAULT '';")) - success($locale['step_database_modifying_field'] . ' guilds.motd...'); -} - -if(!$db->hasColumn('guilds', 'description')) { - if(query("ALTER TABLE `guilds` ADD `description` TEXT NOT NULL;")) - success($locale['step_database_adding_field'] . ' guilds.description...'); -} - -if($db->hasColumn('guilds', 'logo_gfx_name')) { - if(query("ALTER TABLE `guilds` CHANGE `logo_gfx_name` `logo_name` VARCHAR( 255 ) NOT NULL DEFAULT 'default.gif';")) { - $tmp = str_replace('$FIELD$', 'guilds.logo_gfx_name', $locale['step_database_changing_field']); - $tmp = str_replace('$FIELD_NEW$', 'guilds.logo_name', $tmp); - success($tmp); +if ($db->hasTable('guilds')) { + if ($db->hasColumn('guilds', 'checkdata')) { + if (query("ALTER TABLE `guilds` MODIFY `checkdata` INT NOT NULL DEFAULT 0;")) + success($locale['step_database_modifying_field'] . ' guilds.checkdata...'); } -} -else if(!$db->hasColumn('guilds', 'logo_name')) { - if(query("ALTER TABLE `guilds` ADD `logo_name` VARCHAR( 255 ) NOT NULL DEFAULT 'default.gif';")) - success($locale['step_database_adding_field'] . ' guilds.logo_name...'); -} -if(!$db->hasColumn('players', 'created')) { - if(query("ALTER TABLE `players` ADD `created` INT(11) NOT NULL DEFAULT 0;")) - success($locale['step_database_adding_field'] . ' players.created...'); -} + if (!$db->hasColumn('guilds', 'motd')) { + if (query("ALTER TABLE `guilds` ADD `motd` VARCHAR(255) NOT NULL DEFAULT '';")) + success($locale['step_database_adding_field'] . ' guilds.motd...'); + } else { + if (query("ALTER TABLE `guilds` MODIFY `motd` VARCHAR(255) NOT NULL DEFAULT '';")) + success($locale['step_database_modifying_field'] . ' guilds.motd...'); + } -if(!$db->hasColumn('players', 'deleted') && !$db->hasColumn('players', 'deletion')) { - if(query("ALTER TABLE `players` ADD `deleted` TINYINT(1) NOT NULL DEFAULT 0;")) - success($locale['step_database_adding_field'] . ' players.deleted...'); -} + if (!$db->hasColumn('guilds', 'description')) { + if (query("ALTER TABLE `guilds` ADD `description` TEXT NOT NULL;")) + success($locale['step_database_adding_field'] . ' guilds.description...'); + } -if($db->hasColumn('players', 'hide_char')) { - if(!$db->hasColumn('players', 'hide')) { - if(query("ALTER TABLE `players` CHANGE `hide_char` `hide` TINYINT(1) NOT NULL DEFAULT 0;")) { - $tmp = str_replace('$FIELD$', 'players.hide_char', $locale['step_database_changing_field']); - $tmp = str_replace('$FIELD_NEW$', 'players.hide', $tmp); + if ($db->hasColumn('guilds', 'logo_gfx_name')) { + if (query("ALTER TABLE `guilds` CHANGE `logo_gfx_name` `logo_name` VARCHAR( 255 ) NOT NULL DEFAULT 'default.gif';")) { + $tmp = str_replace('$FIELD$', 'guilds.logo_gfx_name', $locale['step_database_changing_field']); + $tmp = str_replace('$FIELD_NEW$', 'guilds.logo_name', $tmp); success($tmp); } + } else if (!$db->hasColumn('guilds', 'logo_name')) { + if (query("ALTER TABLE `guilds` ADD `logo_name` VARCHAR( 255 ) NOT NULL DEFAULT 'default.gif';")) + success($locale['step_database_adding_field'] . ' guilds.logo_name...'); } } -else if(!$db->hasColumn('players', 'hide')) { - if(query("ALTER TABLE `players` ADD `hide` TINYINT(1) NOT NULL DEFAULT 0;")) - success($locale['step_database_adding_field'] . ' players.hide...'); -} -if(!$db->hasColumn('players', 'comment')) { - if(query("ALTER TABLE `players` ADD `comment` TEXT NOT NULL;")) - success($locale['step_database_adding_field'] . ' players.comment...'); -} +if ($db->hasTable('players')) { + if (!$db->hasColumn('players', 'created')) { + if (query("ALTER TABLE `players` ADD `created` INT(11) NOT NULL DEFAULT 0;")) + success($locale['step_database_adding_field'] . ' players.created...'); + } -if($db->hasColumn('players', 'rank_id')) { - if(query("ALTER TABLE players MODIFY `rank_id` INT(11) NOT NULL DEFAULT 0;")) - success($locale['step_database_modifying_field'] . ' players.rank_id...'); + if (!$db->hasColumn('players', 'deleted') && !$db->hasColumn('players', 'deletion')) { + if (query("ALTER TABLE `players` ADD `deleted` TINYINT(1) NOT NULL DEFAULT 0;")) + success($locale['step_database_adding_field'] . ' players.deleted...'); + } - if($db->hasColumn('players', 'guildnick')) { - if(query("ALTER TABLE players MODIFY `guildnick` VARCHAR(255) NOT NULL DEFAULT '';")) { - success($locale['step_database_modifying_field'] . ' players.guildnick...'); + if ($db->hasColumn('players', 'hide_char')) { + if (!$db->hasColumn('players', 'hide')) { + if (query("ALTER TABLE `players` CHANGE `hide_char` `hide` TINYINT(1) NOT NULL DEFAULT 0;")) { + $tmp = str_replace('$FIELD$', 'players.hide_char', $locale['step_database_changing_field']); + $tmp = str_replace('$FIELD_NEW$', 'players.hide', $tmp); + success($tmp); + } + } + } else if (!$db->hasColumn('players', 'hide')) { + if (query("ALTER TABLE `players` ADD `hide` TINYINT(1) NOT NULL DEFAULT 0;")) + success($locale['step_database_adding_field'] . ' players.hide...'); + } + + if (!$db->hasColumn('players', 'comment')) { + if (query("ALTER TABLE `players` ADD `comment` TEXT NOT NULL;")) + success($locale['step_database_adding_field'] . ' players.comment...'); + } + + if ($db->hasColumn('players', 'rank_id')) { + if (query("ALTER TABLE players MODIFY `rank_id` INT(11) NOT NULL DEFAULT 0;")) + success($locale['step_database_modifying_field'] . ' players.rank_id...'); + + if ($db->hasColumn('players', 'guildnick')) { + if (query("ALTER TABLE players MODIFY `guildnick` VARCHAR(255) NOT NULL DEFAULT '';")) { + success($locale['step_database_modifying_field'] . ' players.guildnick...'); + } } } }