/** * Making new User to register. * @param RegisterFO $fo * @return User */ private function makeUser(RegisterFO $fo) { $user = new User(); $user->setLogin($fo->getLogin()); $user->setFirstname($fo->getFirstname()); $user->setLastname($fo->getLastname()); $user->setEmail($fo->getEmail()); $user->setPassword($fo->getPassword()); $user->setGender($fo->getGender()); $user->setBirthdate($fo->getBirthdate()); $user->setLatestIP(null); $user->setLastActive(null); $user->setActivation($this->makeActivationHash($user)); return $user; }
public static function register() { $email = Core::validate(self::getVar('email')); $pass = Core::validate(self::getVar('password')); $captcha = Core::validate(self::getVar('captcha')); if ($email == null || $pass == null || $captcha == null) { Core::printErrorJson('Incorrect data input'); return; } $right_code = Session::getSessionVariable('security_code'); Session::unsetSessionVariable('security_code'); if ($captcha != $right_code) { Core::printErrorJson('Incorrect captcha'); return; } if (!Core::isEmailAddress($email)) { Core::printErrorJson('Incorrect email'); return; } if (User::isExist($email, $email)) { Core::printErrorJson('User ' . $email . ' is already registered.'); return; } $usr = new User(); $usr->setLogin($email); $usr->setEmail($email); $usr->setDate(date("Y-m-d H:i:s")); $usr->setActivation(0); $usr->setPassHash(Core::calculateHash($pass)); $usr->insert(); $activationCode = self::calcActivationCode($usr); $activationUrl = "http://" . $_SERVER['SERVER_NAME'] . "/usr/activation?login="******"&code=" . $activationCode; $subject = Core::translateToCurrentLocale("Registration confirmation") . "."; $header = '<h1>' . Core::translateToCurrentLocale("Hello") . ', </h1> <p class="lead">' . Core::translateToCurrentLocale("you have registered on the Bitmonex website") . '.</p>' . '<p>' . Core::translateToCurrentLocale("Your login is") . ': ' . $email . '</p><p>' . Core::translateToCurrentLocale("Your password is") . ': ' . $pass . '</p>'; $body = '<p>' . Core::translateToCurrentLocale("To confirm your registration, please click on this link") . '. <a href="' . $activationUrl . '">' . Core::translateToCurrentLocale("Activate") . '!</a></p>'; $message = self::getMessage($header, $body); if (!Core::send_mail($email, $subject, $message)) { $usr->delete(); Core::printErrorJson('Notification email is not send.'); return; } $result['success'] = 1; print json_encode($result); }