Exemple #1
0
    } else {
        // last few simple checks
        if (strlen($mobile_value) != 12) {
            $mobile_value = "";
        }
        if (substr($mobile_value, 0, 3) != "380") {
            $mobile_value = "";
        }
        // verify not empty and not used mobile number
        if ($mobile_value && mobile_not_used($mobile_value)) {
            $secret_code = safe_rand(100000, 999999);
            $_SESSION['mobile_value'] = $mobile_value;
            $_SESSION['mobile_code'] = $secret_code;
            // accept any +380 mobile w/o sms test
            if (!empty($settings['disable_sms_test'])) {
                set_test_passed('mobile');
                redirect('step4.php');
            }
            send_mobile_code($mobile_value, $secret_code);
            $mobile_code = "";
        } else {
            append_error("Цей номер телефону неможливо використати.");
            $mobile_value = "";
        }
    }
} else {
    /**
     * get mobile number from session if present
     */
    if (isset($_SESSION['mobile_value'])) {
        $mobile_value = $_SESSION['mobile_value'];
Exemple #2
0
 */
if ($_POST) {
    check_and_dec_limit('check_email_limit');
    $email_value = post_arg('email_input', 'strtolower', '/^[\\w\\d_\\-\\.]+@[\\w\\d\\-\\.]+\\.\\w+$/');
    $email_code = post_arg('email_code_input', 'intval');
    // if we on second step restore email from session
    if ($email_code && $_SESSION['email_value']) {
        $email_value = $_SESSION['email_value'];
    }
    /**
     * if email already sent
     */
    if (!empty($_SESSION['email_value']) && !empty($_SESSION['email_code'])) {
        // pass this test if user has entered correct code
        if ($email_code && $email_code == $_SESSION['email_code']) {
            set_test_passed('email');
            redirect('step3.php');
        } else {
            append_error("Код невірний");
            $email_code = "";
        }
    } else {
        // some checks before send code
        if (strlen($email_value) < 6) {
            $email_value = "";
        }
        if (strpbrk($email_value, " ,;'\"\t\n") !== false) {
            $email_value = "";
        }
        // verify not empty and not used email then send code
        if ($email_value && email_not_used($email_value)) {
Exemple #3
0
<?php

require "system/__init__.php";
require_test_pass('captcha', 'step1.php');
require_test_pass('email', 'step2.php');
require_test_pass('mobile', 'step3.php');
next_if_test_pass('vote', 'step5.php');
/**
 * Handle form data
 */
if ($_POST) {
    $keys = array();
    if (is_array($_POST['id'])) {
        $keys = array_keys($_POST['id']);
    }
    if ($keys) {
        $keys = filter_candidates($keys);
    }
    if (count($keys) < 1) {
        append_error("Ви не обрали жодного кандидата.");
    } elseif (count($keys) > get_selected_limit()) {
        append_error("Ви обрали більше ніж дозволено кандидатів.");
    } else {
        if (safe_save_vote($keys)) {
            set_test_passed('vote');
            redirect('step5.php');
        }
    }
}
require get_template('step4');
Exemple #4
0
}
/**
 * Handle form data
 */
if ($_POST) {
    $ukr_citizen = post_arg('ukr_citizen');
    $personal_data = post_arg('personal_data');
    $captcha_res = captcha_verify();
    $current_date = date('Y-m-d H:i:s');
    if (!$ukr_citizen) {
        append_error("Не підтверджена згода з правилами голосування.");
    }
    if (!$personal_data) {
        append_error("Немає згоди на обробку персональних даних.");
    }
    if (!$captcha_res) {
        append_error("Не пройдено тест на роботів!");
    }
    if ($current_date < $settings['open_elections_time']) {
        append_error("Вибори ще не розпочались.");
    }
    if ($current_date > $settings['close_elections_time']) {
        append_error("Вибори вже закінчились.");
    }
    if (empty($_ERRORS) && $ukr_citizen && $personal_data && $captcha_res) {
        init_user_session();
        set_test_passed('captcha');
        redirect('step2.php');
    }
}
require get_template('step1');