Exemple #1
0
    $formulaire->addElement('static', 'note', '', 'Listes des adresses mails séparées par des points-virgules');
    $formulaire->addElement('textarea', 'tos', 'Destinataires', array('cols' => 60, 'rows' => 15));
    $formulaire->addElement('header', 'boutons', '');
    $formulaire->addElement('submit', 'soumettre', 'Soumettre');
    $formulaire->addRule('subject', 'subject manquant', 'required');
    $formulaire->addRule('body', 'body manquant', 'required');
    $formulaire->addRule('tos', 'to manquant', 'required');
    $formulaire->addRule('from_name', 'from manquant', 'required');
    $formulaire->addRule('from_email', 'from manquant', 'required');
    $formulaire->addRule('from_email', 'from invalide', 'email');
    if ($formulaire->validate()) {
        $valeurs = $formulaire->exportValues();
        $email_tos = explode(';', $valeurs['tos']);
        $nb = 0;
        $liste = $blackList->obtenirListe();
        foreach ($email_tos as $nb => $email_to) {
            $email_to = trim($email_to);
            if (filter_var($email_to, FILTER_VALIDATE_EMAIL)) {
                if (!in_array($email_to, $liste)) {
                    AFUP_Mailing::envoyerMail($valeurs['from_email'], $email_to, $valeurs['subject'], $body);
                    if (++$nb % 200 == 0) {
                        sleep(5);
                    }
                }
            }
        }
        AFUP_Logs::log('Envoi mailing ' . $valeurs['subject']);
        afficherMessage('Le mail a été envoyé', 'index.php?page=mailing');
    }
    $smarty->assign('formulaire', genererFormulaire($formulaire));
}
Exemple #2
0
    /**
     * Relance une personne afin qu'elle renouvelle sa cotisation.
     *
     * @access public
     * @param	int	$type_personne	Type de personne concerné
     * @param	int $id_personne 	Identifiant de la personne concernée
     * @return bool
     */
    function relancer($type_personne, $id_personne)
    {
        require_once 'Afup/AFUP_Configuration.php';
        $configuration = $GLOBALS['AFUP_CONF'];
        if (AFUP_PERSONNES_MORALES == $type_personne) {
            $personnes = new AFUP_Personnes_Morales($this->_bdd);
        } else {
            $personnes = new AFUP_Personnes_Physiques($this->_bdd);
        }
        $infos = $personnes->obtenir($id_personne, 'nom, prenom, email');
        $sujet = "Relance cotisation AFUP\n";
        $montant = AFUP_PERSONNES_MORALES == $type_personne ? AFUP_COTISATION_PERSONNE_MORALE : AFUP_COTISATION_PERSONNE_PHYSIQUE;
        $corps = <<<TXT
Bonjour,

Votre cotisation annuelle à l'AFUP est arrivée à son terme.

Vous pouvez la renouveler :

* En ligne via l'espace d'administration (c'est de loin la meilleure option !) :

\thttp://www.afup.org/pages/administration/

* Par virement bancaire en contactant le trésorier sur tresorier@afup.org.

* Ou encore par chèque d'un montant de {$montant} euros libellé à l'ordre de l'AFUP ainsi que votre identité à l'adresse suivante :

\tAFUP
\t32 boulevard de Strasbourg
\tCS 30108
\t75468 Paris Cedex 10

Merci !

Cordialement,
Le trésorier
TXT;
        $ok = AFUP_Mailing::envoyerMail($GLOBALS['conf']->obtenir('mails|email_expediteur'), array($infos['email'], $infos['nom'] . " " . $infos['prenom']), $sujet, $corps . $link);
        if (false === $ok) {
            return false;
        }
        $requete = 'UPDATE';
        $requete .= '  afup_cotisations ';
        $requete .= 'SET';
        $requete .= '  nombre_relances=IF(nombre_relances IS NULL, 1, nombre_relances+1),';
        $requete .= '  date_derniere_relance=' . time() . ' ';
        $requete .= 'WHERE';
        $requete .= '  type_personne=' . $type_personne;
        $requete .= '  AND id_personne=' . $id_personne;
        $this->_bdd->executer($requete);
        return true;
    }
 /**
  * Envoi un message de bienvenue lorsque l'utilisateur le demande
  *
  * @param string $login Login de la personne physique
  * @param string $email Email de la personne physique
  * @access public
  * @return bool Succès de l'envoi
  */
 function envoyerCourrierBienvenue($login, $email, $id = null)
 {
     $succes = false;
     $selection = 'SELECT ';
     $selection .= ' id, login, email ';
     $selection .= 'FROM ';
     $selection .= '  afup_personnes_physiques ';
     $selection .= 'WHERE ';
     if ($id === null) {
         $selection .= '  email=' . $this->_bdd->echapper($email);
     } else {
         $selection .= '  id=' . $this->_bdd->echapper($id) . ' ';
     }
     $data = $this->_bdd->obtenirEnregistrement($selection);
     $id = $data['id'];
     $identifiant = $data['login'];
     $email = $data['email'];
     if (is_numeric($id) and $id > 0) {
         $mot_de_passe = substr(md5(uniqid(rand(), true)), 0, 10);
         $requete = 'UPDATE ';
         $requete .= '  afup_personnes_physiques ';
         $requete .= 'SET';
         $requete .= '  mot_de_passe=' . $this->_bdd->echapper(md5($mot_de_passe));
         $requete .= 'WHERE';
         $requete .= '  id=' . $this->_bdd->echapper($id);
         if ($this->_bdd->executer($requete)) {
             $corps = "Cher membre,\n\n";
             $corps .= "Tout d'abord bienvenue à l'AFUP ! Nous sommes ravis de vous accueillir au sein de l'Association Française des Utilisateurs de PHP, réunissant tous les utilisateurs de la plate-forme PHP.\n\n";
             $corps .= "Être membre de l'AFUP vous ouvre la porte à une multitude d'avantages:\n";
             $corps .= "- un accès au back-office, qui vous permettra de nous aider à nourrir les projets. Voici votre identifiant : {$identifiant} . Votre mot de passe est : {$mot_de_passe}. Le back-office est accessible à cette adresse: www.afup.org/wiki . Vous pouvez changer votre mot de passe en vous connectant sur la page « administration » de l'AFUP : www.afup.org/pages/administration.\n";
             $corps .= "- des invitations aux Rendez-vous AFUP : conférences thématiques, à Paris ou en province, animées par des experts. Le coût de ces conférences étant pris en charge par l'AFUP, elles sont gratuites pour les participants!\n";
             $corps .= "- des Apéros PHP: des développeurs se réunissent régulièrement autour d'un verre pour discuter PHP. Soyez tenu au courant de ces apéros, participez à ceux qui se déroulent dans votre ville, rencontrez des développeurs PHP près de chez vous. \n";
             $corps .= "- un tarif préférentiel au Forum PHP et au PHP Tour: votre adhésion à l'AFUP vous donnera droit au tarif « membre AFUP » lors de ces prochains événements.\n";
             $corps .= "- des réductions exclusives négociées auprès de nos partenaires sur leurs formations et leurs services : découvrez les http://afup.org/wiki/wakka.php?wiki=OffreDesPartenaires\n";
             $corps .= "- l'inscription à la mailing-list des membres de l'AFUP: un problème de code ? Besoin d'un conseil ? Une offre d'emploi à diffuser ? Une actualité qui pourrait intéresser la communauté ? Ecrivez à la mailing-list membres@afup.org et échangez avec les centaines de membres de l'AFUP.\n\n";
             $corps .= "L'AFUP, c'est aussi un site web à optimiser, des outils à (ré)inventer, un forum à organiser, des Rendez-vous AFUP à suggérer: l'AFUP a besoin de vous pour avancer !\n";
             $corps .= "- Proposez-nous vos thématiques pour les Rendez-vous AFUP. Vous avez envie d'inviter un conférencier ? Vous avez besoin de louer une salle ? Vous souhaitez contacter les membres AFUP de votre ville ? Contactez-nous, nous vous aiderons à mettre en place votre soirée PHP grâce à un soutien logistique et financier.\n";
             $corps .= "- Participez à la création d'outils pour l'AFUP. Le site de l'AFUP va être repensé, le site des Apéros PHP va entrer en chantier, de nouveaux outils de communication vont être développés. Aidez-nous à les mettre en œuvre !\n";
             $corps .= "- Lancez des Apéros PHP dans votre ville: de nombreux membres de l'AFUP habitent certainement près de chez vous, l'AFUP peut vous aider à vous mettre en contact.\n\n";
             $corps .= "Enfin, adhérer à l'AFUP, c'est surtout soutenir la plate-forme et montrer son envie de la voir grandir et progresser.\n\n";
             $corps .= "A très bientôt,\n\n";
             $corps .= "L'équipe AFUP\n";
             $check = AFUP_Mailing::envoyerMail($GLOBALS['conf']->obtenir('mails|email_expediteur'), $email, "Adhésion AFUP", $corps);
             return $check;
         }
     }
     return $succes;
 }
Exemple #4
0
$formulaire->addElement('text', 'telephone', 'Téléphone', array('size' => 20, 'maxlength' => 20, 'class' => 'span4'));
$formulaire->addElement('text', 'email', 'Email', array('size' => 30, 'maxlength' => 100, 'class' => 'span7'));
$formulaire->addElement('textarea', 'commentaires', 'Commentaires', array('cols' => 42, 'rows' => 4, 'class' => 'span7'));
$formulaire->addElement('submit', 'soumettre', 'Soumettre', array('class' => 'btn primary', 'style' => 'float: right'));
$formulaire->addRule('titre_revue', 'Titre de la revue manquante', 'required');
$formulaire->addRule('nom', 'Nom manquant', 'required');
$formulaire->addRule('prenom', 'Prénom manquant', 'required');
$formulaire->addRule('carte_presse', 'Carte presse manquante', 'required');
$formulaire->addRule('adresse', 'Adresse manquante', 'required');
$formulaire->addRule('code_postal', 'Code postal manquant', 'required');
$formulaire->addRule('ville', 'Ville manquante', 'required');
$formulaire->addRule('telephone', 'Téléphone manquant', 'required');
$formulaire->addRule('email', 'Email manquant', 'required');
$formulaire->addRule('email', 'Email invalide', 'email');
if ($formulaire->validate()) {
    $valeurs = $formulaire->exportValues();
    $ok = $presse->ajouter(null, time(), $formulaire->exportValue('titre_revue'), $formulaire->exportValue('civilite'), $formulaire->exportValue('nom'), $formulaire->exportValue('prenom'), $formulaire->exportValue('carte_presse'), $formulaire->exportValue('adresse'), $formulaire->exportValue('code_postal'), $formulaire->exportValue('ville'), $formulaire->exportValue('id_pays'), $formulaire->exportValue('telephone'), $formulaire->exportValue('email'), $formulaire->exportValue('commentaires'), 6, 1);
    // 1 = valide
    if ($ok) {
        $body = "Une demande d'accréditation a été déposé en ligne :\n" . " - titre : " . $formulaire->exportValue('titre_revue') . "\n" . " - correspondant : " . $formulaire->exportValue('civilite') . " " . $formulaire->exportValue('prenom') . " " . $formulaire->exportValue('nom') . "\n" . " - carte presse : " . $formulaire->exportValue('carte_presse') . "\n" . " - adresse : " . $formulaire->exportValue('adresse') . " | " . $formulaire->exportValue('code_postal') . " " . $formulaire->exportValue('ville') . " | " . $formulaire->exportValue('id_pays') . "\n" . " - téléphhone : " . $formulaire->exportValue('telephone') . "\n" . " - email : " . $formulaire->exportValue('email') . "\n" . " - commentaires : " . strip_tags($formulaire->exportValue('commentaires'));
        AFUP_Mailing::envoyerMail(array($formulaire->exportValue('email'), $formulaire->exportValue('nom') . ' ' . $formulaire->exportValue('prenom')), array('*****@*****.**', 'Bureau AFUP'), 'Demande d\'accréditation presse Forum PHP 2014', $body);
        AFUP_Mailing::envoyerMail(array($formulaire->exportValue('email'), $formulaire->exportValue('nom') . ' ' . $formulaire->exportValue('prenom')), array('*****@*****.**', 'Communication AFUP'), 'Demande d\'accréditation presse Forum PHP 2014', $body);
        $smarty->assign('texte', 'Merci. Votre demande d\'accréditation a été prise en compte et sera traitée prochainement.');
    } else {
        $smarty->assign('texte', 'Une erreur est survenue lors de votre inscription. Veuillez contacter le service presse dont les coordonnées apparaissent ci-dessous afin de régler le problème.');
    }
    $smarty->display('accreditation_valide.html');
} else {
    $smarty->assign('formulaire', genererFormulaire($formulaire));
    $smarty->display('accreditation.html');
}
Exemple #5
0
<?php

require_once dirname(__FILE__) . '/../../../sources/Afup/Bootstrap/Http.php';
require_once dirname(__FILE__) . '/_config.inc.php';
require_once 'Afup/AFUP_Mailing.php';
$mailing = new AFUP_Mailing($bdd);
$message = '';
$email = isset($_GET['unsuscribe']) ? $_GET['unsuscribe'] : false;
$nb = isset($_GET['nb']) ? $_GET['nb'] : '';
$action = isset($_GET['action']) ? $_GET['action'] : false;
if ($action == 'unsuscribe') {
    $mailing->BlacklistEmail($email);
    $message = "L'adresse {$email} a bien été retirée de nos listes.";
}
$smarty->assign('message', $message);
$smarty->assign('email', $email);
$smarty->assign('nb', $nb);
$smarty->display('mailing.html');
 /**
  * Relance une personne afin qu'elle renouvelle sa cotisation.
  *
  * @access public
  * @param	int	$type_personne	Type de personne concerné
  * @param	int $id_personne 	Identifiant de la personne concernée
  * @return bool
  */
 function relancer($type_personne, $id_personne)
 {
     require_once 'Afup/AFUP_Configuration.php';
     $configuration = $GLOBALS['AFUP_CONF'];
     if (AFUP_PERSONNES_MORALES == $type_personne) {
         $personnes = new AFUP_Personnes_Morales($this->_bdd);
     } else {
         $personnes = new AFUP_Personnes_Physiques($this->_bdd);
     }
     $infos = $personnes->obtenir($id_personne, 'nom, prenom, email');
     $sujet = "Relance cotisation AFUP\n";
     $montant = AFUP_PERSONNES_MORALES == $type_personne ? AFUP_COTISATION_PERSONNE_MORALE : AFUP_COTISATION_PERSONNE_PHYSIQUE;
     $corps = "Bonjour, \n\n";
     $corps .= "Votre cotisation annuelle à l'AFUP est arrivée à son terme.\n\n";
     $corps .= "Afin de la renouveller, il vous suffit d'envoyer un chèque de " . $montant;
     $corps .= " euros libellé à l'ordre de l'AFUP ainsi que votre identité à l'adresse suivante :\n\n";
     $corps .= "AFUP\n";
     $corps .= "32 boulevard de Strasbourg\n";
     $corps .= "CS 30108\n";
     $corps .= "75468 Paris Cedex 10\n\n";
     $corps .= "Vous pouvez aussi la renouveller directement :\n\n";
     $corps .= "* En ligne via l'espace d'administration:\n";
     $corps .= "  http://www.afup.org/pages/administration/\n\n";
     $corps .= "* Par virement bancaire en contactant le trésorier tresorier@afup.org:\n";
     $corps .= "Cordialement\n\n";
     $corps .= "Le trésorier";
     $ok = AFUP_Mailing::envoyerMail($GLOBALS['conf']->obtenir('mails|email_expediteur'), array($infos['email'], $infos['nom'] . " " . $infos['prenom']), $sujet, $corps . $link);
     if (false === $ok) {
         return false;
     }
     $requete = 'UPDATE';
     $requete .= '  afup_cotisations ';
     $requete .= 'SET';
     $requete .= '  nombre_relances=IF(nombre_relances IS NULL, 1, nombre_relances+1),';
     $requete .= '  date_derniere_relance=' . time() . ' ';
     $requete .= 'WHERE';
     $requete .= '  type_personne=' . $type_personne;
     $requete .= '  AND id_personne=' . $id_personne;
     $this->_bdd->executer($requete);
     return true;
 }
 function envoyerResumeVote($salt, $user_id)
 {
     $requete = 'SELECT';
     $requete .= '  nom, prenom, email ';
     $requete .= 'FROM';
     $requete .= '  afup_personnes_physiques ';
     $requete .= 'WHERE';
     $requete .= '  id=' . $this->_bdd->echapper($user_id);
     $resultat = $this->_bdd->obtenirEnregistrement($requete);
     require_once 'Afup/AFUP_Configuration.php';
     $configuration = $GLOBALS['AFUP_CONF'];
     $requete = 'select titre, note
         from afup_sessions_note inner join afup_sessions on
         afup_sessions_note.session_id=afup_sessions.session_id
         where salt=' . $this->_bdd->echapper($salt);
     $resultat = $this->_bdd->obtenirEnregistrement($requete);
     $sujet = "Vos votes de session\n";
     $corps = "Bonjour, \n\n";
     $corps .= "Nous avons bien enregistré votre vote sur les sessions du forum.\n\n";
     $corps .= $resultat['titre'] . ' ' . $resultat['note'] . "\n";
     $corps .= "le grain de sel pour retrouver l'enregistrement dans la base est {$salt}";
     $corps .= "\nLe bureau\n\n";
     $corps .= $configuration->obtenir('afup|raison_sociale') . "\n";
     $corps .= $configuration->obtenir('afup|adresse') . "\n";
     $corps .= $configuration->obtenir('afup|code_postal') . " " . $configuration->obtenir('afup|ville') . "\n";
     $ok = AFUP_Mailing::envoyerMail($GLOBALS['conf']->obtenir('mails|email_expediteur'), array($resultat['email'], $resultat['nom'] . ' ' . $resultat['prenom']), $sujet, $corps);
     return $ok;
 }
 /**
  * Envoi par mail d'une facture au format PDF
  *
  * @param   string     $reference      Reference de la facturation
  * @access public
  * @return bool Succès de l'envoi
  */
 function envoyerFacture($reference)
 {
     require_once 'Afup/AFUP_Configuration.php';
     $configuration = $GLOBALS['AFUP_CONF'];
     $personne = $this->obtenir($reference, 'email, nom, prenom');
     $sujet = "Facture AFUP\n";
     $corps = "Bonjour, \n\n";
     $corps .= "Veuillez trouver ci-joint la facture correspondant à la participation au forum organisé par l'AFUP.\n";
     $corps .= "Nous restons à votre disposition pour toute demande complémentaire.\n\n";
     $corps .= "Le bureau\n\n";
     $corps .= $configuration->obtenir('afup|raison_sociale') . "\n";
     $corps .= $configuration->obtenir('afup|adresse') . "\n";
     $corps .= $configuration->obtenir('afup|code_postal') . " " . $configuration->obtenir('afup|ville') . "\n";
     $chemin_facture = AFUP_CHEMIN_RACINE . 'cache' . DIRECTORY_SEPARATOR . 'fact' . $reference . '.pdf';
     $this->genererFacture($reference, $chemin_facture);
     $ok = AFUP_Mailing::envoyerMail($GLOBALS['conf']->obtenir('mails|email_expediteur'), array($personne['email'], $personne['nom']), $sujet, $corps, array('file' => array($chemin_facture, 'facture-' . $reference . '.pdf')));
     @unlink($chemin_facture);
     return $ok;
 }
Exemple #9
0
 function envoyerDemandesConfirmation($id, $sujet, $corps)
 {
     $requete = 'SELECT';
     $requete .= '  id, ';
     $requete .= '  id_rendezvous, ';
     $requete .= '  nom, ';
     $requete .= '  prenom, ';
     $requete .= '  email ';
     $requete .= 'FROM';
     $requete .= '  afup_rendezvous_inscrits ';
     $requete .= 'WHERE';
     $requete .= '  id_rendezvous = ' . (int) $id . ' ';
     $requete .= 'AND';
     $requete .= '  presence = ' . AFUP_RENDEZ_VOUS_VIENT . ' ';
     $requete .= 'AND';
     $requete .= '  confirme NOT IN ( ' . AFUP_RENDEZ_VOUS_CONFIRME . ', ' . AFUP_RENDEZ_VOUS_DECLINE . ')';
     $requete .= 'GROUP BY';
     $requete .= '  id ';
     $inscrits = $this->_bdd->obtenirTous($requete);
     $succes = false;
     require_once 'phpmailer/class.phpmailer.php';
     foreach ($inscrits as $inscrit) {
         $hash = md5(utf8_decode($inscrit['id'] . $inscrit['id_rendezvous'] . $inscrit['nom'] . $inscrit['prenom'] . $inscrit['email']));
         $link = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'] . '?hash=' . $hash;
         $link = str_replace('administration/index.php', 'rendezvous/confirmation.php', $link);
         AFUP_Mailing::envoyerMail(array($GLOBALS['conf']->obtenir('mails|email_expediteur'), $GLOBALS['conf']->obtenir('mails|nom_expediteur')), array($inscrit['email'], $inscrit['nom']), $sujet, $corps . $link);
         $succes += 1;
     }
     return $succes;
 }