File manager - Edit - /home/missmand/public_html/admin/actualite/addActualite.php
Back
<?php include '../lib/init.php'; /** * Initialisation */ use Lib\Utilisateur; use Lib\Tool; use Cocur\Slugify\Slugify; use Lib\Upload; use Imagine\Gd\Imagine; use Imagine\Image\Box; Utilisateur::ifConnect(); $erreur = array(); $titre = ''; $categorie = ''; $resume = ''; $contenu = ''; $metaTitle = ''; $metaDescription = ''; /** * Formulaire */ if(isset($_POST['add'])){ /** * Variables de formulaire */ $titre = $_POST['titre']; $categorie = $_POST['categorie']; $resume = $_POST['resume']; $contenu = $_POST['contenu']; $avant = (isset($_POST['avant'])) ? 1 : 0; $metaTitle = $_POST['metaTitle']; $metaDescription = $_POST['metaDescription']; /** * Erreurs */ if(empty($titre)) array_push($erreur, 'Veuillez compléter le champ "Titre"'); if(empty($categorie)) array_push($erreur, 'Veuillez compléter le champ "Catégorie"'); if(empty($resume)) array_push($erreur, 'Veuillez compléter le champ "Résumé"'); if(empty($contenu)) array_push($erreur, 'Veuillez compléter le champ "Contenu"'); if(empty($metaTitle)) array_push($erreur, 'Veuillez compléter le champ "Méta title"'); if(empty($metaDescription)) array_push($erreur, 'Veuillez compléter le champ "Méta description"'); /* L'image */ if ($_FILES['image']['error'] === UPLOAD_ERR_OK){ $image = Upload::postFichier($_FILES['image'],'L\'image',5000000,array('jpg','jpeg','png'),array('mi',640,480)); } /** * Si aucune erreur alors */ if(empty($erreur)){ $slugify = new Slugify(); /** * Ajout d'une actualité en base de donnée */ $sql = $bdd->prepare("INSERT INTO actualite ( actualiteCreated, actualiteTitre, actualiteSlug, actualiteCategorie, actualiteImage, actualiteResume, actualiteContenu, actualiteAvant, actualiteMetaTitle, actualiteMetaDescription ) VALUES ( :created, :titre, :slug, :categorie, :image, :resume, :contenu, :avant, :metaTitle, :metaDescription ) "); $sql->execute(array( 'created' => Tool::dateTime('Y-m-d H:i'), 'titre' => $_POST['titre'], 'slug' => $slugify->slugify($_POST['titre']), 'categorie' => $_POST['categorie'], 'image' => (isset($image)) ? $image : null, 'resume' => $_POST['resume'], 'contenu' => $_POST['contenu'], 'avant' => $avant, 'metaTitle' => $_POST['metaTitle'], 'metaDescription' => $_POST['metaDescription'] ) ); /* Upload de l'image */ if(isset($image)){ $imagine = new Imagine(); /* Image de base */ $size = new Box(1024,768); $imagine->open($_FILES['image']['tmp_name']) ->thumbnail($size, 'inset') ->save('../../img/actualite/tmp/'.$image); /* Miniature */ $size = new Box(370,285); $imagine->open($_FILES['image']['tmp_name']) ->thumbnail($size, 'outbound') ->save('../../img/actualite/miniature/'.$image); } /* Succès + redirection */ Tool::setFlash('Actualité enregistrée avec succès'); /* Redirection */ header('location:'.BASEADMIN.'actualite/managerActualite.php'); } } ?> <!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width; initial-scale=1;"> <title><?= TITLEBACK ?></title> <link rel="icon" type="image/png" href="<?= BASEADMIN ?>img/layout/favicon.png"> <link href="<?= BASEFRONT ?>js/scroll/scroll.css" rel="stylesheet" type="text/css"> <link href="<?= BASEADMIN ?>css/app.css" rel="stylesheet" type="text/css"> </head> <body> <main id="main"> <?php include '../include/menu.php'; ?> <div id="container"> <?php include '../include/header.php'; ?> <div id="contentTitre"> <h1>Ajouter une actualité</h1> </div> <div id="content"> <?php if(!empty($erreur)){ Tool::getMessage($erreur, 'erreur'); } ?> <form action="#header" method="post" enctype="multipart/form-data"> <label>Titre *</label> <input type="text" name="titre" value="<?= $titre ?>" class="form-elem big"> <label>L'image</label> <input type="file" name="image" class="form-elem big"> <div class="form-legende"> Taille minimum: 640px de largeur et 480px de hauteur<br> Poid maximum : 5Mo<br> Format : jpg, jpeg, png </div> <label>Catégorie *</label> <select name="categorie" class="form-elem big"> <option value="">Choisir une catégorie</option> <?php $sql = $bdd->query("SELECT * FROM actualite_categorie ORDER BY categorieNom ASC "); while($data = $sql->fetchObject()){ $selected = ($data->categorieId == $categorie) ? 'selected' : ''; echo '<option value="'.$data->categorieId.'" '.$selected.'>'.$data->categorieNom.'</option>'; } ?> </select> <label>Résumé * </label> <textarea name="resume" class="form-elem form-count big"><?= $resume ?></textarea> <div class="form-legende"> nombre de caractères conseillées : <span data-count="80" class="form-legende-count">80</span> </div> <label>Contenu * </label> <textarea name="contenu" class="form-elem big wysiwyg"><?= $contenu ?></textarea><br> <div class="form-checkbox"> <p><input type="checkbox" name="avant" <?= (isset($avant) && $avant) ? 'checked' : '' ?> > Mise en avant</p> </div> <div class="form-bloc"> <h3>Référencement</h3> <label>Meta title *</label> <input type="text" name="metaTitle" value="<?= $metaTitle ?>" class="form-elem form-count big"> <div class="form-legende"> nombre de caractères conseillées : <span data-count="70" class="form-legende-count">70</span> </div> <label>Meta description *</label> <input type="text" name="metaDescription" value="<?= $metaDescription ?>" class="form-elem form-count big"> <div class="form-legende"> nombre de caractères conseillées : <span data-count="150" class="form-legende-count">150</span> </div> </div> <br> <button name="add" type="submit" class="form-submit turquoise medium">Enregistrer</button> </form> </div> </div> </main> <script type="text/javascript" src="<?= BASEFRONT ?>js/jquery/jquery.js"></script> <script type="text/javascript" src="<?= BASEFRONT ?>js/jquery/jquery-ui.js"></script> <script type="text/javascript" src="<?= BASEFRONT ?>js/scroll/scroll.js"></script> <script type="text/javascript" src="<?= BASEFRONT ?>js/tinymce/tinymce.min.js"></script> <script type="text/javascript" src="<?= BASEADMIN ?>js/app.js"></script> <script type="text/javascript"> tinymce.init({ selector: ".wysiwyg", entity_encoding : "raw", encoding: "UTF-8", browser_spellcheck : true, plugins: "link, paste, code, responsivefilemanager, image, advlist ", height:"250px", menubar : false, paste_as_text: true, language : 'fr_FR', style_formats: [ {title: 'Title h2', block: 'h2'}, {title: 'Title h3', block: 'h3'}, {title: 'Title h4', block: 'h4'} ], relative_urls: false, content_css : '<?= BASEFRONT ?>js/tinymce/tinymce.css', external_filemanager_path:"<?= BASEFRONT ?>js/filemanager/", filemanager_title:"Mes images", external_plugins: { "filemanager" : "<?= BASEFRONT ?>js/filemanager/plugin.min.js"}, toolbar: "undo redo | bold italic underline link | alignleft aligncenter alignright alignjustify | bullist numlist | styleselect | image media | code" }); </script> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings