require_once ROOT_DIR . '/class.logger.php'; require_once ROOT_DIR . '/class.settings.php'; require_once ROOT_DIR . '/class.sessionmanager.php'; require_once ROOT_DIR . '/class.submission.php'; require_once ROOT_DIR . '/recaptchalib.php'; if (!SessionManager::i()->validateToken("RegisterToken", "token")) { Logger::i()->writeLog("Token to register is missing", 'dev'); echo Submission::createResult("Please refresh the page and try again"); die; } if (isset($_POST['registration'])) { $registration = (array) json_decode(base64_decode($_POST['registration'])); if ($field = Submission::checkFields(array("username", "email", "password", "repeat_password"), $registration)) { die(Submission::createResult(ucfirst($field) . " is missing or invalid")); } else { if (!Submission::checkEquality($registration['password'], $registration['repeat_password'])) { die(Submission::createResult("Passwords do not match")); } } if (!is_null(Settings::i()->captcha_private)) { if (!isset($registration['captcha_response'])) { die(Submission::createResult("Please validate the captcha")); } $reCaptcha = new ReCaptcha(Settings::i()->captcha_private); $resp = $reCaptcha->verifyResponse($_SERVER["REMOTE_ADDR"], $registration['captcha_response']); if (!$resp->success) { die(Submission::createResult("Please validate the Captcha")); } } $u = $registration['username']; $iv = Crypto::GenerateIV();