hellofacteurV1/vues/compte_crea_abo_ville.php

134 lines
4.5 KiB
PHP
Executable File

<?php
/**
* Vue affichant le formulaire permettant de la saisir le cp ou le nom de la ville dont on souhaite recevoir les actus locales.
**/
$header_title="Recevoir les actualités locales avec ".SITE_NOM;
$header_robots="noindex,nofollow";
$body_title="Je souhaite recevoir des actualités locales.";
$ariane_items[0]["txt"]="<li>Choisir ma ville.</li>";
$ariane_items[0]["form"]=true;
$ariane_items[0]["actif"]=true;
$msg_infos[0]="Vous souhaitez recevoir les actualités locales près de votre ville ou encore de votre lieu de séjour.
Merci de renseigner ci-dessous la ville qui vous intéresse.";
if(!empty($abos_ville))
{
$msg_ville="Attention ! vous avez déjà enregistré ".count($abos_ville)." abonnement(s) à des actualités locales pour :";
foreach ($abos_ville as $abo_infos)
$msg_ville.=" ".$abo_infos["ville_infos"][0]["nom"]." (".$abo_infos["ville_infos"][0]["cp"].")";
$msg_ville.=".<br>Si vous soubaitez modifier ce(s) abonnement(s), <a href='".PAGE_ABO_LISTE."'>cliquez ici</a>.<br>Pour voir les actualités <a href='".PAGE_ACCUEIL."'>cliquez-ici</a>.";
$msg_infos[1]=$msg_ville;
}
$form["nom"]="Je m'abonne aux actualités locales.";
$form["champs"]="<form method='post' id='crea_abo_local' action='".PAGE_INSCRIPTION."' role='form' class='form-horizontal'>
<div class='form-group'>
<label for='cp_ville' class='col-sm-3 control-label'>Le code postal de ma ville :</label>
<div class='col-sm-9'><input class='form-control' type='text' maxlength='35' name='cp_ville' id='cp_ville' required></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'>Saisir votre code postal ou au moins 3 caractères du nom de votre ville.</p></div>
</div>";
if(!empty($villes_select))
{
$form["champs"].="<div id='sup_villes'>
<div class='form-group'>
<label for='insee' class='col-sm-3 control-label'>Merci de sélectionner votre 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))." (".$ville_info["cp"].")</option>";
$form["champs"].="</select></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'>Si la ville recherchée n'est pas dans la liste, essayez un autre code postal.</p></div>
</div>
</div>";
}
else if(isset($form["ville"]["insee"]))
{
$msg[0]="<strong>Ville actuelle : ".htmlentities(affiche_utf8($form["ville"]["nom"],UTF8_OK))." (".$form["ville"]["cp"].")</strong>. Si ce n'est pas la bonne, essayez un autre code postal ci-dessus.";
$form["champs"].="<div id='sup_villes'>".get_html_alerte_msg($msg,"alert-success")."<input type='hidden' name='insee' id='insee' value=\"".$form["ville"]["insee"]."\" ></div>";
}
else
$form["champs"].="<div id='sup_villes'></div>";
$form["champs"].="<div id='msg_abo_local'></div>
<div class='form-group'>
<div class='col-sm-offset-3 col-sm-9'>
<button type='submit' class='btn btn-success btn-lg'>Je créé un abonnement pour cette ville.</button>
</div>
</div>
</form>";
//le code pour ajax
ob_start();
?>
<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()
{
$('#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);
}
});
}
});
$('#crea_abo_local').on('submit', function(e)
{
e.preventDefault();
var $this=$(this);
var insee=$('#insee').val();
if(insee===''||insee===undefined)
{
$('#msg_abo_local').html('<?php echo str_replace("'","\"",get_html_alerte_msg((array) ERREUR_UTILISA_CHAMPS_ABSENTS));?>');
}
else
{
$.ajax(
{
url:'<?=SITE_URL;?>/JS/compte_crea_abo_ville_tests',
type:'POST',
data:$this.serialize()+'&ajax=1',
success:function(code)
{
if(is_int(code))
{//on vient de créer un abonnement
window.location.href="<?=PAGE_ABO_MAJ;?>"+code;
}
else
{
$('#msg_abo_local').html(code);
}
}
});
}
});
});
</script>
<?php
$footer_JS=ob_get_contents();
ob_end_clean();
require(TEMPLATE_REP."/page.php");