Fork me on GitHub




« 1 (2) 3 »


Re: Inscription des nouveaux membres
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Bonjour squizzer22,

Bravo pour ton acharnement, tu ne laisse pas tomber et c'est super bien.

Au plus simple, la question est:

Dans quel fichier et dans qu'elle ligne est la fonction qui appel le pseudo {X_UNAME}et ensuite (vient juste de s'inscrire !)?

Une fois trouvé cela, je pense qu'il doit être facile d'ajouter Nom : {X_NAME}, EMail : {X_UEMAIL} et le reste.

Je pense que cela est dans un fichier du module/system... main lequel ?

Bonne journée

Posté le : 04/06/2007 05:57

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: Inscription des nouveaux membres
Aspirant
Inscrit: 21/07/2006 17:27
Messages: 24
Merci Eparcyl,

Il faut dire qu'avec ce qui se passe (voir autre sujets ...) je ne sais pas si mon acharnement n'est pas un peu vain ...

En ce qui concerne mon problème, en fait il me semble que tout se passe dans le fichier register.php

Au départ il y avait juste
Citation :
//$xoopsMailer->setBody(sprintf(_US_HASJUSTREG, $uname));


Avec la chaine _US_HASJUSTREG qui disait "vient juste de s'inscrire"

J'ai rajouté
Citation :
$xoopsMailer->setTemplate('newuser.tpl');
$xoopsMailer->assign('USERNAME', $uname);
$xoopsMailer->assign('NAME', $name);
$xoopsMailer->assign('USEREMAIL', $email);


Mais vu ce qu'il y a dans le code au dessus pour envoyer un email au nouveau membre, j'ai a peu près rajouté les mêmes lignes ... mais au lieu de m'envoyer un email avec les coordonnées du nouveau membre, ça envoie un email avec les coordonnées du destinataire (tous les webmasters)

Merci,

Squizzer.

Posté le : 04/06/2007 08:28
Partager Twitter Partagez cette article sur GG+
Re: Inscription des nouveaux membres
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Salut,
Regarde donc du coté de main.php du /modules/system/admin/findusers/
Y a p'être une chance que ce soit par là, vu que le membre n'a pas encor activer sa clé d'activation.
Encore une fois, je n'y connais rien, mais comme toi, j'm'accroche.....
Bonne soirèe

Posté le : 04/06/2007 18:52

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: Inscription des nouveaux membres
Aspirant
Inscrit: 30/05/2006 18:46
Messages: 84
Salut a vous et merci pour vous conseils car j essay de modifier ma page inscription ce que j ai fait a moitier

car une fois inscris sur le site je peut plus trouver le membre avec xoopsmember c dommage !!!!merci de vos conseils

Posté le : 06/06/2007 22:22

chez OVH version Xoops 2.0.16
Partager Twitter Partagez cette article sur GG+
Re: Inscription des nouveaux membres
Aspirant
Inscrit: 21/07/2006 17:27
Messages: 24
En fait j'ai modifié le template en mettant exactement le même nom de variable que dans register.php et ça marche !

Merci encore.

@hakim,
Est-ce que le membre a activé son compte ?

Posté le : 06/06/2007 23:36
Partager Twitter Partagez cette article sur GG+
Re: Inscription des nouveaux membres
Guest_
Bonjour et désolé de parasité le sujet mais euh le code
donc si je le reprends

la question m'a interressé mais je vous avoue que je m'y perds un peu au final quel code svp et où l'ajouter ? car j'ai perdu le fil dès le second code
Citation :
Le hack pour ajouter le champ "nom" ne marche pas chez moi

j'ai rajouté
$reg_form->addElement(new XoopsFormText(_US_REALNAME, "name", 30, 60, $myts->htmlSpecialChars($name)),true);
dans registerform.php
J'ai enfin ajouté
$newuser->setVar('name', $name, true);

et la réponse :

Citation :
il fallait rajouter

echo "<input type='hidden' name='name' value='".$myts->htmlSpecialChars($name)."' />";

après
echo "<form action='register.php' method='post'>
<input type='hidden' name='uname' value='".$myts->htmlSpecialChars($uname)."' />
<input type='hidden' name='email' value='".$myts->htmlSpecialChars($email)."' />";



oui mais euh où svp ? car pas doué! même si je bosse à comprendre quelque chose!
et question toute bete le formulaire avec menu déroulant il y aura au final l'image du loup en arriere plan?

merci!

Posté le : 10/06/2007 00:53
Partager Twitter Partagez cette article sur GG+
Re: Inscription des nouveaux membres
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Bonjour à tous

