1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| // Déclaration de l'objet xhr permettant l'envoi de requete au serveur
var xhr = new ActiveXObject("Msxml2.XMLHTTP");
// Cette fonction permet l'envoi automatique des mails
// aux personnes enregistrés dans la BD
function sendMail()
{
//alert(chaineContenantTabEmail);
if(confirm("Etes vous sur de vouloir envoyer cette Newsletter ?"))
{
// Définition des modalités d'envoi de la requête
xhr.open('post','email.php',true);
// Changer le type MIME de la requête avec la méthode setRequestHeader , sinon le serveur ignorera la requête
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
// Envoi de la requete au serveur avec comme information les email destinataires
alert("Email="+chaineContenantTabEmail);
xhr.send("Email="+chaineContenantTabEmail);
//window.close();
}
}
// Cette fonction permet le parcours du tableau et élimine les doublons qu'il contient
function RemoveDupArray(a)
{
a.sort();
for (var i = 1; i < a.length; i++)
{
if (a[i-1] === a[i])
a.splice(i, 1);
}
}
/**********************************************************************************Fin Déclaration des FONCTIONS***************************************************************************************/
<%
set Conn2=Server.CreateObject("ADODB.Connection")' connexion à la BD
Conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath ("db.mdb") & ";Persist Security Info=False"
Set RS_SC = server.CreateObject("ADODB.Recordset")%>
// Tableau associant un idCategory aux adresse mail qui y sont inscrites
var variableId = new Array()
// Requête permettant de récupérer les email associé à une catégorie
<%RS_SC.Open "SELECT SUBSCRIPTIONS_NEWSLETTER.idcategory,SUBSCRIPTORS_NEWSLETTER.email FROM SUBSCRIPTORS_NEWSLETTER,SUBSCRIPTIONS_NEWSLETTER WHERE SUBSCRIPTIONS_NEWSLETTER.idperson=SUBSCRIPTORS_NEWSLETTER.id;",Conn2,1,1%>
<%
Do While not RS_SC.eof ' On boucle tant que le fichier n'est pas lu entièrement
%>
if(typeof(variableId[<%=RS_SC("idcategory")%>]) == 'undefined')
{
variableId.push([<%=RS_SC("idcategory")%>]);
variableId[<%=RS_SC("idcategory")%>] = new Array();
}
else
{
variableId[<%=RS_SC("idcategory")%>].push('<%=RS_SC("email")%>');
}
<%
RS_SC.movenext
loop
%>
// Tableau permettant de récupérer simplement les email en leurs associant un id quelconque
var tabEmail = new Array()
// ident permet de parcourir tabTemporaire
for(ident in opener.tabTemporaire)
{
// identifiant all n'existe pas dans la BD
// s'il n'est pas renseigné alors on exécute la boucle
if(ident != "all")
{
for(i = 0 ; i < variableId[ident].length ; i++)
{
// j'ajoute à la fin au tableau tabEmail les email associé à l'identifiant de la catégorie en cours
tabEmail.push(variableId[ident][i]) ;
}
}
}
//alert(tabEmail);
// Utilisation de la fonction doublons
RemoveDupArray(tabEmail);
// Concaténation des éléments dun tableau en une chaîne de caractères avec un séparateur qui est ici une virgule
var chaineContenantTabEmail = tabEmail.join(',');// équivalent à chaineContenantTabEmail = tabEmail.join(",") |
Partager