/** * Get Checkout Form * * @access private * @since 1.0 * @return string */ function edd_checkout_form() { global $edd_options, $user_ID, $post; if (is_singular()) { $page_URL = get_permalink($post->ID); } else { $page_URL = 'http'; if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") { $pageURL .= "s"; } $page_URL .= "://"; if (isset($_SERVER["SERVER_PORT"]) && $_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"]; } else { $page_URL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; } } if (is_user_logged_in()) { global $user_ID; $user_data = get_userdata($user_ID); } ob_start(); ?> <?php if (edd_get_cart_contents()) { ?> <?php do_action('edd_before_checkout_cart'); edd_checkout_cart(); do_action('edd_after_checkout_cart'); ?> <div id="edd_checkout_form_wrap" class="edd_clearfix"> <?php do_action('edd_checkout_form_top'); $gateways = edd_get_enabled_payment_gateways(); $show_gateways = false; if (count($gateways) > 1 && !isset($_GET['payment-mode'])) { $show_gateways = true; if (edd_get_cart_amount() <= 0) { $show_gateways = false; } } if ($show_gateways) { ?> <?php do_action('edd_payment_mode_top'); ?> <form id="edd_payment_mode" action="<?php echo $page_URL; ?> " method="GET"> <fieldset id="edd_payment_mode_select"> <?php do_action('edd_payment_mode_before_gateways'); ?> <p id="edd-payment-mode-wrap"> <?php echo '<select class="edd-select" name="payment-mode" id="edd-gateway">'; foreach ($gateways as $gateway_id => $gateway) { echo '<option value="' . $gateway_id . '">' . $gateway['checkout_label'] . '</option>'; } echo '</select>'; echo '<label for="edd-gateway">' . __('Choose Your Payment Method', 'edd') . '</label>'; ?> </p> <?php do_action('edd_payment_mode_after_gateways'); ?> </fieldset> <fieldset id="edd_payment_mode_submit"> <p id="edd-next-submit-wrap"> <?php $color = isset($edd_options['checkout_color']) ? $edd_options['checkout_color'] : 'gray'; ?> <span class="edd_button edd_<?php echo $color; ?> "> <span class="edd_button_outer"> <span class="edd_button_inner"> <input type="submit" id="edd_next_button" class="edd_button_text edd-submit" value="<?php _e('Next', 'edd'); ?> "/> </span> </span> </span> </p> </fieldset> </form> <?php do_action('edd_payment_mode_bottom'); ?> <?php } else { ?> <?php if (count($gateways) >= 1 && !isset($_GET['payment-mode'])) { foreach ($gateways as $gateway_id => $gateway) { $enabled_gateway = $gateway_id; if (edd_get_cart_amount() <= 0) { $enabled_gateway = 'manual'; // this allows a free download by filling in the info } } } else { if (edd_get_cart_amount() <= 0) { $enabled_gateway = 'manual'; } else { $enabled_gateway = 'none'; } } $payment_mode = isset($_GET['payment-mode']) ? urldecode($_GET['payment-mode']) : $enabled_gateway; ?> <?php do_action('edd_before_purchase_form'); ?> <form id="edd_purchase_form" action="<?php echo $page_URL; ?> " method="POST"> <?php do_action('edd_purchase_form_top'); ?> <?php if (isset($edd_options['logged_in_only']) && !isset($edd_options['show_register_form'])) { if (is_user_logged_in()) { $can_checkout = true; } else { $can_checkout = false; } } elseif (isset($edd_options['show_register_form']) && isset($edd_options['logged_in_only'])) { $can_checkout = true; } elseif (!isset($edd_options['logged_in_only'])) { $can_checkout = true; } $can_checkout = true; if ($can_checkout) { ?> <?php if (isset($edd_options['show_register_form']) && !is_user_logged_in() && !isset($_GET['login'])) { ?> <div id="edd_checkout_login_register"><?php echo edd_get_register_fields(); ?> </div> <?php } elseif (isset($edd_options['show_register_form']) && !is_user_logged_in() && isset($_GET['login'])) { ?> <div id="edd_checkout_login_register"><?php echo edd_get_login_fields(); ?> </div> <?php } ?> <?php if (!isset($_GET['login']) && is_user_logged_in() || !isset($edd_options['show_register_form'])) { ?> <fieldset id="edd_checkout_user_info"> <legend><?php _e('Personal Info', 'edd'); ?> </legend> <?php do_action('edd_purchase_form_before_email'); ?> <p id="edd-email-wrap"> <input class="edd-input required" type="email" name="edd_email" placeholder="<?php _e('Email address', 'edd'); ?> " id="edd-email" value="<?php echo is_user_logged_in() ? $user_data->user_email : ''; ?> "/> <label class="edd-label" for="edd-email"><?php _e('Email Address', 'edd'); ?> </label> </p> <?php do_action('edd_purchase_form_after_email'); ?> <p id="edd-first-name-wrap"> <input class="edd-input required" type="text" name="edd_first" placeholder="<?php _e('First Name', 'edd'); ?> " id="edd-first" value="<?php echo is_user_logged_in() ? $user_data->first_name : ''; ?> "/> <label class="edd-label" for="edd-first"><?php _e('First Name', 'edd'); ?> </label> </p> <p id="edd-last-name-wrap"> <input class="edd-input" type="text" name="edd_last" id="edd-last" placeholder="<?php _e('Last name', 'edd'); ?> " value="<?php echo is_user_logged_in() ? $user_data->last_name : ''; ?> "/> <label class="edd-label" for="edd-last"><?php _e('Last Name', 'edd'); ?> </label> </p> <?php do_action('edd_purchase_form_user_info'); ?> </fieldset> <?php do_action('edd_purchase_form_after_user_info'); ?> <?php } ?> <?php if (edd_has_active_discounts()) { // only show if we have at least one active discount ?> <fieldset id="edd_discount_code"> <p id="edd-discount-code-wrap"> <input class="edd-input" type="text" id="edd-discount" name="edd-discount" placeholder="<?php _e('Enter discount', 'edd'); ?> "/> <label class="edd-label" for="edd-discount"> <?php _e('Discount', 'edd'); ?> <?php if (edd_is_ajax_enabled()) { ?> - <a href="#" class="edd-apply-discount"><?php _e('Apply Discount', 'edd'); ?> </a> <?php } ?> </label> </p> </fieldset> <?php } ?> <?php // load the credit card form and allow gateways to load their own if they wish if (has_action('edd_' . $payment_mode . '_cc_form')) { do_action('edd_' . $payment_mode . '_cc_form'); } else { do_action('edd_cc_form'); } ?> <?php if (isset($edd_options['show_agree_to_terms'])) { ?> <fieldset id="edd_terms_agreement"> <p> <div id="edd_terms" style="display:none;"> <?php do_action('edd_before_terms'); echo wpautop($edd_options['agree_text']); do_action('edd_after_terms'); ?> </div> <div id="edd_show_terms"> <a href="#" class="edd_terms_links"><?php _e('Show Terms', 'edd'); ?> </a> <a href="#" class="edd_terms_links" style="display:none;"><?php _e('Hide Terms', 'edd'); ?> </a> </div> <input name="edd_agree_to_terms" class="required" type="checkbox" id="edd_agree_to_terms" value="1"/> <label for="edd_agree_to_terms"><?php echo isset($edd_options['agree_label']) ? $edd_options['agree_label'] : __('Agree to Terms?', 'edd'); ?> </label> </p> </fieldset> <?php } ?> <fieldset id="edd_purchase_submit"> <p> <?php do_action('edd_purchase_form_before_submit'); ?> <?php if (is_user_logged_in()) { ?> <input type="hidden" name="edd-user-id" value="<?php echo $user_data->ID; ?> "/> <?php } ?> <input type="hidden" name="edd_action" value="purchase"/> <input type="hidden" name="edd-gateway" value="<?php echo $payment_mode; ?> " /> <input type="hidden" name="edd-nonce" value="<?php echo wp_create_nonce('edd-purchase-nonce'); ?> "/> <?php $color = isset($edd_options['checkout_color']) ? $edd_options['checkout_color'] : 'gray'; ?> <span class="edd_button edd_<?php echo $color; ?> "> <span class="edd_button_outer"> <span class="edd_button_inner"> <?php $complete_purchase = isset($edd_options['checkout_label']) && strlen(trim($edd_options['checkout_label'])) > 0 ? $edd_options['checkout_label'] : __('Purchase', 'edd'); ?> <input type="submit" class="edd_button_text edd-submit" id="edd-purchase-button" name="edd-purchase" value="<?php echo $complete_purchase; ?> "/> </span> </span> </span> <?php do_action('edd_purchase_form_after_submit'); ?> </p> <?php if (!edd_is_ajax_enabled()) { ?> <p class="edd-cancel"><a href="javascript:history.go(-1)"><?php _e('Go back', 'edd'); ?> </a></p> <?php } ?> </fieldset> <?php } else { ?> <p><?php _e('You must be logged in to complete your purchase', 'edd'); ?> </p> <?php } ?> <?php do_action('edd_purchase_form_bottom'); ?> </form> <?php do_action('edd_after_purchase_form'); ?> <?php } ?> </div><!--end #edd_checkout_form_wrap--> <?php } else { do_action('edd_empty_cart'); } return ob_get_clean(); }
/** * Load Checkout Login Fields * * Echoes the login fields * * @access private * @since 1.0 * @return void */ function edd_load_checkout_login_fields() { echo edd_get_login_fields(); die; }