Pour Ice-raphael: tu dis que tu n'es pas doué... cela tombe bien.. moi non plus

Fais attention, j'espère que tu prépares ta modification sur un site test?.

Le mieux, avant de commencer quoi que ce soit, c'est de consulter la documentation ci-dessous, même si cela n'est pas vraiment conforme avec la version 2.0.16, cela donne une bonne idée des fichiers à adapter.

Modifier le formulaire d'inscription

C'est important de connaitre la méthode à apporter pour un simple ajout, car cela représente souvent de devoir ouvrir plusieurs fichiers et la base de donnée xoops_user, et pour trouver ce qui plante, n'est pas chose simple. (je sais de quoi je parle )

Bon dimanche

Posté le : 10/06/2007 05:49

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: Inscription des nouveaux membres
Guest_
Merci beaucoup eparcyl92, franchement sympa ,
bon je cours lire la doc que le lien cible.

pour un site test non je n'ai pas les moyens, j'ai juste un site chez ovh et là vu tout ce que j'essaie de faire je l'ai fermé temporairement et sauvegardé base + structure avant de tenter d'améliorer et d'essayer les codes.

si j'en trouve un sympa du style que je vois ici, euh je le donnerai brute mais euh mon niveau est si bas que je ne sais pas si cela intéressera quelqu'un!

mais en tout cas merci!!
et bon dimanche aussi moi je vais lire la doc!
et si je ne comprends pas, comme d'habitude je vous poserai des questions!



cordialement
Ice

Posté le : 10/06/2007 13:58
Partager Twitter Partagez cette article sur GG+
Re: Inscription des nouveaux membres
Aspirant
Inscrit: 21/07/2006 17:27
Messages: 24
Toutes les modifs ont été faites dans le fichier register.php que je reproduis ci-après.

Avec cette modif, le nom est obligatoire lors de l'inscription.

Citation :

<?php
// $Id: register.php 2 2005-11-02 18:23:29Z skalpa $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2000 XOOPS.org //
// <http://www.xoops.org/> //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// You may not change or alter any portion of this comment or credits //
// of supporting developers from this source code or any supporting //
// source code which is considered copyrighted (c) material of the //
// original comment or credit authors. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //

$xoopsOption['pagetype'] = 'user';

include 'mainfile.php';
$myts =& MyTextSanitizer::getInstance();

$config_handler =& xoops_gethandler('config');
$xoopsConfigUser =& $config_handler->getConfigsByCat(XOOPS_CONF_USER);

if (empty($xoopsConfigUser['allow_register'])) {
redirect_header('index.php', 6, _US_NOREGISTER);
exit();
}

