/** * Process Register Form * * @since 2.0 * @param array $data Data sent from the register form * @return void */ function edd_process_register_form($data) { if (is_user_logged_in()) { return; } if (empty($_POST['edd_register_submit'])) { return; } do_action('edd_pre_process_register_form'); if (empty($data['edd_user_login'])) { edd_set_error('empty_username', __('Invalid username', 'edd')); } if (username_exists($data['edd_user_login'])) { edd_set_error('username_unavailable', __('Username already taken', 'edd')); } if (!validate_username($data['edd_user_login'])) { edd_set_error('username_invalid', __('Invalid username', 'edd')); } if (email_exists($data['edd_user_email'])) { edd_set_error('email_unavailable', __('Email address already taken', 'edd')); } if (empty($data['edd_user_email']) || !is_email($data['edd_user_email'])) { edd_set_error('email_invalid', __('Invalid email', 'edd')); } if (!empty($data['edd_payment_email']) && $data['edd_payment_email'] != $data['edd_user_email'] && !is_email($data['edd_payment_email'])) { edd_set_error('payment_email_invalid', __('Invalid payment email', 'edd')); } if (empty($_POST['edd_user_pass'])) { edd_set_error('empty_password', __('Please enter a password', 'edd')); } if (!empty($_POST['edd_user_pass']) && empty($_POST['edd_user_pass2']) || $_POST['edd_user_pass'] !== $_POST['edd_user_pass2']) { edd_set_error('password_mismatch', __('Passwords do not match', 'edd')); } do_action('edd_process_register_form'); // Check for errors and redirect if none present $errors = edd_get_errors(); if (empty($errors)) { $redirect = apply_filters('edd_register_redirect', $data['edd_redirect']); edd_register_and_login_new_user(array('user_login' => $data['edd_user_login'], 'user_pass' => $data['edd_user_pass'], 'user_email' => $data['edd_user_email'], 'user_registered' => date('Y-m-d H:i:s'), 'role' => get_option('default_role'))); wp_redirect($redirect); edd_die(); } }
/** * Get Purchase Form User * * @param array $valid_data * * @access private * @since 1.0.8.1 * @return array */ function edd_get_purchase_form_user($valid_data = array()) { // Initialize user $user = false; // Check if user is logged in if (is_user_logged_in()) { // set the valid user as the logged in collected data $user = $valid_data['logged_in_user']; } else { if ($valid_data['need_new_user'] === true || $valid_data['need_user_login'] === true) { // new user registration if ($valid_data['need_new_user'] === true) { // set user $user = $valid_data['new_user_data']; // register and login new user $user['user_id'] = edd_register_and_login_new_user($user); // user login } else { if ($valid_data['need_user_login'] === true) { // set user $user = $valid_data['login_user_data']; // login user edd_log_user_in($user['user_id'], $user['user_login'], $user['user_pass']); } } } } // check guest checkout if (false === $user && false === edd_no_guest_checkout()) { // set user $user = $valid_data['guest_user_data']; } // verify we have an user if (false === $user || empty($user)) { // return false return false; } // get user first name if (!isset($user['user_first']) || strlen(trim($user['user_first'])) < 1) { $user['user_first'] = isset($_POST["edd_first"]) ? strip_tags(trim($_POST["edd_first"])) : ''; } // get user last name if (!isset($user['user_last']) || strlen(trim($user['user_last'])) < 1) { $user['user_last'] = isset($_POST["edd_last"]) ? strip_tags(trim($_POST["edd_last"])) : ''; } // return valid user return $user; }
/** * Get Purchase Form User * * @param array $valid_data * * @access private * @since 1.0.8.1 * @return array */ function edd_get_purchase_form_user($valid_data = array()) { // Initialize user $user = false; $is_ajax = defined('DOING_AJAX') && DOING_AJAX; if ($is_ajax) { // Do not create or login the user during the ajax submission (check for errors only) return true; } else { if (is_user_logged_in()) { // Set the valid user as the logged in collected data $user = $valid_data['logged_in_user']; } else { if ($valid_data['need_new_user'] === true || $valid_data['need_user_login'] === true) { // New user registration if ($valid_data['need_new_user'] === true) { // Set user $user = $valid_data['new_user_data']; // Register and login new user $user['user_id'] = edd_register_and_login_new_user($user); // User login } else { if ($valid_data['need_user_login'] === true && !$is_ajax) { /* * The login form is now processed in the edd_process_purchase_login() function. * This is still here for backwards compatibility. * This also allows the old login process to still work if a user removes the * checkout login submit button. * * This also ensures that the customer is logged in correctly if they click "Purchase" * instead of submitting the login form, meaning the customer is logged in during the purchase process. */ // Set user $user = $valid_data['login_user_data']; // Login user edd_log_user_in($user['user_id'], $user['user_login'], $user['user_pass']); } } } } } // Check guest checkout if (false === $user && false === edd_no_guest_checkout()) { // Set user $user = $valid_data['guest_user_data']; } // Verify we have an user if (false === $user || empty($user)) { // Return false return false; } // Get user first name if (!isset($user['user_first']) || strlen(trim($user['user_first'])) < 1) { $user['user_first'] = isset($_POST["edd_first"]) ? strip_tags(trim($_POST["edd_first"])) : ''; } // Get user last name if (!isset($user['user_last']) || strlen(trim($user['user_last'])) < 1) { $user['user_last'] = isset($_POST["edd_last"]) ? strip_tags(trim($_POST["edd_last"])) : ''; } // Get the user's billing address details $user['address'] = array(); $user['address']['line1'] = !empty($_POST['card_address']) ? sanitize_text_field($_POST['card_address']) : false; $user['address']['line2'] = !empty($_POST['card_address_2']) ? sanitize_text_field($_POST['card_address_2']) : false; $user['address']['city'] = !empty($_POST['card_city']) ? sanitize_text_field($_POST['card_city']) : false; $user['address']['state'] = !empty($_POST['card_state']) ? sanitize_text_field($_POST['card_state']) : false; $user['address']['country'] = !empty($_POST['billing_country']) ? sanitize_text_field($_POST['billing_country']) : false; $user['address']['zip'] = !empty($_POST['card_zip']) ? sanitize_text_field($_POST['card_zip']) : false; if (empty($user['address']['country'])) { $user['address'] = false; } // Country will always be set if address fields are present if (!empty($user['user_id']) && $user['user_id'] > 0 && !empty($user['address'])) { // Store the address in the user's meta so the cart can be pre-populated with it on return purchases update_user_meta($user['user_id'], '_edd_user_address', $user['address']); } // Return valid user return $user; }
/** * Get Purchase Form User * * @param array $valid_data * * @access private * @since 1.0.8.1 * @return array */ function edd_get_purchase_form_user($valid_data = array()) { // Initialize user $user = false; $is_ajax = defined('DOING_AJAX') && DOING_AJAX; if ($is_ajax) { // Do not create or login the user during the ajax submission (check for errors only) return true; } else { if (is_user_logged_in()) { // Set the valid user as the logged in collected data $user = $valid_data['logged_in_user']; } else { if ($valid_data['need_new_user'] === true || $valid_data['need_user_login'] === true) { // New user registration if ($valid_data['need_new_user'] === true) { // Set user $user = $valid_data['new_user_data']; // Register and login new user $user['user_id'] = edd_register_and_login_new_user($user); // User login } else { if ($valid_data['need_user_login'] === true && !$is_ajax) { // Set user $user = $valid_data['login_user_data']; // Login user edd_log_user_in($user['user_id'], $user['user_login'], $user['user_pass']); } } } } } // Check guest checkout if (false === $user && false === edd_no_guest_checkout()) { // Set user $user = $valid_data['guest_user_data']; } // Verify we have an user if (false === $user || empty($user)) { // Return false return false; } // Get user first name if (!isset($user['user_first']) || strlen(trim($user['user_first'])) < 1) { $user['user_first'] = isset($_POST["edd_first"]) ? strip_tags(trim($_POST["edd_first"])) : ''; } // Get user last name if (!isset($user['user_last']) || strlen(trim($user['user_last'])) < 1) { $user['user_last'] = isset($_POST["edd_last"]) ? strip_tags(trim($_POST["edd_last"])) : ''; } // Return valid user return $user; }