0byt3m1n1
Path:
/
home
/
kassiope
/
www
/
administrer
/
[
Home
]
File: modeles.php
<? include("../configuration.inc.php"); necessite_identification(); necessite_priv("admin"); $DOC_TITLE = "Gérer les modeles"; include("modeles/haut.php"); $start = vn($_REQUEST['start']);// Détermine la variable start (début de page) switch (vb($_REQUEST['mode'])) { case "ajout" : affiche_formulaire_ajout_modele(vn($_REQUEST['id'])); break; case "modif" : affiche_formulaire_modif_modele($_REQUEST['id']); break; case "suppr" : supprime_modele($_REQUEST['id']); affiche_formulaire_liste_modele($_REQUEST['id']); break; case "supprfile" : supprime_fichier(vn($_REQUEST['id']), $_GET['file']); affiche_formulaire_modif_modele(vn($_REQUEST['id'])); break; case "insere" : insere_sous_modele($_REQUEST['id'], $_POST); affiche_formulaire_liste_modele($_REQUEST['id']); break; case "maj" : maj_modele($_POST); affiche_formulaire_liste_modele($_REQUEST['id']); break; case "recherche" : affiche_recherche_liste_modele($_REQUEST['id'], $_POST); break; default : affiche_formulaire_liste_modele($_REQUEST['id']=0); break; } include("modeles/bas.php"); /****************************************************************************** * FONCTIONS *****************************************************************************/ function affiche_formulaire_ajout_modele($marque_id = 0, $categorie_id=0) { global $frm; global $categorie_options; /* Affiche un formulaire de modeles vide */ /* Valeurs par défaut */ $frm["nouveau_mode"] = "insere"; $frm['marques'] = array($marque_id); $frm['categories'] = array($marque_id); $frm["nom_fr"] = ""; $frm["description_fr"] = ""; $frm["etat"] = ""; $frm['position'] = ""; $frm["titre_soumet"] = "Ajouter une mod�le"; /* Affiche la liste des modeles, en présélectionnant la modeles choisie. */ affiche_formulaire_modele(); } function affiche_formulaire_modif_modele($id) { /* Affiche le formulaire de modification de modeles. */ global $frm, $categorie_options; /* Charge les infos de la modeles. */ $qid = mysql_query_override("SELECT * FROM gaia_modeles WHERE id = $id"); $frm = mysql_fetch_array_override($qid); /* Charge les marques */ $qid = mysql_query_override("SELECT marque_id FROM gaia_modeles_marques WHERE modele_id = $id"); $frm['marques'] = array(); if ($qid) { if (mysql_num_rows_override($qid) > 0) { while ($cat = mysql_fetch_array_override($qid)) { echo $cat['marque_id']; $frm['marques'][] = $cat['marque_id']; } } } $qid = mysql_query_override("SELECT categorie_id FROM gaia_modeles_categories WHERE modele_id = $id"); $frm['categories'] = array(); if ($qid) { if (mysql_num_rows_override($qid) > 0) { while ($cat = mysql_fetch_array_override($qid)) { echo $cat['categorie_id']; $frm['categories'][] = $cat['categorie_id']; } } } $frm["nouveau_mode"] = "maj"; $frm["titre_soumet"] = "Sauvegarder changements"; /* Affiche la liste des modeles, en présélectionnant la modeles choisie. */ affiche_formulaire_modele(); } function supprime_modele($id) { /* Supprime la modeles spécifiée par $id, et déplace tous les produits sous * cette modeles au parent immédiat. */ /* Trouve le parent de cette modeles */ $qid = mysql_query_override("SELECT nom_fr FROM gaia_modeles WHERE id = $id"); if ($qid) { if (mysql_num_rows_override($qid) > 0) { $bd = mysql_fetch_array_override($qid); /* Efface ce produit de la table gaia_modeles_categories */ mysql_query_override("DELETE FROM gaia_modeles_marques WHERE modele_id = $id"); mysql_query_override("DELETE FROM gaia_modeles_categories WHERE modele_id = $id"); /* efface cette modeles */ /* Réaffecte tous les produits de cette modeles à la modeles parente */ mysql_query_override("DELETE FROM gaia_produits_modeles WHERE modele_id = $id"); /* Réaffecte toutes les sous-modeles de cette modeles à la modeles parente */ mysql_query_override("DELETE FROM gaia_modeles WHERE id = $id"); $message = "<p class=\"normal\">Le mod�le <b>".stripslashes($bd['nom_fr'])."</b> a été effacée."; echo nl2br(stripslashes($message)); } } ?> <? } function insere_sous_modele($id, $frm) { /* Ajoute une nouvelle sous-modeles sous le parent $id. Tous les champs sont stockés dans la variable $frm */ valide($frm['etat']); $qid = mysql_query_override(" INSERT INTO gaia_modeles (nom_fr, description_fr, etat, position) VALUES ('".addslashes($frm['nom_fr'])."', '".addslashes($frm['description_fr'])."','".$frm['etat']."','".$frm['position']."')") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $modele_id = mysql_insert_id_override(); /* ajoute le produit sous les catégories spécifiées */ for ($i = 0; $i < count($frm['marques']); $i++) { $qid = mysql_query_override(" INSERT INTO gaia_modeles_marques (marque_id, modele_id) VALUES ('{$frm['marques'][$i]}', '$modele_id') "); } for ($i = 0; $i < count($frm['categories']); $i++) { $qid = mysql_query_override(" INSERT INTO gaia_modeles_categories (categorie_id, modele_id) VALUES ('{$frm['categories'][$i]}', '$modele_id') "); } } function maj_modele($frm) { /* Met à jour la modeles $id avec les nouvelles valeurs contenues dans $frm */ valide($frm['etat']); $qid = mysql_query_override(" UPDATE gaia_modeles SET nom_fr = '".htmlspecialchars($frm['nom_fr'], ENT_QUOTES)."' ,description_fr = '".htmlspecialchars($frm['description_fr'], ENT_QUOTES)."' ,etat = '$frm[etat]' ,position = '$frm[position]' WHERE id = '".intval($_POST['id'])."' ") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); /* Efface toutes les catégories auxquelles le produit est associé */ $qid = mysql_query_override("DELETE FROM gaia_modeles_marques WHERE modele_id = '".intval($_POST['id'])."'") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $qid = mysql_query_override("DELETE FROM gaia_modeles_categories WHERE modele_id = '".intval($_POST['id'])."'") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); if (count($frm['marques']) == 0) { $frm['marques'][] = 0; } if (count($frm['categories']) == 0) { $frm['categories'][] = 0; } for ($i = 0; $i < count($frm['marques']); $i++) { $qid = mysql_query_override(" INSERT INTO gaia_modeles_marques (marque_id, modele_id) VALUES ('{$frm['marques'][$i]}', '".intval($_POST['id'])."') ")or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); } for ($i = 0; $i < count($frm['categories']); $i++) { $qid = mysql_query_override(" INSERT INTO gaia_modeles_categories (categorie_id, modele_id) VALUES ('{$frm['categories'][$i]}', '".intval($_POST['id'])."') ")or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); } } function affiche_formulaire_liste_modele($id) { /* Affiche un formulaire de modeles vide */ /* Valeurs par défaut */ $frm["parent"] = array($id); $frm["nouveau_mode"] = "insere"; $frm["nom_fr"] = ""; $frm["description_fr"] = ""; $frm["etat"] = ""; $frm['position'] = ""; $frm["titre_soumet"] = "Ajouter une modele"; /* Affiche la liste des modeles, en présélectionnant la modeles choisie. */ affiche_liste_modele(); } function affiche_liste_modele() { GLOBAL $id; GLOBAL $wwwroot; ?> <table border=0 widtd="100%" cellpadding=0 cellspacing=2 width="760"> <tr valign=top><td colspan="6" class="entete">Liste des modèles</td></tr> <tr valign=top> <td colspan="6"><a class="normal" href="<?=$_SERVER['PHP_SELF']?>?mode=ajout"> Ajouter un modèle</a></td> </tr> <tr bgcolor="#6699ff"> <td class="menu">Action</td> <td class="menu">Cat�gorie</td> <td class="menu">Marque</td> <td class="menu">Modèles</td> <td class="menu">Position</td> <td class="menu">Etat</td> </tr> <? $Links = new MultiPage(); $Links-> ResultPerPage = 20; $Links-> LinkPerPage = 4; $Links-> Template = "tpl1.htm"; $Links-> SqlRequest = "SELECT * FROM gaia_modeles ORDER BY position"; $Links-> Initialize(); $resBd=mysql_query_override($Links-> LimitSQL); if (mysql_num_rows_override($resBd) == 0) { echo "<tr><td class=\"normal\"><b>aucun modèle défini</b></td></tr>"; } else { $i = 0; while ($Bd = mysql_fetch_array_override($resBd)) { ?> <tr bgcolor="<?echo ($i % 2 == 0 ? '#F4F4F4' : '#ffffff' );?>"> <td class="normal" align="center"> <a onClick="Javascript:return confirm('êtes-vous sûr de vouloir supprimer cette modele ?');" class="normal" title="Supprimer <?=$Bd['nom_'.$_SESSION['langue'].''] ?>" href="<?=$_SERVER['PHP_SELF']?>?mode=suppr&id=<?=$Bd['id'] ?>"> <i class="ti-close"></i></a> </td> <td class="normal" align="center"> <?php $sqlCAT = "SELECT id, nom_".$_SESSION['langue']." FROM gaia_categories c, gaia_modeles_categories mc WHERE mc.modele_id = ".$Bd['id']." AND c.id = mc.categorie_id"; $resCAT = mysql_query_override($sqlCAT) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); if (mysql_num_rows_override($resCAT) > 0) { while ($cat = mysql_fetch_array_override($resCAT)) { echo stripslashes($cat['nom_'.$_SESSION['langue'].''])." | "; } } else { echo "<font color=\"red\"><b>n.c</b></font>"; } ?> </td> <td class="normal" align="center"> <?php $sqlCAT = "SELECT id, nom_fr FROM gaia_marques c, gaia_modeles_marques mc WHERE mc.modele_id = ".$Bd['id']." AND c.id = mc.marque_id"; $resCAT = mysql_query_override($sqlCAT) or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); if (mysql_num_rows_override($resCAT) > 0) { while ($cat = mysql_fetch_array_override($resCAT)) { echo stripslashes($cat['nom_'.$_SESSION['langue'].''])." | "; } } else { echo "<font color=\"red\"><b>n.c</b></font>"; } ?> </td> <td class="normal" align="center"> <a class="normal" title="Modifier cette modele" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$Bd['id'] ?>"> <?=stripslashes($Bd['nom_'.$_SESSION['langue'].''])?></a> </td> <td class="normal" align="center"><input type="text" size="5" maxlength="100" name="position" value="<?echo $Bd['position']?>" /> </td> <td align=center class="normal"><?if (empty($Bd['etat'])) {echo '<i class="ti-check-empty"></i>';} else {echo '<i class="ti-check"></i>';} ?></td> <?php $i++; } echo "</tr>"; } ?> <tr><td align="center" class="normal" colspan="5"> <? //Boutons précédent et suivant $Links-> pMultipage(); echo "</td></tr></table>"; } function affiche_formulaire_modele() { GLOBAL $frm; global $id; global $repertoire_images; global $wwwroot; global $categorie_options; ?> <form name="entryform" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data"> <input type="hidden" name="mode" value="<?=$frm["nouveau_mode"]?>"> <input type="hidden" name="id" value="<?=$frm['id']?>"> <table border="0" class="tablespace" width="760"> <tr> <td class="entete" colspan="2">Ajouter une modele</td> </tr> <tr> <td colspan="2" class="normal"> Choisir les cat�gories associ�es : <select class="formulaire1" name="categories[]" multiple size="5" style="width: 100%"> <? $select = mysql_query_override("SELECT id, nom_".$_SESSION['langue']." FROM gaia_categories ORDER BY nom_".$_SESSION['langue']." ASC"); if (mysql_num_rows_override($select) > 0) { while ($nom = mysql_fetch_array_override($select)) { $selectionne = in_array( $nom['id'], vb($frm['categories'])) ? "selected" : ""; echo "<option value=\"" . $nom['id'] . "\" $selectionne>" . $nom['nom_'.$_SESSION['langue'].''] ."</option>"; } } ?> </select> </td> </tr> <tr> <td colspan="2" class="normal"> Choisir les marques associ�es : <select class="formulaire1" name="marques[]" multiple size="5" style="width: 100%"> <? $select = mysql_query_override("SELECT id, nom_".$_SESSION['langue']." FROM gaia_marques ORDER BY nom_".$_SESSION['langue']." ASC"); if (mysql_num_rows_override($select) > 0) { while ($nom = mysql_fetch_array_override($select)) { $selectionne = in_array( $nom['id'], vb($frm['marques'])) ? "selected" : ""; echo "<option value=\"" . $nom['id'] . "\" $selectionne>" . $nom['nom_'.$_SESSION['langue'].''] ."</option>"; } } ?> </select> </td> </tr> <tr> <td class="normal">Position :</td> <td class="normal"><input size="1" class="formulaire1" type="text" name="position" value="<?=$frm["position"] ?>"></td> </tr> <tr> <td class="normal">Etat :</td> <td class="normal"> <input type="radio" name="etat" value="1" <?php if(vb($frm['etat'])=="1") {echo "checked";} ?>>En ligne<br /> <input type="radio" name="etat" value="0" <?php if(vb($frm['etat'])=="0") {echo "checked";} ?>>En attente </td> </tr> <tr> <td colspan="2" class=label>Nom :</td> </tr> <tr> <td colspan="2" ><input style="width: 100%" class="formulaire1" type="text" name="nom_fr" size=25 value="<?=$frm["nom_".$_SESSION['langue'].""] ?>"></td> </tr> <tr colspan="2" valign=top> <td colspan="2" class=label>Description :</td> </tr> <tr> <td colspan="2" ><textarea style="width: 100%" class="formulaire1" name="description_fr" cols=50 rows=5><?=$frm["description_".$_SESSION['langue'].""] ?></textarea></td> </tr> <tr> <td colspan="2" align="center"><input class="bouton" type="submit" value="<?=$frm["titre_soumet"] ?>"></td> </tr> </table> </form> <?} function supprime_fichier($id, $file) { /* Supprime le produit spécificié par $id. Il faut supprimer le produit * puis les entrées correspondantes de la table produits_modeles. */ global $the_path ; /* Charge les infos du produit. */ switch($file) { case "image" : $sql = "SELECT image FROM gaia_modeles WHERE id = '$id'"; $res = mysql_query_override($sql); $file = mysql_fetch_row_override($res); mysql_query_override("UPDATE gaia_modeles SET image = '' WHERE id = '$id'"); break; } @unlink($the_path.$file[0]); ?> <div class="normal"> Le fichier <b><?=$file[0]?> </b>a été effacé du serveur. </div> <? } ?>