hellofacteurV1/vues/post_ajout.php

259 lines
16 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Vue affichant le formulaire de soumission d'une annonce.
* + scripts ajax testant la saisie
*
**/
$header_title="Annoncez votre actualité sur ".SITE_NOM." : spectacles, conférences, marchés, etc.";
$hearder_description=SITE_NOM." : proposez gratuitement votre actualité. Si elle est acceptée, elle sera diffusée par email aux abonnés de votre ville.";
$header_robots="index,follow";
$body_title="Proposez une actualité.";
$ariane_items[0]["txt"]="<li><b>Proposez une actualité.</b></li>";
$ariane_items[0]["form"]=false;
$ariane_items[0]["actif"]=false;
if(!empty($_SESSION["message"]))
{
$msg_infos[0]="<strong>".$_SESSION["message"]."</strong>";
$_SESSION["message"]="";
}
$form_hs="<strong>Bonjour,<br><br>Il n'est plus possible de proposer des actualités sur Hello facteur.<br>
Les dates qui ont déjà été validées seront diffusées jusqu'à leur expiration.<br><br>Merci de votre compréhension.</strong>";
if(!empty($form_hs))
{
$msg_infos[0]=$form_hs;
unset($form);
}
elseif(MSG_MAINTENANCE!="")
{
$msg_infos[0]=MSG_MAINTENANCE;
unset($form);
}
elseif((!empty($user->connexion_ok))&&(empty($infos_user["time_validation"])))
{
$msg_infos[0]="<strong>Vous devez d'abord valider votre compte avant de pouvoir proposer une actualité.</strong><br>Pour ce faire cliquez sur le lien de validation que vous avez reçu sur votre adresse : <strong>".htmlspecialchars($form["email"])."</strong>.<br>Si vous ne trouvez pas ce message (même après avoir vérifié le dossier \"spam\" de votre messagerie) ou encore que vous vous êtes trompé lors de la saisie de votre email, <a href='".PAGE_CONTACT."'>contactez-nous</a> pour obtenir de l'aide.";
unset($form);
}
else
{
if(!empty($user->connexion_ok))
$msg_infos[0]="Hello ".htmlspecialchars($form["pseudo"])."!<br>Le formulaire ci-dessous vous permet de <b>proposer gratuitement une actualité</b> à diffuser par email aux autres abonnés du site Hello facteur de la ville concernée.<br>
<b>Avant de proposer votre première actualité, merci de lire <u><a href='".PAGE_AJOUT_POST_CONSIGNES."' target='_blank'>les règles d'acceptation</a></u></b>.";
else
$msg_infos[0]="Le formulaire ci-dessous vous permet de <b>proposer gratuitement une actualité</b> à diffuser par email aux abonnés du site Hello facteur de la ville concernée.<br>
Si ce n'est déjà le cas, <b>un compte Hello facteur vous sera créé</b> et vous serez abonné aux actualités locales de la région dans laquelle vous soumettez votre actualité.<br>
De ce fait, <b><u>veillez bien à saisir une adresse email correcte</u></b> car elle sera nécessaire à la validation de votre annonce.<br>
<b>Avant de proposer votre première actualité, merci de lire <u><a href='".PAGE_AJOUT_POST_CONSIGNES."' target='_blank'>les règles d'acceptation</a></u></b>.";
$form["nom"]="Proposez une actualité.";
$form["champs"]="<form method='post' id='post_ajout' action='".PAGE_AJOUT_POST."' role='form' class='form-horizontal'>
<div class='form-group'><label for='hub' class='col-sm-3 control-label'>Type d'actualité :</label>
<label class='checkbox-inline'><input type='radio' name='hub' value='agenda' checked='checked'> Agenda.</label>
<label class='checkbox-inline'><input type='radio' name='hub' value='annonce'> Petite annonce.</label>
<label class='checkbox-inline'><input type='radio' name='hub' value='cp'> Autre actualité locale.</label>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Permet de diffuser votre actualité aux abonnés Hello facteur intéressés par ce type d'actualités.</p></div>
</div>
<div class='form-group'>
<label for='cp_ville' class='col-sm-3 control-label'>Ville :</label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='45' name='cp_ville' id='cp_ville' value=\"".$form["ville"]["cp"]."\" ></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Saisir <b>le code postal ou au moins 3 caractères du nom de la ville concernée</b> par l'actualité proposée.</p></div>
</div>";
if(!empty($villes_select))
{
$form["champs"].="<div id='sup_villes' class='form-group'>
<label for='insee' class='col-sm-3 control-label'>Merci de préciser la ville</label>
<div class='col-sm-9'><select name='insee' autofocus class='form-control'>";
foreach ($villes_select as $ville_info)
$form["champs"].="<option value='".$ville_info["insee"]."'>".htmlentities(affiche_utf8($ville_info["nom"],UTF8_OK))."</option>";
$form["champs"].="</select></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'>Si la ville concernée n'est pas dans la liste, essayez un autre code postal.</p></div>
</div>";
}
else if(!empty($form["ville"]["insee"]))
{
$msg[0]="Ville associée à votre compte : <b>".htmlentities(affiche_utf8($form["ville"]["nom"],UTF8_OK))."</b>. Si ce n'est pas celle de votre actualité, saisissez un autre code postal ci-dessus.";
$form["champs"].="<div id='sup_villes'><div class='col-sm-12'>".get_html_alerte_msg($msg,"alert-success")."</div><input type='hidden' name='insee' id='insee' value=\"".$form["ville"]["insee"]."\" ></div>";
}
else
$form["champs"].="<div id='sup_villes'></div>";
$form["champs"].="<div class='form-group'>
<label for='ancre' class='col-sm-3 control-label'>Titre / accroche :</label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='".POST_MAX_ANCRE."' name='ancre' id='ancre' value=\"".htmlspecialchars($form["ancre"])."\" required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Texte d'accroche diffusé par email. Doit compter au maximum ".POST_MAX_ANCRE." caractères.</p></div>
</div>
<div class='form-group'>
<label for='url' class='col-sm-3 control-label'>Lien :</label>
<div class='col-sm-9'><input class='form-control' type='url' maxlength='".POST_MAX_URL."' name='url' id='url' value=\"".$form["url"]."\"></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire <u>si vous ne saisissez pas</u> une annonce détaillée ci-dessous</b>. Adresse d'une page internet (ex : http://www.votre-site.com/votre-actu.html) détaillant l'actualité proposée.</p></div>
</div>
<div class='form-group'>
<label for='annonce' class='col-sm-3 control-label'>Annonce détaillée :</label>
<div class='col-sm-9'><textarea class='form-control' rows='8' name='annonce' id='annonce'>".htmlspecialchars($form["annonce"])."</textarea></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire <u>si vous n'avez pas saisi</u> l'adresse d'un lien ci-dessus</b>. Si il n'est pas vide, ce texte doit compter entre ".POST_MIN_ANNONCE." et ".POST_MAX_ANNONCE." caractères.</p></div>
</div>
<div class='form-group'>
<label for='time_diffusion' class='col-sm-3 control-label'>Date de diffusion :</label>
<div class='col-sm-9'><input class='form-control' type='text' name='time_diffusion' id='time_diffusion' value=''></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Facultatif</b>. Par défaut votre actualité commencera à être diffusée dès sa validation (généralement sous 24H). Mais vous pouvez choisir une date <b>plus tardive</b> par exemple si vous annoncez un événement éloigné. Format ".DATE_FORMAT.".</p></div>
</div>";
if(!empty($user->connexion_ok))
$form["champs"].="<input type='hidden' name='email' id='email' value=\"".htmlspecialchars($form["email"])."\">
<input type='hidden' name='pseudo' id='pseudo' value=\"".htmlspecialchars($form["pseudo"])."\">";
else
{
$form["champs"].="<div class='form-group'>
<label for='peudo' class='col-sm-3 control-label'>Votre nom/pseudo : </label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='".UTILISATEUR_MAX_PSEUDO."' name='pseudo' id='pseudo' value=\"".htmlspecialchars($form["pseudo"])."\" required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>.</p></div>
</div>
<div class='form-group'>
<label for='email' class='col-sm-3 control-label'>Votre adresse email :</label>
<div class='col-sm-9'><input class='form-control' type='email' maxlength='".UTILISATEUR_MAX_EMAIL."' name='email' id='email' value=\"".htmlspecialchars($form["email"])."\" required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Attention! votre adresse email doit être correcte car un lien vous permettant de valider votre actualité vous y sera envoyé.</p></div>
</div>
<div class='form-group'>
<label for='test' class='col-sm-3 control-label'>Antispam :</label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='5' name='test' id='test' required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'><b>Obligatoire</b>. Merci de saisir ci-dessus <b>la ".$_SESSION["lettre"]."<sup>ième</sup> lettre du mot : <u style='letter-spacing:0.3em'>".$_SESSION["mot"]."</u></b>.</p></div>
</div>
<div class='form-group'>
<div class='col-sm-offset-3 col-sm-9'>
<div class='checkbox'>
<label for='cgu_ok'><input name='cgu_ok' type='checkbox' id='cgu_ok' value='1' required> En proposant une actualité sur ".SITE_NOM.", j'accepte ses <a href='".PAGE_CGU."' target='_blank' title='Lire les CGU'>Conditions Générales dUtilisation</a>.</a></label>
</div></div></div>";
}
$form["champs"].="<div id='msg_post_ajout'></div>
<div class='form-group'><div class='col-sm-offset-3 col-sm-9'><button type='submit' class='btn btn-success btn-lg'>Envoyer mon actualité !</button></div></div>
<input type='hidden' name='id_auteur' id='id_auteur' value='".$user->id_utilisateur."'>";
if(isset($id_annonce))
$form["champs"].="<input type='hidden' name='id_annonce' id='id_annonce' value='$id_annonce'>";
$form["champs"].="</form>";
$body_content="<div class=\"share-buttons\">Partagez : <a target=\"_blank\" title=\"Twitter\" href=\"https://twitter.com/share?url=".PAGE_AJOUT_POST."&amp;text=Votre actualité comme une lettre à la poste.\" rel=\"nofollow\" onclick=\"javascript:window.open(this.href,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=700');return false;\"><img src=\"".SITE_URL."/images/icones/big/twitter_icon.png\" alt=\"Twitter\"></a>
<a target=\"_blank\" title=\"Facebook\" href=\"https://www.facebook.com/sharer.php?u=".PAGE_AJOUT_POST."&amp;t=Votre actualité comme une lettre à la poste.\" rel=\"nofollow\" onclick=\"javascript:window.open(this.href,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=500,width=700');return false;\"><img src=\"".SITE_URL."/images/icones/big/facebook_icon.png\" alt=\"Facebook\"></a>
<a target=\"_blank\" title=\"Google +\" href=\"https://plus.google.com/share?url=".PAGE_AJOUT_POST."&amp;hl=fr\" rel=\"nofollow\" onclick=\"javascript:window.open(this.href,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650');return false;\"><img src=\"".SITE_URL."/images/icones/big/gplus_icon.png\" alt=\"Google Plus\"></a>
<a target=\"_blank\" title=\"Linkedin\" href=\"https://www.linkedin.com/shareArticle?mini=true&amp;url=".PAGE_AJOUT_POST."&amp;title=Votre actualité comme une lettre à la poste.\" rel=\"nofollow\" onclick=\"javascript:window.open(this.href,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650');return false;\"><img src=\"".SITE_URL."/images/icones/big/linkedin_icon.png\" alt=\"Linkedin\"></a>
<a target=\"_blank\" title=\"Pinterest\" href=\"https://pinterest.com/pin/create/button/?url=".PAGE_AJOUT_POST."&amp;description=Votre actualité comme une lettre à la poste.\" rel=\"nofollow\" onclick=\"javascript:window.open(this.href,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650');return false;\"><img src=\"".SITE_URL."/images/icones/big//pinterest_icon.png\" alt=\"Pinterest\"></a>
<a target=\"_blank\" title=\"Scoop.it!\" href=\"https://www.scoop.it/bookmarklet?url=".PAGE_AJOUT_POST."\" rel=\"nofollow\" onclick=\"javascript:window.open(this.href,'','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650');return false;\"><img src=\"".SITE_URL."/images/icones/big/scoopit_icon.png\" alt=\"Scoop.it!\"></a>
<a target=\"_blank\" title=\"Diaspora\" href=\"http://sharetodiaspora.github.io/?title=Votre actualité comme une lettre à la poste.&amp;url=".PAGE_AJOUT_POST."\"><img src=\"".SITE_URL."/images/icones/big/diaspora_icon.png\" alt=\"Diaspora\"></a></div>";
//le code pour ajax
ob_start();
?>
<script src="<?=SITE_URL;?>/themes/seb/assets/js/pickadate/picker.js"></script>
<script src="<?=SITE_URL;?>/themes/seb/assets/js/pickadate/picker.date.js"></script>
<script src="<?=SITE_URL;?>/themes/seb/assets/js/pickadate/picker.time.js"></script>
<script src="<?=SITE_URL;?>/themes/seb/assets/js/pickadate/legacy.js"></script>
<script src="<?=SITE_URL;?>/themes/seb/assets/js/pickadate/fr_FR.js"></script>
<script>
function is_int(value)
{//source : http://www.inventpartners.com/javascript_is_int
if((parseFloat(value)==parseInt(value))&&!isNaN(value))
{
return true;
}
else
{
return false;
}
return true;
}
$(document).ready(function()
{
$("#time_diffusion").pickadate();
$('#cp_ville').blur(function()
{
var $this=$(this);
var cp=$this.val();
var ln=cp.length;
if((ln!==0)&&(ln<3))
{
$('#sup_villes').html('<?php echo str_replace("'","\"",get_html_alerte_msg((array) ERREUR_UTILISA_CP_LONG));?>');
}
else if(ln!==0)
{
$.ajax(
{
url:'<?=SITE_URL;?>/JS/get_ville_cp',
type:'POST',
data:'cp_ville='+cp+'&ajax=1',
success:function(code)
{
$('#sup_villes').html(code);
}
});
}
});
$('#post_ajout').on('submit', function(e)
{
e.preventDefault();
var $this=$(this);
var hub=$('input[type=radio][name=hub]:checked').attr('value');
var insee=$('#insee').val();
var ancre=$('#ancre').val();
var url=$('#url').val();
var annonce=$('#annonce').val();
<?php
if(empty($user->connexion_ok))
{
?>
var email=$('#email').val();
var pseudo=$('#pseudo').val();
var test=$('#test').val();
var cgu_ok=$("input[name=cgu_ok]:checked").val();
if((pseudo=='')||(email=='')||(test=='')||(cgu_ok==undefined)||(hub=='')||(insee==undefined)||(insee=='')||(ancre=='')||((annonce=='')&&(url=='')))
{
$('#msg_post_ajout').html("<?php echo str_replace("\"","'",get_html_alerte_msg((array) ERREUR_UTILISA_CHAMPS_ABSENTS));?>");
}
<?php
}
else
{
?>
if((hub=='')||(insee==undefined)||(insee=='')||(ancre=='')||((annonce=='')&&(url=='')))
{
$('#msg_post_ajout').html("<?php echo str_replace("\"","'",get_html_alerte_msg((array) ERREUR_UTILISA_CHAMPS_ABSENTS));?>");
}
<?php
}
?>
else
{
$.ajax(
{
url:'<?=SITE_URL;?>/JS/post_ajout_tests',
type:'POST',
data:$this.serialize()+'&ajax=1',
success:function(code)
{
if(is_int(code))
{
window.location="<?=PAGE_AJOUT_POST_ILLUSTRATION;?>"+code;
}
else if(code=="<?php echo str_replace("\"","'",MSG_UTILISA_ENVOI_POST_VALID);?>")
{
$('#form').html("<?php echo str_replace("\"","'",get_html_alerte_msg((array) MSG_UTILISA_ENVOI_POST_VALID,"alert-success"));?>");
$('html,body').animate({scrollTop: $("#page-header").offset().top}, 'slow');
}
else if(code=="<?php echo str_replace("\"","'",MSG_UTILISA_ENVOI_POST_VALID_CREA_COMPTE);?>")
{
$('#form').html("<?php echo str_replace("\"","'",get_html_alerte_msg((array) MSG_UTILISA_ENVOI_POST_VALID_CREA_COMPTE,"alert-success"));?>");
$('html,body').animate({scrollTop: $("#page-header").offset().top}, 'slow');
}
else
{
$('#msg_post_ajout').html(code);
}
}
});
}
});
});
</script>
<?php
$footer_JS=ob_get_contents();
ob_end_clean();
}
require(TEMPLATE_REP."/page.php");