Advertisement:

Author Topic: taille d'un champ d'enregistrement dans abonnement payant  (Read 20084 times)

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #60 on: January 31, 2016, 07:25:39 AM »
Bonjour,

Tu as mis la fonction dans load et ssi ? elle est dupliquée... celle du load tu retires car tu utilises celle du ssi.

Tu as bien mis require Profile-Modify dans le fichier SSI après require Security ?

Fais le test indiqué au dessus :)

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...

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #61 on: January 31, 2016, 08:10:23 AM »
Bonjour,

Bon là je dois m'absenter un moment le plus important est le test avec une variable comme indiqué le reste ne sera pas compliqué.

:)
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...

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #62 on: January 31, 2016, 08:19:00 AM »
en effet j'avais 2 fonctions, mais avec des noms différents,
m'enfin l'appel de ssi_loadMyCustomFields() via le fichier Subscriptions-PayPal.php me provoque une page blanche, sans log SMF

j'ai bien
Code: [Select]
require_once($sourcedir . '/Security.php');
require_once($sourcedir . '/Profile-Modify.php');

ok moi aussi vais prendre l'air, @tout et bonne aprem'

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #63 on: January 31, 2016, 10:28:17 AM »
Bonjour,

Fais le test de variable :

Tu retires la fonction dans le fichier subscriptions et tu fais un test simple.

Pour faire un test ajoute au début de ton fichier donc après loadLanguage('ManagePaid'); une déclaration de variable par ex : $test_rue ='ma rue'; et tu mets la variable dans un champ de récupération de ton mail pour savoir si la variable passe

Par exemple : 'CUST_RUE'      => $test_rue,

Si cela passe on va faire juste une petite modif.

:)
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...

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #64 on: January 31, 2016, 03:24:28 PM »
Bonsoir,

dans Subscriptions-PayPal.php,
en utilisant seulement la fonction ssi_loadMyCustomFields(); avec
Code: [Select]
global $db_connection, $modSettings, $context, $sc, $user_info, $topic, $board, $txt;j'ai une page blanche et aucune erreur dans le log SMF

si par contre j'utilise la fonction
Code: [Select]
global $db_prefix, $context, $txt, $user_profile, $smcFunc, $user_info, $settings, $scripturl;
loadMyCustomFields($memID, $area = 'summary'); // fichier /Sources/Load.php
là la page d'abonnement s'affiche bien avec le formulaire en entier

sauf que ça génère 2 erreurs :
  • Undefined variable: memberContext dans Load.php
  • Undefined variable: memID dans Subscriptions-PayPal.php

en ajoutant $memID avant l'appel de la fonction dans Subscriptions-PayPal.php
Code: [Select]
$memID = $context['user']['id'];
loadMyCustomFields($memID, $area = 'summary'); // fichier /Sources/Load.php

ça génère une seule erreur :
  • Undefined variable: memberContext dans Load.php
si je rajoute $memberContext dans la liste des global de la fonction loadMyCustomFields() de Load.php
je n'ai plus d'erreur dans le log SMF.

je fais donc un essai d'abonnement ... ET TU SAIS QUOI ?
Ma carte bancaire est bloquée !
J'peux plus faire d'essai ! ;D >:( :( ;D ;D ;D

raz le bol de cette histoire lol

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #65 on: January 31, 2016, 04:06:04 PM »
Bonsoir,

Quelle idée tu as peut-être une limite de transaction par jour quelque soit le montant.

Moi le test que j'aurais voulu que tu fasses est celui de la variable comme indiqué dans les postes précédent le reste ce n'est pas grave juste un détail à ajuster. Le plus important est de savoir si la variable passe comme demandé.

:)
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...

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #66 on: January 31, 2016, 04:27:49 PM »
vivi, la variable été bien placée, c'est juste que j'avais une page blanche avec les fonctions.
demain je fais un test et j'irai auquel cas à la banque ...

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #67 on: January 31, 2016, 04:53:26 PM »
Bonsoir,

Ok mais juste un test avec la variable au début du fichier subscriptions et rien d'autre pour savoir si tu la récupères bien dans le mail.

Après on verra la suite.

En attendant repose toi ce sera une bonne chose moi j'ai pas le choix 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...

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #68 on: January 31, 2016, 05:20:36 PM »
le mail n'est envoyé que lorsque le paiement est validé ;)
repos forcé ;)

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #69 on: February 01, 2016, 10:44:35 AM »
Bonjour,

