laipower/wp-content/plugins/easy-digital-downloads/templates/shortcode-profile-editor.php

235 lines
11 KiB
PHP

<?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 );
$states = edd_get_shop_states( $address['country'] );
$state = $address['state'];
if ( edd_is_cart_saved() ): ?>
<?php $restore_url = add_query_arg( array( 'edd_action' => 'restore_cart', 'edd_cart_token' => urlencode( edd_get_cart_token() ) ), edd_get_checkout_uri() ); ?>
<div class="edd_success edd-alert edd-alert-success"><strong><?php _e( 'Saved cart','easy-digital-downloads' ); ?>:</strong> <?php printf( __( 'You have a saved cart, <a href="%s">click here</a> to restore it.', 'easy-digital-downloads' ), 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','easy-digital-downloads' ); ?>:</strong> <?php _e( 'Your profile has been edited successfully.', 'easy-digital-downloads' ); ?></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 esc_url( edd_get_current_page_url() ); ?>" method="post">
<?php do_action( 'edd_profile_editor_fields_top' ); ?>
<fieldset id="edd_profile_personal_fieldset">
<legend id="edd_profile_name_label"><?php _e( 'Change your Name', 'easy-digital-downloads' ); ?></legend>
<p id="edd_profile_first_name_wrap">
<label for="edd_first_name"><?php _e( 'First Name', 'easy-digital-downloads' ); ?></label>
<input name="edd_first_name" id="edd_first_name" class="text edd-input" type="text" value="<?php echo esc_attr( $first_name ); ?>" />
</p>
<p id="edd_profile_last_name_wrap">
<label for="edd_last_name"><?php _e( 'Last Name', 'easy-digital-downloads' ); ?></label>
<input name="edd_last_name" id="edd_last_name" class="text edd-input" type="text" value="<?php echo esc_attr( $last_name ); ?>" />
</p>
<p id="edd_profile_display_name_wrap">
<label for="edd_display_name"><?php _e( 'Display Name', 'easy-digital-downloads' ); ?></label>
<select name="edd_display_name" id="edd_display_name" class="select edd-select">
<?php if ( ! empty( $current_user->first_name ) ): ?>
<option <?php selected( $display_name, $current_user->first_name ); ?> value="<?php echo esc_attr( $current_user->first_name ); ?>"><?php echo esc_html( $current_user->first_name ); ?></option>
<?php endif; ?>
<option <?php selected( $display_name, $current_user->user_nicename ); ?> value="<?php echo esc_attr( $current_user->user_nicename ); ?>"><?php echo esc_html( $current_user->user_nicename ); ?></option>
<?php if ( ! empty( $current_user->last_name ) ): ?>
<option <?php selected( $display_name, $current_user->last_name ); ?> value="<?php echo esc_attr( $current_user->last_name ); ?>"><?php echo esc_html( $current_user->last_name ); ?></option>
<?php endif; ?>
<?php if ( ! empty( $current_user->first_name ) && ! empty( $current_user->last_name ) ): ?>
<option <?php selected( $display_name, $current_user->first_name . ' ' . $current_user->last_name ); ?> value="<?php echo esc_attr( $current_user->first_name . ' ' . $current_user->last_name ); ?>"><?php echo esc_html( $current_user->first_name . ' ' . $current_user->last_name ); ?></option>
<option <?php selected( $display_name, $current_user->last_name . ' ' . $current_user->first_name ); ?> value="<?php echo esc_attr( $current_user->last_name . ' ' . $current_user->first_name ); ?>"><?php echo esc_html( $current_user->last_name . ' ' . $current_user->first_name ); ?></option>
<?php endif; ?>
</select>
<?php do_action( 'edd_profile_editor_name' ); ?>
</p>
<?php do_action( 'edd_profile_editor_after_name' ); ?>
<p id="edd_profile_primary_email_wrap">
<label for="edd_email"><?php _e( 'Primary Email Address', 'easy-digital-downloads' ); ?></label>
<?php $customer = new EDD_Customer( $user_id, true ); ?>
<?php if ( $customer->id > 0 ) : ?>
<?php if ( 1 === count( $customer->emails ) ) : ?>
<input name="edd_email" id="edd_email" class="text edd-input required" type="email" value="<?php echo esc_attr( $customer->email ); ?>" />
<?php else: ?>
<?php
$emails = array();
$customer->emails = array_reverse( $customer->emails, true );
foreach ( $customer->emails as $email ) {
$emails[ $email ] = $email;
}
$email_select_args = array(
'options' => $emails,
'name' => 'edd_email',
'id' => 'edd_email',
'selected' => $customer->email,
'show_option_none' => false,
'show_option_all' => false,
);
echo EDD()->html->select( $email_select_args );
?>
<?php endif; ?>
<?php else: ?>
<input name="edd_email" id="edd_email" class="text edd-input required" type="email" value="<?php echo esc_attr( $current_user->user_email ); ?>" />
<?php endif; ?>
<?php do_action( 'edd_profile_editor_email' ); ?>
</p>
<?php if ( $customer->id > 0 && count( $customer->emails ) > 1 ) : ?>
<p id="edd_profile_emails_wrap">
<label for="edd_emails"><?php _e( 'Additional Email Addresses', 'easy-digital-downloads' ); ?></label>
<ul class="edd-profile-emails">
<?php foreach ( $customer->emails as $email ) : ?>
<?php if ( $email === $customer->email ) { continue; } ?>
<li class="edd-profile-email">
<?php echo esc_html( $email ); ?>
<span class="actions">
<?php
$remove_url = wp_nonce_url(
add_query_arg(
array(
'email' => rawurlencode( $email ),
'edd_action' => 'profile-remove-email',
'redirect' => esc_url( edd_get_current_page_url() ),
)
),
'edd-remove-customer-email'
);
?>
<a href="<?php echo esc_url( $remove_url ); ?>" class="delete"><?php esc_html_e( 'Remove', 'easy-digital-downloads' ); ?></a>
</span>
</li>
<?php endforeach; ?>
</ul>
</p>
<?php endif; ?>
<?php do_action( 'edd_profile_editor_after_email' ); ?>
</fieldset>
<?php do_action( 'edd_profile_editor_after_personal_fields' ); ?>
<fieldset id="edd_profile_address_fieldset">
<legend id="edd_profile_billing_address_label"><?php _e( 'Change your Billing Address', 'easy-digital-downloads' ); ?></legend>
<p id="edd_profile_billing_address_line_1_wrap">
<label for="edd_address_line1"><?php _e( 'Line 1', 'easy-digital-downloads' ); ?></label>
<input name="edd_address_line1" id="edd_address_line1" class="text edd-input" type="text" value="<?php echo esc_attr( $address['line1'] ); ?>" />
</p>
<p id="edd_profile_billing_address_line_2_wrap">
<label for="edd_address_line2"><?php _e( 'Line 2', 'easy-digital-downloads' ); ?></label>
<input name="edd_address_line2" id="edd_address_line2" class="text edd-input" type="text" value="<?php echo esc_attr( $address['line2'] ); ?>" />
</p>
<p id="edd_profile_billing_address_city_wrap">
<label for="edd_address_city"><?php _e( 'City', 'easy-digital-downloads' ); ?></label>
<input name="edd_address_city" id="edd_address_city" class="text edd-input" type="text" value="<?php echo esc_attr( $address['city'] ); ?>" />
</p>
<p id="edd_profile_billing_address_postal_wrap">
<label for="edd_address_zip"><?php _e( 'Zip / Postal Code', 'easy-digital-downloads' ); ?></label>
<input name="edd_address_zip" id="edd_address_zip" class="text edd-input" type="text" value="<?php echo esc_attr( $address['zip'] ); ?>" />
</p>
<p id="edd_profile_billing_address_country_wrap">
<label for="edd_address_country"><?php _e( 'Country', 'easy-digital-downloads' ); ?></label>
<select name="edd_address_country" id="edd_address_country" class="select edd-select" data-nonce="<?php echo esc_attr( wp_create_nonce( 'edd-country-field-nonce' ) ); ?>">
<?php foreach( edd_get_country_list() as $key => $country ) : ?>
<option value="<?php echo esc_attr( $key ); ?>"<?php selected( $address['country'], $key ); ?>><?php echo esc_html( $country ); ?></option>
<?php endforeach; ?>
</select>
</p>
<p id="edd_profile_billing_address_state_wrap">
<label for="edd_address_state"><?php _e( 'State / Province', 'easy-digital-downloads' ); ?></label>
<?php if( ! empty( $states ) ) : ?>
<select name="edd_address_state" id="edd_address_state" class="select edd-select">
<?php
foreach( $states as $state_code => $state_name ) {
echo '<option value="' . esc_attr( $state_code ) . '"' . selected( $state_code, $state, false ) . '>' . esc_html( $state_name ) . '</option>';
}
?>
</select>
<?php else : ?>
<input name="edd_address_state" id="edd_address_state" class="text edd-input" type="text" value="<?php echo esc_attr( $state ); ?>" />
<?php endif; ?>
<?php do_action( 'edd_profile_editor_address' ); ?>
</p>
<?php do_action( 'edd_profile_editor_after_address' ); ?>
</fieldset>
<?php do_action( 'edd_profile_editor_after_address_fields' ); ?>
<fieldset id="edd_profile_password_fieldset">
<legend id="edd_profile_password_label"><?php _e( 'Change your Password', 'easy-digital-downloads' ); ?></legend>
<p id="edd_profile_password_wrap">
<label for="edd_new_user_pass1"><?php esc_html_e( 'New Password', 'easy-digital-downloads' ); ?></label>
<input name="edd_new_user_pass1" id="edd_new_user_pass1" class="password edd-input" type="password"/>
</p>
<p id="edd_profile_confirm_password_wrap">
<label for="edd_new_user_pass2"><?php esc_html_e( 'Re-enter Password', 'easy-digital-downloads' ); ?></label>
<input name="edd_new_user_pass2" id="edd_new_user_pass2" class="password edd-input" type="password"/>
<?php do_action( 'edd_profile_editor_password' ); ?>
</p>
<?php do_action( 'edd_profile_editor_after_password' ); ?>
</fieldset>
<?php do_action( 'edd_profile_editor_after_password_fields' ); ?>
<fieldset id="edd_profile_submit_fieldset">
<p id="edd_profile_submit_wrap">
<input type="hidden" name="edd_profile_editor_nonce" value="<?php echo esc_attr( wp_create_nonce( 'edd-profile-editor-nonce' ) ); ?>"/>
<input type="hidden" name="edd_action" value="edit_user_profile" />
<input type="hidden" name="edd_redirect" value="<?php echo esc_url( edd_get_current_page_url() ); ?>" />
<input name="edd_profile_editor_submit" id="edd_profile_editor_submit" type="submit" class="edd_submit edd-submit" value="<?php _e( 'Save Changes', 'easy-digital-downloads' ); ?>"/>
</p>
</fieldset>
<?php do_action( 'edd_profile_editor_fields_bottom' ); ?>
</form><!-- #edd_profile_editor_form -->
<?php do_action( 'edd_profile_editor_after' ); ?>
<?php
else:
do_action( 'edd_profile_editor_logged_out' );
endif;