function userCheck($uname, $email, $pass, $vpass)
{
global $xoopsConfigUser;
$xoopsDB =& Database::getInstance();
$myts =& MyTextSanitizer::getInstance();
$stop = '';
if (!checkEmail($email)) {
$stop .= _US_INVALIDMAIL.'<br />';
}
foreach ($xoopsConfigUser['bad_emails'] as $be) {
if (!empty($be) && preg_match("/".$be."/i", $email)) {
$stop .= _US_INVALIDMAIL.'<br />';
break;
}
}
if (strrpos($email,' ') > 0) {
$stop .= _US_EMAILNOSPACES.'<br />';
}
$uname = xoops_trim($uname);
switch ($xoopsConfigUser['uname_test_level']) {
case 0:
// strict
$restriction = '/[^a-zA-Z0-9\_\-]/';
break;
case 1:
// medium
$restriction = '/[^a-zA-Z0-9\_\-\<\>\,\.\$\%\#\@\!\\\'\"]/';
break;
case 2:
// loose
$restriction = '/[\000-\040]/';
break;
}
if (empty($uname) || preg_match($restriction, $uname)) {
$stop .= _US_INVALIDNICKNAME."<br />";
}
if (strlen($uname) > $xoopsConfigUser['maxuname']) {
$stop .= sprintf(_US_NICKNAMETOOLONG, $xoopsConfigUser['maxuname'])."<br />";
}
if (strlen($uname) < $xoopsConfigUser['minuname']) {
$stop .= sprintf(_US_NICKNAMETOOSHORT, $xoopsConfigUser['minuname'])."<br />";
}
foreach ($xoopsConfigUser['bad_unames'] as $bu) {
if (!empty($bu) && preg_match("/".$bu."/i", $uname)) {
$stop .= _US_NAMERESERVED."<br />";
break;
}
}
if (strrpos($uname, ' ') > 0) {
$stop .= _US_NICKNAMENOSPACES."<br />";
}
$sql = sprintf('SELECT COUNT(*) FROM %s WHERE uname = %s', $xoopsDB->prefix('users'), $xoopsDB->quoteString(addslashes($uname)));
$result = $xoopsDB->query($sql);
list($count) = $xoopsDB->fetchRow($result);
if ($count > 0) {
$stop .= _US_NICKNAMETAKEN."<br />";
}
$count = 0;
if ( $email ) {
$sql = sprintf('SELECT COUNT(*) FROM %s WHERE email = %s', $xoopsDB->prefix('users'), $xoopsDB->quoteString(addslashes($email)));
$result = $xoopsDB->query($sql);
list($count) = $xoopsDB->fetchRow($result);
if ( $count > 0 ) {
$stop .= _US_EMAILTAKEN."<br />";
}
}
if ( !isset($pass) || $pass == '' || !isset($vpass) || $vpass == '' ) {
$stop .= _US_ENTERPWD.'<br />';
}
if ( (isset($pass)) && ($pass != $vpass) ) {
$stop .= _US_PASSNOTSAME.'<br />';
} elseif ( ($pass != '') && (strlen($pass) < $xoopsConfigUser['minpass']) ) {
$stop .= sprintf(_US_PWDTOOSHORT,$xoopsConfigUser['minpass'])."<br />";
}
return $stop;
}
$op = !isset($_POST['op']) ? 'register' : $_POST['op'];
$uname = isset($_POST['uname']) ? $myts->stripSlashesGPC($_POST['uname']) : '';
$email = isset($_POST['email']) ? trim($myts->stripSlashesGPC($_POST['email'])) : '';
$url = isset($_POST['url']) ? trim($myts->stripSlashesGPC($_POST['url'])) : '';
$pass = isset($_POST['pass']) ? $myts->stripSlashesGPC($_POST['pass']) : '';
$vpass = isset($_POST['vpass']) ? $myts->stripSlashesGPC($_POST['vpass']) : '';
$timezone_offset = isset($_POST['timezone_offset']) ? intval($_POST['timezone_offset']) : $xoopsConfig['default_TZ'];
$user_viewemail = (isset($_POST['user_viewemail']) && intval($_POST['user_viewemail'])) ? 1 : 0;
$user_mailok = (isset($_POST['user_mailok']) && intval($_POST['user_mailok'])) ? 1 : 0;
$agree_disc = (isset($_POST['agree_disc']) && intval($_POST['agree_disc'])) ? 1 : 0;
switch ( $op ) {
case 'newuser':
if (!$GLOBALS['xoopsSecurity']->check()) {
echo implode('<br />', $GLOBALS['xoopsSecurity']->getErrors());
exit();
}
include 'header.php';
$stop = '';
if ($xoopsConfigUser['reg_dispdsclmr'] != 0 && $xoopsConfigUser['reg_disclaimer'] != '') {
if (empty($agree_disc)) {
$stop .= _US_UNEEDAGREE.'<br />';
}
}
$stop .= userCheck($uname, $email, $pass, $vpass);
if (empty($stop)) {
echo _US_USERNAME.": ".$myts->htmlSpecialChars($uname)."<br />";
echo _US_REALNAME.": ".$myts->htmlSpecialChars($name)."<br />";
echo _US_EMAIL.": ".$myts->htmlSpecialChars($email)."<br />";
if ($url != '') {
$url = formatURL($url);
echo _US_WEBSITE.': '.$myts->htmlSpecialChars($url).'<br />';
}
$f_timezone = ($timezone_offset < 0) ? 'GMT '.$timezone_offset : 'GMT +'.$timezone_offset;
echo _US_TIMEZONE.": $f_timezone<br />";
echo "<form action='register.php' method='post'>
<input type='hidden' name='uname' value='".$myts->htmlSpecialChars($uname)."' />
<input type='hidden' name='email' value='".$myts->htmlSpecialChars($email)."' />";
echo "<input type='hidden' name='name' value='".$myts->htmlSpecialChars($name)."' />";
echo "<input type='hidden' name='user_viewemail' value='".$user_viewemail."' />
<input type='hidden' name='timezone_offset' value='".(float)$timezone_offset."' />
<input type='hidden' name='url' value='".$myts->htmlSpecialChars($url)."' />
<input type='hidden' name='pass' value='".$myts->htmlSpecialChars($pass)."' />
<input type='hidden' name='vpass' value='".$myts->htmlSpecialChars($vpass)."' />
<input type='hidden' name='user_mailok' value='".$user_mailok."' />
<br /><br /><input type='hidden' name='op' value='finish' />".$GLOBALS['xoopsSecurity']->getTokenHTML()."<input type='submit' value='". _US_FINISH ."' /></form>";
} else {
echo "<span style='color:#ff0000;'>$stop</span>";
include 'include/registerform.php';
$reg_form->display();
}
include 'footer.php';
break;
case 'finish':
if (!$GLOBALS['xoopsSecurity']->check()) {
echo implode('<br />', $GLOBALS['xoopsSecurity']->getErrors());
exit();
}
include 'header.php';
$stop = userCheck($uname, $email, $pass, $vpass);
if ( empty($stop) ) {
$member_handler =& xoops_gethandler('member');
$newuser =& $member_handler->createUser();
$newuser->setVar('user_viewemail',$user_viewemail, true);
$newuser->setVar('uname', $uname, true);
$newuser->setVar('name', $name, true);
$newuser->setVar('email', $email, true);
if ($url != '') {
$newuser->setVar('url', formatURL($url), true);
}
$newuser->setVar('user_avatar','blank.gif', true);
$actkey = substr(md5(uniqid(mt_rand(), 1)), 0, 8);
$newuser->setVar('actkey', $actkey, true);
$newuser->setVar('pass', md5($pass), true);
$newuser->setVar('timezone_offset', $timezone_offset, true);
$newuser->setVar('user_regdate', time(), true);
$newuser->setVar('uorder',$xoopsConfig['com_order'], true);
$newuser->setVar('umode',$xoopsConfig['com_mode'], true);
$newuser->setVar('user_mailok',$user_mailok, true);
if ($xoopsConfigUser['activation_type'] == 1) {
$newuser->setVar('level', 1, true);
}
if (!$member_handler->insertUser($newuser)) {
echo _US_REGISTERNG;
include 'footer.php';
exit();
}
$newid = $newuser->getVar('uid');
if (!$member_handler->addUserToGroup(XOOPS_GROUP_USERS, $newid)) {
echo _US_REGISTERNG;
include 'footer.php';
exit();
}
if ($xoopsConfigUser['activation_type'] == 1) {
redirect_header('index.php', 4, _US_ACTLOGIN);
exit();
}
if ($xoopsConfigUser['activation_type'] == 0) {
$xoopsMailer =& getMailer();
$xoopsMailer->useMail();
$xoopsMailer->setTemplate('register.tpl');
$xoopsMailer->assign('SITENAME', $xoopsConfig['sitename']);
$xoopsMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
$xoopsMailer->assign('SITEURL', XOOPS_URL."/");
$xoopsMailer->setToUsers(new XoopsUser($newid));
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
if ( !$xoopsMailer->send() ) {
echo _US_YOURREGMAILNG;
} else {
echo _US_YOURREGISTERED;
}
} elseif ($xoopsConfigUser['activation_type'] == 2) {
$xoopsMailer =& getMailer();
$xoopsMailer->useMail();
$xoopsMailer->setTemplate('adminactivate.tpl');
$xoopsMailer->assign('USERNAME', $uname);
$xoopsMailer->assign('USEREMAIL', $email);
$xoopsMailer->assign('USERACTLINK', XOOPS_URL.'/user.php?op=actv&id='.$newid.'&actkey='.$actkey);
$xoopsMailer->assign('SITENAME', $xoopsConfig['sitename']);
$xoopsMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
$xoopsMailer->assign('SITEURL', XOOPS_URL."/");
$member_handler =& xoops_gethandler('member');
$xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['activation_group']));
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
if ( !$xoopsMailer->send() ) {
echo _US_YOURREGMAILNG;
} else {
echo _US_YOURREGISTERED2;
}
}
if ($xoopsConfigUser['new_user_notify'] == 1 && !empty($xoopsConfigUser['new_user_notify_group'])) {
$xoopsMailer =& getMailer();
$xoopsMailer->useMail();
$xoopsMailer->setTemplate('newuser.tpl');
$xoopsMailer->assign('USERNAME', $uname);
$xoopsMailer->assign('NAME', $name);
$xoopsMailer->assign('USEREMAIL', $email);
$xoopsMailer->assign('SITENAME', $xoopsConfig['sitename']);
$xoopsMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
$xoopsMailer->assign('SITEURL', XOOPS_URL."/");
$member_handler =& xoops_gethandler('member');
$xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['new_user_notify_group']));
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
$xoopsMailer->setFromName($xoopsConfig['sitename']);
$xoopsMailer->setSubject(sprintf(_US_NEWUSERREGAT,$xoopsConfig['sitename']));
//$xoopsMailer->setBody(sprintf(_US_HASJUSTREG, $uname));
$xoopsMailer->send();
}
} else {
echo "<span style='color:#ff0000; font-weight:bold;'>$stop</span>";
include 'include/registerform.php';
$reg_form->display();
}
include 'footer.php';
break;
case 'register':
default:
include 'header.php';
include 'include/registerform.php';
$reg_form->display();
include 'footer.php';
break;
}
?>