ça y est, pb de cb résolu ;D
j'ai pu faire un test, qui fonctionne, notification envoyée à l'admin et la variable indiquée est bien insérée !

pour rappel, en début de fichier subscriptions.php
Code: [Select]
loadLanguage('ManagePaid');
$test_rue ='ma rue';

et dans la portion de code liée à l'envoi de l'email (après // Send a receipt? ),
sans la fonction ssi_loadMyCustomFields() ni loadMyCustomFields
Quote
$replacements = array(
[...]
'CUST_RUE'      => $test_rue,);

 :D

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #70 on: February 01, 2016, 11:10:32 AM »
Bonjour,

Alors ok c'est simple tu inserts la fonction ou tu as mis la variable.

Code: [Select]
loadLanguage('ManagePaid');

global $db_prefix, $context, $txt, $user_profile, $smcFunc, $user_info, $settings, $scripturl, $memberContext ;
ssi_loadMyCustomFields($memID, $area = 'summary');

Tu déclares des variables pour le $context donc on aura

Code: [Select]
$rue = $context['mycustom_fields'][1]['value'];
$rue = trim($rue);

donc reste plus qu'a mettre :

Code: [Select]
'cust_rue' => $rue,
Voilà tu testes le minimum pour voir si c'est bon et si c'est ok tu fais le même pour le reste.

Dis moi ce qu'il en est :)

Vérifie que le fichier test fonctionne correctement.

« Last Edit: February 01, 2016, 11:22:16 AM by maximus23 »
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...

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #71 on: February 01, 2016, 11:34:15 AM »
Bonjour,

en faisant ce que tu m'as dit, le statut du paiement est "en attente", donc pas d'email envoyé.
(j'ai refait le test précédent pour être sûr)

$memID est-il déclaré en amont ?

voici ce que j'ai en début de fichier subscriptions.php
Code: [Select]
// 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');

// For any admin emailing.
require_once($sourcedir . '/Subs-Admin.php');

loadLanguage('ManagePaid');

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #72 on: February 01, 2016, 12:30:03 PM »
avec

Code: [Select]
# récupérationd des champs perso pour insértion dans notification admin
global $db_prefix, $context, $txt, $user_profile, $smcFunc, $user_info, $settings, $scripturl, $memberContext ;
$memID = $context['user']['id'];
ssi_loadMyCustomFields($memID, $area = 'summary'); // fichier /SSI.php
c'est pareil

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #73 on: February 01, 2016, 12:50:28 PM »
Bonsoir,

Quand tu exécutes le fichier subscritions directement tu dois avoir le même que ton fichier test avec un arrêt sur données d'entrée.

Donc à tester avec un echo sur une variable.

:)
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...

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #74 on: February 01, 2016, 01:03:54 PM »
Code: [Select]
loadLanguage('ManagePaid');
global $db_prefix, $context, $txt, $user_profile, $smcFunc, $user_info, $settings, $scripturl, $memberContext ;
ssi_loadMyCustomFields($memID, $area = 'summary');

en fait c'est ssi_loadMyCustomFields(); plutôt ;D
et oui si je fais
Code: [Select]
for($i=0;$i<sizeof($context['mycustom_fields']);$i++){
echo $context['mycustom_fields'][$i]['name']." : ".$context['mycustom_fields'][$i]['value']."<br/>\n";
}
ça affiche bien les variables.

Je pense qu'il doit se passer quelque chose car chaque fois le statut du paiement se met en attente au lieu de confirmé.

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #75 on: February 01, 2016, 01:18:34 PM »
Bonsoir,

Encore un truc de dingue lol :)

