public static function install(Migration $migration)
{
global $DB;
$table = getTableForItemType(__CLASS__);
if (!TableExists($table) && !TableExists("glpi_dropdown_plugin_order_taxes")) {
$migration->displayMessage("Installing {$table}");
//Install
$query = "CREATE TABLE `glpi_plugin_order_ordertaxes` (\n `id` int(11) NOT NULL auto_increment,\n `name` varchar(255) collate utf8_unicode_ci default NULL,\n `comment` text collate utf8_unicode_ci,\n PRIMARY KEY (`id`),\n KEY `name` (`name`)\n ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;";
$DB->query($query) or die($DB->error());
$taxes = new self();
foreach (array('20', '5.5', '19.6') as $tax) {
$taxes->add(array('name' => $tax));
}
} else {
//Update
$migration->displayMessage("Migrating {$table}");
//1.2.0
$migration->renameTable("glpi_dropdown_plugin_order_taxes", $table);
$migration->changeField($table, "ID", "id", "int(11) NOT NULL auto_increment");
$migration->changeField($table, "name", "name", "varchar(255) collate utf8_unicode_ci default NULL");
$migration->changeField($table, "comments", "comment", "text collate utf8_unicode_ci");
$migration->migrationOneTable($table);
//Remplace , by . in taxes
foreach ($DB->request("SELECT `name` FROM `{$table}`") as $data) {
if (strpos($data["name"], ',')) {
$name = str_replace(',', '.', $data["name"]);
$query = "UPDATE `{$table}`\n SET `name` = '" . $name . "'\n WHERE `name`= '" . $data["name"] . "'";
$DB->query($query) or die($DB->error());
}
}
}
}