Il ne faut pas oublier de créer le fichier de template pour recevoir l'email d'inscription.

Squizzer.

Posté le : 10/06/2007 17:07
Partager Twitter Partagez cette article sur GG+
Re: Inscription des nouveaux membres
Guest_
Waouw!!!!

merci mais en regardant de plus prêt tu as carrément recrée le code complet !
franchement c'est super sympa !
Bon ok j'ai reprogrammé le fichier Citation :
register.phpCitation :


comme selon ton aide !
J'ai remplacé le tout par le code.


et ensuite,

dans Citation :
include/registerform.php


apres

Citation :
$avatar_tray->addElement($a_dir_label);
//}


je remplace si j'ai bien compris :

Citation :
$reg_form = new XoopsThemeForm(_US_USERREG, "userinfo", "register.php", "post", true);
$uname_size = $xoopsConfigUser['maxuname'] < 25 ? $xoopsConfigUser['maxuname'] : 25;
$reg_form->addElement(new XoopsFormText(_US_NICKNAME, "uname", $uname_size, $uname_size, $myts->htmlSpecialChars($uname)), true);
$reg_form->addElement($email_tray);
$reg_form->addElement(new XoopsFormText(_US_WEBSITE, "url", 25, 255, $myts->htmlSpecialChars($url)));
$tzselected = ($timezone_offset != "") ? $timezone_offset : $xoopsConfig['default_TZ'];
$reg_form->addElement(new XoopsFormSelectTimezone(_US_TIMEZONE, "timezone_offset", $tzselected));
//$reg_form->addElement($avatar_tray);


