Exemplo n.º 1
0
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();