Hacked By AnonymousFox
home/missmand/public_html/admin/actualite/addActualite.php 0000644 00000022746 15200172726 0017766 0 ustar 00 <?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>