<?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>
/** * 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; }
/** * 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>'; } }