Advertisement:

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

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #40 on: January 29, 2016, 06:32:08 PM »
niveau procédure, me conseilles-tu
  • installer SMF à la place de l'ancien (je supprime l'ancien) et en gardant ma bdd SQL
  • installer le template Redsy (sur lequel je me suis basé)
  • installer tous les mods
  • modifier une copie de Redsy
  • modifier les fichiers du dossier "sources"
ou
  • installer SMF à la place de l'ancien (je supprime l'ancien) et en gardant ma bdd SQL
  • installer le template Redsy (sur lequel je me suis basé)
  • modifier une copie de Redsy
  • installer tous les mods
  • modifier les fichiers du dossier "sources"
?

pour rappel le forum à 7 ans et a eu plusieurs mises à jour, dont la dernière avec le large upgrade et repair_settings

Offline maximus23

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

Quand on garde une base correcte on remet simplement les fichiers du large upgrade sans les fichiers sql.

On remet le pack de langue adéquat.

Puis on remet les mods à l'identique et seulement après on remet son thème personnalisé configuré.

Donc simple à faire.

:)
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 #42 on: January 30, 2016, 05:15:29 AM »
Bonjour,
pour être sûr d'avoir bien compris, désolé de te solliciter mais là faut pas que je me rate lol
  • je fais une sauvegarde au cas où
  • je supprime tout sauf les fichiers .sql, le dossiers attachements et avatars
  • je renvoie le large uprgrade fraîchement téléchargé sans les .sql
  • je réinstalle la langue
  • je télécharge et réinstalle l'ensemble des mod
  • je remets mon thème
  • je remodifie les fichiers de "sources" avec implémentation des versions

l'intérêt de vouloir tout supprimer est que j'ai des dossiers dont je ne sais pas à quoi ils correspondent
  • genre dossier mgal_data alors qu'on n'a pas de galerie
  • dossier smfhacks_resources avec des fichiers .txt vides et un index.php avec juste
Code: [Select]
<?php
if (file_exists(dirname(dirname(__FILE__)) . '/index.php'))
include (dirname(dirname(__FILE__)) . '/index.php');
else
exit;
  • des dossiers tp-downloads, tp-files, tp-images c'est quoi ça ?
  • les fichiers agreement de toutes les langues

ça sent le printemps ;D

Offline maximus23

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

Somme toute c'est le large upgrade sans lancer l'upgrade :)

Les fichiers index de la sorte c'est normal c'est une sécurité.

Les fichiers Tp c'est pour un portail le TinyPortal.

Les dossiers mgal cela va avec le mod aeva ne pas les supprimer.

Dossier SmfHack cela vient de mods et il y en a quelques uns qui l'utilise.

:)



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 #44 on: January 30, 2016, 09:24:50 AM »
ok merci pour ces précisions.
je n'ai pas tinyPortal mais simplePortal > dossiers tp supprimés
je n'ai plus aeva (on ne l'a jamais utilisé, pas de trace dans le forum) > mgal supprimé (il n'y avait rien dedans)

du coup j'ai tout réinstallé sur un hébergement à part, ça va ça plante pas, pour le moment :D

j'ai retenté la souscription à un abonnement, toujours le pb d'encodage d'url :(
J'ai tenté avec le forum en français et en anglais.
là je comprends pas.
Soit ça vient de la bdd, soit d'un paramétrage chez paypal.

Je réinstalle un nouveau forum, avec une nouvelle bdd et on verra bien. :o

Offline DanielSan34

  • Jr. Member
  • **
  • Posts: 135
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #45 on: January 30, 2016, 10:24:42 AM »
dernier résultat de test de la journée, par ce que là j'en ai marre !

installe fraîche + nouvelle bdd + aucun mod + aucun thème
toujours l'erreur de l'URL de retour :(

j'ai tenté (on ne sait jamais) d'ajouter au fichier Subscriptions-PayPal.php :
Code: [Select]
<?php
$return_data['hidden']['return'] = utf8_encode($return_url);
$return_data['hidden']['charset'] = 'utf-8';
$return_data['hidden']['lc'] = 'FR';
$return_data['hidden']['rm'] = 1;
?>

donc à priori pas d'erreur de la part de SMF.

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,336
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #46 on: January 30, 2016, 11:56:33 AM »
Bonjour,

Voici le problème :

Encodage des point-virgule.

Fichier Sources/Profile-Actions.php

Chercher :

Code: [Select]
$fields = $gateways[$id]->fetchGatewayFields($context['sub']['id'] . '+' . $memID, $context['sub'], $context['value'], $period, $scripturl . '?action=profile;u=' . $memID . ';area=subscriptions;sub_id=' . $context['sub']['id'] . ';done');

Remplacer par :

Code: [Select]
$fields = $gateways[$id]->fetchGatewayFields($context['sub']['id'] . '+' . $memID, $context['sub'], $context['value'], $period, $scripturl . '?action=profile&u=' . $memID . '&area=subscriptions&sub_id=' . $context['sub']['id'] . '&done');

:)
« Last Edit: January 30, 2016, 12:24:52 PM 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 #47 on: January 30, 2016, 06:30:29 PM »
Code: [Select]
Paiement Effectué
Merci pour votre paiement. Une fois que la transaction aura été vérifiée, la souscription sera activée.
oh yeah merci ! pas bête l'astuce ;D ça avance bien !

Offline maximus23

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

Je pense que le principal est résolu  8)

