Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $title="gestion des publications";
- require_once("../inc/init.inc.php");
- $msg="";
- if(!utilisateurEstConnecteEtEstAdmin())
- {
- header("location:".RACINE_SITE."/index.php");
- exit(); // permet d'arreter l'execution du script au cas où une personne mal intentionnée tenterai des injections de code.
- }
- include("../inc/header.inc.php");?>
- <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 -->
- <?php
- // --- ENREGISTREMENT OU MODIFICATION DES postsS
- //var_dump($_POST);
- //var_dump($_FILES);
- if(isset($_POST['enregistrer'])) // si on ajoute une posts
- {
- // echo"test";
- foreach($_POST AS $indice => $donnees)
- {
- $_POST[$indice] = htmlentities($donnees, ENT_QUOTES);
- }
- $reference = executeRequete("SELECT * FROM posts WHERE titre='".$_POST['titre']."'");
- 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)
- {
- $msg .= "<div class='danger'><p>Série déjà existente, veuillez en créer une autre !</p></div>";
- }
- else // sinon on peut lancer l'enregistrement
- {
- // Nous traitons en premier la photo pour rappel, les fichiers upload ne se trouvent pas dans $_POST mais dans $_FILES
- $photo_bdd = "";// evite une erreur undefined si l'utilisateur ne poste pas de photo
- if(isset($_GET['action']) && $_GET['action'] == 'modification')
- {
- $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 !
- }
- if(!empty($_FILES['photo']['name']))
- {
- if(verificationExtensionPhoto())
- {
- $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
- $nom_photo = str_replace(" ", "_", $nom_photo); // En cas d'espace dans le nom, remplacement par _ .
- $photo_bdd = RACINE_SITE ."photo/$nom_photo"; // chemin src que l'on va enregistrer en BDD
- $photo_dossier = RACINE_SERVEUR . RACINE_SITE . "photo/$nom_photo";
- // chemin pour permettre l'enregistrement dans le dossier du FICHIER de la photo. Cela va servir à la fonction copy()
- 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.
- }
- else
- {
- $msg .= "<div class='danger'> <p>Le format de l'image n'est pas valide (png, jpg, jpeg, gif) !</p></div>";
- }
- }
- if(empty($msg))
- {
- $msg .= "<div class='success'><p>Enregistrement de la série!</p></div>";
- extract($_POST);
- $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')";
- executeRequete($requete);
- $_GET['action'] = 'affichage';
- //echo $requete;
- }
- }
- }
- // --- FIN ENREGISTREMENT DES postsS
- // --- SUPPRESSION DE posts
- if(isset($_GET['action']) && $_GET['action'] == 'suppression')
- {
- $resultat = executeRequete("SELECT * FROM posts WHERE id_posts=".$_GET['id_posts']);
- $posts_a_supprimer = $resultat->fetch_assoc();
- $chemin_photo_a_supprimer = RACINE_SERVEUR . $posts_a_supprimer['photo'];
- if(!empty($posts_a_supprimer['photo']) && file_exists($chemin_photo_a_supprimer))
- {// file_exists Vérifie si le fichier existe au chemin donné en argument
- unlink($chemin_photo_a_supprimer);// unlink supprime le fichier
- }
- $msg .= "<div class='success'> <p>Suppression de la série ".$_GET['id_posts']."!</p></div>";
- executeRequete("DELETE FROM posts WHERE id_posts=".$_GET['id_posts']);
- $_GET['action'] = 'affichage'; // après la suppression on rebascule sur l'affichage
- }
- // --- FIN SUPPRESSION DE posts
- echo $msg;
- //debug($_SERVER);
- /*if($_POST)
- {
- debug($_POST);
- debug($_FILES);
- }*/
- ?>
- <section>
- <div class="bandeau">
- <img src="../media/logonf.png"/>
- <?php include("../inc/menu.inc.php"); ?>
- </div>
- <?php
- echo '<div class="gestion">';
- echo ' <h1>Gestion des publications</h1>';
- echo'<div class="action">
- <a href="?action=ajouter" class="">Ajouter une publication</a>
- <a href="?action=affichage" class="">Afficher les publications</a>
- </div>';
- // --- AFFICHAGE DES postsS
- if(isset($_GET['action']) && $_GET['action'] == 'affichage')
- {
- echo '<div class="affichage">';
- echo '<h2>Affichage des publications</h2>';
- $resultat = executeRequete("SELECT * FROM posts");
- $nb_col = $resultat->field_count;
- echo '<table class="table" border=1>';
- echo '<tr>';
- for($i=0; $i <$nb_col; $i++)
- {
- $colonne = $resultat->fetch_field();
- echo '<th>'.$colonne->name.'</th>';
- }
- echo '<th>Modif</th>';
- echo '<th>Suppr</th>';
- echo '</tr>';
- while($ligne = $resultat->fetch_assoc())
- {
- echo '<tr>';
- foreach($ligne AS $indice => $valeur)
- {
- if($indice == 'photo')
- {
- echo '<td><img src="'.$valeur.'"/></td>';// width="100px"
- }
- else
- {
- echo '<td>'.$valeur.'</td>';
- }
- }
- echo '<td><a href="?action=modification&id_posts='.$ligne['id_posts'].'" class=""><img class="vector" src="../images/modif.svg" alt=""/> </a></td>';
- 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>';
- echo '</tr>';
- }
- echo '</table>';
- echo '</div>';
- }
- echo '</div>';
- // --- FIN AFFICHAGE DES postsS
- // formulaire d'ajout
- if(isset($_GET['action']) && ($_GET['action'] == 'ajouter' || $_GET['action'] == 'modification'))
- {
- if(isset($_GET['id_posts'])) // si un id est présent dans l'url alors nous sommes en modification
- {
- $resultat = executeRequete("SELECT * FROM posts WHERE id_posts=".$_GET['id_posts']); // on récupère les données de l'article en BDD
- $posts_actuel = $resultat->fetch_assoc();
- // debug($posts_actuel);
- }
- ?>
- <div class="formulaire">
- <form method="POST" action="" enctype="multipart/form-data">
- <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 -->
- <label for="titre">Titre:</label>
- <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'; } ?> />
- <br />
- <label for="producteur">Producteur</label>
- <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..." />
- <br />
- <label for="diffuseur">diffuseur</label>
- <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..." />
- <br />
- <label for="duree">Durée de la série</label>
- <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..." />
- <br />
- <label for="date">Date de traitement</label>
- <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..." />
- <br />
- <?php
- if(isset($posts_actuel)) // en cas de modif nous affichons la photo de la BDD
- {
- echo "<strong>Photo actuelle: </strong><br /><img src='".$posts_actuel['photo']."' width='100px' /><br />";
- echo '<input type="hidden" name="photo_actuelle" value="'.$posts_actuel['photo'].'" />';
- }
- ?>
- <label for="photo">Photo:</label>
- <input type="file" name="photo" id="photo" class="" />
- <br />
- <label for="commentaire">Commentaire:</label>
- <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>
- <br />
- <br />
- <label for="entite">société :</label>
- <select id="entite" name="entite" class="">
- <option value="kayenta">Kayenta</option>
- <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>
- </select>
- <br />
- <label for="site_officiel">Site de la série</label>
- <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..." />
- <br />
- <input type="submit" name="enregistrer" value="<?php echo($_GET['action']); ?>" class="" />
- <br />
- <br />
- <br />
- </form>
- </div>
- <?php
- }
- include("../inc/footer.inc.php");
- ?>
- </div><!-- /.container -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement