News:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu

taille d'un champ d'enregistrement dans abonnement payant

Started by DanielSan34, January 14, 2016, 04:31:43 AM

Previous topic - Next topic

DanielSan34

ouiii j'ai fait tout comme tu m'as dit.
Sauf que comme ça ne marchait pas, j'ai tenté autre chose ;D

maximus23

Bonsoir,

Bon là on a fait le tour tu pourrais faire un dernier test si tu peux sans bloquer ta carte. C'est de mettre la variable sur un champs qui est prédéfini pas un que tu as défini. ok ?Dis moi si tu sais encore le faire car après selon le résultat je vais m'attaquer à la fonction mail.

Donc sur name => $memberContext[$user_info['id']]['cfs'][0]['value'],  tout ce qui est cust tu retires pas de // devant retirer :)

Ok reste la fonction mail alors qui déconne je vais isoler la fonction mail qui se trouve elle dans subs-admin et faire une page test ssi avec cette fonction pour voir si le mail part avec les infos ou pas.
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

DanielSan34

Bonsoir,

ok merci.
j'ai fait ton test, email bien reçu mais le champ {name} est vide.

T'inquiète pas pour ma carte, j'ai trouvé un n° SOS carte bloquée 24H/24 7J/7 O:)

maximus23

Bonsoir,

Ok donc un truc de fou la variable ne veut pas passer mais elle est là.  :o

Bon je vais voir si l'email fonctionne en faisant passer les variables je vais donc faire un fichier test.

Je te tiens au courant là il me faut un peu de temps pour analyser tout cela.

Donc demain soir je pense sauf si un flash faisait son apparition lol :)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

DanielSan34

ok, je te remercies
bizarre cette fonction mail.
bonne soirée, @demain

maximus23

Bonsoir,

Moi ici les mails sont ok.

As tu bien fait la déclaration de tes variables dans le fichier EmailTempate.french.php ou EmailTempate.french-utf8.php  tu dois avoir un truc de ce genre pour que cela s'affiche sinon les champs sont vides.

'paid_subscription_new' => array(
/*
@additional_params: paid_subscription_new
NAME: Subscription title.
REALNAME: Recipients name
SUBEMAIL: Email address of the user who took out the subscription
SUBUSER: Username who took out the subscription.
SUBNAME: User's display name who took out the subscription.
DATE: Today's date.
PROFILELINK: Link to members profile.
@description:
*/
'subject' => 'Nouvelle souscription',
'body' => '{REALNAME},

Un membre s\'est abonné à votre forum. Voici les détails de cet abonnement :

Nom de l\'abonnement : {NAME}
Nom de l\'utilisateur : {SUBNAME} ({SUBUSER})
Son adresse e-mail : {SUBEMAIL}
Prix : {PRICE}
Date : {DATE}
Commune : {CUST_VILLE}
Rue : {CUST_RUE}
Code Postal : {CUST_CP}

Vous pouvez afficher le profil de cet utilisateur via le lien ci-dessous :
{PROFILELINK}

{REGARDS}',
),


Moi j'ai ajouté 3 champs pour tester vérifie bien cela.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

DanielSan34

Bonsoir,

j'utilise le mod EmailTemplateEditor.

Je viens de faire un essai comme toi, c'est vide.

maximus23

Bonsoir,

Je me demande si c'est pas ton mod Template editor qui met le souk.

Moi ici tout fonctionne pour tester en mode mail ceci :


<?php

// Start things rolling by getting SMF alive...
$ssi_guest_access true;
if (!
file_exists(dirname(__FILE__) . '/SSI.php'))
die('Cannot find SSI.php');

require_once(
dirname(__FILE__) . '/SSI.php');
require_once(
$sourcedir '/ManagePaid.php');
require_once(
$sourcedir '/Subs-Admin.php');


header'content-type: text/html; charset=utf-8' );





