Sign in to follow this  
Followers 0

mail personalisé pour les clients

1 post in this topic

Posted · Report post

bonsoir,

comme promis un peut de php .... d'abord dans administrer/modeles/haut.php un ajout de lien

<li> <a href="<?=$wwwroot?>/administrer/envoie_email.php">Texte mail</a></li>

ensuite le code de envoie_email.php qui est repris de la tva.php ..... les commentaires sont encore la !!

on commence par le corps de la page

<?

include("../configuration.inc.php");

necessite_identification();

necessite_priv("admin");

$DOC_TITLE = "Gestion des textes de mail";

include("modeles/haut.php");

if (isset($_GET['start'])) {$start = $_GET['start'];} else {$start = 0;}

if (isset($_POST['mode'])) {$mode = $_POST['mode'];}

elseif (isset($_GET['mode'])) {$mode = $_GET['mode'];}

else {$mode = "liste";}

switch ($mode) {

case "ajout" :

liste_commande();

affiche_formulaire_ajout_mail();

break;

case "envoi" :

$tt=mysql_fetch_array(mysql_query("SELECT id FROM `".$nick."_commandes` order by id desc limit 1"));

$res=remplace($_REQUEST['nom'],$tt['id']);

echo "<pre>";

echo $res;

echo "</pre>";

//email_vari($quoi,&$message,"10039");

break;

case "modif" :

liste_commande();

affiche_formulaire_modif_mail($_GET['id']);

break;

case "suppr" :

supprime_mail($_GET['id']);

affiche_liste_mail($start);

break;

case "insere" :

insere_mail($_POST['id'], $HTTP_POST_VARS);

affiche_liste_mail($start);

break;

case "maj" :

maj_mail($_POST['id'], $HTTP_POST_VARS);

affiche_liste_mail($start);

break;

default :

affiche_liste_mail($start);

break;

}

if ($_REQUEST["action"]){

$nume = $_REQUEST["mailletter"];

email_mail(&$nume);

}

include("modeles/bas.php");

ensuite les fonctions et la mise en forme

/******************************************************************************

* FONCTIONS

*****************************************************************************/

function affiche_formulaire_ajout_mail() {

/* Affiche un formulaire vierge pour ajouter un tva*/

global $nick,$frm;

/* Valeurs par d�aut */

$frm['nouveau_mode'] = "insere";

$frm[''] = "";

$frm['titre_bouton'] = "Ajouter";

affiche_formulaire_mail();

}

