129 lines
5.0 KiB
PHP
Executable File
129 lines
5.0 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Script testant les données envoyées lors de l'inscription d'un utilisateur
|
|
* Peut être appelé en ajax ou directement en php si JS désactivé
|
|
*
|
|
**/
|
|
$form["email"]=trim($_POST["email"]);
|
|
$form["pseudo"]=trim($_POST["pseudo"]);
|
|
$ajax_on=false;
|
|
if(!empty($_POST["ajax"]))
|
|
{
|
|
$ajax_on=true;
|
|
session_save_path(SESSIONS_REP);
|
|
ini_set("session.use_only_cookies",1);
|
|
session_start();
|
|
header('Content-Type: text/html; charset=utf-8');
|
|
require_once("../modele/FclFlux_utilisateur.php");
|
|
}
|
|
if(!empty($_COOKIE["origine"]))
|
|
$form["origine"]=trim($_COOKIE["origine"]);
|
|
$msg_form=array();
|
|
if((empty($form["email"]))||(empty($form["pseudo"]))||((empty($_SESSION["coregistration"]))&&(empty($_POST["test"]))))
|
|
$msg_form[]=ERREUR_UTILISA_CHAMPS_ABSENTS;
|
|
else
|
|
{
|
|
if(((empty($_SESSION["mot"]))||(empty($_SESSION["lettre"]))||((time()-intval($_SESSION["timeS"]))<FORM_MIN_DUREE))&&(empty($_SESSION["coregistration"])))
|
|
$msg_form[]=ERREUR_IMPREVUE;
|
|
else
|
|
{
|
|
if(empty($_SESSION["coregistration"]))
|
|
{
|
|
$mot=$_SESSION["mot"];
|
|
$nb_lettre=$_SESSION["lettre"]-1;//puisque index débute à 0...
|
|
if((strtolower(trim($_POST["test"])))!=($mot[$nb_lettre]))
|
|
$msg_form[]=ERREUR_UTILISA_ANTISPAM.$mot[$nb_lettre];
|
|
}
|
|
if(empty($_POST["cgu_ok"]))
|
|
$msg_form[]=ERREUR_UTILISA_CGU;
|
|
if(empty($_POST["ajax"])) //recherche la ville si un code postal a été saisi
|
|
include("../ctrl/get_ville_cp.php");
|
|
if(empty($Bd))
|
|
require("../modele/connexion-bd.php");
|
|
// impact sur le fuseau horaire si ville dans les dom tom
|
|
if(isset($_POST["insee"]))
|
|
{
|
|
$dep=get_villes($_POST["insee"],"insee");
|
|
if(!empty($dep))
|
|
{
|
|
$num=$dep[0]["dep_num"];
|
|
if(isset($DT_fuseau["$num"]))
|
|
$form["fuseau_horaire"]=$DT_fuseau["$num"];
|
|
}
|
|
}
|
|
$user=new FclFlux_utilisateur($form);
|
|
if((empty($msg_form))&&(empty($user->erreurs)))
|
|
{
|
|
if(empty($_SESSION["coregistration"]))
|
|
$ajout=$user->ajout(true);//avec true de passé, créer une session si tout se passe bien
|
|
else
|
|
$ajout=$user->ajout(true,false);//on évite la validation car l'email a déjà été contrôlé par meetoyen
|
|
}
|
|
if(!empty($user->erreurs))
|
|
$msg_form=array_merge($user->erreurs,$msg_form);
|
|
elseif((isset($ajout))&&($ajout===false))
|
|
$msg_form[]=ERREUR_IMPREVUE;
|
|
if(empty($msg_form))
|
|
{
|
|
if(!empty($_COOKIE["donnees_meetoyen"]))
|
|
setcookie("donnees_meetoyen","",time()-42000,"/",SITE_COOKIES_DOMAINE);
|
|
if(!empty($_COOKIE["donnees_mailing"]))
|
|
setcookie("donnees_mailing","",time()-42000,"/",SITE_COOKIES_DOMAINE);
|
|
// il peut y avoir un hub auxquel on est automatiquement abonné lorsque l'on créé son compte
|
|
if(!empty($hub_site))
|
|
{
|
|
require_once("../modele/FclFlux_abonnement.php");
|
|
$infos_abo["designation"]=$hub_site["nom"];
|
|
$infos_abo["proprietaire"]=$user;
|
|
$abo_news=new FclFlux_abonnement($infos_abo);
|
|
$crea_abo_news=$abo_news->ajout();
|
|
if($crea_abo_news===true)
|
|
{
|
|
$hub=new FclFlux_hub();
|
|
$hub->id_hub=$hub_site["id"];
|
|
$abo_news->ajout_hubs(array($hub));
|
|
}
|
|
unset($abo_news);
|
|
}
|
|
// si l'utilisateur a fourni sa ville, on essaye aussi de l'abonner aux actus locales.
|
|
if(!empty($_POST["insee"]))
|
|
{
|
|
$abo_local=new FclFlux_abonnement();
|
|
$crea_abo_local=$abo_local->abo_rapide_ville($user,$_POST["insee"]);
|
|
if($crea_abo_local===true)
|
|
{
|
|
$_SESSION["message"]="Votre compte a bien été créé. <u>Vous devez néanmoins le valider via un lien qui vient de vous être envoyé par email</u>.<br>En attendant vous pouvez déjà configurer ci-dessous votre abonnement aux actualités locales ou encore <u>voir le résultat <a href='".PAGE_ABO_AFFICHE.$abo_local->id_abonnement."' title='voir les dernières actualités pour votre abonnement'>en cliquant ici</a></u>.";
|
|
$Bd=null;
|
|
if(!$ajax_on)
|
|
header("location:".PAGE_ABO_MAJ.$abo->id_abonnement);
|
|
else
|
|
echo $abo_local->id_abonnement;//pour redirection en javascript
|
|
exit();
|
|
}
|
|
}
|
|
$Bd=null;
|
|
if((!empty($_SESSION["coregistration"]))&&(empty($form["insee"])))
|
|
$_SESSION["redirige"]=null;//pas la peine d'aller sur la page de création de l'abonnement
|
|
$_SESSION["message"]="Votre compte a bien été créé. Vous devez néanmoins le valider via un lien qui vient de vous être envoyé par email.<br>En attendant vous pouvez déjà créer votre premier abonnement ci-dessous.";
|
|
if(!$ajax_on)
|
|
{
|
|
// si l'utilisateur est connecté et a un cookie de redirection
|
|
// je le redirige vers la page qui l'intéressait avant la création de son compte
|
|
$redirige=PAGE_REPERTOIRE_ACCUEIL;
|
|
if(!empty($_SESSION["redirige"]))
|
|
$redirige=$_SESSION["redirige"];
|
|
elseif(!empty($_COOKIE["rdg"]))
|
|
{
|
|
if(strpos($_COOKIE["rdg"],SITE_COOKIES_DOMAINE)!==false)
|
|
$redirige=$_COOKIE["rdg"];
|
|
//dans tous les cas, je mange le cookie :-)
|
|
setcookie("rdg","",-1600,"/",SITE_COOKIES_DOMAINE);
|
|
}
|
|
header("location:".$redirige);
|
|
exit();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if((!empty($msg_form))&&($ajax_on))
|
|
echo get_html_alerte_msg($msg_form); |