0byt3m1n1
Path:
/
home
/
kassiope
/
www
/
administrer
/
[
Home
]
File: import_sscategories.php
<?php include("../configuration.inc.php"); necessite_identification(); necessite_priv("admin"); $DOC_TITLE = "Module d'importation"; include("modeles/haut.php"); switch (vb($_POST['action'])) { /* LECTURE ET AJOUT DES DONNEES DANS LA TABLE */ case "ajouter": $repertoire_upload = "$dirroot/administrer/upload/"; /* Importation du fichier */ echo "Type de fichier importé : ".$_FILES['fichier']['type']."<br />"; if (!empty($_FILES['fichier']['name'])) { $fichier = upload($_FILES['fichier']); } else { $fichier = $_POST['fichier']; } echo "<table border=0 cellspacing=1 cellpadding=0 width=100%>"; echo "<tr><td class=\"menu\" >Statut de l'importation</td></tr>"; echo "</table>"; /* On ouvre le fichier en lecture seulement */ if ($fichier != "") { if (file_exists($repertoire_upload.$fichier)) { $fp = fopen($repertoire_upload.$fichier, "r"); }else{ /* le fichier n'existe pas */ echo "<div class=normal>Fichier introuvable !<br />Importation stoppée.</div>"; exit(); } /* On efface toutes les sous catégories */ mysql_query_override("DELETE FROM ".$_POST['nomtable']." WHERE lang = '".$_SESSION['langue']."' AND parent_id <> 0"); while (!feof($fp)) { /* Tant qu'on atteind pas fin de fichier */ $ligne = fgets($fp,4096); /* On se déplace d'une ligne */ //echo "<hr><font class=normal>>Ligne Excel : $ligne </font>"; $liste = explode( ";",trim($ligne)); /* Champs séparés par ; */ /* On assigne les variables */ if ($liste) { $i=0; $liste[$i]=str_replace('<', '<',$liste[$i]); $liste[$i]=str_replace('>', '>',$liste[$i]); $liste[$i]=str_replace('"', '"',$liste[$i]); $liste[$i]=str_replace('"', '',$liste[$i]); $liste[$i]=str_replace("'", "\'",$liste[$i]); // Récupère les identifiants produits & catégories $sqlParentid = "SELECT id FROM ".$_POST['nomtable']." WHERE reference = '".$liste[1]."'"; $resParentid = mysql_query_override($sqlParentid); $Parentid = mysql_fetch_array_override($resParentid); $parent_id = $Parentid['id']; if (!empty($parent_id) && !empty($liste[0]) && !empty($liste[2])) { $requete = "INSERT INTO ".$_POST['nomtable']." ( reference , parent_id , nom_".$_SESSION['langue']." , description_".$_SESSION['langue']." , image , position , etat , alpha ) VALUES ( '".$liste[0]."' , '".$parent_id."' , '".addslashes($liste[2])."' , '".addslashes($liste[3])."' , '".$liste[4]."' , '".intval($liste[5])."' , '".$liste[6]."' , '".$liste[2]{0}."' )"; mysql_query_override($requete) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<br />' . MYSQL_ERROR()."<br />Valeur de la requete : $requete"); if (mysql_error()){ /* Erreur base de donnees, surement la table qu'il faut creer */ echo $query; echo "Erreur dans la base de données : ".mysql_error(); echo "<br />Importation des produits stoppée."; exit(); } } echo "<br /><div class=\"normal\">$requete : succés.</div>"; } } fclose($fp); } break; /* FORMULAIRE DE CHOIX D'IMPORTATION */ default: ?> <table border="0" cellspacing="1" cellpadding="0" width="760"> <tr ><td class="entete" colspan="3">IMPORTER UN FICHIER</td></tr> <tr><td colspan="3" class="normal"> <b>Format impératif du fichier </b>: CSV <br /> <br /> Séparateur : <font size="4"><b>;</b></font> point virgule<br /><br /> <b>Ordre impératif des colonnes du fichier CSV</b> :<br /> - Reference de la sous famille <br /> - Reference famille <br /> - Nom <br /> - Description <br /> - Image <br /> - Position (chiffre) <br /> - Etat (1 = en ligne, O = en attente) <br /> <b>Attention :</b><br /> - La première ligne ne doit pas contenir les entêtes des colonnes<br /> - Il ne doit pas y avoir de formule dans le fichier CSV<br /> - Les virgules des chiffres doivent être symbolisées par des "."<br /> - Le point virgule indique impérativement un changement de colonne<br /> - Le fichier doit être fermé dans EXCEL pour pouvoir l'uploader<p></p> <b>Avant d'importer un fichier,<br /> 1. mettre le site en cours de maintenance dans <a href="variables.php" class="normal">variables du site</a></b><br /> 2. Assurez vous que le fichier ne comporte pas de lignes blanches 3. Assurez vous que vous avez préalablement importé les familles</b> </td></tr> <form method="post" action="<?=$_SERVER['PHP_SELF']?>" name="categories" enctype="multipart/form-data"> <input type="hidden" name="action" value="ajouter"> <input type="hidden" name="nomtable" value="gaia_categories"> <tr> <td class="label">Importation du fichier de données :</td> <td align="left"> <input class="formulaire1" type="file" name="fichier"> </td> <td align="center"> <input class="formulaire1" type="submit" name="submit" value="Importer"> </td> </tr> </table> <input type="hidden" name="action" value="ajouter"> </form> <? break; } include("modeles/bas.php"); ?>