/** * Récupère les infos d'une machine pour la réforme * @global type $DB * @param type $id * @return un tableau de valeur avec clé */ function getInfoMachine($id, $itemType) { global $DB; //Récupération des informations de configuration $configClass = new PluginReformeConfig(); $config = $configClass->getInfoAdministrative(); $retour['id'] = $id; $retour['name'] = ""; $retour['lieu'] = ""; $retour['numserie'] = ""; $retour['commentaire'] = ""; $retour['fournisseur'] = ""; $retour['dateachat'] = ""; $retour['immo'] = ""; $retour['statut'] = ""; if ($itemType == "Computer") { $retour['domain'] = $this->getDomain($id); } else { $retour['domain'] = ""; } $retour['des_bien'] = ""; $retour['ref_type'] = ""; $retour['num_commande'] = ""; $retour['num_facture'] = ""; // Récupération du nom de la machine $retour['name'] = $this->getItemName($id, $itemType); //définition des requêtes en fonction du type de l'item switch ($itemType) { case 'Computer': $query1 = "SELECT T2.name FROM glpi_computers as T1,glpi_locations as T2 " . "WHERE T1.id = '{$id}' AND T1.locations_id = T2.id"; $query2 = "SELECT serial,comment FROM glpi_computers WHERE id = '{$id}'"; $query3 = "SELECT name FROM glpi_infocoms as T1, glpi_suppliers " . "as T2 WHERE items_id = '{$id}' AND itemtype = 'Computer' " . "AND T1.suppliers_id = T2.id"; $query4 = "SELECT buy_date FROM glpi_infocoms WHERE items_id = '{$id}' " . "AND itemtype = 'Computer'"; $query5 = "SELECT immo_number FROM glpi_infocoms WHERE items_id = '{$id}' " . "AND itemtype = 'Computer'"; $query6 = "SELECT t2.id FROM glpi_computers as t1, glpi_states as t2 " . "WHERE t1.id={$id} AND t1.states_id=t2.id"; $query7 = "SELECT t2.name FROM glpi_computers as t1, glpi_computertypes as t2 " . "WHERE t1.id={$id} AND t1.computertypes_id=t2.id"; $query8 = "SELECT order_number FROM glpi_infocoms WHERE items_id = '{$id}' " . "AND itemtype = 'Computer'"; $query9 = "SELECT bill FROM glpi_infocoms WHERE items_id = '{$id}' " . "AND itemtype = 'Computer'"; $query10 = "SELECT t2.name FROM glpi_computers as t1, glpi_computermodels as t2 " . "WHERE t1.id={$id} AND t1.computermodels_id=t2.id"; break; case 'Monitor': $query1 = "SELECT T2.name FROM glpi_monitors as T1,glpi_locations as T2 " . "WHERE T1.id = '{$id}' AND T1.locations_id = T2.id"; $query2 = "SELECT serial,comment FROM glpi_monitors WHERE id = '{$id}'"; $query3 = "SELECT name FROM glpi_infocoms as T1, glpi_suppliers " . "as T2 WHERE items_id = '{$id}' AND itemtype = 'Monitor' " . "AND T1.suppliers_id = T2.id"; $query4 = "SELECT buy_date FROM glpi_infocoms WHERE items_id = '{$id}' " . "AND itemtype = 'Monitor'"; $query5 = "SELECT immo_number FROM glpi_infocoms WHERE items_id = '{$id}' " . "AND itemtype = 'Monitor'"; $query6 = "SELECT t2.id FROM glpi_monitors as t1, glpi_states as t2 " . "WHERE t1.id={$id} AND t1.states_id=t2.id"; $query7 = "SELECT t2.name FROM glpi_monitors as t1, glpi_monitortypes as t2 " . "WHERE t1.id={$id} AND t1.monitortypes_id=t2.id"; $query8 = "SELECT order_number FROM glpi_infocoms WHERE items_id = '{$id}' " . "AND itemtype = 'Monitor'"; $query9 = "SELECT bill FROM glpi_infocoms WHERE items_id = '{$id}' " . "AND itemtype = 'Monitor'"; $query10 = "SELECT t2.name FROM glpi_monitors as t1, glpi_monitormodels as t2 " . "WHERE t1.id={$id} AND t1.monitormodels_id=t2.id"; break; default: break; } // Récupération du lieu de la machine if ($result = $DB->query($query1)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['name'])) { $retour['lieu'] = $row['name']; } } } // Récupération du numéro de série et commentaire de la machine if ($result = $DB->query($query2)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['serial'])) { $retour['numserie'] = $row['serial']; } if (!empty($row['comment'])) { $retour['commentaire'] = $row['comment']; } } } // Récupération du fournisseur de la machine if ($result = $DB->query($query3)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['name'])) { $retour['fournisseur'] = $row['name']; } } } // Récupération de la date d'achat de la machine if ($result = $DB->query($query4)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['buy_date'])) { $retour['dateachat'] = $row['buy_date']; } } } // Récupération du numéro d'immobilisation de la machine if ($result = $DB->query($query5)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['immo_number'])) { $retour['immo'] = $row['immo_number']; } } } // Récupération du statut de la machine if ($result = $DB->query($query6)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['id'])) { $retour['statut'] = $row['id']; } } } // Récupération du type de la machine if ($config["ref_type"]) { if ($result = $DB->query($query7)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['name'])) { $retour['ref_type'] = $row['name']; } } } } // Récupération du numéro de commande if ($config["num_commande"]) { if ($result = $DB->query($query8)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['order_number'])) { $retour['num_commande'] = $row['order_number']; } } } } if ($config["num_facture"]) { // Récupération du numéro de facture if ($result = $DB->query($query9)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['bill'])) { $retour['num_facture'] = $row['bill']; } } } } if ($config["des_bien"]) { // Récupération du modèle if ($result = $DB->query($query10)) { if ($DB->numrows($result) > 0) { $row = $DB->fetch_assoc($result); if (!empty($row['name'])) { $retour['des_bien'] = $row['name']; } } } } return $retour; }
<?php //============================================================================// //== Plugin pour GLPI - Dévelloppeur: Viduc (Fleury Tristan) - ©2013 ==// //== http://viduc.sugarbox.fr - viduc@sugarbox.fr ==// //============================================================================// /** * Traite toute les demandes ajax du plugin */ define('GLPI_ROOT', getAbsolutePath()); include GLPI_ROOT . "inc/includes.php"; //Instanciation de la class config $config = new PluginReformeConfig(); if (isset($_POST['action'])) { if ($_POST['action'] == "modifierADM") { if ($_POST['identification'] == "valider") { $valeur['structure'] = $_POST['structure']; $valeur['service'] = $_POST['service']; $valeur['mail'] = $_POST['mail']; $valeur['statut'] = $_POST['statut']; $valeur['supp'] = $_POST['supp']; $config->setValeurInfoAdministrative($_POST['identification'], $valeur); echo "Les informations ont été mises à jour"; } } if ($_POST['action'] == "modifierAD") { if (strstr($_POST['identification'], "valider")) { $valeur['serveur'] = $_POST['serveur']; $valeur['dc'] = $_POST['dc']; $valeur['suffix'] = $_POST['suffix']; $valeur['login'] = $_POST['login'];
/** * Si un fihcier image (logo) est envoyé par le template, on l'enregistre */ if (isset($_FILES['logo'])) { if (!empty($_FILES['logo']['tmp_name']) && is_uploaded_file($_FILES['logo']['tmp_name'])) { // Le fichier a bien été téléchargé if (exif_imagetype($_FILES['logo']['tmp_name']) == IMAGETYPE_PNG) { $size = getimagesize($_FILES['logo']['tmp_name']); if ($size[0] <= 165 && $size[1] <= 180) { move_uploaded_file($_FILES['logo']['tmp_name'], getAbsolutePath() . "plugins/reforme/images/logo.png"); } } } } //Instanciation de la class config $config = new PluginReformeConfig(); //Gestion des images $logoOption['title'] = 'Logo'; $logoOption['alt'] = "Relancer le formulaire de configuration pour recharger l'image, puis faites F5"; $testOption['title'] = 'Tester'; $testOption['alt'] = "Tester"; $actualiserOption['title'] = "Modifier"; $actualiserOption['alt'] = "Modifier"; $menuaddOption['title'] = "Ajouter AD"; $menuaddOption['alt'] = "Ajouter AD"; $ajoutInfo = array(1 => 'Modèle du bien', 2 => 'Référence Type', 3 => 'Numéro de commande', 4 => 'Numéro de facture'); //Envoie des variables à Smarty $smarty->assign('ajoutInfo', $ajoutInfo); $smarty->assign('infoAdministrative', $config->getInfoAdministrative()); $smarty->assign('supp_ids', array(1, 0)); $smarty->assign('supp_names', array('Oui', 'Non'));