Reste juste quelques détails à voir peut-être.

:)
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 #49 on: January 30, 2016, 07:05:11 PM »
bonsoir

carrément !
avant les admins recevaient une notification (celle dans laquelle je voulais insérer les champs perso)
je vais mater la bdd pour voir s'il n'y a pas un paramètre bizarre (comme les relance) qui fait qu'elles ne partent plus.
Pourtant avant chaque essai je me supprime de la liste ...
mais là déjà c'est bien, l'adhérent est informé de la bonne souscription, le reste est le pb de l'admin, pas le sien ;)

Offline maximus23

  • Local Moderator
  • SMF Super Hero
  • *
  • Posts: 11,336
  • Gender: Male
  • Smf 2.1 RC2
    • Smf Français Forum non Officiel
Re: taille d'un champ d'enregistrement dans abonnement payant
« Reply #50 on: January 30, 2016, 08:59:38 PM »
Bonsoir,

Ok tiens moi au courant pour la suite.

:)
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 #51 on: January 31, 2016, 04:24:23 AM »
Bonjour,

oh yeah ! J'ai enfin reçu une notification de paypal et du forum !

Il faut savoir qu'en utilisant le mode "test" (sandbox de paypal), le statut du paiement est en attente
[payment_status] => Pending au lieu de [payment_status] => Completed
ça change la donne ;D

D'autre part,
comme SMF utilise la method GET et POST, le champ "rm" doit-être sur 2
(par défaut il est à 0 s'il n'est pas renseigné, ce que fais SMF :o bizarre)
Donc dans le fichier Subscription-PayPal.php / function fetchGatewayFields(), j'ai rajouté
Code: [Select]
# V1.0
$return_data['hidden']['return'] = utf8_encode($return_url);
$return_data['hidden']['charset'] = 'utf-8';
$return_data['hidden']['lc'] = 'FR';

# rm
# 0 – all shopping cart payments use the GET method - default
# 1 – the buyer's browser is redirected to the return URL by using the GET method, but no payment variables are included
# 2 – the buyer's browser is redirected to the return URL by using the POST method, and all payment variables are included
$return_data['hidden']['rm'] = 2;

Je m'atèle à l'ajout des champs perso maintenant

@+

Offline maximus23

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

Ok logiquement cela ne doit pas poser problème.

Pour les retours "rm" il y a déjà eu des fluctuations de variable côté PayPal donc à chacun un peu de voir ce qu'il veut faire.

:)
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 #53 on: January 31, 2016, 06:21:09 AM »
Re,

alors ça avance.

L'ajout des champs perso dans le template d'email fonctionne :
*/ installation du mod' "Email Template Editor"
*/ ajout dans le fichier "EmailTemplateEditor.php", après "// Global Pre-Set Variables...",
dans le tableau $context['email_templates']['preset_variables']['global']
Code: [Select]
#V1 : ajout champs personnalisés
'custprenom' => '{CUST_PRENOM}',
'custnom' => '{CUST_NOM}',
'custetb' => '{CUST_ETB}',
'custrue' => '{CUST_RUE}',
'custcp' => '{CUST_CP}',
'custville' => '{CUST_VILLE}',
'custtel' => '{CUST_TEL}',

*/ puis création d'un email personnalisé "Paid Subscription New" (envoyé à l'admin)
Code: [Select]
{REALNAME},

{SUBNAME} ({SUBUSER}) a adhéré à {FORUMNAME}.
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}

Coordonnées
Prénom : {CUST_PRENOM}
Nom : {CUST_NOM}
Établissement : {CUST_ETB}
Rue : {CUST_RUE}
Code postal : {CUST_CP}
Ville : {CUST_VILLE}
Téléphone : {CUST_TEL}

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

{REGARDS}

