taille d'un champ d'enregistrement dans abonnement payant

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

Previous topic - Next topic

DanielSan34

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

maximus23

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

DanielSan34

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

maximus23

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

DanielSan34

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

DanielSan34

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 :

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

maximus23

#46
Bonjour,

Voici le problème :

Encodage des point-virgule.

Fichier Sources/Profile-Actions.php

Chercher :

$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 :

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


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

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 !

maximus23

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

DanielSan34

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 ;)

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

DanielSan34

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é

# 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

@+

maximus23

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

DanielSan34

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']
#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)
{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
// Send a receipt?
if (!empty($modSettings['paid_email']) && $modSettings['paid_email'] == 2 && $notify)
{


# 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 !

maximus23

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

DanielSan34

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
<?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
Quote from: maximus23 on January 31, 2016, 06:28:55 AM
Tu as bien ajouté la déclaration d'appel du fichier sans le ssi require profile-modify ?

oui le fichier test.php parfaitement
<?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";
}

?>

maximus23

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

DanielSan34


maximus23

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

DanielSan34

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
// 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
if ($context['user']['is_logged']){
loadMyCustomFields($memID, $area = 'summary');

Advertisement: