array('table' => 'glpi_plugin_auf_computers', 'joinparams' => array('jointype' => 'child', 'linkfield' => 'id') ) ); $i++; $sopt[$i]['table'] = 'glpi_plugin_auf_utilisations'; $sopt[$i]['field'] = 'name'; $sopt[$i]['linkfield'] = 'auf_utilisations_id'; $sopt[$i]['name'] = 'AUF - Utilisation'; $sopt[$i]['datatype'] = 'dropdown'; $sopt[$i]['massiveaction'] = FALSE; $sopt[$i]['joinparams'] = array('beforejoin' => array('table' => 'glpi_plugin_auf_computers', 'joinparams' => array('jointype' => 'child', 'linkfield' => 'id') ) ); $i++; $sopt[$i]['table'] = 'glpi_plugin_auf_computers'; $sopt[$i]['field'] = 'annee_acquisition'; $sopt[$i]['linkfield'] = 'id'; $sopt[$i]['name'] = 'AUF - Année d\'acquisition'; $sopt[$i]['datatype'] = 'number'; $sopt[$i]['massiveaction'] = FALSE; $i++; $sopt[$i]['table'] = 'glpi_plugin_auf_computers'; $sopt[$i]['field'] = 'est_virtuel'; $sopt[$i]['linkfield'] = 'id'; $sopt[$i]['name'] = 'AUF - Virtuel'; $sopt[$i]['datatype'] = 'bool'; // $sopt[$i]['joinparams'] = array('jointype' => 'child'); $sopt[$i]['massiveaction'] = FALSE; } return $sopt; } function plugin_auf_install() { global $DB; $migration = new Migration(100); // Création de la table uniquement lors de la première installation if (!TableExists("glpi_plugin_auf_profiles")) { // requête de création de la table $query = "CREATE TABLE `glpi_plugin_auf_profiles` ( `id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_profiles (id)', `right` char(1) collate utf8_unicode_ci default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"; $DB->queryOrDie($query, $DB->error()); $migration->migrationOneTable("glpi_plugin_auf_profiles"); // creation du premier accès nécessaire lors de l'installation du plugin include_once(GLPI_ROOT."/plugins/auf/inc/profile.class.php"); PluginAufProfile::createAdminAccess($_SESSION['glpiactiveprofile']['id']); } if (!TableExists("glpi_plugin_auf_computers")) { // requête de création de la table $query = "CREATE TABLE `glpi_plugin_auf_computers` ( `id` int(11) NOT NULL default '0' COMMENT 'RELATION to glpi_computers (id)', `auf_categories_id` int(11) NOT NULL DEFAULT '0', `auf_utilisations_id` int(11) NOT NULL DEFAULT '0', `annee_acquisition` int(11) NOT NULL DEFAULT '0', `est_virtuel` tinyint(1) NOT NULL DEFAULT '0', `affectation` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"; $DB->queryOrDie($query, $DB->error()); } if (!TableExists("glpi_plugin_auf_categories")) { // requête de création de la table $query = "CREATE TABLE `glpi_plugin_auf_categories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `comment` text DEFAULT NULL, PRIMARY KEY (`id`), KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"; $DB->queryOrDie($query, $DB->error()); $query = "INSERT INTO `glpi_plugin_auf_categories` VALUES (1, 'Infrastructure', ''), (2, 'Poste interne', ''), (3, 'Poste public', '')"; $DB->queryOrDie($query, $DB->error()); } if (!TableExists("glpi_plugin_auf_utilisations")) { // requête de création de la table $query = "CREATE TABLE `glpi_plugin_auf_utilisations` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `comment` text DEFAULT NULL, PRIMARY KEY (`id`), KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"; $DB->queryOrDie($query, $DB->error()); $query = "INSERT INTO `glpi_plugin_auf_utilisations` VALUES (1, 'Production', ''), (2, 'Test', ''), (3, 'Réserve', 'stock, mission, formation, …')"; $DB->queryOrDie($query, $DB->error()); } $migration->executeMigration(); return TRUE; } function plugin_auf_uninstall() { global $DB; $tables = array(); // "glpi_plugin_auf_profiles", // "glpi_plugin_auf_computers", // "glpi_plugin_auf_categories", "glpi_plugin_auf_utilisations"); foreach($tables as $table) { $DB->query("DROP TABLE IF EXISTS `$table`;"); } return TRUE; } ?>