function plugin_addressing_install() { global $DB; include_once GLPI_ROOT . "/plugins/addressing/inc/profile.class.php"; $update = false; if (!TableExists("glpi_plugin_addressing_display") && !TableExists("glpi_plugin_addressing") && !TableExists("glpi_plugin_addressing_configs")) { $DB->runFile(GLPI_ROOT . "/plugins/addressing/sql/empty-2.0.0.sql"); } else { if (!TableExists("glpi_plugin_addressing_profiles") && TableExists("glpi_plugin_addressing_display") && !FieldExists("glpi_plugin_addressing_display", "ipconf1")) { //1.4 $update = true; $DB->runFile(GLPI_ROOT . "/plugins/addressing/sql/update-1.4.sql"); } if (!TableExists("glpi_plugin_addressing") && TableExists("glpi_plugin_addressing_display") && FieldExists("glpi_plugin_addressing_display", "ipconf1")) { $update = true; $DB->runFile(GLPI_ROOT . "/plugins/addressing/sql/update-1.5.sql"); } if (TableExists("glpi_plugin_addressing_display") && !FieldExists("glpi_plugin_addressing", "ipdeb")) { $update = true; $DB->runFile(GLPI_ROOT . "/plugins/addressing/sql/update-1.6.sql"); } if (TableExists("glpi_plugin_addressing_profiles") && FieldExists("glpi_plugin_addressing_profiles", "interface")) { $update = true; $DB->runFile(GLPI_ROOT . "/plugins/addressing/sql/update-1.7.0.sql"); } if (!TableExists("glpi_plugin_addressing_configs")) { $DB->runFile(GLPI_ROOT . "/plugins/addressing/sql/update-1.8.0.sql"); $update = true; } if (TableExists("glpi_plugin_addressing_profiles") && !FieldExists("glpi_plugin_addressing_profiles", "use_ping_in_equipment")) { $DB->runFile(GLPI_ROOT . "/plugins/addressing/sql/update-1.9.0.sql"); $update = true; } } if ($update) { $query_ = "SELECT *\n FROM `glpi_plugin_addressing_profiles` "; $result_ = $DB->query($query_); if ($DB->numrows($result_) > 0) { while ($data = $DB->fetch_array($result_)) { $query = "UPDATE `glpi_plugin_addressing_profiles`\n SET `profiles_id` = '" . $data["id"] . "'\n WHERE `id` = '" . $data["id"] . "'"; $result = $DB->query($query); } } if (FieldExists("glpi_plugin_addressing_profiles", "name")) { $query = "ALTER TABLE `glpi_plugin_addressing_profiles`\n DROP `name` "; $result = $DB->query($query); } Plugin::migrateItemType(array(5000 => 'PluginAddressingAddressing', 5001 => 'PluginAddressingReport'), array("glpi_bookmarks", "glpi_bookmarks_users", "glpi_displaypreferences", "glpi_documents_items", "glpi_infocoms", "glpi_logs", "glpi_items_tickets")); } //0.85 : new profile system PluginAddressingProfile::migrateProfiles(); //Add all rights for current user profile PluginAddressingProfile::createFirstAccess($_SESSION['glpiactiveprofile']['id']); //Drop old profile table : not used anymore $migration = new Migration("2.2.0"); $migration->dropTable('glpi_plugin_addressing_profiles'); return true; }