function affiche_formulaire_modif_mail(&$id) {

/* Affiche le formulaire de modification pour le tvas�ectionn�*/

global $nick,$frm;

/* Charge les informations du produit */

$qid = mysql_query("

SELECT *

FROM ".$nick."_mail

WHERE id = $id

");

$frm = mysql_fetch_array($qid);

$frm['nouveau_mode'] = "maj";

$frm['titre_bouton'] = "Sauvegarder";

affiche_formulaire_mail();

}

function affiche_formulaire_mail() {

GLOBAL $nick,$frm,$id,$wwwroot;

?>

<form name="entryform" method="post" action="<?=$_SERVER['PHP_SELF']?>?start=0">

<input type="hidden" name="mode" value="<?=$frm['nouveau_mode']?>">

<input type="hidden" name="id" value="<?=$frm['id']?>">

<table class=normal border=0 width=100% cellpadding="0" cellspacing="1">

<tr><td colspan="2" height="1" bgcolor="#336699"><img src="/images/blank.gif" height="1"></td></tr>

<tr bgcolor="#EEEEEE">

<td class=label colspan="2">Ajouter un mail</td>

</tr>

<tr><td colspan="2" height="1" bgcolor="#336699"><img src="/images/blank.gif" height="1"></td></tr>

<tr>

<td class="normal">nom du mail<input class="formulaire1" type="text" name="nom" style="width:40%" value="<?=$frm['nom'] ?>">

</td>

</tr>

<tr>

<td class="normal" >texte du mail :</td>

</tr>

<tr>

<td colspan=2 class="normal">

<textarea name="texte" cols=100 rows=20><?=stripslashes($frm['texte'])?></textarea>

</td>

</tr>

<tr>

<td colspan="1"><input class="bouton" type="submit" value="<?=$frm['titre_bouton'] ?>"></td>

<td colspan="1"><input class="bouton" type="submit" name=mode value="envoi"></td>

</tr>

</table>

</form>

<?

}

function supprime_mail($id) {

global $nick;

/* Supprime le tvasp�ifici�par $id. Il faut supprimer le tva

* puis les entr�s correspondantes de la table tva_categories. */

/* Efface le tva*/

$qid = mysql_query("DELETE FROM ".$nick."_mail WHERE id = $id");

?>

<p class=normal>

La mail a �t� �ffac�

</p>

<?

}

function insere_mail($id, $frm) {

global $nick;

/*ajoute le tvadans la table tva*/

$nom = addSlashes($frm['nom']);

$texte = addSlashes($frm['texte']);

$qid = mysql_query("INSERT INTO ".$nick."_mail (nom,texte) VALUES ('$nom','$texte')");

}

function maj_mail($id, $frm) {

global $nick;

/* Met �jour le tva$id avec de nouvelles valeurs. Les champs sont dans $frm */

/* Met �jour la table tva*/

$nom = addSlashes($frm['nom']);

$texte = addSlashes($frm['texte']);

$qid = mysql_query("UPDATE ".$nick."_mail SET nom = '$nom' , texte = '$texte' WHERE id = '$frm[id]'");

}

function affiche_liste_mail($start)

{

global $nick;

$qid = mysql_query("select * from ".$nick."_mail order by id asc ");

?>

<table border=0 cellpadding=0 cellspacing=1 width=100%>

<tr>

<td colspan=4><a class=normal href="<?=$_SERVER['PHP_SELF']?>?mode=ajout">

[Ajouter une mail]</a></td>

</tr>

<?

$result=mysql_query("SELECT * FROM ".$nick."_mail ORDER BY id DESC");

if (mysql_num_rows($result) == 0) {echo "<tr><td class=normal><b>Aucune mail.</b></td></tr>"; }

else {

?>

<tr bgcolor="#6699ff">

<td class="menu">Action</td>

<td class="menu">nom</td>

<td class="menu">texte</td>

</tr>

<?

while ($ligne = mysql_fetch_array($result)) { ?>

<tr>

<td class=normal><a class=normal onClick="java script:return confirm('�es-vous sr de vouloir supprimer le transport?');" title="Supprimer <?=$ligne['id'] ?>" href=<?=$_SERVER['PHP_SELF]?>?mode=suppr&id=<?=$ligne['id'] ?>"><img src=../images/poubelle.gif border=0></a></td>

<td class=normal><a class=normal title="Modifier cette mail" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$ligne['id'] ?>"><?=$ligne['nom'] ?></a> </td>

<td class=normal><?=$ligne['texte'] ?> </td>

</tr>

<?

}

}

echo "</table>";

}

function liste_commande(){

global $nick;

$result = mysql_query("SHOW COLUMNS FROM ".$nick."_commandes");

if (!$result) {

echo 'Impossible d\'exécuter la requête : ' . mysql_error();

exit;

}

echo "<span class=normal><b>Liste de mots pouvant etre utlisés dans le mail pour ce qui concerne la commande</b> a mettre entre [&nbsp;&nbsp;]</span><br>";

$i="0";

if (mysql_num_rows($result) > 0) {

while ($row = mysql_fetch_assoc($result)) {

echo "<span class=normal>".$row['Field']."&nbsp;&nbsp;&nbsp;</span>" ;

$i++;

if ( $i==8 )

{

echo "<br>";

}

if ( $i==16 )

{

echo "<br>";

}

}

}

$result = mysql_query("SHOW COLUMNS FROM ".$nick."_utilisateurs");

if (!$result) {

echo 'Impossible d\'exécuter la requête : ' . mysql_error();

exit;

}

echo "<br><span class=normal><b>Liste de mots pouvant etre utlisés dans le mail pour ce qui concerne l utilisateur</b> a mettre entre [&nbsp;&nbsp;]</span><br>";

$i="0";

if (mysql_num_rows($result) > 0) {

while ($row = mysql_fetch_assoc($result)) {

echo "<span class=normal>".$row['Field']."&nbsp;&nbsp;&nbsp;</span>" ;

$i++;

if ( $i==8 )

{

echo "<br>";

}

if ( $i==16 )

{

echo "<br>";

}

}

}

}

?>

bien entendu il faut au préalable faire une petite table avec quelques champs dedans .... id nom texte id est autoincrementé

ensuite une petite(s) fonction(s) a mettre dans fonctions.php ou dans un fichier de fonctions perso

function email_vari($quoi,&$message,$id) {

global $nick, $wwwroot;

global $nick, $site;

global $nick, $support;

$sql=mysql_fetch_array(mysql_query("select id_utilisateur from ".$nick."_commandes where id ='".$id."' "));

//echo $sql['id_utilisateur'];

$util=$sql['id_utilisateur'];

$zz="select email from ".$nick."_utilisateurs where id_utilisateur ='".$util."' ";

$ql=mysql_fetch_array(mysql_query($zz));

//echo $ql['email'];

$email = $ql['email'];

$sujet= "Information Izzotek sur commande : ".$quoi;

mail($email,$sujet,$message,"FROM:$support");

}

function send_notif ($titre,$id){

global $nick;

$res=remplace($titre,$id);

email_vari($titre,&$res,$id);

}

function remplace($titre,$cmd){

global $nick;

$text=mysql_fetch_array(mysql_query("select texte from ".$nick."_mail where nom ='$titre'"));

$texte=$text['texte'];

//$sql=mysql_fetch_array(mysql_query("select * from ".$nick."_commandes,".$nick."_utilisateurs where id='1586'"));

$sql=mysql_query("select * from ".$nick."_commandes where id='$cmd'");

$nblignes=mysql_num_rows($sql);

$nbchamps=mysql_num_fields($sql);

$var=array();

/* affichage de l'en-tete du tableau HTML avec les noms des champs */

echo "<table border=2 align=center ><tr>";

for($i=0; $i < $nbchamps; $i++) {

$tabchamps[$i] = mysql_field_name($sql,$i);

$zz="[".$tabchamps[$i]."]";

$val=mysql_fetch_array(mysql_query("select ".$tabchamps[$i]." from ".$nick."_commandes where id ='$cmd'"));

$var[$zz].=$val[$tabchamps[$i]];

}

$tmp_id=mysql_fetch_array($sql);

$idd=$tmp_id['id_utilisateur'];

$modele1=strtr($texte,$var);

$sql=mysql_query("select * from ".$nick."_utilisateurs where id_utilisateur='".$idd."' ");

$nblignes=mysql_num_rows($sql);

$nbchamps=mysql_num_fields($sql);

$var=array();

/* affichage de l'en-tete du tableau HTML avec les noms des champs */

echo "<table border=2 align=center ><tr>";

for($i=0; $i < $nbchamps; $i++) {

$tabchamps[$i] = mysql_field_name($sql,$i);

$zz="[".$tabchamps[$i]."]";

$val=mysql_fetch_array(mysql_query("select ".$tabchamps[$i]." from ".$nick."_utilisateurs where id_utilisateur ='".$idd."' "));

$var[$zz].=$val[$tabchamps[$i]];

}

$modele2=strtr($modele1,$var);

return stripslashes($modele2);

}

j'ai fais ça il y a un bon bout de temps .... donc il faut peut etre revoir un peu le code :huh:

et finalement dans administrer/commandes.php mettre

$titre="Ajout article";

send_notif ($titre,$_REQUEST['cmd_id']);

dans chacun des case que vous voulez personaliser pour les etapes de la commande .....

vous avez la liste des champs que vous pouvez utiliser pour la redaction du mail :)

A vous de jouer et d'adapater :D

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

Twitter Advisto ecommerce

Facebook PEEL Shopping