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; } }