File manager - Edit - /home/missmand/public_html/projet/addProjet.php
Back
<?php include '../lib/app/init.php'; use Lib\Tool; use Cocur\Slugify\Slugify; use Lib\Upload; use Imagine\Gd\Imagine; use Imagine\Image\Box; use Imagine\Image\Point; use Gregwar\Captcha\CaptchaBuilder; use Lib\Newsletter; use Lib\Mail; use Lib\Utilisateur; $erreur = array(); $nom = ''; $utilisateurNom = ''; $utilisateurPrenom = ''; $utilisateurEmail = ''; $creation = ''; $effectif = ''; $chiffre = ''; $adresse = ''; $telephone = ''; $email = ''; $video = ''; $site = ''; $twitter = ''; $facebook = ''; $linkedin = ''; $instagram = '';; $tag = []; $resume = ''; $description = ''; $dirigeant = ''; $activite = ''; $objectif = ''; $complementaire = ''; /* Captcha */ $builderRegister = new CaptchaBuilder(); $builderRegister->build(180,50); /** * Formulaire */ if(isset($_POST['add'])){ /** * Variables de formulaire */ $utilisateurNom = $_POST['utilisateurNom']; $utilisateurPrenom = $_POST['utilisateurPrenom']; $utilisateurEmail = $_POST['utilisateurEmail']; $nom = $_POST['nom']; $effectif = $_POST['effectif']; $chiffre = $_POST['chiffre']; $adresse = $_POST['adresse']; $telephone = $_POST['telephone']; $email = $_POST['email']; $video = $_POST['video']; $site = $_POST['site']; $twitter = $_POST['twitter']; $facebook = $_POST['facebook']; $linkedin = $_POST['linkedin']; $instagram = $_POST['instagram']; if(isset($_POST['tag'])) $tag = $_POST['tag']; $creation = $_POST['creation']; $resume = $_POST['resume']; $description = $_POST['description']; $dirigeant = $_POST['dirigeant']; $activite = $_POST['activite']; $objectif = $_POST['objectif']; $complementaire = $_POST['complementaire']; $cgu = (isset($_POST['cgu'])) ? 1 : 0; $newsletter = (isset($_POST['newsletter'])) ? 1 : 0; $code = $_POST['code']; /** * Erreurs */ if(empty($utilisateurNom)) array_push($erreur, 'Veuillez compléter le champ "Votre nom"'); if(empty($utilisateurPrenom)) array_push($erreur, 'Veuillez compléter le champ "Votre prénom"'); if(empty($utilisateurEmail)) array_push($erreur, 'Veuillez compléter le champ "Votre adresse email"'); else{ if(!filter_var($utilisateurEmail, FILTER_VALIDATE_EMAIL)) array_push($erreur, 'Le format de l\'email n\'est pas bon'); } if(empty($nom)) array_push($erreur, 'Veuillez compléter le champ "Nom du projet"'); if(!empty($creation)){ $creationEn = Tool::dateConvert($creation, 'fr=>en'); if(!DateTime::createFromFormat('Y-m-d', $creationEn)) array_push($erreur, 'Le format de la date de création n\'est pas bon'); } if(!empty($email)){ if(!filter_var($email, FILTER_VALIDATE_EMAIL)) array_push($erreur, 'Le format de l\'email de contact n\'est pas bon'); } if(!empty($site)){ if(!filter_var($site, FILTER_VALIDATE_URL)) array_push($erreur, 'Le format de l\'url du site internet n\'est pas bonne'); } if(!empty($twitter)){ if(!filter_var($twitter, FILTER_VALIDATE_URL)) array_push($erreur, 'Le format de l\'url de twitter n\'est pas bonne'); } if(empty($resume)) array_push($erreur, 'Veuillez compléter le champ "Résumé"'); if(empty($description)) array_push($erreur, 'Veuillez compléter le champ "Description"'); if(empty($dirigeant)) array_push($erreur, 'Veuillez compléter le champ "Dirigeants"'); if(empty($activite)) array_push($erreur, 'Veuillez compléter le champ "Activité / Savoir faire"'); if(!$cgu) array_push($erreur,'Veuillez compléter le champ "Acceptation CGU"'); if(empty($code)) array_push($erreur, 'Veuillez compléter le champ "Confirmer le code"'); else if($code != $_SESSION['builderRegister']) array_push($erreur, 'Le code de confirmation n\'est pas bon'); /* Le logo */ if ($_FILES['logo']['error'] === UPLOAD_ERR_OK){ $logo = Upload::postFichier($_FILES['logo'],'Logo',2000000,array('jpg','jpeg','png'),array('mi',150,150)); } /* L'image 1 */ if ($_FILES['image1']['error'] === UPLOAD_ERR_OK){ $image1 = Upload::postFichier($_FILES['image1'],'L\'image 1',5000000,array('jpg','jpeg','png'),array('mi',640,480)); } /* L'image 2 */ if ($_FILES['image2']['error'] === UPLOAD_ERR_OK){ $image2 = Upload::postFichier($_FILES['image2'],'L\'image 2',5000000,array('jpg','jpeg','png'),array('mi',640,480)); } /* L'image 3 */ if ($_FILES['image3']['error'] === UPLOAD_ERR_OK){ $image3 = Upload::postFichier($_FILES['image3'],'L\'image 3',5000000,array('jpg','jpeg','png'),array('mi',640,480)); } /** * Si aucune erreur alors */ if(empty($erreur)){ $slugify = new Slugify(); /** * Ajout du projet en base de donnée */ $sql = $bdd->prepare("INSERT INTO projet ( projetCreated, projetNom, projetSlug, projetUtilisateurNom, projetUtilisateurPrenom, projetUtilisateurEmail, projetCreation, projetEffectif, projetChiffre, projetAdresse, projetTelephone, projetEmail, projetVideo, projetSite, projetTwitter, projetFacebook, projetLinkedin, projetInstagram, projetTag, projetLogo, projetImage1, projetImage2, projetImage3, projetResume, projetDescription, projetDirigeant, projetActivite, projetObjectif, projetComplementaire, projetAvant, projetCgu, projetEtat, projetMetaTitle, projetMetaDescription ) VALUES ( :created, :nom , :slug, :utilisateurNom, :utilisateurPrenom, :utilisateurEmail, :creation, :effectif, :chiffre, :adresse, :telephone, :email, :video, :site, :twitter, :facebook, :linkedin, :instagram, :tag, :logo, :image1, :image2, :image3, :resume, :description, :dirigeant, :activite, :objectif, :complementaire, :avant, :cgu, :etat, :metaTitle, :metaDescription ) "); $sql->execute(array( 'created' => Tool::dateTime('Y-m-d H:i'), 'nom' => $_POST['nom'], 'slug' => $slugify->slugify($_POST['nom']), 'utilisateurNom' => $_POST['utilisateurNom'], 'utilisateurPrenom' => $_POST['utilisateurPrenom'], 'utilisateurEmail' => $_POST['utilisateurEmail'], 'creation' => (isset($creationEn)) ? $creationEn : null, 'effectif' => (!empty($_POST['effectif'])) ? $_POST['effectif'] : null, 'chiffre' => (!empty($_POST['chiffre'])) ? $_POST['chiffre'] : null, 'adresse' => (!empty($_POST['adresse'])) ? $_POST['adresse'] : null, 'telephone' => (!empty($_POST['telephone'])) ? $_POST['telephone'] : null, 'email' => (!empty($_POST['email'])) ? $_POST['email'] : null, 'video' => (!empty($_POST['video'])) ? $_POST['video'] : null, 'site' => (!empty($_POST['site'])) ? $_POST['site'] : null, 'twitter' => (!empty($_POST['twitter'])) ? $_POST['twitter'] : null, 'facebook' => (!empty($_POST['facebook'])) ? $_POST['facebook'] : null, 'linkedin' => (!empty($_POST['linkedin'])) ? $_POST['linkedin'] : null, 'instagram' => (!empty($_POST['instagram'])) ? $_POST['instagram'] : null, 'tag' => (!empty($tag)) ? implode(',',$tag) : null, 'logo' => (isset($logo)) ? $logo : null, 'image1' => (isset($image1)) ? $image1 : null, 'image2' => (isset($image2)) ? $image2 : null, 'image3' => (isset($image3)) ? $image3 : null, 'resume' => $_POST['resume'], 'description' => $_POST['description'], 'dirigeant' => $_POST['dirigeant'], 'activite' => $_POST['activite'], 'objectif' => (!empty($_POST['objectif'])) ? $_POST['objectif'] : null, 'complementaire' => (!empty($_POST['complementaire'])) ? $_POST['complementaire'] : null, 'avant' => 0, 'cgu' => $cgu, 'etat' => 0, 'metaTitle' => $_POST['nom'], 'metaDescription' => Tool::tronquer($_POST['description'],250) ) ); /* Upload du logo */ if(isset($logo)){ $imagine = new Imagine(); /* Image de base */ $size = new Box(200,200); $thumb = $imagine->open($_FILES['logo']['tmp_name']) ->thumbnail($size, 'inset'); $thumbSize = $thumb->getSize(); $thumbHeight = $thumbSize->getHeight(); $thumbWidth = $thumbSize->getWidth(); $preserve = $imagine->create($size); $startX = $startY = 0; if($thumbWidth < 200) $startX = (200 - $thumbWidth) / 2; if($thumbHeight < 200) $startY = (200 - $thumbHeight) / 2; $preserve->paste($thumb, new Point($startX, $startY))->save('../img/projet/logo/'.$logo); } /* Upload de l'image 1 */ if(isset($image1)){ $imagine = new Imagine(); /* Image de base */ $size = new Box(1024,768); $imagine->open($_FILES['image1']['tmp_name']) ->thumbnail($size, 'inset') ->save('../img/projet/tmp/'.$image1); /* Miniature */ $size = new Box(600,300); $imagine->open($_FILES['image1']['tmp_name']) ->thumbnail($size, 'outbound') ->save('../img/projet/miniature/'.$image1); } /* Upload de l'image 2 */ if(isset($image2)){ $imagine = new Imagine(); /* Image de base */ $size = new Box(1024,768); $imagine->open($_FILES['image2']['tmp_name']) ->thumbnail($size, 'inset') ->save('../img/projet/tmp/'.$image2); /* Miniature */ $size = new Box(600,300); $imagine->open($_FILES['image2']['tmp_name']) ->thumbnail($size, 'outbound') ->save('../img/projet/miniature/'.$image2); } /* Upload de l'image 3 */ if(isset($image3)){ $imagine = new Imagine(); /* Image de base */ $size = new Box(1024,768); $imagine->open($_FILES['image3']['tmp_name']) ->thumbnail($size, 'inset') ->save('../img/projet/tmp/'.$image3); /* Miniature */ $size = new Box(600,300); $imagine->open($_FILES['image3']['tmp_name']) ->thumbnail($size, 'outbound') ->save('../img/projet/miniature/'.$image3); } /* Inscription à la newsletter */ if($newsletter) Newsletter::addNewsletter($utilisateurEmail); /* Notification */ $adminUtilisateur = Utilisateur::getAdminGeneral(); Mail::sendSimpletHtml( 'Formulaire d\'ajout de projet', array('contact@colocarts.com'), $adminUtilisateur, 'Un nouveau projet à été ajouté sur le site Miss Mandarine', 'Une nouvelle fiche projet a été soumise sur Miss Mandarine. Connectez-vous à l’administration du site pour la mettre en ligne !' ); /* Succès + redirection */ Tool::setFlash('Projet enregistré avec succès'); /* Redirection */ header('location:'.BASEFRONT); } } ?> <!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width; initial-scale=1;"> <title>Ajouter un projet</title> <link rel="icon" type="image/png" href="<?= BASEFRONT ?>img/layout/favicon.png"> <link href="<?= BASEFRONT ?>js/datedropper/datedropper.min.css" rel="stylesheet" type="text/css"> <link href="<?= BASEFRONT ?>js/datedropper/my-style.css" rel="stylesheet" type="text/css"> <link href="<?= BASEFRONT ?>css/app.css" rel="stylesheet" type="text/css"> </head> <body class="addProjet"> <main class="main"> <?php include'../include/header.php'; ?> <div class="contenuTop"> <div class="inner"> <div class="contenuTopLeft"> <h1>Ajouter<br>un projet</h1> <p>Vous êtes une startup ? Vous souhaitez vous faire connaitre, gagner en visibilité, partager vos problématiques et rencontrer des partenaires ? Parlez-nous de vous, nous parlerons de vous !</p> </div> <div class="contenuTopRight"> <h2>Informations vous concernant</h2> <form action="#" method="post"> <div class="form-group"> <input type="text" name="utilisateurNom" class="form-elem" placeholder="Votre nom *" value="<?= $utilisateurNom ?>"> </div> <div class="form-group"> <input type="text" name="utilisateurPrenom" class="form-elem" placeholder="Votre prénom *" value="<?= $utilisateurPrenom ?>"> </div> <div class="form-group"> <input type="text" name="utilisateurEmail" class="form-elem" placeholder="Votre adresse email *" value="<?= $utilisateurEmail ?>"> </div> </form> </div> <div class="clear"></div> </div> </div> <section class="section28"> <div class="inner"> <div class="section28Header"> <h2>Informations concernant votre projet</h2> <p>Veuillez remplir les informations demandées ci-dessous</p> </div> <?php if(!empty($erreur)){ Tool::getMessage($erreur, 'erreur'); } ?> <form action="#header" method="post" enctype="multipart/form-data"> <div class="section28Left"> <div class="form-group"> <label>Nom du projet *</label> <input type="text" name="nom" value="<?= $nom ?>" class="form-elem big"> </div> <input type="hidden" name="utilisateurNom" value="<?= $utilisateurNom ?>" class="form-elem big"> <input type="hidden" name="utilisateurPrenom" value="<?= $utilisateurPrenom ?>" class="form-elem big"> <input type="hidden" name="utilisateurEmail" value="<?= $utilisateurEmail ?>" class="form-elem big"> <div class="form-group"> <label>Date de création</label> <input type="text" name="creation" value="<?php echo $creation ?>" class="form-elem big dateDropper" data-lang="fr" data-large-default="true" data-large-mode="true" data-theme="my-style" data-format="d-m-Y" data-init-set="false"> </div> <div class="form-group"> <label>Effectifs</label> <input type="text" name="effectif" value="<?= $effectif ?>" class="form-elem big"> </div> <div class="form-group"> <label>Chiffre d'affaire</label> <input type="text" name="chiffre" value="<?= $chiffre ?>" class="form-elem big"> </div> <div class="form-group"> <label>Adresse</label> <input type="text" name="adresse" value="<?= $adresse ?>" class="form-elem big"> </div> <div class="form-group"> <label>Téléphone</label> <input type="text" name="telephone" value="<?= $telephone ?>" class="form-elem big"> </div> <div class="form-group"> <label>Email de contact</label> <input type="text" name="email" value="<?= $email ?>" class="form-elem big"> </div> <div class="form-group"> <label>Vidéo</label> <input type="text" name="video" value="<?= $video ?>" class="form-elem big"> <div class="form-legende"> Uniquement le code de la vidéo<br>ex : https://www.youtube.com/watch?v=<strong>imtPF2b2Q4M</strong><br>(la partie en gras) </div> </div> <div class="form-group"> <label>Site internet</label> <input type="text" name="site" value="<?= $site ?>" class="form-elem big" placeholder="http://..."> </div> <div class="form-group"> <label>Twitter</label> <input type="text" name="twitter" value="<?= $twitter ?>" class="form-elem big" placeholder="http://..."> </div> <div class="form-group"> <label>Facebook</label> <input type="text" name="facebook" value="<?= $facebook ?>" class="form-elem big" placeholder="http://..."> </div> <div class="form-group"> <label>Linkedin</label> <input type="text" name="linkedin" value="<?= $linkedin ?>" class="form-elem big" placeholder="http://..."> </div> <div class="form-group"> <label>Instagram</label> <input type="text" name="instagram" value="<?= $instagram ?>" class="form-elem big" placeholder="http://..."> </div> <div class="form-group"> <label>Logo</label> <input type="file" name="logo" class="form-elem big"> <div class="form-legende"> Taille minimum: 150px de largeur et 150px de hauteur<br> Poid maximum : 2Mo<br> Format : jpg, jpeg, png </div> </div> <div class="form-group"> <label>L'image 1</label> <input type="file" name="image1" 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> </div> <div class="form-group"> <label>L'image 2</label> <input type="file" name="image2" 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> </div> <div class="form-group"> <label>L'image 3</label> <input type="file" name="image3" 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> </div> </div> <div class="section28Right"> <div class="form-group"> <label>Résumé *</label> <textarea name="resume" class="form-elem big"><?= $resume ?></textarea> </div> <div class="form-group"> <label>Description *</label> <textarea name="description" class="form-elem big wysiwyg"><?= $description ?></textarea> </div> <div class="form-group"> <label>Dirigeants *</label> <textarea name="dirigeant" class="form-elem big wysiwyg"><?= $dirigeant ?></textarea> </div> <div class="form-group"> <label>Activité / Savoir faire *</label> <textarea name="activite" class="form-elem big wysiwyg"><?= $activite ?></textarea> </div> <div class="form-group"> <label>Objectifs / Besoins</label> <textarea name="objectif" class="form-elem big wysiwyg"><?= $objectif ?></textarea> </div> <div class="form-group"> <label>Eléments complémentaires</label> <textarea name="complementaire" class="form-elem big wysiwyg"><?= $complementaire ?></textarea> </div> <div class="form-group"> <label>Tags</label> <div class="liste big"> <?php $sql = $bdd->query("SELECT * FROM tag ORDER BY tagNom ASC "); while($data = $sql->fetchObject()){ $checked = (in_array($data->tagId, $tag)) ? 'checked' : ''; echo'<p><span class="elem-checkbox orange '.$checked.'" data-name="tag'.$data->tagId.'"></span> '.$data->tagNom.'</p>'; echo'<input type="checkbox" name="tag[]" class="hidden" data-name="tag'.$data->tagId.'" value="'.$data->tagId.'" '.$checked.'>'; } ?> </div> </div> <div class="form-group"> <p><span class="elem-checkbox vert <?= (isset($cgu) && $cgu) ? 'checked' : '' ?>" data-name="cgu"></span> J’accepte les conditions générales d'utilisation *</p> <input type="checkbox" class="hidden" name="cgu" data-name="cgu" <?= (isset($cgu) && $cgu) ? 'checked' : '' ?> > </div> <div class="form-group"> <p><span class="elem-checkbox vert <?= (isset($newsletter) && $newsletter) ? 'checked' : '' ?>" data-name="newsletter"></span> Je souhaite m’inscrire à la newsletter de Miss Mandarine et ses partenaires.</p> <input type="checkbox" class="hidden" name="newsletter" data-name="newsletter" <?= (isset($newsletter) && $newsletter) ? 'checked' : '' ?>> </div> <div class="form-group"> <img src="<?= $builderRegister->inline(); ?>"> <?php $_SESSION['builderRegister'] = $builderRegister->getPhrase(); ?> </div> <div class="form-group"> <label>Confirmer le code *</label> <input type="text" name="code" class="form-elem"> </div> <button name="add" type="submit" class="form-submit orange medium">Envoyer votre projet</button> <div class="form-mention"> <p>* Champs obligatoires</p> </div> </div> <div class="clear"></div> </form> </div> </section> <?php include'../include/footer.php'; ?> </main> <script type="text/javascript" src="<?= BASEFRONT ?>js/jquery/jquery.js"></script> <script type="text/javascript" src="<?= BASEFRONT ?>js/datedropper/datedropper.min.js"></script> <script type="text/javascript" src="<?= BASEFRONT ?>js/app.js"></script> <script type="text/javascript" src="<?= BASEFRONT ?>js/form.js"></script> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings