コード例 #1
0
<?php
/**
 * This template is used to display the profile editor with [edd_profile_editor]
 */
global $current_user;

if ( is_user_logged_in() ):
	$user_id      = get_current_user_id();
	$first_name   = get_user_meta( $user_id, 'first_name', true );
	$last_name    = get_user_meta( $user_id, 'last_name', true );
	$display_name = $current_user->display_name;
	$address      = edd_get_customer_address( $user_id );

	if ( edd_is_cart_saved() ): ?>
		<?php $restore_url = add_query_arg( array( 'edd_action' => 'restore_cart', 'edd_cart_token' => edd_get_cart_token() ), edd_get_checkout_uri() ); ?>
		<div class="edd_success edd-alert edd-alert-success"><strong><?php _e( 'Saved cart', 'edd'); ?>:</strong> <?php printf( __( 'You have a saved cart, <a href="%s">click here</a> to restore it.', 'edd' ), esc_url( $restore_url ) ); ?></div>
	<?php endif; ?>

	<?php if ( isset( $_GET['updated'] ) && $_GET['updated'] == true && ! edd_get_errors() ): ?>
		<div class="edd_success edd-alert edd-alert-success"><strong><?php _e( 'Success', 'edd'); ?>:</strong> <?php _e( 'Your profile has been edited successfully.', 'edd' ); ?></div>
	<?php endif; ?>

	<?php edd_print_errors(); ?>

	<?php do_action( 'edd_profile_editor_before' ); ?>

	<form id="edd_profile_editor_form" class="edd_form" action="<?php echo edd_get_current_page_url(); ?>" method="post">
		<fieldset>
			<span id="edd_profile_name_label"><legend><?php _e( 'Change your Name', 'edd' ); ?></legend></span>
			<p id="edd_profile_name_wrap">
				<label for="edd_first_name"><?php _e( 'First Name', 'edd' ); ?></label>
コード例 #2
0
/**
 * Process the Cart Restoration
 *
 * @since 1.8
 * @return mixed || false Returns false if cart saving is disabled
 */
function edd_restore_cart()
{
    if (edd_is_cart_saving_disabled()) {
        return false;
    }
    $user_id = get_current_user_id();
    $saved_cart = get_user_meta($user_id, 'edd_saved_cart', true);
    $token = edd_get_cart_token();
    if (is_user_logged_in() && $saved_cart) {
        $messages = EDD()->session->get('edd_cart_messages');
        if (!$messages) {
            $messages = array();
        }
        if (isset($_GET['edd_cart_token']) && $_GET['edd_cart_token'] != $token) {
            $messages['edd_cart_restoration_failed'] = sprintf('<strong>%1$s</strong>: %2$s', __('Error', 'edd'), __('Cart restoration failed. Invalid token.', 'edd'));
            EDD()->session->set('edd_cart_messages', $messages);
        }
        delete_user_meta($user_id, 'edd_saved_cart');
        delete_user_meta($user_id, 'edd_cart_token');
        if (isset($_GET['edd_cart_token']) && $_GET['edd_cart_token'] != $token) {
            return new WP_Error('invalid_cart_token', __('The cart cannot be restored. Invalid token.', 'edd'));
        }
    } elseif (!is_user_logged_in() && isset($_COOKIE['edd_saved_cart']) && $token) {
        $saved_cart = $_COOKIE['edd_saved_cart'];
        if ($_GET['edd_cart_token'] != $token) {
            $messages['edd_cart_restoration_failed'] = sprintf('<strong>%1$s</strong>: %2$s', __('Error', 'edd'), __('Cart restoration failed. Invalid token.', 'edd'));
            EDD()->session->set('edd_cart_messages', $messages);
            return new WP_Error('invalid_cart_token', __('The cart cannot be restored. Invalid token.', 'edd'));
        }
        $saved_cart = maybe_unserialize(stripslashes($saved_cart));
        setcookie('edd_saved_cart', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN);
        setcookie('edd_cart_token', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN);
    }
    $messages['edd_cart_restoration_successful'] = sprintf('<strong>%1$s</strong>: %2$s', __('Success', 'edd'), __('Cart restored successfully.', 'edd'));
    EDD()->session->set('edd_cart', $saved_cart);
    EDD()->session->set('edd_cart_messages', $messages);
    return true;
}
コード例 #3
0
/**
 * Displays the restore cart link on the empty cart page, if a cart is saved
 *
 * @since 1.8
 * @return void
 */
function edd_empty_cart_restore_cart_link()
{
    if (edd_is_cart_saving_disabled()) {
        return;
    }
    if (edd_is_cart_saved()) {
        echo ' <a class="edd-cart-saving-link" id="edd-restore-cart-link" href="' . esc_url(add_query_arg(array('edd_action' => 'restore_cart', 'edd_cart_token' => edd_get_cart_token()))) . '">' . __('Restore Previous Cart.', 'easy-digital-downloads') . '</a>';
    }
}