Bon ne bloque pas ta carte inutilement un peu de patience je regarde une autre piste en output direct pour voir ce qu'il en est un peu de patience :)
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...

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #76 on: February 01, 2016, 01:57:50 PM »
Bonsoir,

Bon tu retires tout ce qui est fonction etc .....On fait tout simple

Voila tu mets cela dans ton fichier test pour voir comment cela fonctionne.

Code: [Select]
   $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'];


Puis tu intègres cela directement dans ta fonction d'envoi de mail le code complet et bien sur l'adaptation des variables.

Tu testes et tu me dis si cela est bon :)
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...

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #77 on: February 01, 2016, 02:20:03 PM »
Bonsoir,

Cela te donne ceci pour ta suscriptions.php


Code: [Select]
// Send a receipt?
if (!empty($modSettings['paid_email']) && $modSettings['paid_email'] == 2 && $notify)
{


$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'];

$replacements = array(
'NAME' => $subscription_info['name'],
'SUBNAME' => $member_info['member_name'],
'SUBUSER' => $member_info['real_name'],
'SUBEMAIL' => $member_info['email_address'],
'PRICE' => sprintf($modSettings['paid_currency_symbol'], $total_cost),
'PROFILELINK' => $scripturl . '?action=profile;u=' . $member_id,
'DATE' => timeformat(time(), false),
'CUST_PRENOM' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'CUST_NOM' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'CUST_ETB' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'CUST_RUE' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'CUST_CP' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'CUST_VILLE' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'CUST_TEL' => $memberContext[$user_info['id']]['cfs'][1]['value'],
);

emailAdmins('paid_subscription_new', $replacements, $notify_users);
}

Cela et rien d'autre.

Avec le fichier test tu fais un print_r pour avoir les bonnes valeurs de retour de ton tableau.

:)
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...

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #78 on: February 01, 2016, 03:16:19 PM »
Bonsoir,

alors le paiement est bien confirmé, l'email bien envoyé mais pourtant les champs sont vides :(

Pourtant en insérant ce code en haut du fichier subscriptions.php,
en affichant direct les variables, ça marche.



Lorsqu'en haut je les associe
Code: [Select]
$prenom = $memberContext[$user_info['id']]['cfs'][1]['value'];
puis en bas
Code: [Select]
'CUST_PRENOM' => $memberContext[$user_info['id']]['cfs'][1]['value'],c'est vide >:D
c'est à n'y rien comprendre ! Et à perdre le peu de cheveux qu'il nous reste O0



Du coup j'ai fait un autre test, dans la fonction d'envoi d'email :
Code: [Select]
$replacements = array(
'NAME' => $subscription_info['name'],
'SUBNAME' => $member_info['member_name'],
'SUBUSER' => $member_info['real_name'],
'SUBEMAIL' => $member_info['email_address'],
'PRICE' => sprintf($modSettings['paid_currency_symbol'], $total_cost),
'PROFILELINK' => $scripturl . '?action=profile;u=' . $member_id,
'DATE' => timeformat(time(), false),
'CUST_PRENOM' => $memberContext[$user_info['id']]['cfs'][1]['value'],
'CUST_NOM' => $memberContext[$user_info['id']]['cfs'][0]['value'],
'CUST_ETB' => trim($memberContext[$user_info['id']]['cfs'][7]['value']),
'CUST_RUE' => $memberContext[$user_info['id']]['cfs'][2]['value'],
// 'CUST_CP' => $memberContext[$user_info['id']]['cfs'][4]['value'],
'CUST_CP' => "test de code postal",
'CUST_VILLE' => $memberContext[$user_info['id']]['cfs'][5]['value'],
'CUST_TEL' => $memberContext[$user_info['id']]['cfs'][6]['value'],
);


et l'email reçu :
Quote
Coordonnées
Prénom :
Nom :
Établissement :
Rue :
Code postal : test de code postal
Ville :
Téléphone

honnêtement je suis perdu, y'a un loup quelque part ...

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,332
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #79 on: February 01, 2016, 03:21:52 PM »
Bonsoir,

En haut ?

Tu as bien mis le code comme indiqué dans // Send a receipt? ?

:)
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...