Annonce

#1 2004-10-30 21:06:59

ZoneMaster
Membre
Inscription : 2004-09-25
Messages : 28

Re : Notification de désinscription (fonction ajouté)

Bonjour,

J'ai ajouté le plus simplement du monde une notification des désinscriptions...

Voici donc comment s'y prendre (fonctionne juste si l'admin coche la case pour recevoir les notifications inscriptions et maintenant désinscription aussi...

Bonne Chance, moi, je n'ai aucun problème avec cet ajout...

- includes/class.form.php

ajout d'une fonction pour recevoir le email des désinscriptions
À mettre juste en dessous du code ci-dessous: (se trouve en bas de page et vous verrez "Unsubscribe" au-dessus du code-ci-dessous...

Il faut coller mon code après return false; }

            if( !($mailer->send()) )
            {
                $this->message = $lang['Message']['Failed_sending'];
                
                return false;
            }

///////////////////////////////////////////////////////////////////////////////////////

        $sql = "SELECT a.admin_login, a.admin_email 
            FROM " . ADMIN_TABLE . " AS a, " . AUTH_ADMIN_TABLE . " AS aa 
            WHERE a.admin_id = aa.admin_id 
                AND aa.liste_id = " . $this->listdata['liste_id'] . " 
                AND a.email_new_inscrit = " . SUBSCRIBE_NOTIFY_YES . " 
                AND ( a.admin_level = " . ADMIN . " OR aa.auth_view = " . TRUE . " )";
        if( $result = $db->query($sql) )
        {
            if( $row = $db->fetch_array($result) )
            {
                $mailer->clear_all();
                
                $mailer->set_from($this->listdata['sender_email'], unhtmlspecialchars($this->listdata['liste_name']));
                $mailer->set_subject($lang['Subject_email']['Quit_subscriber']);
                
                $mailer->use_template('admin_quit_subscribe', array(
                    'EMAIL'   => $this->email,
                    'LISTE'   => unhtmlspecialchars($this->listdata['liste_name']),
                    'URLSITE' => $nl_config['urlsite'],
                    'SIG'     => $this->listdata['liste_sig']
                ));
                
                do
                {
                    $mailer->clear_address();
                    $mailer->set_address($row['admin_email'], $row['admin_login']);
                    
                    $mailer->assign_tags(array(
                        'USER' => $row['admin_login']
                    ));
                    
                    $mailer->send(); // envoi
                }
                while( $row = $db->fetch_array($result) );
            }
        }

///////////////////////////////////////////////////////////////////////////////////////

Ce changement force quatre (4) autres modifications dans le répertoire language :

==> language/email_francais/
==> language/email_english/
==> language/lang_english.php
==> language/lang_francais.php


- language/email_francais/

Cette modification impute une changement sur l'envoi du email de désinscription à l'admin... il n'existe pas ? il faut le créer...

à partir de l'exemple "admin_new_subscribe.txt"
créer un fichier avec le nom "admin_quit_subscribe.txt"

Modifier le contenu pour dire "quitter" au lieu de "inscrit"


***********************************************


- language/email_english/

à partir de l'exemple "admin_new_subscribe.txt"
créer un fichier avec le nom "admin_quit_subscribe.txt"

Modifier le contenu pour dire "has quit" au lieu de "subscribe"


************************************************


- language/lang_english.php

ajoutez la ligne suivante dans la catégorie "// Sujets de divers emails envoyés" :

$lang['Subject_email']['Quit_subscriber'] = "A Subscriber has quit the Mailing";

*************************************************


- language/lang_francais.php

ajoutez la ligne suivante dans la catégorie "// Sujets de divers emails envoyés" :

$lang['Subject_email']['Quit_subscriber'] = "Un inscrit à quitté la Mailing";

**************************************************************

Voila, si ca peut vous être utile...


@++

Hors ligne

#2 2004-12-30 00:59:58

ZoneMaster
Membre
Inscription : 2004-09-25
Messages : 28

Re : Notification de désinscription (fonction ajouté)

Selon toute logique il faut passer par le formulaire de votre site qui contient l'include "newsletter.php" qui lui fait l'include vers "includes/class.form.php"

et c'est à cet endroit que se trouve la fonction de désinscription...

Si il ne passe pas par le formulaire vous ne recevrez rien du tout !

Hors ligne

#3 2005-10-22 16:04:34

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : Notification de désinscription (fonction ajouté)

Sans doute car le fichier includes/class.form.php n'a subi aucune modification dans les dernières versions (pas depuis la version 2.2.4 en tout cas).


PHP et MySQL, un duo gagnant !

Hors ligne

Pied de page des forums