0byt3m1n1
Path:
/
home
/
k
/
a
/
s
/
kassiope
/
www
/
administrer
/
[
Home
]
File: labels.php
<?php $menu=3; include("../configuration.inc.php"); necessite_identification(); necessite_priv("admin"); /* ini_set('display_errors',1); error_reporting(E_ALL); */ $DOC_TITLE = "Gérer les labels"; 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_label(vn($_REQUEST['parent_id'])); break; case "modif" : affiche_formulaire_modif_label($_REQUEST['id']); break; case "addfile" : if (isset($_REQUEST['id']) && !empty($_REQUEST['id'])) {$id = $_REQUEST['id']; maj_label($_POST); } else $id = insere_sous_label($_POST, 'ret'); if (!empty($_REQUEST['image'])) { $img = $_POST['image']; } else { if (!empty($_FILES['image']['name'])) { $img = move_upload_pict($_FILES['image'], 150,150,''); f_add_pict($id,$img); echo '<div class="alert alert-success">Votre photo a été insérée.</div>'; } } affiche_formulaire_modif_label($id); break; case "majfile" : f_modif_pict($_POST); echo '<div class="alert alert-success">Votre image a bien été importée et retaillée.</div>'; affiche_formulaire_modif_label($_REQUEST['id']); break; case "positionner" : if (isset($_POST['id'])) { for($i=0;$i<count($_POST['id']);$i++) { mysql_query_override("UPDATE gaia_labels SET position = '".$i."' WHERE id = '".intval($_POST['id'][$i])."'"); } } echo '<div class="alert alert-success">Le positionnement des labels a été effectué.</div>'; affiche_formulaire_liste_label($_REQUEST['id']); break; case "suppr" : supprime_label($_REQUEST['id']); affiche_formulaire_liste_label($_REQUEST['id']); break; case "supprfile" : supprime_fichier(vn($_REQUEST['id'])); affiche_formulaire_modif_label(vn($_REQUEST['id'])); break; case "supprfile2" : supprime_fichier(vn($_REQUEST['id']),2); affiche_formulaire_modif_label(vn($_REQUEST['id'])); break; case "supprfile3" : supprime_fichier(vn($_REQUEST['id']),3); affiche_formulaire_modif_label(vn($_REQUEST['id'])); break; case "insere" : insere_sous_label($_POST); affiche_formulaire_liste_label($_REQUEST['id']); break; case "maj" : maj_label($_POST); affiche_formulaire_liste_label($_REQUEST['id']); break; case "recherche" : affiche_recherche_liste_label($_REQUEST['id'], $_POST); break; default : affiche_formulaire_liste_label($_REQUEST['id']=0); break; } include("modeles/bas.php"); /****************************************************************************** * FONCTIONS *****************************************************************************/ function f_add_pict($f_id, $name , $nb='') { $query = "UPDATE gaia_labels SET image".$nb." = '".$name."' where id='".$f_id."'"; mysql_query_override($query); } function f_modif_pict($f_post, $nb='') { global $dirroot; extract($f_post); $query = "SELECT image".$nb." FROM gaia_labels where id='".$id."'"; $rec = mysql_query_override($query); $img_file = mysql_result_override($rec,0,'image'.$nb); $imgfile = $dirroot.'/upload/zoom_'.$img_file; $dest_small = $dirroot.'/upload/'.$img_file; $origimg = imagecreatefromjpeg($imgfile); $cropimg = imagecreatetruecolor($f_post['w'.$nb],$f_post['h'.$nb]); list($widtha, $heighta) = getimagesize($imgfile); imagecopyresized($cropimg, $origimg, 0, 0, $f_post['x1'.$nb], $f_post['y1'.$nb], $widtha, $heighta, $widtha, $heighta); imagejpeg($cropimg, $dest_small, 99); $thumb = imagecreatetruecolor($f_post['wi'.$nb], $f_post['he'.$nb]); $source = imagecreatefromjpeg($dest_small); imagecopyresized($thumb, $source, 0, 0, 0, 0, $f_post['wi'.$nb], $f_post['he'.$nb], $f_post['w'.$nb], $f_post['h'.$nb]); imagejpeg($thumb, $dest_small, 99); if(file_exists($dest_small)) { $query = "UPDATE gaia_labels SET image".$nb." = '".$img_file."' where id ='".$id."'"; mysql_query_override($query); //unlink($imgfile); } } function affiche_formulaire_ajout_label($parent_id) { global $frm; global $categorie_options; /* Affiche un formulaire de labels vide */ /* Valeurs par défaut */ $frm["nouveau_mode"] = "insere"; $frm["nom_fr"] = ""; $frm["value"] = ""; $frm["image"] = ""; $frm["etat"] = ""; $frm["is_filter"] = ""; $frm["parent_id"] = intval($parent_id); $frm['position'] = ""; $frm['external_id'] = ""; $frm["titre_soumet"] = "Ajouter un label"; affiche_formulaire_label(); } function affiche_formulaire_modif_label($id) { /* Affiche le formulaire de modification de labels. */ global $frm; /* Charge les infos de Le labels. */ $qid = mysql_query_override("SELECT * FROM gaia_labels WHERE id = $id"); $frm = mysql_fetch_array_override($qid); $frm["nouveau_mode"] = "maj"; $frm["titre_soumet"] = "Sauvegarder changements"; /* Affiche la liste des labels, en présélectionnant Le labels choisie. */ affiche_formulaire_label(); } function supprime_label($id) { /* Supprime Le labels spécifiée par $id, et déplace tous les produits sous * cette labels au parent immédiat. */ /* Trouve le parent de cette labels */ $qid = mysql_query_override("SELECT nom_fr FROM gaia_labels WHERE id = $id"); if ($qid) { if (mysql_num_rows_override($qid) > 0) { $bd = mysql_fetch_array_override($qid); /* efface cette labels */ /* Réaffecte tous les produits de cette labels à Le labels parente */ mysql_query_override("DELETE FROM gaia_produits_marques WHERE marque_id = $id"); /* Réaffecte toutes les sous-labels de cette labels à Le labels parente */ mysql_query_override("DELETE FROM gaia_labels WHERE id = $id"); echo '<div class="alert alert-error">Le label a été effacée <button type="button" class="close" data-dismiss="alert">×</button></div>'; } } ?> <? } function insere_sous_label($frm, $sup = '') { /* Ajoute une nouvelle sous-labels sous le parent $id. Tous les champs sont stockés dans la variable $frm */ valide($frm['etat']); $qid = mysql_query_override(" INSERT INTO gaia_labels (nom_fr, parent_id, value, position, is_filter, external_id, etat) VALUES ('".addslashes($frm['nom_fr'])."', '".addslashes($frm['parent_id'])."','".intval($frm['value'])."','".intval($frm['position'])."','".intval($frm['is_filter'])."','".intval($frm['external_id'])."','".intval($frm['etat'])."')") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); if(isset($frm['categorie_id']) && is_array($frm['categorie_id']) && count($frm['categorie_id'])>0) { mysql_query_override("delete from gaia_labels_categories where label_id = '".intval($_POST['id'])."'"); foreach($frm['categorie_id'] as $k => $v){ mysql_query_override("insert into gaia_labels_categories (label_id, categorie_id) values ('".intval($_POST['id'])."','".$v."')"); } } if (empty($sup)) echo '<div class="alert alert-success">Le label a été ajoutée <button type="button" class="close" data-dismiss="alert">×</button></div>'; else return mysql_insert_id_override(); } function maj_label($frm) { /* Met à jour Le labels $id avec les nouvelles valeurs contenues dans $frm */ valide($frm['etat']); valide($frm['is_filter']); $qid = mysql_query_override(" UPDATE gaia_labels SET nom_fr = '".addslashes($frm['nom_fr'])."' ,parent_id = '".addslashes($frm['parent_id'])."' ,value = '".intval($frm['value'])."' ,position = '".intval($frm['position'])."' ,external_id = '".intval($frm['external_id'])."' ,is_filter = '".addslashes($frm['is_filter'])."' ,etat = '$frm[etat]' WHERE id = '".intval($_POST['id'])."' ") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR()); if(isset($frm['categorie_id']) && is_array($frm['categorie_id']) && count($frm['categorie_id'])>0) { mysql_query_override("delete from gaia_labels_categories where label_id = '".intval($_POST['id'])."'"); foreach($frm['categorie_id'] as $k => $v){ mysql_query_override("insert into gaia_labels_categories (label_id, categorie_id) values ('".intval($_POST['id'])."','".$v."')"); } } /* Efface toutes les catégories auxquelles le produit est associé */ echo '<div class="alert alert-success">Le label a été modifiée <button type="button" class="close" data-dismiss="alert">×</button></div>'; } function affiche_formulaire_liste_label($id) { /* Affiche un formulaire de labels vide */ /* Valeurs par défaut */ $frm["parent"] = array($id); $frm["nouveau_mode"] = "insere"; $frm["nom_fr"] = ""; $frm["value"] = ""; $frm["image"] = ""; $frm["etat"] = ""; $frm["is_filter"] = ""; $frm["position"] = ""; $frm["external_id"] = ""; $frm["titre_soumet"] = "Ajouter un label"; /* Affiche la liste des labels, en présélectionnant Le labels choisie. */ affiche_liste_label(); } function affiche_liste_label() { 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="444" class="entete">Liste des labels</th> </tr> <tr> <td colspan="444" class="action"><a href="<?=$_SERVER['PHP_SELF']?>?mode=ajout"> Ajouter un label</a></td> </tr> <tr bgcolor="#6699ff"> <td class="menu">Action</td> <td class="menu">Labels</td> <td class="menu">ID externe</td> <td class="menu" align="center">Etat</td> <td class="menu" align="center">Filtre</td> </tr> <?php $result=mysql_query_override("SELECT * FROM gaia_labels where parent_id = 0 ORDER BY position"); if (mysql_num_rows_override($result) == 0) { echo "<tr><td class=\"normal\" colspan=\"3\"><b>Aucun label défini</b></td></tr>"; } else { echo '<tbody id="sortable">'; while ($Bd = mysql_fetch_array_override($result)) { $sous=mysql_query_override("SELECT * FROM gaia_labels where parent_id = '".$Bd['id']."' ORDER BY position"); ?> <tr> <td style="width:250px"> <input type="hidden" name="id[]" value="<?=$Bd['id']?>"> <?php if (mysql_num_rows_override($sous) == 0 ) { ?> <a href="#myModal<?=$Bd['id']?>" role="button" data-toggle="modal" title="Supprimer" rel="tooltip" ><i class="ti-close"></i></a> <?php } ?> <a title="Modifier" rel="tooltip" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$Bd['id'] ?>"><i class="ti-pencil"></i></a> <a title="Modifier" rel="tooltip" href="<?=$_SERVER['PHP_SELF']?>?mode=ajout&parent_id=<?=$Bd['id'] ?>"><i class="ti-menu-alt"></i></a> </td> <td style="width:530px"><b><?=stripslashes($Bd['nom_'.$_SESSION['langue'].''])?></b></td> <td><?=(!empty($Bd['external_id'])?'#'.$Bd['external_id']:'')?></td> <td align="center"><?if (empty($Bd['etat'])) {echo '<i class="ti-check-empty"></i>';} else {echo '<i class="ti-check"></i>';} ?></td> <td align="center"><?if (empty($Bd['is_filter'])) {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-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Supprimer</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </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> </div> </div> <?php if (mysql_num_rows_override($sous) >0 ) { while ($sousBd = mysql_fetch_array_override($sous)) { ?> <tr> <td style="width:250px"> <input type="hidden" name="id[]" value="<?=$sousBd['id']?>"> <a href="#myModal<?=$sousBd['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=<?=$sousBd['id'] ?>"><i class="ti-pencil"></i></a> </td> <td style="width:530px"> <img src="images/fleche.png" align="top"> <?=(!empty($sousBd['image'])?'<img src="'.$wwwroot.'upload/'.$sousBd['image'].'" style="max-width:200px" />':stripslashes($sousBd['nom_'.$_SESSION['langue'].'']))?> </td> <td><?=(!empty($sousBd['external_id'])?'#'.$sousBd['external_id']:'')?></td> <td align="center"><?if (empty($sousBd['etat'])) {echo '<i class="ti-check-empty"></i>';} else {echo '<i class="ti-check"></i>';} ?></td> <td align="center"><?if (empty($sousBd['is_filter'])) {echo '<i class="ti-check-empty"></i>';} else {echo '<i class="ti-check"></i>';} ?></td> </tr> <div id="myModal<?=$sousBd['id']?>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Supprimer</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </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=<?=$sousBd['id'] ?>">Supprimer</a> </div> </div> </div> </div> <?php } } } echo '</tbody>'; } echo '<tr><td colspan="444" align="center" class="bouton" style="background:#fff"><input type="submit" value="Positionner les labels"></td></tr>'; echo "</table></form>"; } function affiche_formulaire_label() { GLOBAL $frm; global $id; global $repertoire_upload; global $wwwroot, $dirroot; global $categorie_options; global $markwidth, $markheight; ?> <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 un label</th> </tr> <tr> <td class="normal">Etat :</td> <td> <label class="toggle-switch"> <input type="checkbox" name="etat" <?=frmvalide($frm['etat'])?> value="1"> <span data-unchecked="Off" data-checked="On"></span> </label> </td> </tr> <?php if($frm['parent_id']==0) : ?> <tr> <td class="normal">Remonter dans les filtres :</td> <td> <label class="toggle-switch"> <input type="checkbox" name="is_filter" <?=frmvalide($frm['is_filter'])?> value="1"> <span data-unchecked="Off" data-checked="On"></span> </label> </td> </tr> <tr> <td>Catégorie :</td> <td> <select class="categ form-control" multiple name="categorie_id[]"> <?php $tabcat = array(); $recall = mysql_query_override("select * from gaia_labels_categories where label_id = '".$frm['id']."'"); if(mysql_num_rows_override($recall)) { while($all = mysql_fetch_array_override($recall)) { $tabcat[] = $all['categorie_id']; } } $rec = mysql_query_override("select * from gaia_categories where parent_id = 0 order by position, nom_fr"); while($data = mysql_fetch_array_override($rec)) { echo '<optgroup label="'.mb_strtoupper($data['nom_fr']).'">'; $recs = mysql_query_override("select * from gaia_categories where parent_id = '".$data['id']."' order by position, nom_fr"); while($datas = mysql_fetch_array_override($recs)) { echo '<option value="'.$datas['id'].'" '.(in_array($datas['id'],$tabcat)?'selected':'').'>'.$datas['nom_fr'].'</option>'; } echo '</optgroup>'; } ?> </select> </td> </tr> <?php else : echo '<input type="hidden" name="is_filter" value="0" />'; endif; ?> <!-- <tr> <td>Famille parent :</td> <td> <select class="form-control" name="parent_id"> <option value="0">Racine</option> <?php $rec = mysql_query_override("select * from gaia_labels where parent_id = 0"); while($data = mysql_fetch_array_override($rec)) { echo '<option value="'.$data['id'].'" '.(($data['id']==$frm['parent_id'])?'selected':'').'>'.$data['nom_fr'].'</option>'; } ?> </select> </td> </tr> --> <input type="hidden" name="parent_id" value="<?php echo $frm['parent_id']; ?>" /> <tr> <td>Nom :</td> <td><input type="text" name="nom_fr" size=25 value="<?=$frm["nom_".$_SESSION['langue'].""] ?>"></td> </tr> <?php if($frm['parent_id']>0) : ?> <tr> <td>Valeur numérique :<br ><i>si nécessaire</i></td> <td><input type="text" class="input-mini" name="value" size=25 value="<?=intval($frm["value"]) ?>"></td> </tr> <?php else : echo '<input type="hidden" name="value" value="0" />'; endif; ?> <tr> <td>Position :</td> <td><input type="text" class="input-mini" name="position" size=25 value="<?=intval($frm["position"]) ?>"></td> </tr> <tr> <td>ID externe :</td> <td><input type="text" class="input-mini" name="external_id" size=25 value="<?=intval($frm["external_id"]) ?>"></td> </tr> <?php if($frm['parent_id']>0) : ?> <tr> <th colspan="2" class="entete">Illustration :</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']) ) { $resized_img = list($temp_width, $temp_height) = getimagesize($dirroot.'/upload/zoom_'.$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="x1" /> <input type="hidden" id="y1" name="y1" /> <input type="hidden" id="w" name="w" /> <input type="hidden" id="h" name="h" /> <input type="hidden" id="wi" name="wi" value="'.$markwidth.'" /> <input type="hidden" id="he" name="he" value="'.$markheight.'" />'; $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 red-bg" name="modif_img" onclick="document.getElementById(\'mode\').value=\'majfile\'">Modifier l\'image</button>':'').' <a class="btn skyblue-bg" 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>Illustration : Sélectionnez une image...</span> <input type="file" name="image"> </span> <button type="submit" class="btn red-bg" name="add_img" onclick="document.getElementById(\'mode\').value=\'addfile\'">Ajouter une image</button><i>Minimum : '.$markwidth.'px X '.$markheight.'px</i>'; } ?> <input type="hidden" name="resized_temp_w" value="<?=$resized_img ? $temp_width : null;?>"> <input type="hidden" name="resized_temp_h" value="<?=$resized_img ? $temp_height : null;?>"> <script type="text/javascript"> $( document ).ready(function() { var api; var wi_w = $('input[name=wi]').val(); var wi_h = $('input[name=he]').val(); var temp_w = $('input[name=resized_temp_w]').val(); var temp_h = $('input[name=resized_temp_h]').val(); var ratio = parseFloat(wi_w/wi_h).toFixed(3); $('#target').Jcrop({ onChange: showCoords, onSelect: showCoords, aspectRatio: ratio },function(){ api = this; api.setSelect([130,65,130+350,65+285]); api.setOptions({ bgFade: true, allowResize: true, trueSize: [temp_w, temp_h] }); api.ui.selection.addClass('jcrop-selection'); }); }); </script> </td> </tr> <?php endif; ?> <tr> <td colspan="2" class="bouton" align="center"><input type="button" onclick="location.href='<?php echo $wwwroot. $_SERVER['PHP_SELF']; ?>'" value="Annuler"><input class="bouton" type="submit" value="<?=$frm["titre_soumet"] ?>"></td> </tr> </table> </form> <? } function supprime_fichier($id,$nb='') { /* Supprime le produit spécificié par $id. Il faut supprimer le produit * puis les entrées correspondantes de la table produits_labels. */ global $the_path ; /* Charge les infos du produit. */ $sql = "SELECT image".$nb." FROM gaia_labels WHERE id = '$id'"; $res = mysql_query_override($sql); $file = mysql_fetch_row_override($res); mysql_query_override("UPDATE gaia_labels SET image".$nb." = '' 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>'; } ?>