par

Citation :
$reg_form = new XoopsThemeForm(_US_USERREG, "userinfo", "register.php", "post", true);
$uname_size = $xoopsConfigUser['maxuname'] < 25 ? $xoopsConfigUser['maxuname'] : 25;
$reg_form->addElement(new XoopsFormText(_US_NICKNAME, "uname", $uname_size, $uname_size, $myts->htmlSpecialChars($uname)), true);
//Nullos
$reg_form->addElement(new XoopsFormText(_US_REALNAME, "name", 30, 60, $myts->htmlSpecialChars($name)));
$reg_form->addElement(new XoopsFormSelectGenre(_US_GENRE."*", "user_genre"), true);
$reg_form->addElement(new XoopsFormSelectTonage(_US_TONAGE."*", "user_tonage"), true);
$reg_form->addElement(new XoopsFormSelectzodiac(_US_STARSIGN."*", "user_starsign"), true);
$reg_form->addElement(new XoopsFormSelectOrientation(_US_ORIENTATION."*", "user_orientation"), true);
$reg_form->addElement(new XoopsFormSelectActive(_US_ACTIVE."*", "user_active"), true);
$reg_form->addElement(new XoopsFormSelectCherchant(_US_CHERCHANT."*", "user_cherchant"), true);Citation :


Mais pour faire un fichier template, par contre je suis un peu perdu! dslé! la doc parle de template mais celle du Template d'affichage du profil pas celui du email.

sur register php il est question de footer.php? est ce lui?

le fichier qui envois les emails, il n'est pas dans .../modules/system/admin/mailusers/?
car euh dans ce cas ni mailform.php, ni mailuser.php n'est ciblé dans register php
donc me suis dis que ces derniers sont pour envoyer des mails de masse !

donc dslé j'abuse mais euh le fichier template je le fais ou et comment? stp?


j'avais prévenu suis pas doué!!
mais pas du tout!



mais en tout cas je continue de chercher pour l'instant le code , j'ai changé la copie du register.php et celle de registerform.php
les originaux non modifiés sont toujours sur site.

en tout cas super merci.


cordialement
ice!

Posté le : 11/06/2007 00:05
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 (2) 3 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

8 Personne(s) en ligne (6 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 8 | Plus ...