macao45
Utilisateur open source-
Compteur de contenus
302 -
Inscrit(e) le
-
Dernière visite
Messages posté(e)s par macao45
-
-
MAIS QUE JE SUIS C.... !!!! :rolleyes:
dans une des fonctions function send_notif
je mets deux fois $id !!!!!
function send_notif ($id,$cmd){global $nick;
$res=remplace($id,$id);
email_vari($id,&$res,$cmd);
}
alors que c'est
function send_notif ($id,$cmd){global $nick;
$res=remplace($id,$cmd);
email_vari($id,&$res,$cmd);
}
aaaaaaaaaarrrrrrrrrrrrrrrggggggggggggg que de temps perdu
-
bon je pense que c'est un problème de variables qui ne sont pas déclarées comme hier dans envoie_email.php
il faut donc habiller les variables avec la fonction vb ....
mais la je dois prendre un peut de temps , car il faut que je décortique tout le code pour savoir ou mettre cette fonction et avant quelle variables !!!!
je regarde et je vous tiens au courrant .................. de toute façon ça doit marcher!!!!
-
c'est cette ligne qu'il faut commentée
mail($com->email,$email_subject,$email_object,"FROM:$support");les autre /* et */ vous pouvez les garder ..................... logiquement :rolleyes:
-
oui en effet 99 INDISPENSABLE !!!
et oui c'est exactement ce message la dans fonctions.php
-
oui j'ai aussi été sur ce site .... aussi du peel d'ailleur
ça me stress que mon truc ne tourne pas chez vous !!!
le 99 est la pour le message de passage de commande par le client ... donc si vous faites des essais la dessus ...oui ça marche pas :rolleyes:
-
sauf pour le message de départ !! ou la oui c'est dans fonctions.php !!
vous avez trouvé la ligne don je parlais ?
-
oui !!
il est sympas , j'aime beaucoup :rolleyes:
je ne peux voir que le front office pas le back ( j'ai pas de compte)
dans fonctions.php il doit y avoir ces trois fonctions
function email_vari($quoi,&$message,$id) {
function send_notif ($id,$cmd){
function remplace($id,$cmd){
-
tous ce qui est dans global $nick,$pouet, $toto;
sont des variables global
vous n'y toucher pas ... car il y a aussi le $frm !!! lui il sert
-
non pas de table nick
$nick me sert à avoir plusieurs site sur une seule et meme base ... c'est un préfixe pour les tables
si vous avez remplacé tous les ".$nick." par peel ... c'est parfait :rolleyes:
-
j'aime les gens tenaces !!! :rolleyes:
et comme je pense que vous avez bien compris l'interet de cette bidouille ......
-
voila un exemple
<a HREF="java script:window.external.addfavorite('http://www.votresite.com', 'Titre de votre site')">Ajouter mon site à vos favoris</a>donc pour votre cas
<a HREF="java script:window.external.addfavorite('<?php $wwwroot."/achat/produit_details.php?id=".$ref['id']." ?>', '<?php echo $ref['nom_fr'];?>')">Ajouter mon site à vos favoris</a>
un truc dans ce style
-
bonsoir
peut etre un debut de solution .... integralité de /administrer/prix.php
<?include("../configuration.inc.php");
necessite_identification();
necessite_priv("admin");
$DOC_TITLE = "Gestion des prix des produits";
include("modeles/haut.php");
switch (vb($_REQUEST['mode'])) {
case "modif" :
if (vb($_REQUEST['catid'])){
affiche_formulaire_modif_prix($_GET['catid']);
}
if (vb($_REQUEST['marq'])){
echo "y a plus qu a faire la fonction";
}
break;
case "modifier" :
foreach($_POST['id'] as $i => $prodid) {
$prix = str_replace(",",".",$_POST['prix'][$i]);
$prix_revendeur = str_replace(",",".",$_POST['prix_revendeur'][$i]);
mysql_query("UPDATE peel_produits SET prix = '".$prix."',prix_revendeur = '".$prix_revendeur."',promotion = '".$_POST['promotion'][$i]."' WHERE id = '".intval($prodid)."'");
}
echo "La modification des prix des produits a été effectuée. Pour modifier les prix d'une autre catégorie, <a href=\"".$_SERVER['PHP_SELF']."\" class=\"label\">cliquez ici</a>";
affiche_formulaire_modif_prix($_POST['catid']);
break;
default :
affiche_liste_prix();
break;
}
include("modeles/bas.php");
/******************************************************************************
* FONCTIONS
*****************************************************************************/
function affiche_formulaire_modif_prix(&$catid) {
global $wwwroot;
global $repertoire_images;
$sql = "SELECT id, prix, nom_".$_SESSION['langue']." as nom, prix, prix_revendeur, promotion FROM peel_produits p, peel_produits_categories pc WHERE pc.produit_id = p.id AND pc.categorie_id = '".intval($catid)."' ORDER BY prix";
$resProd = mysql_query($sql)
or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
$sqlCat = "SELECT nom_".$_SESSION['langue']." as nom FROM peel_categories WHERE id = '".intval($catid)."'";
$resCat = mysql_query($sqlCat);
$Cat = mysql_fetch_object($resCat);
?>
<form name="entryform" method="post" action="<?=$_SERVER['PHP_SELF']?>?mode=modif&catid=<?php echo $_GET['catid'] ?>">
<input type="hidden" name="mode" value="modifier">
<input type="hidden" name="catid" value="<?php echo $catid ?>">
<table border="1" cellpadding=0 cellspacing=1 width=100%>
<tr>
<td class="entete" colspan="4">prixne le produit dans la catégorie <?php echo html_entity_decode($Cat->nom) ?></td>
</tr>
<tr><td class="label" align="center">Produit</td><td class="label" align="center">PRIX PUBLIC</td><td class="label" align="center">PRIX REVENDEUR</td><td class="label" align="center">REMISE</td></tr>
<?
if (mysql_num_rows($resProd)>0) {
while ($prod = mysql_fetch_array($resProd)) {
?>
<tr>
<td align="center" class="normal">
<input type="hidden" name="id[]" value="<?echo $prod['id']?>"><a href=produits.php?mode=modif&id=<?echo $prod['id]?>"><?echo html_entity_decode($prod['nom'])?></a>
</td>
<td class="normal" align="center">
<input type="text" name="prix[]" size="15" value="<?echo number_format($prod['prix'],2, '.', '')?>"> € T.T.C
</td>
<td class="normal" align="center">
<input type="text" name="prix_revendeur[]" size="15" value="<?echo number_format($prod['prix_revendeur'],2, '.', '')?>"> € T.T.C
</td>
<td class="normal" align="center">
<input type="text" name="promotion[]" size="15" value="<?php echo number_format($prod['promotion'],2, '.', '');?>"> %
</td>
</tr>
<?
}
} else {
?>
<tr><td colspan="4" align="center">Aucun produit ne figure dans cette catégorie</td></tr>
<?php } ?>
<tr><td colspan="4" align="center"><input type="submit" value="MODIFIER LES PRIX" class="bouton"></td></tr>
<?php
echo "</td></tr></table></form>";
}
function maj_prix($id, $frm, $img) {
}
function affiche_liste_prix()
{
global $wwwroot;
?>
<table border="0" class="tablespace" width="100%">
<tr>
<td class="entete">Gérer les prix des produits / catégorie</td>
</tr>
<tr>
<td class="normal">
<script type="text/javascript">
function gotoprod(ident){
document.location="<?=$wwwroot?>/administrer/prix.php?mode=modif&catid="+ident;
}
function gotomarq(ident){
document.location="<?=$wwwroot?>/administrer/prix.php?mode=modif&marq="+ident;
}
</script>
<font size="+1"><b>Choisissez votre catégorie :</b></font>
<select name="categorie" class="formulaire1" onChange="java script:gotoprod(this.options[this.selectedIndex].value)">
<option value="NULL">Toutes les catégories</option>
<?php
if (!isset($categorie_id)) { $categorie_id = 0; }
$frm['categories'] = array($categorie_id);
construit_arbo_cat($categorie_options,$frm['categories']);
echo $categorie_options;
?>
</select>
<font size="+1"><b> ou par marques </b></font><select name="marque" class="formulaire1" onChange="java script:gotomarq(this.options[this.selectedIndex].value)">
<option value="NULL">Toutes les marques</option>
<?php
$sql="SELECT * FROM peel_marques";
$req=mysql_query($sql);
while ($l=mysql_fetch_array($req)){
echo "<option value=".$l[id]." > ".$l[nom_fr]." </option>";
}
?>
</select></td>
</tr>
</table>
<?php } ?>
si c'est un truc comme ça .... ça devrait etre possible !!
avez vous des sous marques ? ou que des marques ?
-
ou alors faire des vues et des procédures stockées en MYSQL .....
mysql 5.0 et + le permet , et si vous installez Benchmark en version 5.1 (beta) vous aurez une vue global des tables
par contre je ne sais pas si easyphp x.xx permet de faire ça ( je sais qu'il y a beaucoup d'utilisateurs de cet outil, perso je prefère LAMP)
-
haaaaaaaaaaaaaaaaa
alors : dans /administrer/commandes.php
remplacer send_notif (vb($_REQUEST['mode'],intval($frm['id'])); par
send_notif (vb($_REQUEST['mode']),intval($frm['id']));
en effet c'est une histoire de parenthese ... mais comme ça
send_notif (vb($_REQUEST['mode']),intval($frm['id']));
je viens de me faire un beau mail avec cette fonction :rolleyes:
ps: j'avais posté ce code coté shopping LA mais pas de commentaires ...
-
je me mets ça sur un site de test pour voir avec mes petits yeux .... car j'ai du rater qqchose mais je vois pas ou !!
-
OUIAh j'ai également remplacé les $nick du fichier envoie_email.php par peel_ ai je bien fait ?Actuellement j'ai fait un essai sur le annulé, il ne remplace pas l'ancien message mais je n'ai pas installé le 99 initialisé est ce normal ?vous avez mis le send_notif (vb($_REQUEST['mode'],intval($frm['id'])); dans /administrer/commande.php ?
et le 99 c'est pour initialisé et la c'est dans /lib/fonction.php qu'il faut aller faire quelque chose
la fin va etre dur :rolleyes: car bossé en aveugle sur votre site c'est pas facile ... mais on va y arrivé ;)
-
c'est trop ...c'est trop :rolleyes:
bon alors le miracle c'est ça
/send_notif (vb($_REQUEST['mode'],intval($frm['id']));mysql_query("UPDATE peel_commandes SET statut = '".intval($frm['statut'])."', statut_details = '".addslashes($statut_details)."' WHERE id = '".intval($frm['id'])."'") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
qui ce trouve dans administrer/commande.php
pour les erreurs .... bon ligne 62 ...
je pense qu'on peut virer les ligne de 62 à 67
if ($_REQUEST["action"]){$nume = $_REQUEST["mailletter"];
email_mail(&$nume);
}
pour la ligne 121
remplacer
$sql="select nom_fr FROM peel_statut WHERE id = '".$frm[id]."' ";
par
$sql="select nom_fr FROM peel_statut WHERE id = '$frm[id]' ";
ça devrait etre mieux
tenez moi au courrant ...... ;)
-
bonjour,
oui il faut créer cette table pour que cela marche avec les valeurs indiqué plus haut
-
bonsoir,
les///// c'est parce qu'il y a une fonctions quelque part qui fait du addslashes pour habiller les caractères spéciaux
mais il quand on reprends les données de la base on ne mets pas de stripslashes ... on ne fait qu'ajouter des /
-
maintenant on va aller dans /administrer/commande.php
et ajouter cette ligne dans le case "update" ( vous l'aviez trouvé hier soir dans votre fichier)
send_notif (vb($_REQUEST['mode'],intval($frm['id']));mysql_query("UPDATE peel_commandes SET statut = '".intval($frm['statut'])."', statut_details = '".addslashes($statut_details)."' WHERE id = '".intval($frm['id'])."'") or DIE('Une erreur de connexion à la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
donc grace à ça on postera le texte qui est préalablement saisie dans tous les statut possible .....
ben oui mais pour la creation de la commande du client ??? :rolleyes:
la on va aller fouiller dans /lib/fonctions.php
on doit avoir une fonction qui s'appelle email_commande
on va créer un id 99 dans peel_statut et mettre dans nom_fr Commande initialisée
creer aussi un id 99 dans peel_mail avec texte ='vide'
ensuite il suffit de mettre cette ligne
send_notif ('99',$commandeid);
avant la ligne qui contient Confirmation de prise de commande
et de la mettre en remarque
bien sur il faut aussi editer le statut commande initialisée coté admin pour faire un joli texte ......... ;)
je crois que c'est tout ...... mais comme je n'ai pas la version que vous avez , il y peut etre des trucs qui vont pas passé .....
donc n'hésitez pas a taper sur la tete du gars qui a pondu ça comme code!!! ;)
-
un exemple de texte que l'on peut mettre du coup pour personnaliser les mails
Commande : [id]Statut : [statut_details]
Bonjour [nom_famille] [prenom],
Nous accusons réception du paiement de la commande N°[id], pour un montant total de [montant] Euros.
Nous mettons tout en oeuvre pour vous livrer le plus vite possible.
Si quelques produits sont en "pré-commande", sont généralement déjà commandés chez notre fournisseur.
Nous vous remercions pour la confiance que vous avez accordé
au site et vous souhaitons une agréable journée.
_____________________________________________
IMPORTANT
Il est impératif dans toutes vos correspondances, d'indiquer le N° et la date de commande, ainsi que vos noms et prénoms.
Si tel n'est pas le cas, nous ne répondrons pas à votre email.
ça commence à prendre forme non ?? :rolleyes:
PS j'ai editer le message de la page precedente pour les fonctions à rajouter et je les ai corriger ... donc refaire le copier coller pour que ça marche
-
bonjour,
on attaque une nouvelle journée plein pot !!
premierement metre des valeurs dans peel_mail
INSERT INTO `peel_mail` VALUES (1, 'vide');INSERT INTO `peel_mail` VALUES (2, 'vide');
INSERT INTO `peel_mail` VALUES (3, 'vide');
INSERT INTO `peel_mail` VALUES (4, 'vide');
INSERT INTO `peel_mail` VALUES (5, 'vide');
INSERT INTO `peel_mail` VALUES (6, 'vide');
INSERT INTO `peel_mail` VALUES (7, 'vide');
INSERT INTO `peel_mail` VALUES (8, 'vide');
INSERT INTO `peel_mail` VALUES (9, 'vide');
alors dans le fichier envoie_email.php
il faut un peut adapter le code ... donc remplacement de tout le code d'hier par celui la dans envoie_email.php
<?include("../configuration.inc.php");
necessite_identification();
necessite_priv("admin");
$nick="peel";
$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");
/******************************************************************************
* FONCTIONS
*****************************************************************************/
function affiche_formulaire_ajout_mail() {
/* Affiche un formulaire vierge pour ajouter un tva*/
global $nick,$frm;
/* Valeurs par defaut */
$frm['nouveau_mode'] = "insere";
$frm[''] = "";
$frm['titre_bouton'] = "Ajouter";
affiche_formulaire_mail();
}
function affiche_formulaire_modif_mail(&$id) {
/* Affiche le formulaire de modification*/
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">
<?php
$sql="select nom_fr FROM peel_statut WHERE id = '".$frm[id]."' ";
$qid = mysql_query($sql);
$tt=mysql_fetch_array($qid);
?>
<td class="normal">nom du mail : <?php echo $tt['nom_fr']; ?>
</td>
</tr>
<tr><td colspan="2" height="1" bgcolor="#336699"><img src="/images/blank.gif" height="1"></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 maj_mail($id, $frm) {
global $nick;
/* Met a jour le tva$id avec de nouvelles valeurs. Les champs sont dans $frm */
/* Met a jour la table tva*/
$nom = addSlashes($frm['nom']);
$texte = addSlashes($frm['texte']);
$qid = mysql_query("UPDATE ".$nick."_mail SET texte = '$texte' WHERE id = '$frm[id]'");
}
function affiche_liste_mail($start)
{
global $nick;
//$qid = mysql_query("select * from ".$nick."_mail order by id asc ");
$qid = "
SELECT nom_fr as nom,texte,peel_statut.id as dd
FROM peel_mail,peel_statut
WHERE peel_mail.id=peel_statut.id
";
?>
<table border=0 cellpadding=0 cellspacing=1 width=100%>
<?
$result=mysql_query($qid);
if (mysql_num_rows($result) == 0) {echo "<tr><td class=normal><b>Aucune mail.</b></td></tr>"; }
else {
?>
<tr bgcolor="#6699ff">
<td class="menu">intitulé du statut de la commande</td>
<td class="menu">texte</td>
</tr>
<?
while ($ligne = mysql_fetch_array($result)) { ?>
<tr>
<td class=normal><a class=normal title="Modifier cette mail" href="<?=$_SERVER['PHP_SELF']?>?mode=modif&id=<?=$ligne['dd'] ?>"><?=$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 [ ]</span><br>";
$i="0";
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
echo "<span class=normal>".$row['Field']." </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 [ ]</span><br>";
$i="0";
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
echo "<span class=normal>".$row['Field']." </span>" ;
$i++;
if ( $i==8 )
{
echo "<br>";
}
if ( $i==16 )
{
echo "<br>";
}
}
}
}
?>
-
administrer .... je fatigue moi ....et c'est un fichier à créer
-
ha oui aussi des fonction à rajouter dans lib/fonctions
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 peel_commandes where id ='".$id."' "));
//echo $sql['id_utilisateur'];
$util=$sql['id_utilisateur'];
$zz="select email from peel_utilisateurs where id_utilisateur ='".$util."' ";
$ql=mysql_fetch_array(mysql_query($zz));
//echo $ql['email'];
$email = $ql['email'];
$sujet= "Information sur commande : ".$quoi;
mail($email,$sujet,$message,"FROM:$support");
}
function send_notif ($id,$cmd){
global $nick;
$res=remplace($id,$id);
email_vari($id,&$res,$cmd);
}
function remplace($id,$cmd){
global $nick;
$text=mysql_fetch_array(mysql_query("select texte from peel_mail where id ='$id'"));
$texte=$text['texte'];
$sql=mysql_query("select * from peel_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 peel_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 peel_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 peel_utilisateurs where id_utilisateur ='".$idd."' "));
$var[$zz].=$val[$tabchamps[$i]];
}
$modele2=strtr($modele1,$var);
return stripslashes($modele2);
}
remplacer le $nick par peel ....sinon c'est pas bon ou le mettre dans le fichier de configuration.inc.php
vous allez voir on va y arriver :rolleyes:
Mail de résumé de commande
dans Module PEEL Premium pour PEEL SHOPPING
Posté(e) · Signaler ce message
dans la fonction remplace($id,$cmd)
changer les lignes (y en a deux dans la fonction )
$var[$zz].=$val[$tabchamps[$i]];
par
$var[$zz].=vb($val[$tabchamps[$i]]);