0byt3m1n1
Path:
/
home
/
kassiope
/
www
/
administrer
/
[
Home
]
File: listes.php
<? include("../configuration.inc.php"); necessite_identification(); necessite_priv("admin"); $DOC_TITLE = "Gérer les listes"; 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_marque(vn($_REQUEST['id'])); break; case "modif" : affiche_formulaire_modif_marque($_REQUEST['id']); break; case "addfile" : if (isset($_REQUEST['id']) && !empty($_REQUEST['id'])) {$id = $_REQUEST['id']; maj_marque($_POST); } else $id = insere_sous_marque($_POST, 'ret'); if (!empty($_REQUEST['image'])) { $img = $_POST['image']; } else { if (!empty($_FILES['image']['name'])) { $img = upload_pict($_FILES['image']); f_add_pict($id,$img, 'image'); echo '<div class="alert alert-danger">ATTENTION ! Vous n\'avez pas encore recadré votre photo. Celle-ci n\'apparaitra pas sur le site.</div>'; } } affiche_formulaire_modif_marque($id); break; case "addprod" : if (isset($_REQUEST['id']) && !empty($_REQUEST['id'])) {$id = $_REQUEST['id']; maj_marque($_POST); } else $id = insere_sous_marque($_POST, 'ret'); insere_prod($_POST); affiche_formulaire_modif_marque($id); break; case "suppprod" : suppr_prod($_GET['id']); affiche_formulaire_modif_marque($_GET['idliste']); break; case "addfile2" : if (isset($_REQUEST['id']) && !empty($_REQUEST['id'])) {$id = $_REQUEST['id']; maj_marque($_POST); } else $id = insere_sous_marque($_POST, 'ret'); if (!empty($_REQUEST['image2'])) { $img = $_POST['image2']; } else { if (!empty($_FILES['image2']['name'])) { $img = upload_pict($_FILES['image2']); f_add_pict($id,$img, 'image2'); echo '<div class="alert alert-danger">ATTENTION ! Vous n\'avez pas encore recadré votre photo. Celle-ci n\'apparaitra pas sur le site.</div>'; } } affiche_formulaire_modif_marque($id); break; case "majfile" : f_modif_pict($_POST, 'image'); echo '<div class="alert alert-success">Votre image a bien été importée et retaillée.</div>'; affiche_formulaire_modif_marque($_REQUEST['id']); break; case "majfile2" : f_modif_pict($_POST, 'image2'); echo '<div class="alert alert-success">Votre image a bien été importée et retaillée.</div>'; affiche_formulaire_modif_marque($_REQUEST['id']); break; case "positionner" : if (isset($_POST['id'])) { for($i=0;$i<count($_POST['id']);$i++) { mysql_query_override("UPDATE gaia_listes SET position = '".$i."' WHERE id = '".intval($_POST['id'][$i])."'"); } } echo '<div class="alert alert-success">Le positionnement des listes a été effectué.</div>'; affiche_formulaire_liste_marque($_REQUEST['id']); break; case "suppr" : supprime_marque($_REQUEST['id']); affiche_formulaire_liste_marque($_REQUEST['id']); break; case "supprfile" : supprime_fichier(vn($_REQUEST['id'])); affiche_formulaire_modif_marque(vn($_REQUEST['id'])); break; case "insere" : insere_sous_marque($_POST); affiche_formulaire_liste_marque($_REQUEST['id']); break; case "maj" : maj_marque($_POST); affiche_formulaire_modif_marque($_REQUEST['id']); break; case "recherche" : affiche_recherche_liste_marque($_REQUEST['id'], $_POST); break; default : affiche_formulaire_liste_marque($_REQUEST['id']=0); break; } include("modeles/bas.php"); /****************************************************************************** * FONCTIONS *****************************************************************************/ function f_add_pict($f_id, $name, $img ) { $query = "UPDATE gaia_listes SET ".$img." = '".$name."' where id='".$f_id."'"; mysql_query_override($query); } function suppr_prod($f_id) { $query = "delete from gaia_produits_listes where id='".$f_id."'"; mysql_query_override($query) or die(mysql_error()); } function insere_prod($post) { $recprix = mysql_query_override("select * from gaia_produits where id = '".$post['produits']."'"); $prid = mysql_fetch_object_override($recprix); $prix = $prid->prix * (1-$prid->promotion/100); if($post['taille'] >0) { $recprix = mysql_query_override("select * from gaia_produits_tailles where produit_id = '".$post['produits']."' and taille_id = '".$post['taille']."'"); $prix = mysql_result_override($recprix,0,'prix') * (1-$prid->promotion/100);; } $query = "insert into gaia_produits_listes (produit_id, liste_id, couleur, taille, prix) values ('".$post['produits']."','".$post['id']."', '".$post['couleur']."', '".$post['taille']."', '".$prix."')"; mysql_query_override($query); } function f_modif_pict($f_post, $img) { global $dirroot; extract($f_post); $query = "SELECT ".$img." FROM gaia_listes where id='".$id."'"; $rec = mysql_query_override($query); $img_file = mysql_result_override($rec,0,$img); $imgfile = $dirroot.'/upload/zoom_'.$img_file; $dest_small = $dirroot.'/upload/'.$img_file; $origimg = imagecreatefromjpeg($imgfile); $cropimg = imagecreatetruecolor($_POST['w'.$img],$_POST['h'.$img]); list($widtha, $heighta) = getimagesize($imgfile); imagecopyresized($cropimg, $origimg, 0, 0, $_POST['x1'.$img], $_POST['y1'.$img], $widtha, $heighta, $widtha, $heighta); imagejpeg($cropimg, $dest_small, 99); $thumb = imagecreatetruecolor($_POST['wi'.$img], $_POST['he'.$img]); $source = imagecreatefromjpeg($dest_small); imagecopyresized($thumb, $source, 0, 0, 0, 0, $_POST['wi'.$img], $_POST['he'.$img], $_POST['w'.$img], $_POST['h'.$img]); imagejpeg($thumb, $dest_small, 99); if(file_exists($dest_small)) { $query = "UPDATE gaia_listes SET ".$img." = '".$img_file."' where id ='".$id."'"; mysql_query_override($query); unlink($imgfile); } //genere_min($img_file, $prodminwidth, $prodminheight); } function affiche_formulaire_ajout_marque() { global $frm; global $categorie_options; /* Affiche un formulaire de listes vide */ /* Valeurs par défaut */ $frm["nouveau_mode"] = "insere"; $frm["nom_fr"] = ""; $frm["description_fr"] = ""; $frm["image"] = ""; $frm["etat"] = ""; $frm["on_menu"] = ""; $frm['position'] = ""; $frm["titre_soumet"] = "Ajouter une liste"; affiche_formulaire_marque(); } function affiche_formulaire_modif_marque($id) { /* Affiche le formulaire de modification de listes. */ global $frm; /* Charge les infos de la listes. */ $qid = mysql_query_override("SELECT * FROM gaia_listes WHERE id = $id"); $frm = mysql_fetch_array_override($qid); $rec = mysql_query_override("select * from gaia_produits_listes where liste_id = '".$frm['id']."'"); while($data = mysql_fetch_array_override($rec)) { $frm['produits'][] = $data['produit_id']; } $frm["nouveau_mode"] = "maj"; $frm["titre_soumet"] = "Sauvegarder changements"; /* Affiche la liste des listes, en présélectionnant la listes choisie. */ affiche_formulaire_marque(); } function supprime_marque($id) { /* Supprime la listes spécifiée par $id, et déplace tous les produits sous * cette listes au parent immédiat. */ /* Trouve le parent de cette listes */ $qid = mysql_query_override("SELECT nom_fr FROM gaia_listes WHERE id = $id"); if ($qid) { if (mysql_num_rows_override($qid) > 0) { $bd = mysql_fetch_array_override($qid); /* efface cette listes */ /* Réaffecte tous les produits de cette listes à la listes parente */ mysql_query_override("DELETE FROM gaia_produits_listes WHERE liste_id = $id"); /* Réaffecte toutes les sous-listes de cette listes à la listes parente */ mysql_query_override("DELETE FROM gaia_listes WHERE id = $id"); echo '<div class="alert alert-error">La liste a été effacée <button type="button" class="close" data-dismiss="alert">×</button></div>'; } } ?> <? } function insere_sous_marque($frm, $sup = '') { /* Ajoute une nouvelle sous-listes sous le parent $id. Tous les champs sont stockés dans la variable $frm */ valide($frm['etat']); $qid = mysql_query_override(" INSERT INTO gaia_listes (nom_fr, description_fr, etat) VALUES ('".addslashes($frm['nom_fr'])."', '".addslashes($frm['description_fr'])."','".$frm['etat']."')") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); $last = mysql_insert_id_override(); for($i=0;$i<count($frm['produits']);$i++) { mysql_query_override("insert into gaia_produits_listes values (liste_id, produit_id) values ('".intval($last)."', '".$frm['produits'][$i]."')"); } if (empty($sup)) echo '<div class="alert alert-success">La liste a été ajoutée <button type="button" class="close" data-dismiss="alert">×</button></div>'; else return $last; } function maj_marque($frm) { /* Met à jour la listes $id avec les nouvelles valeurs contenues dans $frm */ valide($frm['etat']); valide($frm['on_menu']); $qid = mysql_query_override(" UPDATE gaia_listes SET nom_fr = '".addslashes($frm['nom_fr'])."' ,description_fr = '".addslashes($frm['description_fr'])."' ,etat = '$frm[etat]' WHERE id = '".intval($_POST['id'])."' ") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); for($i=0;$i<count($frm['prodid']);$i++) { mysql_query_override("update gaia_produits_listes set etat = '".$frm['statutprod'][$i]."' where id = '".$frm['prodid'][$i]."'"); } //mysql_query_override("insert into gaia_produits_listes (liste_id, produit_id) values ('".intval($_POST['id'])."', '".$frm['produits']."')") or die (mysql_error()); /* Efface toutes les catégories auxquelles le produit est associé */ echo '<div class="alert alert-success">La liste a été modifiée <button type="button" class="close" data-dismiss="alert">×</button></div>'; } function affiche_formulaire_liste_marque($id) { /* Affiche un formulaire de listes vide */ /* Valeurs par défaut */ $frm["parent"] = array($id); $frm["produits"] = array(); $frm["nouveau_mode"] = "insere"; $frm["nom_fr"] = ""; $frm["description_fr"] = ""; $frm["image"] = ""; $frm["etat"] = ""; $frm["titre_soumet"] = "Ajouter une liste"; /* Affiche la liste des listes, en présélectionnant la listes choisie. */ affiche_liste_marque(); } function affiche_liste_marque() { GLOBAL $id; GLOBAL $wwwroot; ?> <form name="entryform" method="post" action="<?=$_SERVER['PHP_SELF']?>"> <input type="hidden" name="mode" value="positionner"> <table border=0 cellpadding=0 cellspacing=0 width="100%" class="tablespace"> <tr> <th colspan="4" class="entete">Liste des listes</th> </tr> <tr> <td colspan="4" class="action"><a href="<?=$_SERVER['PHP_SELF']?>?mode=ajout"> Ajouter une liste</a></td> </tr> <tr bgcolor="#6699ff"> <td class="menu">Action</td> <td class="menu">listes</td> <td class="menu">Profil</td> <td class="menu" align="center">Etat</td> </tr> <? $result=mysql_query_override("SELECT * FROM gaia_listes order by datetime desc"); if (mysql_num_rows_override($result) == 0) { echo "<tr><td class=\"normal\" colspan=\"3\"><b>aucune liste définie</b></td></tr>"; } else { echo '<tbody id="sortable">'; while ($Bd = mysql_fetch_array_override($result)) { ?> <tr> <td style="width:250px"> <input type="hidden" name="id[]" value="<?=$Bd['id']?>"> <i style="cursor:pointer; margin-right:10px" title="Tirer pour déplacer" rel="tooltip" class="icon-reorder"></i> <a href="#myModal<?=$Bd['id']?>" role="button" data-toggle="modal" title="Supprimer" rel="tooltip" ><i class="ti-close"></i></a> <a title="Modifier" rel="tooltip" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$Bd['id'] ?>"><i class="ti-pencil"></i></a> </td> <td style="width:530px"> <a title="Modifier cette liste" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$Bd['id'] ?>"> <?=stripslashes($Bd['nom_'.$_SESSION['langue'].''])?></a> </td> <td style="width:530px"> <a title="Modifier cette liste" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$Bd['id'] ?>"> <?=stripslashes($Bd['nom'])?></a> </td> <td align="center"><?if (empty($Bd['etat'])) {echo '<i class="ti-check-empty"></i>';} else {echo '<i class="ti-check"></i>';} ?></td> </tr> <div id="myModal<?=$Bd['id']?>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button> <h3 id="myModalLabel">Supprimer</h3> </div> <div class="modal-body"> <p>Êtes-vous sur de vouloir supprimer cet enregistrement ?</p> </div> <div class="modal-footer"> <button class="btn" data-dismiss="modal" aria-hidden="true">Annuler</button> <a class="btn btn-primary" href="<?=$_SERVER['PHP_SELF']?>?mode=suppr&id=<?=$Bd['id'] ?>">Supprimer</a> </div> </div> <?php } echo '</tbody>'; } echo '<tr><td colspan="3" align="center" class="bouton" style="background:#fff"><input type="submit" value="Positionner les listes"></td></tr>'; echo "</table></form>"; } function affiche_formulaire_marque() { GLOBAL $frm; global $id; global $repertoire_upload; global $wwwroot, $dirroot; global $categorie_options; global $markwidth, $markheight; ?> <script type="text/javascript"> jQuery(function($){ var api; $('#target').Jcrop({ onChange: showCoords, onSelect: showCoords, allowResize:true, aspectRatio: <?=(200/200)?>, minSize:[200,200] },function(){ api = this; api.setSelect([130,65,130+350,65+285]); api.setOptions({ bgFade: true }); api.ui.selection.addClass('jcrop-selection'); }); }); jQuery(function($){ var api; $('#target2').Jcrop({ onChange: showCoords, onSelect: showCoords, allowResize:true, aspectRatio: <?=(1040/400)?>, minSize:[1040,400] },function(){ api = this; api.setSelect([130,65,130+350,65+285]); api.setOptions({ bgFade: true }); api.ui.selection.addClass('jcrop-selection'); }); }); </script> <form name="entryform" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data"> <input type="hidden" name="mode" id="mode" value="<?=$frm["nouveau_mode"]?>"> <input type="hidden" name="id" value="<?=(isset($frm['id'])?$frm['id']:'')?>"> <table border="0" class="tablespace" width="100%" cellpadding="0" cellspacing="0"> <tr> <th class="entete" colspan="2">Ajouter une liste</th> </tr> <tr> <td>Message reçu :</td> <td> <? $message = "Envoyé le ".date("d-m-Y H:i:s").'<br />'; $message .= "Nom : ".$frm['nom']."<br />"; $message .= "Tel : ".$frm['telephone']."<br />"; $message .= "Email : ".$frm['email']."<br />"; $message .= "Sujet : ".$frm['sujet']."<br />"; $message .= "Message :<br />".stripslashes($frm['texte'])."<br />"; echo $message; ?> </td> </tr> <tr> <td class="normal">Etat :</td> <td class="normal"> <input type="radio" name="etat" value="1" <?php if ((vb($frm['etat'])=="1")||(!$frm['etat'])) {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>Nom :</td> <td><input type="text" name="nom_fr" size=25 value="<?=$frm["nom_".$_SESSION['langue'].""] ?>"></td> </tr> <tr colspan="2" valign=top> <td colspan="2">Description :</td> </tr> <tr> <td colspan="2" style="padding-left:0"><textarea name="description_fr" style="width:90%"><?=$frm["description_".$_SESSION['langue'].""] ?></textarea></td> </tr> <tr> <th colspan="2" class="entete">Image de la liste</th> </tr> <tr><td colspan="2"> <? if (!empty($frm['image'])) { echo '<input type="hidden" name="image" value="'.$frm['image'].'">'; $iden = $sup = ''; if (file_exists($dirroot.'/upload/zoom_'.$frm['image']) && !file_exists($dirroot.'/upload/'.$frm['image']) ) { echo '<div class="alert alert-danger">ATTENTION ! Vous n\'avez pas encore recadré votre photo. Celle-ci n\'apparaitra pas sur le site.</div>'; $iden = 'id="target"'; echo '<input type="hidden" id="x1" name="x1image'.'" /> <input type="hidden" id="y1" name="y1image'.'" /> <input type="hidden" id="w" name="wimage'.'" /> <input type="hidden" id="h" name="himage'.'" /> <input type="hidden" id="wi" name="wiimage'.'" value="200" /> <input type="hidden" id="he" name="heimage'.'" value="200" />'; $sup = 'zoom_'; } echo '<center>'; echo '<img src="'.$wwwroot.'/upload/'.$sup.''.$frm['image'].'" '.$iden.'>'; echo '<div style="margin:20px 0"> '.((file_exists($dirroot.'/upload/zoom_'.$frm['image']) && !file_exists($dirroot.'/upload/'.$frm['image']) )?'<button type="submit" class="btn btn-success" name="modif_img" onclick="document.getElementById(\'mode\').value=\'majfile\'">Modifier l\'image</button>':'').' <a class="btn" href="?mode=supprfile&id='.$frm['id'].'">Supprimer l\'image</a> </div>'; echo '</center>'; } else { echo '<span class="btn fileinput-button"> <i class="icon-plus icon-white"></i> <span>Sélectionnez une image...</span> <input type="file" name="image"> </span> <button type="submit" class="btn" name="add_img" onclick="document.getElementById(\'mode\').value=\'addfile\'">Ajouter une image</button>'; } ?></td> </tr> <tr> <tr> <th colspan="2" class="entete">Produits de la liste</th> </tr> <tr> <td colspan="2" style="padding-left:0;"> <table cellpadding="0" cellspacing="0" width="100%"> <tr bgcolor="#6699ff"> <td class="menu">Produit</td> <td class="menu">Couleur</td> <td class="menu">Taille</td> <td class="menu">Prix</td> <td style="width:100px" class="menu">Etat</td> <td style="width:50px" class="menu">Action</td> </tr> <? $rec = mysql_query_override("select p.*, pl.id as ident, pl.etat as statut, pl.prix as price, pl.couleur, pl.taille from gaia_produits_listes pl, gaia_produits p where p.id = pl.produit_id and pl.liste_id = '".$frm['id']."' order by p.nom_fr"); while($data = mysql_fetch_array_override($rec)) { $reccol = mysql_query_override("select * from gaia_couleurs where id = '".$data['couleur']."'"); $couleur = mysql_result_override($reccol,0,'nom_fr'); $rectail = mysql_query_override("select * from gaia_tailles where id = '".$data['taille']."'"); $taille = mysql_result_override($rectail,0,'nom_fr'); echo '<input type="hidden" name="prodid[]" value="'.$data['ident'].'" />'; echo '<tr> <td>'.stripslashes($data['nom_fr']).'</td> <td>'.stripslashes($couleur).'</td> <td>'.stripslashes($taille).'</td> <td>'.number_format($data['price'],2,'.','').'</td> <td> <select name="statutprod[]" style="width:150px"> <option value="0" '.(($data['statut']==0)?'selected':'').'>Disponible</option> <option value="1" '.(($data['statut']==1)?'selected':'').'>COMMANDÉ</option> </select> </td> <td><a href="#myModal'.$data['ident'].'" role="button" data-toggle="modal" title="Supprimer" rel="tooltip" ><i class="ti-close"></i></a></td> </tr> <div id="myModal'.$data['ident'].'" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">X</button> <h3 id="myModalLabel">Supprimer</h3> </div> <div class="modal-body"> <p>Êtes-vous sur de vouloir supprimer cet enregistrement ?</p> </div> <div class="modal-footer"> <button class="btn" data-dismiss="modal" aria-hidden="true">Annuler</button> <a class="btn btn-primary" href="'.$_SERVER['PHP_SELF'].'?mode=suppprod&idliste='.$frm['id'].'&id='.$data['ident'].'">Supprimer</a> </div> </div>'; } ?> <tr> <td> <select name="produits" onchange="xajax_load_color_size(this.value)"> <option>--</option> <? $rec = mysql_query_override("select * from gaia_produits order by nom_fr"); while($data = mysql_fetch_array_override($rec)) { echo '<option value="'.$data['id'].'">'.stripslashes($data['nom_fr']).'</option>'; } ?> </select> </td> <td> <div id="couleur"> <select name="couleur" style="width:150px"> <option>--</option> </select> </div> </td> <td> <div id="taille"> <select name="taille" style="width:100px"> <option>--</option> </select> </div> </td> <td colspan="3"> <input class="bouton" type="submit" onclick="document.getElementById('mode').value='addprod'" value="Ajouter un produit"> </td> </tr> </table> </td> </tr> <tr> <th colspan="2" class="entete">Commandes liées</th> </tr> <tr> <td colspan="2"> <? $rec = mysql_query_override("select * from gaia_commandes_articles where liste_id = '".$frm['id']."' group by commande_id"); while($datacom = mysql_fetch_array_override($rec)) { echo '<a href="commandes.php?mode=details&id='.$datacom['commande_id'].'" target="_blank"> Commande '.$datacom['commande_id'].'</a><br />'; } ?> </td> </tr> <tr> <td colspan="2" class="bouton" align="center"><input type="button" onclick="location='listes.php'" value="Annuler"><input class="bouton" type="submit" value="<?=$frm["titre_soumet"] ?>"></td> </tr> </table> </form> <? } function supprime_fichier($id) { /* Supprime le produit spécificié par $id. Il faut supprimer le produit * puis les entrées correspondantes de la table produits_listes. */ global $the_path ; /* Charge les infos du produit. */ $sql = "SELECT image FROM gaia_listes WHERE id = '$id'"; $res = mysql_query_override($sql); $file = mysql_fetch_row_override($res); mysql_query_override("UPDATE gaia_listes SET image = '' WHERE id = '$id'"); @unlink($the_path.$file[0]); echo '<div class="alert alert-error">Le fichier <b>'.$file[0].'</b> a été effacé du serveur</div>'; } ?>