if ($user->isNew()) {
$sql = sprintf("INSERT INTO %s (uid, uname,name,
firstname, email, ....
...... VALUES (%u, %s, %s,%s, %s, .....
..... $this->db->quoteString($uname), $this->db->quoteString($name),
$this->db->quoteString($firstname),
$this->db->quoteString($email),....
} else {
$sql = sprintf("UPDATE %s SET uname = %s, name = %s,firstname
= %s, email = %s .....
.... $this->db->quoteString($uname), $this->db->quoteString($name),$this->db->quoteString($firstname),
$this->db->quoteString($email), ....
5) Gestion du formulaire d'inscription
Fichier register.php
Partie case 'newuser':
Sous la ligne
echo "<input type='hidden' name='uname'
value='".$myts->makeTboxData4PreviewInForm($uname)."' />";
Ajoutez
echo "<input type='hidden' name='name'
value='".$myts->makeTboxData4PreviewInForm($name)."' />";
echo "<input type='hidden' name='firstname' value='".$myts->makeTboxData4PreviewInForm($firstname)."'
/>";
Partie case 'finish':
Sous la ligne
$newuser->setVar('uname', $uname);
Ajoutez
$newuser->setVar('name', $name);
$newuser->setVar('firstname', $firstname);
Testez maintenant l'enregistrement d'un membre.
6) Affichage du profil
Fichier userinfo.php
Sous les lignes
$xoopsTpl->assign('lang_realname', _US_REALNAME);
$xoopsTpl->assign('user_realname', $thisUser->getVar('name'));
Ajoutez
$xoopsTpl->assign('lang_firstname', _US_FIRSTNAME);
$xoopsTpl->assign('user_firstname', $thisUser->getVar('firstname'));
7) Template d'affichage du profil
Fichier system/templates/system_userinfo.html
En rajoutant
<tr>
<td class="head"><{$lang_firstname}></td>
<td align="center" class="odd"><{$user_firstname}></td>
</tr>
Metrre à jour le module systeme
Testez maintenant 'Voir son compte'
8) Editer son compte
Fichier edituser.php
Dans la partie
if ($op == 'saveuser') {
Sous la ligne
$edituser->setVar('name', $name);
Ajoutez
$edituser->setVar('firstname', $firstname);
Dans la partie
if ($op == 'editprofile') {
Sous les lignes
$name_text = new XoopsFormText(_US_REALNAME, 'name', 30, 60, $xoopsUser->getVar('name',
'E'));$form->addElement($name_text);
Ajoutez
$firstname_text = new XoopsFormText(_US_FIRSTNAME,
'firstname', 30, 60, $xoopsUser->getVar('firstname', 'E'));$form->addElement($firstname_text);
Testez maintenant 'Editer son compte'
9) Administration membre
Fichier modules/system/admin/users/userform.php
Au début, sous la ligne
$name_text = new XoopsFormText(_AM_NAME, "name",
30, 60, $name_value);
Ajoutez
$firstname_text = new XoopsFormText(_AM_FIRSTNAME,
"firstname", 30, 60, $firstname_value);
Vers la fin, sous la ligne
$form->addElement($name_text);
Ajoutez
$form->addElement($firstname_text);
10) Administration membre: fichier principal
Fichier modules/system/admin/users/main.php
Modifiez l'appel à la fonction updateUser
updateUser($uid, $uname, $name, $firstname,
$url, $email, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from,
$user_occ, $user_intrest, $user_viewemail, $user_avatar, $user_sig,
$attachsig, $theme, $pass, $pass2, $rank, $bio, $uorder, $umode, $notify_method,
$notify_mode, $timezone_offset, $user_mailok);
11) Administration : édition/mise à jour du
membre
Fichier modules/system/admin/users/users.php
function modifyUser($user)
Sous la ligne
$name_value = $user->getVar("name",
"E");
Ajoutez
$firstname_value = $user->getVar("firstname",
"E");
function updateUser
function updateUser($uid, $uname, $name,$firstname,
$url, $email, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from,
$user_occ, $user_intrest, $user_viewemail, $user_avatar, $user_sig,
$attachsig, $theme, $pass, $pass2, $rank, $bio, $uorder, $umode, $notify_method,
$notify_mode, $timezone_offset, $user_mailok)
puis sous la ligne
$edituser->setVar("name", $name);
Ajoutez
$edituser->setVar("firstname", $firstname);
12) Définition de langage
pour l'administration
Fichier modules/system/language/.../admin/users.php
define("_AM_FIRSTNAME","Prénom");
Testez maintenant ''Editer/effacer des membres'
Pour conclure
A partir de l'exemple ci-dessus, vous pourrez personnaliser
différemment ce formulaire d'inscription, mais vous devrez
pour celà posséder un minimum de connaissances sur les différentes classes
de formulaire de xoops, les instructions php, les requêtes sql.
