0byt3m1n1
Path:
/
home
/
k
/
a
/
s
/
kassiope
/
www
/
administrer
/
[
Home
]
File: ambiances.php
<? include("../configuration.inc.php"); necessite_identification(); necessite_priv("admin"); $DOC_TITLE = "Gérer les ambiances"; 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 "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_ambiances SET position = '".$i."' WHERE id = '".intval($_POST['id'][$i])."'"); } } echo '<div class="alert alert-success">Le positionnement des ambiances 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_liste_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_ambiances SET ".$img." = '".$name."' where id='".$f_id."'"; mysql_query_override($query); } function f_modif_pict($f_post, $img) { global $dirroot; extract($f_post); $query = "SELECT ".$img." FROM gaia_ambiances 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_ambiances 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 ambiances 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 ambiance"; affiche_formulaire_marque(); } function affiche_formulaire_modif_marque($id) { /* Affiche le formulaire de modification de ambiances. */ global $frm; /* Charge les infos de la ambiances. */ $qid = mysql_query_override("SELECT * FROM gaia_ambiances WHERE id = $id"); $frm = mysql_fetch_array_override($qid); $rec = mysql_query_override("select * from gaia_produits_ambiances where ambiance_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 ambiances, en présélectionnant la ambiances choisie. */ affiche_formulaire_marque(); } function supprime_marque($id) { /* Supprime la ambiances spécifiée par $id, et déplace tous les produits sous * cette ambiances au parent immédiat. */ /* Trouve le parent de cette ambiances */ $qid = mysql_query_override("SELECT nom_fr FROM gaia_ambiances WHERE id = $id"); if ($qid) { if (mysql_num_rows_override($qid) > 0) { $bd = mysql_fetch_array_override($qid); /* efface cette ambiances */ /* Réaffecte tous les produits de cette ambiances à la ambiances parente */ mysql_query_override("DELETE FROM gaia_produits_ambiances WHERE ambiance_id = $id"); /* Réaffecte toutes les sous-ambiances de cette ambiances à la ambiances parente */ mysql_query_override("DELETE FROM gaia_ambiances WHERE id = $id"); echo '<div class="alert alert-error">L\'ambiance a été effacée <button type="button" class="close" data-dismiss="alert">×</button></div>'; } } ?> <? } function insere_sous_marque($frm, $sup = '') { /* Ajoute une nouvelle sous-ambiances sous le parent $id. Tous les champs sont stockés dans la variable $frm */ valide($frm['etat']); $qid = mysql_query_override(" INSERT INTO gaia_ambiances (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_ambiances values (ambiance_id, produit_id) values ('".intval($last)."', '".$frm['produits'][$i]."')"); } if (empty($sup)) echo '<div class="alert alert-success">L\'ambiance a été ajoutée <button type="button" class="close" data-dismiss="alert">×</button></div>'; else return $last; } function maj_marque($frm) { /* Met à jour la ambiances $id avec les nouvelles valeurs contenues dans $frm */ valide($frm['etat']); valide($frm['on_menu']); $qid = mysql_query_override(" UPDATE gaia_ambiances 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()); mysql_query_override("delete from gaia_produits_ambiances where ambiance_id = '".intval($_POST['id'])."'"); for($i=0;$i<count($frm['produits']);$i++) { mysql_query_override("insert into gaia_produits_ambiances (ambiance_id, produit_id) values ('".intval($_POST['id'])."', '".$frm['produits'][$i]."')") or die (mysql_error()); } /* Efface toutes les catégories auxquelles le produit est associé */ echo '<div class="alert alert-success">L\'ambiance a été modifiée <button type="button" class="close" data-dismiss="alert">×</button></div>'; } function affiche_formulaire_liste_marque($id) { /* Affiche un formulaire de ambiances 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 ambiance"; /* Affiche la liste des ambiances, en présélectionnant la ambiances 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 ambiances</th> </tr> <tr> <td colspan="4" class="action"><a href="<?=$_SERVER['PHP_SELF']?>?mode=ajout"> Ajouter une ambiance</a></td> </tr> <tr bgcolor="#6699ff"> <td class="menu">Action</td> <td class="menu">ambiances</td> <td class="menu" align="center">Etat</td> </tr> <? $result=mysql_query_override("SELECT * FROM gaia_ambiances ORDER BY position"); if (mysql_num_rows_override($result) == 0) { echo "<tr><td class=\"normal\" colspan=\"3\"><b>aucune ambiance 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 ambiance" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$Bd['id'] ?>"> <?=stripslashes($Bd['nom_'.$_SESSION['langue'].''])?></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 ambiances"></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: <?=(280/205)?>, minSize:[280,205] },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 ambiance</th> </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 réduite de l'ambiance</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="280" /> <input type="hidden" id="he" name="heimage'.'" value="205" />'; $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">Image pleine de l'ambiance</th> </tr> <tr><td colspan="2"> <? if (!empty($frm['image2'])) { echo '<input type="hidden" name="image2" value="'.$frm['image2'].'">'; $iden = 'width="900"'; $sup = ''; if (file_exists($dirroot.'/upload/zoom_'.$frm['image2']) && !file_exists($dirroot.'/upload/'.$frm['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>'; $iden = 'id="target2"'; echo '<input type="hidden" id="x1" name="x1image2'.'" /> <input type="hidden" id="y1" name="y1image2'.'" /> <input type="hidden" id="w" name="wimage2'.'" /> <input type="hidden" id="h" name="himage2'.'" /> <input type="hidden" id="wi" name="wiimage2'.'" value="1040" /> <input type="hidden" id="he" name="heimage2'.'" value="400" />'; $sup = 'zoom_'; } echo '<center>'; echo '<img src="'.$wwwroot.'/upload/'.$sup.''.$frm['image2'].'" '.$iden.'>'; echo '<div style="margin:20px 0"> '.((file_exists($dirroot.'/upload/zoom_'.$frm['image2']) && !file_exists($dirroot.'/upload/'.$frm['image2']) )?'<button type="submit" class="btn btn-success" name="modif_img" onclick="document.getElementById(\'mode\').value=\'majfile2\'">Modifier l\'image</button>':'').' <a class="btn" href="?mode=supprfile2&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="image2"> </span> <button type="submit" class="btn" name="add_img" onclick="document.getElementById(\'mode\').value=\'addfile2\'">Ajouter une image</button>'; } ?></td> </tr> <tr> <th colspan="2" class="entete">Produits de l'ambiance</th> </tr> <tr> <td colspan="2"> <select style="width:900px; height:300px;" name="produits[]" multiple="multiple"> <option>--</option> <? $rec = mysql_query_override("select * from gaia_produits order by nom_fr"); while($data = mysql_fetch_array_override($rec)) { if(in_array($data['id'],$frm['produits'])) $f = 'selected'; else $f = ''; echo '<option value="'.$data['id'].'" '.$f.'>'.stripslashes($data['nom_fr']).'</option>'; } ?> </select> </td> </tr> <tr> <td colspan="2" class="bouton" align="center"><input type="button" onclick="history.go(-1)" 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_ambiances. */ global $the_path ; /* Charge les infos du produit. */ $sql = "SELECT image FROM gaia_ambiances WHERE id = '$id'"; $res = mysql_query_override($sql); $file = mysql_fetch_row_override($res); mysql_query_override("UPDATE gaia_ambiances 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>'; } ?>