Exemplo n.º 1
0
function px_verify_view_registration_page()
{
    global $errors;
    $http_post = 'POST' == $_SERVER['REQUEST_METHOD'];
    if ($http_post) {
        $action = $_POST['wp-submit'];
        $code = esc_attr($_POST['purchase_code']);
        $verify = px_verify_purchase($code);
        if ($action == 'Register') {
            if (!is_wp_error($verify)) {
                $user_login = $_POST['user_login'];
                $user_email = $_POST['user_email'];
                $errors = register_new_user($user_login, $user_email);
                if (!is_wp_error($errors)) {
                    $user_id = $errors;
                    $pxarr1 = px_verify_globals(1);
                    $pxarr2 = px_verify_globals(2);
                    $pxarr2 = array_keys($pxarr2);
                    if ($verify['px_envato_item'] == $pxarr1['item1']) {
                        wp_update_user(array('ID' => $user_id, 'role' => $pxarr2[0]));
                    } else {
                        if ($verify['px_envato_item'] == $pxarr1['item2']) {
                            wp_update_user(array('ID' => $user_id, 'role' => $pxarr2[1]));
                        } else {
                            wp_update_user(array('ID' => $user_id, 'role' => 'bbp_blocked'));
                        }
                    }
                    do_action('px_verifier_user_registration', $user_id, $verify);
                    update_user_meta($user_id, 'px_envato_username', $verify['px_envato_username']);
                    update_user_meta($user_id, 'px_envato_purchase_date', $verify['px_envato_purchase_date']);
                    update_user_meta($user_id, 'px_envato_purchase_code', $verify['px_envato_purchase_code']);
                    update_user_meta($user_id, 'px_envato_license', $verify['px_envato_license']);
                    update_user_meta($user_id, 'px_envato_item', $verify['px_envato_item']);
                    update_user_meta($user_id, 'px_envato_support_amount', $verify['px_envato_support_amount']);
                    update_user_meta($user_id, 'px_envato_support_until', $verify['px_envato_support_until']);
                    $redirect_to = 'wp-login.php?checkemail=registered';
                    wp_safe_redirect($redirect_to);
                    exit;
                } else {
                    px_verify_view_registration_form($errors, $verify);
                }
            } else {
                px_verify_view_verification_form($verify);
            }
        } elseif ($action == 'Verify') {
            if (!is_wp_error($verify)) {
                px_verify_view_registration_form($errors, $verify);
            } else {
                px_verify_view_verification_form($verify);
            }
        }
    } else {
        px_verify_view_verification_form();
    }
    px_verify_custom_style();
    exit;
}
Exemplo n.º 2
0
function px_verify_view_registration_page()
{
    global $errors;
    $http_post = 'POST' == $_SERVER['REQUEST_METHOD'];
    if ($http_post) {
        $action = $_POST['wp-submit'];
        $code = esc_attr($_POST['purchase_code']);
        $verify = px_verify_purchase($code);
        if ($action == 'Register') {
            if (!is_wp_error($verify)) {
                $user_login = $_POST['user_login'];
                $user_email = $_POST['user_email'];
                $errors = register_new_user($user_login, $user_email);
                if (!is_wp_error($errors)) {
                    $user_id = $errors;
                    if ($verify['px_envato_item'] == 'WordPress Blog Android App') {
                        wp_update_user(array('ID' => $user_id, 'role' => 'px_wpba_customer'));
                    } else {
                        if ($verify['px_envato_item'] == 'WP Google Cloud Messaging') {
                            wp_update_user(array('ID' => $user_id, 'role' => 'px_wpgcm_customer'));
                        } else {
                            wp_update_user(array('ID' => $user_id, 'role' => 'participant'));
                        }
                    }
                    update_user_meta($user_id, 'px_envato_username', $verify['px_envato_username']);
                    update_user_meta($user_id, 'px_envato_purchase_date', $verify['px_envato_purchase_date']);
                    update_user_meta($user_id, 'px_envato_purchase_code', $verify['px_envato_purchase_code']);
                    update_user_meta($user_id, 'px_envato_license', $verify['px_envato_license']);
                    update_user_meta($user_id, 'px_envato_item', $verify['px_envato_item']);
                    update_user_meta($user_id, 'px_envato_support_amount', $verify['px_envato_support_amount']);
                    update_user_meta($user_id, 'px_envato_support_until', $verify['px_envato_support_until']);
                    $redirect_to = 'wp-login.php?checkemail=registered';
                    wp_safe_redirect($redirect_to);
                    exit;
                } else {
                    px_verify_view_registration_form($errors, $verify);
                }
            } else {
                px_verify_view_verification_form($verify);
            }
        } elseif ($action == 'Verify') {
            if (!is_wp_error($verify)) {
                px_verify_view_registration_form($errors, $verify);
            } else {
                px_verify_view_verification_form($verify);
            }
        }
    } else {
        px_verify_view_verification_form();
    }
    px_verify_custom_style();
    exit;
}
Exemplo n.º 3
0
function px_verify_upgrade_aqua($user_id)
{
    if (count(get_user_meta($user_id, 'purchased_items')) === 0) {
        return '<div id="message" class="error notice is-dismissible"><p><strong>Aqua Verifier was not used for this user</strong><br>Enter the purchase code for this user manually</p></div>';
    } else {
        $data = get_user_meta($user_id, 'purchased_items');
        $code = reset($data);
        $code = reset($code);
        $code = $code['purchase_code'];
        $verify = px_verify_purchase($code, false);
        if (!is_wp_error($verify)) {
            update_user_meta($user_id, 'px_envato_username', $verify['px_envato_username']);
            update_user_meta($user_id, 'px_envato_purchase_date', $verify['px_envato_purchase_date']);
            update_user_meta($user_id, 'px_envato_purchase_code', $verify['px_envato_purchase_code']);
            update_user_meta($user_id, 'px_envato_license', $verify['px_envato_license']);
            update_user_meta($user_id, 'px_envato_item', $verify['px_envato_item']);
            update_user_meta($user_id, 'px_envato_support_amount', $verify['px_envato_support_amount']);
            update_user_meta($user_id, 'px_envato_support_until', $verify['px_envato_support_until']);
            return '<div id="message" class="updated notice is-dismissible"><p><strong>Upgraded the data from Aqua Verifier!</strong></p></div>';
        } else {
            $error_string = $verify->get_error_message();
            return '<div id="message" class="error notice is-dismissible"><p>' . $error_string . '</p></div>';
        }
    }
}
Exemplo n.º 4
0
function px_verify_upgrade_aqua($user_id)
{
    if (count(get_user_meta($user_id, 'purchased_items')) === 0) {
        return '<div id="message" class="error notice is-dismissible"><p><strong>Aqua Verifier was not used for this user</strong><br>Enter the purchase code for this user manually</p></div>';
    } else {
        $data = get_user_meta($user_id, 'purchased_items');
        $code = reset($data);
        $code = reset($code);
        $code = $code['purchase_code'];
        if (empty($code)) {
            $verify = px_verify_purchase($code, false);
            if (!is_wp_error($verify)) {
                update_user_meta($user_id, 'px_envato_username', $verify['px_envato_username']);
                update_user_meta($user_id, 'px_envato_purchase_date', $verify['px_envato_purchase_date']);
                update_user_meta($user_id, 'px_envato_purchase_code', $verify['px_envato_purchase_code']);
                update_user_meta($user_id, 'px_envato_license', $verify['px_envato_license']);
                update_user_meta($user_id, 'px_envato_item', $verify['px_envato_item']);
                update_user_meta($user_id, 'px_envato_support_amount', $verify['px_envato_support_amount']);
                update_user_meta($user_id, 'px_envato_support_until', $verify['px_envato_support_until']);
                return '<div id="message" class="updated notice is-dismissible"><p><strong>Upgraded the data from Aqua Verifier!</strong></p></div>';
            } else {
                $error_string = $verify->get_error_message();
                // user has refunded or manipulated purchase code so block him
                if (strpos($error_string, 'No sale belonging to the current user found with that code') !== false) {
                    wp_update_user(array('ID' => $user_id, 'role' => 'bbp_blocked'));
                } else {
                    if (strpos($error_string, 'Incomplete form fields') !== false) {
                        wp_update_user(array('ID' => $user_id, 'role' => 'bbp_blocked'));
                    }
                }
                return '<div id="message" class="error notice is-dismissible"><p>' . $error_string . '</p></div>';
            }
        } else {
            $data = get_userdata($user_id);
            $roles = implode(', ', $data->roles);
            if (strpos($roles, 'administrator') !== false) {
                return '<div id="message" class="error notice is-dismissible"><p>Administrator, ignoring.</p></div>';
            } else {
                return '<div id="message" class="error notice is-dismissible"><p>Something wrong with user id:' . $user_id . ', please check manually.</p></div>';
            }
        }
    }
}