//   require_once('SSI.php'); si pas déclaré

   
$request $smcFunc['db_query']('''SELECT col_name, field_name, bbc, enclose FROM {db_prefix}custom_fields', array() );
   
$custom_fields = array();
   while (
$row $smcFunc['db_fetch_assoc']($request))
   {
      
$custom_fields[] = array(
         
'colname' => $row['col_name'],
         
'title' => $row['field_name'],
         
'bbc' => $row['bbc'],
         
'enclose' => $row['enclose'],
      );
   }
   foreach (
$custom_fields as $cf)
   {
      
$value $options[$cf['colname']];

      
$memberContext[$user_info['id']]['cfs'][] = array(
         
'title' => $cf['title'],
         
'colname' => $cf['colname'],
         
'value' => $value,
      );
   }
   
$custom_fields $memberContext[$user_info['id']]['cfs'];


// variable directe


echo  $memberContext[$user_info['id']]['cfs'][1]['title'];

echo 
' : ';

echo  
$memberContext[$user_info['id']]['cfs'][1]['value'];


$replacements = array(
'NAME' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'SUBNAME' => "raoul c'est cool",
'SUBUSER' => "daniel",
'SUBEMAIL' => "[email protected]",
'PRICE' => sprintf('&euro;''69'),
'PROFILELINK' => 'lien_profil',
'DATE' => 'demain',

'CUST_PRENOM' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'CUST_NOM' => $memberContext[$user_info['id']]['cfs'][2]['value'],
'CUST_ETB' => $memberContext[$user_info['id']]['cfs'][0]['value'],
'CUST_RUE' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'CUST_CP' => $memberContext[$user_info['id']]['cfs'][2]['value'],
'CUST_VILLE' => $memberContext[$user_info['id']]['cfs'][0]['value'],
'CUST_TEL' => $memberContext[$user_info['id']]['cfs'][1]['value'],
);

emailAdmins('paid_subscription_new'$replacements$notify_users);

echo 
'Mail Envoyé';

?>




Fichier Mail_test.php et tu testes à la racine sur un site ou tu es le seul membre lol
:)


Voici le mail que je reçois :

maximus23,

Un membre s'est abonné à votre forum. Voici les détails de cet abonnement :

   Nom de l'abonnement : Administrateur
   Nom de l'utilisateur : raoul sans printf c'est cool (daniel)
   Son adresse e-mail : [email protected]
   Prix : &euro;
   Date : demain
   Commune : Mons
   Rue : Ferrer 35
   Code Postal : 7000

Vous pouvez afficher le profil de cet utilisateur via le lien ci-dessous :
lien_profil

Cordialement,
L'équipe Test Smf

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

DanielSan34

ce fichier test fonctionne.

J'ai cru un moment que c'était par ce que ces champs n'étaient visibles que par l'admin et l'utilisateur ...
en faisant la modif' rien n'a changé

je viens de désinstallé le mod' EmailTemplateEditor, et souscrit un nouvel abonnement, les champs sont vides

en PJ mon fichier subscriptions.php

maximus23

Bonsoir,

Ton fichier attaché est bon.

Si ton fichier EmailTemplate est correct et que ton fichier mail test t'envoie bien l'email cela doit fonctionner ....:)

:)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

DanielSan34

c'est ça que je ne comprends pas.
je suis sur une install' fraîche de SMF, seul utilisateur, pas de mod', pas de template, juste le paquet french-utf8
sur le forum la seule chose qui a changé sont les champs perso et l'abonnement.

en pj mon fichier EmailTemplate
le fichier test_email.php fonctionne bien, j'ai l'affichage
QuotePrénom : DanielMail Envoyé
et l'email est bien reçu.

maximus23

Bonsoir,

Non ton fichier est correct du moins avec les trois champs à afficher.

De plus si tu reçois un mail test correct tout doit passer.

Là je ne vois pas comment tester autrement tout y est passé lol :)

On verra demain je regarderai un peu dans tout le forum si je trouve quelque chose.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

DanielSan34

okay merci pour tout
bonne nuit
function insomnie(off); >:D

DanielSan34

Bonjour,

je refais l'ensemble de la procédure sur un forum miroir,
le résultat est toujours le même :-[

maximus23

Bonjour,

Pour le moment à cours d'idée je donne ma langue au chat  ;D

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

DanielSan34

tu m'étonnes :D
trop bizarre tout ça.

je suis en train de faire une fonction totalement à part.
Je te tiens au jus.
Merci pour tout

maximus23

Bonjour,

On pourrait ajouter un global $memberContext; des deux côtés pour globaliser les variables.

Donc un avant :

$request = $smcFunc['db_query']('', 'SELECT col_name, field_name, bbc, enclose FROM {db_prefix}custom_fields', array() );

Dans le fichier suscriptions.

et en mettre un dans le fichier Subs-Admin

function emailAdmins($template, $replacements = array(), $additional_recipients = array())
{
global $smcFunc, $sourcedir, $language, $modSettings;



à ajouter à la fin du global déjà défini.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

DanielSan34

toujours rien >:D

et si on appelait test_mail.php dans subscriptions.php ?

maximus23

Bonjour,

Oui tu peux définir une fonction d'appel dans le fichier mail test qui s'exécuterait avant la fonction email normale.

Cela ne coute rien d'essayer.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

DanielSan34

arg, l'abonnement passe bien, l'email est bien envoyé ... mais vide

J'ai pourtant utilisé en plus une class PHP d'envoi d'email ( class.phpmailer.php - qui fonctionne, testé/approuvé à maintes reprises sur différents sites),
je ne passe donc pas par celle de SMF, c'est comme si tout se vidait avant l'envoi ...

là ça m'ennuie énormément car si tout se vide, je ne peux rien faire.
Je dois envoyer une facture à l'adhésion,
la génération de la facture PDF fonctionne,
l'attachement en pièce jointe fonctionne,
l'envoi de l'ensemble fonctionne.

Mais dès que je l'insère dans subscriptions.php ça ne fonctionne plus ppffff

Advertisement: