1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| if($fp = fopen($this->file,"r"))
{
// Création du tableau users+profiles
$dataUsers = array();
// Insertion des uers+profils par défauts
$dataUsers[] = array('Helpdesk', '', '', '', 'NULL', '', '', 'Helpdesk Injector', 'NULL', 0, 0, 'fr_FR', 20, 0, 'NULL', -1, -1, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0, 0, 0, 1, 0, 1, 0);
$dataUsers[] = array('glpi', '', '41ece51526515624ff89973668497d00', '', '', '', '', '', 'NULL', 0, 1, 'fr_FR', 20, 1, 'NULL', -1, 1, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0, 0, 0, 4, 0, 1, 0);
$dataUsers[] = array('post-only', '*5683D7F638D6598D057638B1957F194E4CA974FB', '3177926a7314de24680a9938aaa97703', '', '', '', '', '', 'NULL', 0, 0, 'fr_FR', 20, 1, 'NULL', -1, -1, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0, 0, 0, 1, 0, 1, 0);
$dataUsers[] = array('tech', '*B09F1B2C210DEEA69C662977CC69C6C461965B09', 'd9f9133fb120cd6096870bc2b496805b', '', '', '', '', '', 'NULL', 0, 1, 'fr_FR', 20, 1, 'NULL', -1, -1, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0, 0, 0, 4, 0, 1, 0);
$dataUsers[] = array('normal', '*F3F91B23FC1DB728B49B1F22DEE3D7A839E10F0E', 'fea087517c26fadd409bd4b9dc642555', '', '', '', '', '', 'NULL', 0, 0, 'fr_FR', 20, 1, 'NULL', -1, -1, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0, 0, 0, 2, 0, 1, 0);
$comparaison = array();
$dataUsersSansDoublons = array();
while ($ligne = fgetcsv($fp, $this->taille, $this->delimiteur))
{
if(!empty($ligne[0]) && !empty($ligne[1]))
{
// Mise en forme des chaines de caractères
$ligne[0] = strtoupper(str_replace('-',' ',$ligne[0])); // NOM
$ligne[1] = ucwords(str_replace('-',' ',$ligne[1])); // PRENOM
$ligne[12] = strtolower($ligne[12]); // EMAIL
// Pour éviter un bug, si le champs dans le fichier CVS est vide, on les met à blanc
if(empty($ligne[2]))
{
$ligne[2] = '';
}
if(empty($ligne[5]))
{
$ligne[5] = '';
}
if(empty($ligne[12]))
{
$ligne[12] = '';
}
if(empty($ligne[13]))
{
$ligne[13] = '';
}
if(empty($ligne[14]))
{
$ligne[14] = '';
}
// Convertion du Service en N° de service
$reponse = mysql_query('SELECT ID,name FROM glpi_dropdown_locations WHERE name LIKE "'.$ligne[5].'"'); // Requête SQL
while ($donnees = mysql_fetch_array($reponse) )
{
$ligne[5] = $donnees['ID'];
}
// Insertion des uers+profils du fichier CSV
// Définie les séparateur sde nom afin d'avoir un login homogène, sans espaces ou "-"
$separateurs = array('-',' ');
$dataUsers[] = array(strtoupper(str_replace($separateurs,'.',$ligne[1]).'.'.str_replace($separateurs,'.',$ligne[0])),'',md5(strtolower($ligne[0])),$ligne[12],$ligne[13],$ligne[14],'NULL',$ligne[0],$ligne[1],$ligne[5],0,'fr_FR',20, 1, 'Numéro de matricule : '.$ligne[2], -1, 1,'0000-00-00 00:00:00', '0000-00-00 00:00:00', 0, 0, 0, 1, 1, 1, 0);
// Tableau qui va me permettre d'enlever les doublons du tableau dataUsers suivant les critères suivant : Nom, Prénom, adresse email et N° de matricule.
$comparaison[] = $ligne[1].$ligne[0].$ligne[12].$ligne[3];
}
}
// On supprime les doublons possibles
$comparaison = array_unique($comparaison);
foreach ($comparaison as $cleComparaison => $valComparaison)
{
$dataUsersSansDoublons[] = $dataUsers[$cleComparaison];
}
} |
Partager