Thanks for the link (I just happen to see that it's far more useful with javascript enabled..

)
Quote:
and for the level attribute; level 1 is for people who are activated and level 0 is for those who are not. So everyone should be either a 0 or 1. Sometimes there are some greater than one, but the important thing is that they are greater than 0.
Ok, now it's crystal ! As I was inserting 2 as level value, I could have been waiting and coding a long time..
So now, the module behaves as expected ! I got to test it on a production server as I don't have mail function on my workstation. The next step is to get the process automatized at each registration.
With an Extra thanks to you, I guess it is solved now !
The user_add function code (if it can help someone) :
le="color: #000000"><?php function user_add($USER_INFOS) { global $xoopsConfig; include ('../../../mainfile.php'); include_once XOOPS_ROOT_PATH . '/kernel/user.php'; include_once XOOPS_ROOT_PATH . '/kernel/object.php'; include_once XOOPS_ROOT_PATH . '/include/functions.php'; $table = $this->xoopsDB->prefix('users'); $date = time(); $user_avatar = 'avatars/blank.gif'; $actkey = substr(md5(uniqid(mt_rand(), 1)), 0, 8); $theme = 'zetagenesis'; $member_handler =& xoops_gethandler('member'); $user =& $member_handler->createUser(); $user->setVar('name', $USER_INFOS['NAME'], true); $user->setVar('uname', $USER_INFOS['UNAME'], true); $user->setVar('pass', $USER_INFOS['PASS'], true); $user->setVar('email', $USER_INFOS['EMAIL'], true); $user->setVar('url', $USER_INFOS['URL'], true); $user->setVar('user_avatar', $user_avatar, true); $user->setVar('user_regdate', $date, true); $user->setVar('user_icq', $USER_INFOS['USER_ICQ'], true); $user->setVar('actkey', $actkey, true); $user->setVar('user_aim', $USER_INFOS['USER_AIM'], true); $user->setVar('user_yim', $USER_INFOS['USER_YIM'], true); $user->setVar('user_msnm', $USER_INFOS['USER_MSNM'], true); $user->setVar('theme', $theme, true); $user->setVar('bio', '', true); $user->setVar('uorder', $xoopsConfig['com_order'], true); $user->setVar('umode', $xoopsConfig['com_mode'], true); $user->setVar('level', 0); // admin activation if($member_handler->insertUser($user)) { $sql = 'SELECT uid FROM ' . $table . ' WHERE uname = '' . $USER_INFOS['UNAME'] . '';'; $result = $this->xoopsDB->queryF($sql); while($row = $this->xoopsDB->fetchRow($result)) { foreach($row as $value) { $UID = (int)$value; } } $XoopsMemberShip =& $member_handler->addUserToGroup(2, $UID); // admin mail $xoopsMailer =& xoops_getMailer(); $xoopsMailer->reset(); $xoopsMailer->useMail(); $xoopsMailer->setTemplate('adminactivate.tpl'); $xoopsMailer->assign('USERNAME', $user->getVar('uname')); $xoopsMailer->assign('USEREMAIL', $user->getVar('email')); $xoopsMailer->assign('USERACTLINK', XOOPS_URL . "/modules/" . $GLOBALS['xoopsModule']->getVar('dirname', 'n') . '/activate.php?id=' . $user->getVar('uid') . '&actkey=' . $user->getVar('actkey', 'n')); $xoopsMailer->assign('SITENAME', $GLOBALS['xoopsConfig']['sitename']); $xoopsMailer->assign('ADMINMAIL', $GLOBALS['xoopsConfig']['adminmail']); $xoopsMailer->assign('SITEURL', XOOPS_URL . "/"); $xoopsMailer->setToGroups($member_handler->getGroup($GLOBALS['xoopsConfigUser']['activation_group'])); $xoopsMailer->setFromEmail($GLOBALS['xoopsConfig']['adminmail']); $xoopsMailer->setFromName($GLOBALS['xoopsConfig']['sitename']); $xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $user->getVar('uname'))); if (!$xoopsMailer->send()) { $_SESSION['profile_post']['_message_'] = 2; } else { $_SESSION['profile_post']['_message_'] = 3; } } else { //user not created successfully, you can perhaps get error messages with this: $errors_array = $user->getErrors(); } }