Advertisement
Guest User

Untitled

a guest
Jul 6th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.75 KB | None | 0 0
  1. <?php
  2. $title="gestion des publications";
  3.  
  4. require_once("../inc/init.inc.php");
  5. $msg="";
  6. if(!utilisateurEstConnecteEtEstAdmin())
  7. {
  8. header("location:".RACINE_SITE."/index.php");
  9. exit(); // permet d'arreter l'execution du script au cas où une personne mal intentionnée tenterai des injections de code.
  10. }
  11. include("../inc/header.inc.php");?>
  12. <link rel="stylesheet" type="text/css" href="../css/style.css" > <!--chargement de la feuille de style car sinon le chemin n'est pas le bon -->
  13. <?php
  14. // --- ENREGISTREMENT OU MODIFICATION DES postsS
  15. //var_dump($_POST);
  16. //var_dump($_FILES);
  17. if(isset($_POST['enregistrer'])) // si on ajoute une posts
  18. {
  19. // echo"test";
  20. foreach($_POST AS $indice => $donnees)
  21. {
  22. $_POST[$indice] = htmlentities($donnees, ENT_QUOTES);
  23. }
  24.  
  25. $reference = executeRequete("SELECT * FROM posts WHERE titre='".$_POST['titre']."'");
  26. if($reference->num_rows > 0 && isset($_GET['action']) && $_GET['action'] == 'ajouter') // s'il y a au moins un résultat, alors la référence n'est plus disponible (champs UNIQUE en BDD)
  27. {
  28. $msg .= "<div class='danger'><p>Série déjà existente, veuillez en créer une autre !</p></div>";
  29. }
  30. else // sinon on peut lancer l'enregistrement
  31. {
  32. // Nous traitons en premier la photo pour rappel, les fichiers upload ne se trouvent pas dans $_POST mais dans $_FILES
  33. $photo_bdd = "";// evite une erreur undefined si l'utilisateur ne poste pas de photo
  34. if(isset($_GET['action']) && $_GET['action'] == 'modification')
  35. {
  36. $photo_bdd = $_POST['photo_actuelle']; // dans le cas d'une modif on récupère l'ancienne valeur dans $photo_bdd. Dans tous les cas, si l'utilisateur poste une nouvelle photo, elle sera bien prise en compte grace au code qui suit !
  37. }
  38. if(!empty($_FILES['photo']['name']))
  39. {
  40. if(verificationExtensionPhoto())
  41. {
  42. $nom_photo = $_POST['titre'] . '_' . $_FILES['photo']['name'];// on rajoute la reference sur le nom de la photo dans le cas où deux images auraient le même nom, il y a un risque d'écraser les anciennes photos
  43. $nom_photo = str_replace(" ", "_", $nom_photo); // En cas d'espace dans le nom, remplacement par _ .
  44. $photo_bdd = RACINE_SITE ."photo/$nom_photo"; // chemin src que l'on va enregistrer en BDD
  45. $photo_dossier = RACINE_SERVEUR . RACINE_SITE . "photo/$nom_photo";
  46. // chemin pour permettre l'enregistrement dans le dossier du FICHIER de la photo. Cela va servir à la fonction copy()
  47. copy($_FILES['photo']['tmp_name'], $photo_dossier); // copy() permet de copier un fichier depuis un endroit (ici le dossier temporaire du serveur) vers un autre endroit donné en deuxieme argument.
  48. }
  49. else
  50. {
  51. $msg .= "<div class='danger'> <p>Le format de l'image n'est pas valide (png, jpg, jpeg, gif) !</p></div>";
  52. }
  53. }
  54. if(empty($msg))
  55. {
  56. $msg .= "<div class='success'><p>Enregistrement de la série!</p></div>";
  57. extract($_POST);
  58. $requete = "REPLACE INTO posts(id_posts, titre, producteur, diffuseur, duree, date, photo, commentaire, entite, site_officiel) VALUES ('$id_posts', '$titre', '$producteur', '$diffuseur', '$duree', '$date', '$photo_bdd', '$commentaire', '$entite', '$site_officiel')";
  59. executeRequete($requete);
  60. $_GET['action'] = 'affichage';
  61. //echo $requete;
  62. }
  63.  
  64. }
  65. }
  66.  
  67. // --- FIN ENREGISTREMENT DES postsS
  68.  
  69. // --- SUPPRESSION DE posts
  70. if(isset($_GET['action']) && $_GET['action'] == 'suppression')
  71. {
  72. $resultat = executeRequete("SELECT * FROM posts WHERE id_posts=".$_GET['id_posts']);
  73. $posts_a_supprimer = $resultat->fetch_assoc();
  74. $chemin_photo_a_supprimer = RACINE_SERVEUR . $posts_a_supprimer['photo'];
  75. if(!empty($posts_a_supprimer['photo']) && file_exists($chemin_photo_a_supprimer))
  76. {// file_exists Vérifie si le fichier existe au chemin donné en argument
  77. unlink($chemin_photo_a_supprimer);// unlink supprime le fichier
  78. }
  79.  
  80. $msg .= "<div class='success'> <p>Suppression de la série ".$_GET['id_posts']."!</p></div>";
  81. executeRequete("DELETE FROM posts WHERE id_posts=".$_GET['id_posts']);
  82. $_GET['action'] = 'affichage'; // après la suppression on rebascule sur l'affichage
  83. }
  84.  
  85. // --- FIN SUPPRESSION DE posts
  86.  
  87. echo $msg;
  88. //debug($_SERVER);
  89. /*if($_POST)
  90. {
  91. debug($_POST);
  92. debug($_FILES);
  93. }*/
  94. ?>
  95.  
  96. <section>
  97. <div class="bandeau">
  98. <img src="../media/logonf.png"/>
  99. <?php include("../inc/menu.inc.php"); ?>
  100. </div>
  101.  
  102. <?php
  103. echo '<div class="gestion">';
  104. echo ' <h1>Gestion des publications</h1>';
  105.  
  106. echo'<div class="action">
  107. <a href="?action=ajouter" class="">Ajouter une publication</a>
  108. <a href="?action=affichage" class="">Afficher les publications</a>
  109.  
  110. </div>';
  111.  
  112.  
  113. // --- AFFICHAGE DES postsS
  114. if(isset($_GET['action']) && $_GET['action'] == 'affichage')
  115. {
  116. echo '<div class="affichage">';
  117. echo '<h2>Affichage des publications</h2>';
  118. $resultat = executeRequete("SELECT * FROM posts");
  119. $nb_col = $resultat->field_count;
  120.  
  121. echo '<table class="table" border=1>';
  122. echo '<tr>';
  123. for($i=0; $i <$nb_col; $i++)
  124. {
  125. $colonne = $resultat->fetch_field();
  126. echo '<th>'.$colonne->name.'</th>';
  127. }
  128. echo '<th>Modif</th>';
  129. echo '<th>Suppr</th>';
  130. echo '</tr>';
  131. while($ligne = $resultat->fetch_assoc())
  132. {
  133. echo '<tr>';
  134. foreach($ligne AS $indice => $valeur)
  135. {
  136. if($indice == 'photo')
  137. {
  138. echo '<td><img src="'.$valeur.'"/></td>';// width="100px"
  139. }
  140. else
  141. {
  142. echo '<td>'.$valeur.'</td>';
  143. }
  144. }
  145. echo '<td><a href="?action=modification&id_posts='.$ligne['id_posts'].'" class=""><img class="vector" src="../images/modif.svg" alt=""/> </a></td>';
  146. echo '<td><a href="?action=suppression&id_posts='.$ligne['id_posts'].'" class="" onClick="return(confirm(\'êtes vous certain ? \'));" > <img class="vector" src="../images/trash.svg" alt=""/> </a></td>';
  147. echo '</tr>';
  148. }
  149.  
  150. echo '</table>';
  151.  
  152.  
  153.  
  154. echo '</div>';
  155.  
  156. }
  157. echo '</div>';
  158.  
  159.  
  160. // --- FIN AFFICHAGE DES postsS
  161.  
  162.  
  163. // formulaire d'ajout
  164. if(isset($_GET['action']) && ($_GET['action'] == 'ajouter' || $_GET['action'] == 'modification'))
  165. {
  166. if(isset($_GET['id_posts'])) // si un id est présent dans l'url alors nous sommes en modification
  167. {
  168. $resultat = executeRequete("SELECT * FROM posts WHERE id_posts=".$_GET['id_posts']); // on récupère les données de l'article en BDD
  169. $posts_actuel = $resultat->fetch_assoc();
  170. // debug($posts_actuel);
  171. }
  172. ?>
  173. <div class="formulaire">
  174.  
  175. <form method="POST" action="" enctype="multipart/form-data">
  176.  
  177. <input type="hidden" id="id_posts" name="id_posts" value="<?php if(isset($posts_actuel)){ echo $posts_actuel['id_posts'];} ?>" /> <!-- Champs caché afin d'avoir l'id lors d'une modif -->
  178.  
  179. <label for="titre">Titre:</label>
  180. <input class="" type="text" name="titre" id="titre" value="<?php if(isset($posts_actuel)){ echo $posts_actuel['titre'];}elseif(isset($_POST['titre'])) { echo $_POST['titre'];}?>" placeholder="Nom de la série..." <?php if(isset($posts_actuel)){ echo 'readonly'; } ?> />
  181. <br />
  182.  
  183. <label for="producteur">Producteur</label>
  184. <input class="" type="text" name="producteur" id="producteur" value="<?php if(isset($posts_actuel)){ echo $posts_actuel['producteur'];}elseif(isset($_POST['producteur'])) { echo $_POST['producteur'];}?>" placeholder="Producteur..." />
  185. <br />
  186.  
  187. <label for="diffuseur">diffuseur</label>
  188. <input class="" type="text" name="diffuseur" id="diffuseur" value="<?php if(isset($posts_actuel)){ echo $posts_actuel['diffuseur'];}elseif(isset($_POST['diffuseur'])) { echo $_POST['diffuseur'];}?>" placeholder="diffuseur..." />
  189. <br />
  190.  
  191. <label for="duree">Durée de la série</label>
  192. <input class="" type="text" name="duree" id="duree" value="<?php if(isset($posts_actuel)){ echo $posts_actuel['duree'];}elseif(isset($_POST['duree'])) { echo $_POST['duree'];}?>" placeholder="Durée..." />
  193. <br />
  194.  
  195. <label for="date">Date de traitement</label>
  196. <input class="" type="text" name="date" id="date" value="<?php if(isset($posts_actuel)){ echo $posts_actuel['date'];}elseif(isset($_POST['date'])) { echo $_POST['date'];}?>" placeholder="Date..." />
  197. <br />
  198.  
  199. <?php
  200. if(isset($posts_actuel)) // en cas de modif nous affichons la photo de la BDD
  201. {
  202. echo "<strong>Photo actuelle: </strong><br /><img src='".$posts_actuel['photo']."' width='100px' /><br />";
  203. echo '<input type="hidden" name="photo_actuelle" value="'.$posts_actuel['photo'].'" />';
  204. }
  205. ?>
  206. <label for="photo">Photo:</label>
  207. <input type="file" name="photo" id="photo" class="" />
  208. <br />
  209.  
  210.  
  211.  
  212. <label for="commentaire">Commentaire:</label>
  213. <textarea name="commentaire" class="form-control" id="commentaire" placeholder="commentaire..."><?php if(isset($posts_actuel)){ echo $posts_actuel['commentaire'];}elseif(isset($_POST['commentaire'])) { echo $_POST['commentaire'];}?></textarea>
  214. <br />
  215. <br />
  216.  
  217. <label for="entite">société :</label>
  218. <select id="entite" name="entite" class="">
  219. <option value="kayenta">Kayenta</option>
  220. <option value="nicefellow" <?php if(isset($posts_actuel) && $posts_actuel['entite'] == "nicefellow"){ echo 'selected';}elseif(isset($_POST['entite']) && $_POST['entite'] == "nicefellow") { echo 'selected';}?> >Nice Fellow</option>
  221. </select>
  222. <br />
  223.  
  224. <label for="site_officiel">Site de la série</label>
  225. <input class="" type="text" name="site_officiel" id="site_officiel" value="<?php if(isset($posts_actuel)){ echo $posts_actuel['site_officiel'];}elseif(isset($_POST['site_officiel'])) { echo $_POST['site_officiel'];}?>" placeholder="Site officiel..." />
  226. <br />
  227.  
  228.  
  229.  
  230.  
  231. <input type="submit" name="enregistrer" value="<?php echo($_GET['action']); ?>" class="" />
  232. <br />
  233. <br />
  234. <br />
  235. </form>
  236. </div>
  237. <?php
  238.  
  239. }
  240. include("../inc/footer.inc.php");
  241. ?>
  242. </div><!-- /.container -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement