if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* Declarer les champs postes et y integrer les valeurs par defaut
*/
function formulaires_newsletter_abo_charger_dist($listes=''){
$valeurs = array(
'session_email' => '',
'abonnement' => 'in'
);
if (isset($GLOBALS['visiteur_session']['email']))
$valeurs['session_email'] = $GLOBALS['visiteur_session']['email'];
elseif (isset($GLOBALS['visiteur_session']['session_email']))
$valeurs['session_email'] = $GLOBALS['visiteur_session']['session_email'];
return $valeurs;
}
/**
* Verifier les champs postes et signaler d'eventuelles erreurs
*/
function formulaires_newsletter_abo_verifier_dist($listes=''){
$erreurs = array();
if (!$email = _request('session_email')){
$erreurs['session_email'] = _T('info_obligatoire');
}
else {
// verifier que l'email est valide
if (!email_valide($email))
$erreurs['session_email'] = _T('info_email_invalide');
}
// on verifie si l'action est bien selectionnee
if (!$abo = _request('abonnement')){
$erreurs['abonnement'] = _T('info_obligatoire');
}
return $erreurs;
}
/**
* Traiter les champs postes
*/
function formulaires_newsletter_abo_traiter_dist($listes=''){
$email = _request('session_email');
// langue par defaut lors de l'inscription : la langue courante dans la page
$options = array('lang'=>$GLOBALS['spip_lang']);
if ($listes AND is_string($listes))
$listes = explode(',',$listes);
if ($listes AND is_array($listes) AND count($listes))
$options['listes'] = $listes;
$res = array(
'editable'=>true
);
$abo = _request('abonnement');
// selon l'action on inscrit ou desinscrit l'adresse mail
if ($abo == 'in') {
$newsletter = charger_fonction("subscribe","newsletter");
if ($newsletter($email,$options)){
if (lire_config('mailsubscribers/double_optin',0))
$res['message_ok'] = _T('newsletter:subscribe_message_ok_confirm',array('email'=>"$email"));
else
$res['message_ok'] = _T('newsletter:subscribe_message_ok',array('email'=>"$email"));
}
else
$res['message_erreur'] = _T('mailsubscriber:erreur_technique_subscribe');
return $res;
} elseif ($abo == 'out') {
$newsletter_unsubscribe = charger_fonction("unsubscribe","newsletter");
$newsletter_unsubscribe($email, $options);
$res['message_ok'] = _T('newsletter:unsubscribe_message_ok',array('email'=>"$email"));
return $res;
} else {
$res['message_erreur'] = _T('mailsubscriber:erreur_technique_subscribe');
return $res;
}
}