userinfo['userid']) { $message->error(_('Sorry, you are already registered.')); } if (!$bugsys->options['allownewreg']) { $message->error(_('Sorry, we don\'t allow new registrations.')); } if ($bugsys->in['email'] != $bugsys->in['confirmemail']) { $message->addError(_('The emails you entered do not match.')); } if ($bugsys->in['password'] != $bugsys->in['confirmpassword']) { $message->addError(_('The passwords you entered did not match.')); } if ($bugsys->options['verifyemail']) { $usergroupid = 3; } else { if ($bugsys->options['moderatenewusers']) { $usergroupid = 4; } else { $usergroupid = 2; } } $user = new UserAPI($bugsys); $user->set('email', $bugsys->in['email']); $user->set('displayname', $bugsys->in['displayname']); $user->set('password', $bugsys->in['password']); $user->set('showemail', $bugsys->in['showemail']); $user->set('showcolors', 1); $user->set('languageid', $bugsys->in['languageid']); $user->set('timezone', $bugsys->options['defaulttimezone']); $user->set('usergroupid', $usergroupid); if (!$message->hasErrors()) { $user->insert(); $userid = $user->insertid; // Verify email address if ($usergroupid == 3) { $activationid = $funct->rand(25); $db->query("INSERT INTO " . TABLE_PREFIX . "useractivation (userid, activator, dateline, usergroupid) VALUES ($userid, '$activationid', " . TIMENOW . ", 2)"); eval('$email = "' . $template->fetch('email/activateaccount.xml') . '";'); $email = $bugsys->xml->parse($email); $mail->setSubject($email['email']['subject']['value']); $mail->setBodyText($email['email']['bodyText']['value']); $mail->send($bugsys->in['email'], $bugsys->in['displayname']); $message->message(_('You now need to activate your account via email.')); } else if ($usergroupid == 4 OR $usergroupid == 2) { if ($bugsys->options['sendwelcomemail']) { $displayName = $bugsys->in['displayname']; eval('$email = "' . $template->fetch('email/welcome.xml') . '";'); $email = $bugsys->xml->parse($email); $mail->setSubject($email['email']['subject']['value']); $mail->setBodyText($email['email']['bodyText']['value']); $mail->send($bugsys->in['email'], $bugsys->in['displayname']); } if ($usergroupid == 4) { $message->message(_('Your account is pending approval.')); } else { $message->message(_('Thank you for registering. You may now use your account.')); } } } else { $_REQUEST['do'] = ''; $show['errors'] = true; } } // ################################################################### if (empty($_REQUEST['do'])) { if ($bugsys->userinfo['userid']) { $message->error(_('Sorry, you are already registered.')); } if (!$bugsys->options['allownewreg']) { $message->error(_('Sorry, we don\'t allow new registrations.')); } foreach ($bugsys->datastore['language'] AS $value => $temp) { $label = $temp['title']; $selected = ($value == $bugsys->in['languageid']); eval('$opts .= "' . $template->fetch('selectoption') . '";'); } eval('$template->flush("' . $template->fetch('register') . '");'); } // ################################################################### if ($_REQUEST['do'] == 'activate') { $bugsys->input_clean('userid', TYPE_UINT); if ($useractivation = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "useractivation WHERE userid = " . $bugsys->in['userid'] . " AND activator = '" . $bugsys->input_escape('activator') . "'")) { $user = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "user WHERE userid = " . $bugsys->in['userid']); $db->query("UPDATE " . TABLE_PREFIX . "user SET usergroupid = $useractivation[usergroupid] WHERE userid = " . $bugsys->in['userid']); $db->query("DELETE FROM " . TABLE_PREFIX . "useractivation WHERE userid = " . $bugsys->in['userid']); if ($bugsys->options['sendwelcomemail']) { $displayName = $user['displayname']; eval('$email = "' . $template->fetch('email/welcome.xml') . '";'); $email = $bugsys->xml->parse($email); $mail->setSubject($email['email']['subject']['value']); $mail->setBodyText($email['email']['bodyText']['value']); $mail->send($user['email'], $user['displayname']); } $message->message(_('Your account is now activated and you can now login.')); } else { $message->error(_('Sorry, we could not match your registration string. Please make sure you entered the correct URL.')); } } /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>