/**
 * Purchase Form Validate Guest User
 *
 * @access  private
 * @since  1.0.8.1
 * @return  array
 */
function edd_purchase_form_validate_guest_user()
{
    // Start an array to collect valid user data
    $valid_user_data = array('user_id' => 0);
    // Show error message if user must be logged in
    if (edd_logged_in_only()) {
        edd_set_error('logged_in_only', __('You must be logged into an account to purchase', 'easy-digital-downloads'));
    }
    // Get the guest email
    $guest_email = isset($_POST['edd_email']) ? $_POST['edd_email'] : false;
    // Check email
    if ($guest_email && strlen($guest_email) > 0) {
        // Validate email
        if (!is_email($guest_email)) {
            // Invalid email
            edd_set_error('email_invalid', __('Invalid email', 'easy-digital-downloads'));
        } else {
            // All is good to go
            $valid_user_data['user_email'] = $guest_email;
        }
    } else {
        // No email
        edd_set_error('email_empty', __('Enter an email', 'easy-digital-downloads'));
    }
    // Loop through required fields and show error messages
    foreach (edd_purchase_form_required_fields() as $field_name => $value) {
        if (in_array($value, edd_purchase_form_required_fields()) && empty($_POST[$field_name])) {
            edd_set_error($value['error_id'], $value['error_message']);
        }
    }
    return $valid_user_data;
}
Example #2
0
/**
 * Check if a field is required
 *
 * @param string $field
 * @access      public
 * @since       1.7
 * @return      bool
*/
function edd_field_is_required($field = '')
{
    $required_fields = edd_purchase_form_required_fields();
    return array_key_exists($field, $required_fields);
}