Pages: 1
Bonsoir,
Après avoir cherché un peu partout, et utilisant PWG 1.6.2 chez FREE, le mod rvm ne fonctionnant pas, j'ai fait une petite manip pour que lorsqu'un visiteur désirant s'inscrire, pwg m'envoie un mail afin de lui octroyer les nouveaux droits. Comme ma galerie est complètement privée, J'ai dû également rajouter quelques champs dans le "register.tpl" car de juste avoir l'identifiant n'était pas très parlant pour accepter ou non l'inscription.
Voila pour compléter le formulaire du "register.tpl":
/////////////////////////////////// ////////////////////////find: <form method="post" action="{F_ACTION}" class="properties" name="register_form"> ///////////////////////////////////sujet du mail/////////////////////// ///////////////////add, after: <input type="hidden" name="subject" value="[enregistrement]"> ////////////////////////////////////////////////////////////////////// /////////////////find: <legend>{lang:Enter your personnal informations}</legend> <ul> /////////////////////////////////add, after: <li> <span class="property"> <label for="nom">{lang:Firstname}</label> </span> <input type="text" name="nom" id="nom" value="{F_NOM}" > </li> <li> <span class="property"> <label for="prenom">{lang:Lastname}</label> </span> <input type="text" name="prenom" id="prenom" value="{F_PRENOM}" > </li> //////////////////////////////////////////////
puis pour que tous les champs soient remplis, tout est obligatoire
Dans register.php:
////////////////////////////////////////////////////////// /////////////////////////// find $errors = array(); if (isset($_POST['submit'])) { if ($_POST['password'] != $_POST['password_conf']) { array_push($errors, $lang['reg_err_pass']); } ///////////////////////////////////////////////////////////// ///////////////////////////add, after: elseif($_POST['password'] == '') { array_push($errors, $lang['reg_err_pass']); } elseif($_POST['mail_address'] == '') { array_push($errors, $lang['reg_err_mail']); } elseif($_POST['nom'] == '') { array_push($errors, $lang['reg_err_nom']); } elseif($_POST['prenom'] == '') { array_push($errors, $lang['reg_err_prenom']); } //////////////////////////////////////////////////////////////////// ////////////////////////////find: 'F_ACTION' => 'register.php', /////////////////////////////////////////////////////////////// /////////////////////////add, after: 'F_NOM' => $nom, 'F_PRENOM' => $prenom, ///////////////////////////////////////////////////////////// ///////////////////////find: else { $errors = array_merge( $errors, register_user($_POST['login'], $_POST['password'], $_POST['mail_address']) ); ////////////////////////////////////////////////////////////// //////////////////////////////add, after if (count($errors) == 0) { $TO = "votremail@free.fr"; //// changer par l'adresse de contact qui vous intéresse $h = "From: " . $TO; $message = "Nouveau "; while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; } $message=stripslashes($message) ; mail($TO, $subject, $message, $h); } /////////////////////////////////////////////////////////////
Pour obliger à inscrire son adresse mail, j'ai utilisé ceci expliqué dans le wiki:
rendre l'email obligatoire à l'inscription
bon il ne vous reste plus qu'à compléter les fichiers de langue qui vont bien ...
Voila, j'ai fait des tests dans tous les sens, pas de problèmes; j'espère n'avoir rien oublié ... il ne me reste plus qu'a intégrer les champs "nom" et "prénom" dans la BDD et le menu administration.
C'est basique, mais c'est ce que je cherchais.
Bonne nuit,
Sébastien
Hors ligne
A première vue ça à l'air super.
Cette modification répond en partie à une de mes préocupations.
Je vais tester ça et pourquoi pas l'intégrer...
Il y aurait peut-être quelque chose à faire à ce sujet, en terme d'évolution. C'est à dire, créer tous ces champs (+ un, "commentaires") dans la version officielle, puis par les pages admin, ou le fichier $conf, permettre aux webmaster des les rendre obligatoire ou non ..
merci,
éric.
Dernière modification par vimages (2007-01-18 09:18:09)
Hors ligne
Il existe déjà 1 ou 2 fiche sur les mails obligatoires, etc...
Tu peux les enrichir si tu veux.
Sinon en 1.7, l'envoi de mail automatique au webmaster à la création d'un user a été inclus.
Hors ligne
vimages a écrit:
permettre aux webmaster des les rendre obligatoire ou non ..
...très bonne idée.
C'est étrange que personne n'ait songé à l'intégrer bien avant la 1.7???
Bon d'un autre côté, cela ne doit pas intéresser grand monde vu le peu d'info que l'on trouve sur le forum.
Par contre le mail que cela génère n'est vraiment pas beau, mais contient juste les info.
Enfin, patientons pour avoir une belle chose avec la 1.7
Bonne journée
Sébastien
Hors ligne
Merci Sébastien !
ça marche pil poil ! C'est adopté!
J'ai juste un peu mis mon grain de sel...
if (count($errors) == 0)
{
$TO = get_webmaster_mail_address(); <-- L'adresse du webmaster, c'est pas ton adresse?
$h = "From: " . $TO;
$message = "Nouveau ";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
$message=stripslashes($message) ;
$subject = $lang['A new user has been registered']; <-- car je crois que le sujet des messages étaient vide....
mail($TO, $subject, $message, $h);
}
En tout cas, tip top !
laurence
Dernière modification par lterras (2007-01-18 17:10:33)
Hors ligne
seb69 a écrit:
C'est étrange que personne n'ait songé à l'intégrer bien avant la 1.7???
Le manque de temps, d'autres priorités...
Le fait aussi qu'une fonction mail spécifique 1.6 n'est arrivé qu'en 1.6
...
seb69 a écrit:
Par contre le mail que cela génère n'est vraiment pas beau, mais contient juste les info.
Enfin, patientons pour avoir une belle chose avec la 1.7
Plus beau pas en 1.7, mais en 1.7, on aura la possibilité d'envoyer des mails en HTML...
Donc en 1.8 ou >, quelqu'un aura surement le temps ou l'envie de faire plus beau...
Et il a aussi des MOD qui sont intégrés en standard quand ils sont intéressants alors à bon entendeur... ;-)
Hors ligne
seb69 a écrit:
if (count($errors) == 0)
{
$TO = "votremail@free.fr"; //// changer par l'adresse de contact qui vous intéresse
$h = "From: " . $TO;
$message = "Nouveau ";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
$message=stripslashes($message) ;
mail($TO, $subject, $message, $h);
}
Par exemple ici au lieu de mail, tu utilises pwg_mail et tu intégres la fonction de pwg.
Tu peux donc virer les $to, les get_webmaster_mail_address, etc...
Hors ligne
merci je pouvoir améliorer ces bouts de code...
Pour Iteras, si j'avais mis ça
<input type="hidden" name="subject" value="[enregistrement]">
dans le formulaire pour avoir un sujet.
et
$TO = get_webmaster_mail_address(); <-- L'adresse du webmaster, c'est pas ton adresse?
et non, voila pourquoi !
Merci,
bonne soirée.
Sébastien
Dernière modification par seb69 (2007-01-18 19:48:24)
Hors ligne
Merci pour le petit complément, exactement ce dont j'avais besoin.
Maintenant un petit détail.
Quelle fonction (javascript ?) faut il modifier pour que le curseur arrive par défaut sur le champ prénom, qui est le premier maintenant, car par défaut c'est nom utilisateur qui est devenu le 3ème champ. Merci
Hors ligne
djalouk a écrit:
Merci pour le petit complément, exactement ce dont j'avais besoin.
Maintenant un petit détail.
Quelle fonction (javascript ?) faut il modifier pour que le curseur arrive par défaut sur le champ prénom, qui est le premier maintenant, car par défaut c'est nom utilisateur qui est devenu le 3ème champ. Merci
Ta ta page register.tpl tu as une ligne qui appel la fonction javascript qu'il te faut modifier.
Il n'y a qu'une seule ligne^^
Regardes sont fonctionnement et tu trouveras la solution (comme moi) pour changer la positions du curseur !
Si vraiment tu sèches je te donnerais la solution évidement !
++
[EDIT]
Par contre j'ai soit fait une boulette, soit trop de modifications nuises aux modifications car si j'arrive péniblement à recevoir un mail pour me signaler qu'un nouvelle usagé vient de s'inscrire, lorsque celui si finalise sa demande, juste parès avoir cliqué sur "Envoi", il m'apparait des messages d'erreur le temps que le page se stabilise.
J'ai réussi à faire une capture:
Au final tout marche, mais les messages d'erreurs ça cache toujours un disfonctionnement quelque part^^
De plus, le Webmaster en recevant le mail automatique, il reçoit aussi le mot de mot de passe en CLAIR !!!
C'est assez maladroit :S
while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; }
Ca doit venir de là non ?
...
Dernière modification par Gotcha (2007-05-08 19:46:35)
Hors ligne
Pages: 1