echo 'This is extra content for Cristmass.<br>';
        $this->_emailBody->loadBody();
    }
}
//Sub decorator
class NewYearEmailBody extends MainEmailDecorator
{
    public function loadBody()
    {
        echo 'This is extra content for New year.<br>';
        $this->_emailBody->loadBody();
    }
}
/*
* Some examples how to use them
*/
/*
* Normal email
*/
$email = new BaseEmail();
$email->loadBody();
/*
* Cristmass email
*/
$email = new ChristmassEmailBody(new BaseEmail());
$email->loadBody();
/*
* New Years email
*/
$email = new NewYearEmailBody(new BaseEmail());
$email->loadBody();
Example #2
0
 /** @return EMAIL_pwdremind */
 public static function inst()
 {
     return parent::inst();
 }
/**
* - Cas Login_Nouveau :
* . 
*      Le cas Login_Nouveau patati patata....
*/
function Login_Nouveau($data_in = array())
{
    Lib_myLog("action: " . $data_in['action']);
    foreach ($GLOBALS['tab_globals'] as $global) {
        global ${$global};
    }
    Lib_myLog("IN: ", $data_in);
    Lib_myLog("FILE: ", __FILE__);
    $continue = true;
    preg_match("`([0-9]{2})/([0-9]{2})/([0-9]{4})`", $data_in['date_naissance'], $regs);
    /*=============*/
    Lib_myLog("Une nouvelle personne tente de s'inscrire. On recherche si elle n'existe pas deja");
    $personnes = BasePersonnes_chercher($data_in['nom'], $data_in['prenom']);
    if (count($personnes) != 0) {
        /*=============*/
        Lib_myLog("Plusieurs personnes portant ce nom et prenom ont ete trouvees");
        foreach ($personnes as $personne) {
            if ($personne['date_naissance'] == $data_in['date_naissance']) {
                /*=============*/
                Lib_myLog("Une personne avec la meme date de naissance a ete trouvee");
                $utilisateurs = Utilisateurs_chercher('', '', $personne['id_personne']);
                if (count($utilisateurs) != 0) {
                    /*=============*/
                    Lib_myLog("Un login a ete trouve pour cette personne");
                    // On la re-dirige sur la page de login en affichant le formulaire de demande de mot de passe perdu
                    $data_out['message_oubli'] = $MSG[$lang]['%%Action_DoublonPersonne%%'];
                    $data_out['email'] = $data_in['email'];
                    $data_out['date_naissance'] = $data_in['date_naissance'];
                    $data_out['login_oubli_visible'] = 1;
                    $continue = false;
                }
                // On mémorise l'identifiant de la personne trouvée et on sort de la boucle foreach
                $id_personne = $personne['id_personne'];
                break;
            }
        }
    }
    if ($continue && !checkdate($regs[2], $regs[1], $regs[3])) {
        $data_out = $data_in;
        $data_out['login_nouveau_visible'] = 1;
        $data_out['message_nouveau'] = $MSG[$lang]['%%Action_ErreurDateNaissance%%'];
        $continue = false;
    }
    if ($continue && $data_in['mdp_souhaite'] != $data_in['mdp_bis']) {
        $data_out = $data_in;
        $data_out['mdp_souhaite'] = $data_out['mdp_bis'] = '';
        $data_out['login_nouveau_visible'] = 1;
        $data_out['message_nouveau'] = $MSG[$lang]['%%Action_ErreurDefinitionMDP%%'];
        $continue = false;
    }
    if ($continue) {
        $data_out = $data_in;
        $utilisateurs = Utilisateurs_chercher($data_in['utilisateur_souhaite']);
        if (count($utilisateurs) != 0) {
            $data_out['login_nouveau_visible'] = 1;
            $data_out['utilisateur_souhaite'] = $data_out['mdp_souhaite'] = $data_out['mdp_bis'] = '';
            $data_out['message_nouveau'] = $MSG[$lang]['%%Action_UtilisateurExistant%%'];
            $continue = false;
        }
    }
    if ($continue) {
        // Si aucune personne n'avait été trouvée précédemment, on rajoute la personne
        if (!isset($id_personne)) {
            /*=============*/
            Lib_myLog("Ajout du nouvel objet personne");
            $personne = new BasePersonne($data_in['nom'], $data_in['prenom'], $data_in['date_naissance']);
            $id_personne = $personne->ADD();
        } else {
            $personne = BasePersonne_recuperer($id_personne);
        }
        /*=============*/
        Lib_myLog("Ajout du nouvel email");
        $email = new BaseEmail($personne->getId(), $personne->getTypeMoi(), 'contact', $data_in['email']);
        $email->ADD();
        preg_match("`([0-9]{2})/([0-9]{2})/([0-9]{4})`", $personne->DateNaissance(), $regs);
        $code_utilisateur = substr(Lib_canonize($personne->getPrenom()), 0, 1);
        $code_utilisateur .= $regs[1] . $regs[2] . $regs[3];
        $code_utilisateur .= substr(Lib_canonize($personne->getNom()), 0, 1);
        /*=============*/
        Lib_myLog("Code genere: {$code_utilisateur}");
        /*=============*/
        Lib_myLog("Ajout du nouvel utilisateur");
        $utilisateur = new Utilisateur($id_personne, $code_utilisateur, '', $data_in['utilisateur_souhaite'], $data_in['mdp_souhaite'], '', 'attente_activation', $data_in['info_utilisateur']);
        $utilisateur->ADD();
        // On stocke le nouvel événement
        $evenement = Evenement_ajout(1, $utilisateur->getId(), $utilisateur->getTypeMoi(), 'add', $utilisateur->getEtat());
        $data_out = "";
        $data_out['message'] = "Vous allez recevoir un mail...";
        /*=============*/
        Lib_myLog("On informe l'administrateur qu'une demande de compte a ete faite");
        $entete = "MIME-Version: 1.0\n";
        $entete .= "Content-type: text/html; charset=iso-8859-1\n";
        $entete .= "From: SITE AROEVEN <" . $GLOBALS['mail_admin'] . ">\n";
        $destinataire = $GLOBALS['mail_admin'];
        $sujet = "Demande d'acces";
        $modele_mail = file("modeles/Mail_DemandeAcces.htm");
        $modele_mail = implode($modele_mail, "");
        $corps = preg_replace("`%%prenom%%`", $personne->getPrenom(), $modele_mail);
        $corps = preg_replace("`%%nom%%`", $personne->getNom(), $corps);
        // On envoie l'email
        @mail($destinataire, $sujet, $corps, $entete);
        $data_out['message'] = $MSG[$lang]['%%Action_ConfirmationInscription%%'];
    }
}
Example #4
0
 public function getPeer()
 {
     if (self::$peer === null) {
         self::$peer = new EmailPeer();
     }
     return self::$peer;
 }