sauf que c'est la modification dans subscriptions.php qui ne fonctionne pas ;D
après
Code: [Select]
// Send a receipt?
if (!empty($modSettings['paid_email']) && $modSettings['paid_email'] == 2 && $notify)
{

Code: [Select]
# récupération des champs perso
// global $context;
// loadMyCustomFields($memID, $area = 'summary'); // dans le fichier /Sources/Load.php
// ssi_loadMyCustomFields($area = 'summary'); // dans le fichiers /SSI.php
j'ai essayé les 2 appels de fonctions, l'une après l'autre, en vain.
Alors qu'elles fonctionnent dans un fichier test.php comme sus-conseillé.

et dans le tableau $replacements, ajout de
Quote
#ajout champs persos dans notification admin
'CUST_PRENOM'   => $context['mycustom_fields'][1]['value'],
'CUST_NOM'         => $context['mycustom_fields'][0]['value'],
'CUST_ETB'         => $context['mycustom_fields'][7]['value'],
'CUST_RUE'         => $context['mycustom_fields'][2]['value'],
'CUST_CP'         => $context['mycustom_fields'][4]['value'],
'CUST_VILLE'      => $context['mycustom_fields'][5]['value'],
'CUST_TEL'         => $context['mycustom_fields'][6]['value'],
j'ai remplacé $context['mycustom_fields'][2]['value'] par "2 rue de ma ville" et ça fonctionne.
Donc c'est $context['mycustom_fields'] qui pose problème ...

on va y arriver ! Merci de ton aide !

Offline maximus23

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

Seulement une seule déclaration de fonction.

Tu as bien ajouté la déclaration d'appel du fichier sans le ssi require profile-modify ?

Ton global n'est pas complet.

Le fichier test fonctionne bien ?

La fonction ssi doit-être seule : ssi_loadMyCustomFields();

 :)
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 #55 on: January 31, 2016, 06:37:17 AM »
en effet lorsque je suis retourné dans le fichier SSI.php, j'ai vu mon oublie
voici donc l'extrait de code, ma seule modif' dans ce fichier subscriptions.php
Code: [Select]
<?php
// Send a receipt?
if (!empty($modSettings['paid_email']) && $modSettings['paid_email'] == && $notify)
{
# récupération des champs perso
global $db_connection$modSettings$context$sc$user_info$topic$board$txt;
ssi_loadMyCustomFields();

$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),

#ajout champs persos dans notification admin
'CUST_PRENOM' => $context['mycustom_fields'][1]['value'],
'CUST_NOM' => $context['mycustom_fields'][0]['value'],
'CUST_ETB' => $context['mycustom_fields'][7]['value'],
// 'CUST_RUE' => "2 rue de ma ville",
'CUST_RUE' => $context['mycustom_fields'][2]['value'],
'CUST_CP' => $context['mycustom_fields'][4]['value'],
'CUST_VILLE' => $context['mycustom_fields'][5]['value'],
'CUST_TEL' => $context['mycustom_fields'][6]['value'],
);

emailAdmins('paid_subscription_new'$replacements$notify_users);
}
?>

Je ne comprends pas
Tu as bien ajouté la déclaration d'appel du fichier sans le ssi require profile-modify ?

oui le fichier test.php parfaitement
Code: [Select]
<?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');


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


// Exemple de l'appel de Fonction à mettre dans Subscriptions


global $db_connection$modSettings$context$sc$user_info$topic$board$txt;

ssi_loadMyCustomFields();

// echo "<pre>";
// print_r($context['mycustom_fields']);
// echo "</pre>";

for($i=0;$i<sizeof($context['mycustom_fields']);$i++){
echo $context['mycustom_fields'][$i]['name']." : ".$context['mycustom_fields'][$i]['value']."<br/>\n";
}

?>

Offline maximus23

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

Cela à l'air correct réessaye et dis moi si les variables passent :)

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 #57 on: January 31, 2016, 06:55:23 AM »
l'email n'est même pas envoyé :(

Offline maximus23

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

Regarde dans ton log smf le retour erreur le cas échéant. Donc vide ton log Smf avant le test.

:)
Tu retires la fonction et tu fais un test simple. donc tu mets des slash devant tout ce qui doit-être retiré.

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

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 #59 on: January 31, 2016, 07:16:49 AM »
http://mon-site.com/smf_fresh/index.php?action=profile;u=1;area=subscriptions;confirm
8: Undefined variable: memberContext
Fichier: /home/bdd_name/www/smf_fresh/Sources/Load.php
Ligne: 2828
fonction loadMyCustomFields
Code: [Select]
// Let's have some information about this member ready, too.
loadMemberContext($memID);
$context['member'] = $memberContext[$memID];


http://mon-site.com/smf_fresh/index.php?action=profile;u=1;area=subscriptions;confirm
8: Undefined variable: memID
Fichier: /home/bdd_name/www/smf_fresh/Sources/Subscriptions-PayPal.php
Ligne: 87
Code: [Select]
if ($context['user']['is_logged']){
loadMyCustomFields($memID, $area = 'summary');