/** * View a customer * * @since 1.0 * * @param $customer The Customer object being displayed * * @return void */ function give_customers_view($customer) { $customer_edit_role = apply_filters('give_edit_customers_role', 'edit_give_payments'); ?> <?php do_action('give_donor_card_top', $customer); ?> <div id="donor-summary" class="info-wrapper customer-section postbox"> <form id="edit-customer-info" method="post" action="<?php echo admin_url('edit.php?post_type=give_forms&page=give-donors&view=overview&id=' . $customer->id); ?> "> <div class="customer-info"> <div class="donor-bio-header clearfix"> <div class="avatar-wrap left" id="customer-avatar"> <?php echo get_avatar($customer->email); ?> </div> <div class="customer-id" class="left"> #<?php echo $customer->id; ?> </div> <div id="customer-name-wrap" class="left"> <span class="customer-name info-item edit-item"><input size="15" data-key="name" name="customerinfo[name]" type="text" value="<?php echo esc_attr($customer->name); ?> " placeholder="<?php _e('Donor Name', 'give'); ?> " /></span> <span class="customer-name info-item editable"><span data-key="name"><?php echo $customer->name; ?> </span></span> </div> <p class="customer-since info-item"> <?php _e('Donor since', 'give'); ?> <?php echo date_i18n(get_option('date_format'), strtotime($customer->date_created)); ?> </p> <?php if (current_user_can($customer_edit_role)) { ?> <a title="<?php _e('Edit Donor', 'give'); ?> " href="#" id="edit-customer" class="button info-item editable customer-edit-link"><?php _e('Edit Donor', 'give'); ?> </a> <?php } ?> </div> <!-- /donor-bio-header --> <div class="customer-main-wrapper"> <table class="widefat"> <tbody> <tr> <td><label for="tablecell"><?php esc_attr_e('Email', 'give'); ?> </label></td> <td class="row-title"> <span class="customer-name info-item edit-item"><input size="20" data-key="email" name="customerinfo[email]" type="text" value="<?php echo $customer->email; ?> " placeholder="<?php _e('Donor Email', 'give'); ?> " /></span> <span class="customer-email info-item editable" data-key="email"><?php echo $customer->email; ?> </span> </td> </tr> <tr class="alternate"> <td><label for="tablecell"><?php esc_attr_e('User ID', 'give'); ?> </label></td> <td class="row-title"> <span class="customer-user-id info-item edit-item"> <?php $user_id = $customer->user_id > 0 ? $customer->user_id : ''; $data_atts = array('key' => 'user_login', 'exclude' => $user_id); $user_args = array('name' => 'customerinfo[user_login]', 'class' => 'give-user-dropdown', 'data' => $data_atts); if (!empty($user_id)) { $userdata = get_userdata($user_id); $user_args['value'] = $userdata->user_login; } echo Give()->html->ajax_user_search($user_args); ?> <input type="hidden" name="customerinfo[user_id]" data-key="user_id" value="<?php echo $customer->user_id; ?> " /> </span> <span class="customer-user-id info-item editable"> <?php if (intval($customer->user_id) > 0) { ?> <span data-key="user_id"><?php echo $customer->user_id; ?> </span> <?php } else { ?> <span data-key="user_id"><?php _e('none', 'give'); ?> </span> <?php } ?> <?php if (current_user_can($customer_edit_role) && intval($customer->user_id) > 0) { ?> <span class="disconnect-user"> - <a id="disconnect-customer" href="#disconnect" title="<?php _e('Disconnects the current user ID from this customer record', 'give'); ?> "><?php _e('Disconnect User', 'give'); ?> </a></span> <?php } ?> </span> </td> </tr> <tr> <td><?php esc_attr_e('Address', 'give'); ?> </td> <td class="row-title"> <div class="customer-address-wrapper"> <?php if (isset($customer->user_id) && $customer->user_id > 0) { ?> <?php $address = get_user_meta($customer->user_id, '_give_user_address', true); $defaults = array('line1' => '', 'line2' => '', 'city' => '', 'state' => '', 'country' => '', 'zip' => ''); $address = wp_parse_args($address, $defaults); ?> <?php if (!empty($address)) { ?> <span class="customer-address info-item editable"> <span class="info-item" data-key="line1"><?php echo $address['line1']; ?> </span><br> <span class="info-item" data-key="line2"><?php echo $address['line2']; ?> </span><br> <span class="info-item" data-key="city">City: <?php echo $address['city']; ?> </span><br> <span class="info-item" data-key="state">State: <?php echo $address['state']; ?> </span><br> <span class="info-item" data-key="country">Country: <?php echo $address['country']; ?> </span><br> <span class="info-item" data-key="zip">Zip: <?php echo $address['zip']; ?> </span><br> </span> <?php } ?> <span class="customer-address info-item edit-item"> <input class="info-item" type="text" data-key="line1" name="customerinfo[line1]" placeholder="<?php _e('Address 1', 'give'); ?> " value="<?php echo $address['line1']; ?> " /> <input class="info-item" type="text" data-key="line2" name="customerinfo[line2]" placeholder="<?php _e('Address 2', 'give'); ?> " value="<?php echo $address['line2']; ?> " /> <input class="info-item" type="text" data-key="city" name="customerinfo[city]" placeholder="<?php _e('City', 'give'); ?> " value="<?php echo $address['city']; ?> " /> <select data-key="country" name="customerinfo[country]" id="billing_country" class="billing_country give-select edit-item"> <?php $selected_country = $address['country']; $countries = give_get_country_list(); foreach ($countries as $country_code => $country) { echo '<option value="' . esc_attr($country_code) . '"' . selected($country_code, $selected_country, false) . '>' . $country . '</option>'; } ?> </select> <?php $selected_state = give_get_state(); $states = give_get_states($selected_country); $selected_state = isset($address['state']) ? $address['state'] : $selected_state; if (!empty($states)) { ?> <select data-key="state" name="customerinfo[state]" id="card_state" class="card_state give-select info-item"> <?php foreach ($states as $state_code => $state) { echo '<option value="' . $state_code . '"' . selected($state_code, $selected_state, false) . '>' . $state . '</option>'; } ?> </select> <?php } else { ?> <input type="text" size="6" data-key="state" name="customerinfo[state]" id="card_state" class="card_state give-input info-item" placeholder="<?php _e('State / Province', 'give'); ?> " /> <?php } ?> <input class="info-item" type="text" data-key="zip" name="customerinfo[zip]" placeholder="<?php _e('Postal', 'give'); ?> " value="<?php echo $address['zip']; ?> " /> </span> <?php } else { echo "none"; } ?> </div> </td> </tr> </tbody> </table> </div> </div> <span id="customer-edit-actions" class="edit-item"> <input type="hidden" data-key="id" name="customerinfo[id]" value="<?php echo $customer->id; ?> " /> <?php wp_nonce_field('edit-customer', '_wpnonce', false, true); ?> <input type="hidden" name="give_action" value="edit-customer" /> <input type="submit" id="give-edit-customer-save" class="button-secondary" value="<?php _e('Update Donor', 'give'); ?> " /> <a id="give-edit-customer-cancel" href="" class="delete"><?php _e('Cancel', 'give'); ?> </a> </span> </form> </div> <?php do_action('give_donor_before_stats', $customer); ?> <div id="customer-stats-wrapper" class="customer-section postbox clear"> <ul> <li> <a title="<?php _e('View All Purchases', 'give'); ?> " href="<?php echo admin_url('edit.php?post_type=give_forms&page=give-payment-history&user='******'%d Completed Donation', '%d Completed Donations', $customer->purchase_count, 'give'), $customer->purchase_count); ?> </a> </li> <li> <span class="dashicons dashicons-chart-area"></span> <?php echo give_currency_filter(give_format_amount($customer->purchase_value)); ?> <?php _e('Lifetime Donations', 'give'); ?> </li> <?php do_action('give_donor_stats_list', $customer); ?> </ul> </div> <?php do_action('give_donor_before_tables_wrapper', $customer); ?> <div id="customer-tables-wrapper" class="customer-section"> <?php do_action('give_donor_before_tables', $customer); ?> <h3><?php _e('Recent Donations', 'give'); ?> </h3> <?php $payment_ids = explode(',', $customer->payment_ids); $payments = give_get_payments(array('post__in' => $payment_ids)); $payments = array_slice($payments, 0, 10); ?> <table class="wp-list-table widefat striped payments"> <thead> <tr> <th><?php _e('ID', 'give'); ?> </th> <th><?php _e('Amount', 'give'); ?> </th> <th><?php _e('Date', 'give'); ?> </th> <th><?php _e('Status', 'give'); ?> </th> <th><?php _e('Actions', 'give'); ?> </th> </tr> </thead> <tbody> <?php if (!empty($payments)) { ?> <?php foreach ($payments as $payment) { ?> <tr> <td><?php echo $payment->ID; ?> </td> <td><?php echo give_payment_amount($payment->ID); ?> </td> <td><?php echo date_i18n(get_option('date_format'), strtotime($payment->post_date)); ?> </td> <td><?php echo give_get_payment_status($payment, true); ?> </td> <td> <a title="<?php _e('View Details for Donation', 'give'); echo ' ' . $payment->ID; ?> " href="<?php echo admin_url('edit.php?post_type=give_forms&page=give-payment-history&view=view-order-details&id=' . $payment->ID); ?> "> <?php _e('View Details', 'give'); ?> </a> <?php do_action('give_donor_recent_purchases_actions', $customer, $payment); ?> </td> </tr> <?php } ?> <?php } else { ?> <tr> <td colspan="5"><?php _e('No Donations Found', 'give'); ?> </td> </tr> <?php } ?> </tbody> </table> <h3><?php _e('Completed Donations', 'give'); ?> </h3> <?php $donations = give_get_users_completed_donations($customer->email); ?> <table class="wp-list-table widefat striped downloads"> <thead> <tr> <th><?php echo give_get_forms_label_singular(); ?> </th> <th width="120px"><?php _e('Actions', 'give'); ?> </th> </tr> </thead> <tbody> <?php if (!empty($donations)) { ?> <?php foreach ($donations as $donation) { ?> <tr> <td><?php echo $donation->post_title; ?> </td> <td> <a title="<?php echo esc_attr(sprintf(__('View %s', 'give'), $donation->post_title)); ?> " href="<?php echo esc_url(admin_url('post.php?action=edit&post=' . $donation->ID)); ?> "> <?php printf(__('View %s', 'give'), give_get_forms_label_singular()); ?> </a> </td> </tr> <?php } ?> <?php } else { ?> <tr> <td colspan="2"><?php _e('No Completed Donations Found', 'give'); ?> </td> </tr> <?php } ?> </tbody> </table> <?php do_action('give_donor_after_tables', $customer); ?> </div> <?php do_action('give_donor_card_bottom', $customer); ?> <?php }
/** * Outputs the default credit card address fields * * @since 1.0 * @return void */ function give_default_cc_address_fields() { $logged_in = is_user_logged_in(); if ($logged_in) { $user_address = get_user_meta(get_current_user_id(), '_give_user_address', true); } $line1 = $logged_in && !empty($user_address['line1']) ? $user_address['line1'] : ''; $line2 = $logged_in && !empty($user_address['line2']) ? $user_address['line2'] : ''; $city = $logged_in && !empty($user_address['city']) ? $user_address['city'] : ''; $zip = $logged_in && !empty($user_address['zip']) ? $user_address['zip'] : ''; ob_start(); ?> <fieldset id="give_cc_address" class="cc-address"> <legend><?php _e('Adora art cards Receiving Details', 'give'); ?> </legend> <?php do_action('give_cc_billing_top'); ?> <p id="give-card-address-wrap" class="form-row form-row-two-thirds"> <label for="card_address" class="give-label"> <?php _e('Address', 'give'); ?> <?php if (give_field_is_required('card_address')) { ?> <span class="give-required-indicator">*</span> <?php } ?> </label> <input type="text" id="card_address" name="card_address" class="card-address give-input<?php if (give_field_is_required('card_address')) { echo ' required'; } ?> " placeholder="<?php _e('Address line 1', 'give'); ?> " value="<?php echo $line1; ?> " /> </p> <p id="give-card-address-2-wrap" class="form-row form-row-one-third"> <label for="card_address_2" class="give-label"> <?php _e('Address Line 2', 'give'); ?> <?php if (give_field_is_required('card_address_2')) { ?> <span class="give-required-indicator">*</span> <?php } ?> </label> <input type="text" id="card_address_2" name="card_address_2" class="card-address-2 give-input<?php if (give_field_is_required('card_address_2')) { echo ' required'; } ?> " placeholder="<?php _e('Address line 2', 'give'); ?> " value="<?php echo $line2; ?> " /> </p> <p id="give-card-city-wrap" class="form-row form-row-two-thirds"> <label for="card_city" class="give-label"> <?php _e('City', 'give'); ?> <?php if (give_field_is_required('card_city')) { ?> <span class="give-required-indicator">*</span> <?php } ?> </label> <input type="text" id="card_city" name="card_city" class="card-city give-input<?php if (give_field_is_required('card_city')) { echo ' required'; } ?> " placeholder="<?php _e('City', 'give'); ?> " value="<?php echo $city; ?> " /> </p> <p id="give-card-zip-wrap" class="form-row form-row-one-third"> <label for="card_zip" class="give-label"> <?php _e('Zip / Postal Code', 'give'); ?> <?php if (give_field_is_required('card_zip')) { ?> <span class="give-required-indicator">*</span> <?php } ?> </label> <input type="text" size="4" name="card_zip" class="card-zip give-input<?php if (give_field_is_required('card_zip')) { echo ' required'; } ?> " placeholder="<?php _e('Zip / Postal code', 'give'); ?> " value="<?php echo $zip; ?> " /> </p> <p id="give-card-country-wrap" class="form-row form-row-first"> <label for="billing_country" class="give-label"> <?php _e('Country', 'give'); ?> <?php if (give_field_is_required('billing_country')) { ?> <span class="give-required-indicator">*</span> <?php } ?> </label> <select name="billing_country" id="billing_country" class="billing-country billing_country give-select<?php if (give_field_is_required('billing_country')) { echo ' required'; } ?> "> <?php $selected_country = give_get_country(); if ($logged_in && !empty($user_address['country']) && '*' !== $user_address['country']) { $selected_country = $user_address['country']; } $countries = give_get_country_list(); foreach ($countries as $country_code => $country) { echo '<option value="' . esc_attr($country_code) . '"' . selected($country_code, $selected_country, false) . '>' . $country . '</option>'; } ?> </select> </p> <p id="give-card-state-wrap" class="form-row form-row-last"> <label for="card_state" class="give-label"> <?php _e('State / Province', 'give'); ?> <?php if (give_field_is_required('card_state')) { ?> <span class="give-required-indicator">*</span> <?php } ?> </label> <?php $selected_state = give_get_state(); $states = give_get_states($selected_country); if ($logged_in && !empty($user_address['state'])) { $selected_state = $user_address['state']; } if (!empty($states)) { ?> <select name="card_state" id="card_state" class="card_state give-select<?php if (give_field_is_required('card_state')) { echo ' required'; } ?> "> <?php foreach ($states as $state_code => $state) { echo '<option value="' . $state_code . '"' . selected($state_code, $selected_state, false) . '>' . $state . '</option>'; } ?> </select> <?php } else { ?> <input type="text" size="6" name="card_state" id="card_state" class="card_state give-input" placeholder="<?php _e('State / Province', 'give'); ?> " /> <?php } ?> </p> <?php do_action('give_cc_billing_bottom'); ?> </fieldset> <?php echo ob_get_clean(); }
/** * Retrieve a states drop down * * @since 1.0 * @return void */ function give_ajax_get_states_field() { if (empty($_POST['country'])) { $_POST['country'] = give_get_country(); } $states = give_get_states($_POST['country']); if (!empty($states)) { $args = array('name' => $_POST['field_name'], 'id' => $_POST['field_name'], 'class' => $_POST['field_name'] . ' give-select', 'options' => give_get_states($_POST['country']), 'show_option_all' => false, 'show_option_none' => false); $response = Give()->html->select($args); } else { $response = 'nostates'; } echo $response; give_die(); }
<strong class="order-data-address-line"><?php echo _x('Country:', 'Address country', 'give'); ?> </strong><br /> <?php echo Give()->html->select(array('options' => give_get_country_list(), 'name' => 'give-payment-address[0][country]', 'selected' => $address['country'], 'show_option_all' => false, 'show_option_none' => false, 'chosen' => true, 'placeholder' => __('Select a country', 'give'))); ?> </p> <p id="give-order-address-state-wrap"> <strong class="order-data-address-line"><?php echo _x('State / Province:', 'State / province of address', 'give'); ?> </strong><br /> <?php $states = give_get_states($address['country']); if (!empty($states)) { echo Give()->html->select(array('options' => $states, 'name' => 'give-payment-address[0][state]', 'selected' => $address['state'], 'show_option_all' => false, 'show_option_none' => false, 'chosen' => true, 'placeholder' => __('Select a state', 'give'))); } else { ?> <input type="text" name="give-payment-address[0][state]" value="<?php echo esc_attr($address['state']); ?> " class="medium-text" /> <?php } ?> </p> </div> </div> </div>
/** * Outputs the default credit card address fields * * @since 1.0 * * @param int $form_id * * @return void */ function give_default_cc_address_fields($form_id) { $logged_in = is_user_logged_in(); if ($logged_in) { $user_address = get_user_meta(get_current_user_id(), '_give_user_address', true); } $line1 = $logged_in && !empty($user_address['line1']) ? $user_address['line1'] : ''; $line2 = $logged_in && !empty($user_address['line2']) ? $user_address['line2'] : ''; $city = $logged_in && !empty($user_address['city']) ? $user_address['city'] : ''; $zip = $logged_in && !empty($user_address['zip']) ? $user_address['zip'] : ''; ob_start(); ?> <fieldset id="give_cc_address" class="cc-address"> <legend><?php echo apply_filters('give_billing_details_fieldset_heading', esc_html__('Billing Details', 'give')); ?> </legend> <?php do_action('give_cc_billing_top'); ?> <p id="give-card-address-wrap" class="form-row form-row-two-thirds"> <label for="card_address" class="give-label"> <?php esc_html_e('Address', 'give'); ?> <?php if (give_field_is_required('card_address', $form_id)) { ?> <span class="give-required-indicator">*</span> <?php } ?> <span class="give-tooltip give-icon give-icon-question" data-tooltip="<?php esc_html_e('The primary billing address for your credit card.', 'give'); ?> "></span> </label> <input type="text" id="card_address" name="card_address" class="card-address give-input<?php if (give_field_is_required('card_address', $form_id)) { echo ' required'; } ?> " placeholder="<?php esc_html_e('Address line 1', 'give'); ?> " value="<?php echo $line1; ?> "<?php if (give_field_is_required('card_address', $form_id)) { echo ' required '; } ?> /> </p> <p id="give-card-address-2-wrap" class="form-row form-row-one-third"> <label for="card_address_2" class="give-label"> <?php esc_html_e('Address Line 2', 'give'); ?> <?php if (give_field_is_required('card_address_2', $form_id)) { ?> <span class="give-required-indicator">*</span> <?php } ?> <span class="give-tooltip give-icon give-icon-question" data-tooltip="<?php esc_html_e('(optional) The suite, apt no, PO box, etc, associated with your billing address.', 'give'); ?> "></span> </label> <input type="text" id="card_address_2" name="card_address_2" class="card-address-2 give-input<?php if (give_field_is_required('card_address_2', $form_id)) { echo ' required'; } ?> " placeholder="<?php esc_html_e('Address line 2', 'give'); ?> " value="<?php echo $line2; ?> "<?php if (give_field_is_required('card_address_2', $form_id)) { echo ' required '; } ?> /> </p> <p id="give-card-city-wrap" class="form-row form-row-two-thirds"> <label for="card_city" class="give-label"> <?php esc_html_e('City', 'give'); ?> <?php if (give_field_is_required('card_city', $form_id)) { ?> <span class="give-required-indicator">*</span> <?php } ?> <span class="give-tooltip give-icon give-icon-question" data-tooltip="<?php esc_html_e('The city for your billing address.', 'give'); ?> "></span> </label> <input type="text" id="card_city" name="card_city" class="card-city give-input<?php if (give_field_is_required('card_city', $form_id)) { echo ' required'; } ?> " placeholder="<?php esc_html_e('City', 'give'); ?> " value="<?php echo $city; ?> "<?php if (give_field_is_required('card_city', $form_id)) { echo ' required '; } ?> /> </p> <p id="give-card-zip-wrap" class="form-row form-row-one-third"> <label for="card_zip" class="give-label"> <?php esc_html_e('Zip / Postal Code', 'give'); ?> <?php if (give_field_is_required('card_zip', $form_id)) { ?> <span class="give-required-indicator">*</span> <?php } ?> <span class="give-tooltip give-icon give-icon-question" data-tooltip="<?php esc_html_e('The zip or postal code for your billing address.', 'give'); ?> "></span> </label> <input type="text" size="4" id="card_zip" name="card_zip" class="card-zip give-input<?php if (give_field_is_required('card_zip', $form_id)) { echo ' required'; } ?> " placeholder="<?php esc_html_e('Zip / Postal Code', 'give'); ?> " value="<?php echo $zip; ?> " <?php if (give_field_is_required('card_zip', $form_id)) { echo ' required '; } ?> /> </p> <p id="give-card-country-wrap" class="form-row form-row-first"> <label for="billing_country" class="give-label"> <?php esc_html_e('Country', 'give'); ?> <?php if (give_field_is_required('billing_country', $form_id)) { ?> <span class="give-required-indicator">*</span> <?php } ?> <span class="give-tooltip give-icon give-icon-question" data-tooltip="<?php esc_html_e('The country for your billing address.', 'give'); ?> "></span> </label> <select name="billing_country" id="billing_country" class="billing-country billing_country give-select<?php if (give_field_is_required('billing_country', $form_id)) { echo ' required'; } ?> "<?php if (give_field_is_required('billing_country', $form_id)) { echo ' required '; } ?> > <?php $selected_country = give_get_country(); if ($logged_in && !empty($user_address['country']) && '*' !== $user_address['country']) { $selected_country = $user_address['country']; } $countries = give_get_country_list(); foreach ($countries as $country_code => $country) { echo '<option value="' . esc_attr($country_code) . '"' . selected($country_code, $selected_country, false) . '>' . $country . '</option>'; } ?> </select> </p> <p id="give-card-state-wrap" class="form-row form-row-last"> <label for="card_state" class="give-label"> <?php esc_html_e('State / Province', 'give'); ?> <?php if (give_field_is_required('card_state', $form_id)) { ?> <span class="give-required-indicator">*</span> <?php } ?> <span class="give-tooltip give-icon give-icon-question" data-tooltip="<?php esc_html_e('The state or province for your billing address.', 'give'); ?> "></span> </label> <?php $selected_state = give_get_state(); $states = give_get_states($selected_country); if ($logged_in && !empty($user_address['state'])) { $selected_state = $user_address['state']; } if (!empty($states)) { ?> <select name="card_state" id="card_state" class="card_state give-select<?php if (give_field_is_required('card_state', $form_id)) { echo ' required'; } ?> "<?php if (give_field_is_required('card_state', $form_id)) { echo ' required '; } ?> > <?php foreach ($states as $state_code => $state) { echo '<option value="' . $state_code . '"' . selected($state_code, $selected_state, false) . '>' . $state . '</option>'; } ?> </select> <?php } else { ?> <input type="text" size="6" name="card_state" id="card_state" class="card_state give-input" placeholder="<?php esc_html_e('State / Province', 'give'); ?> "/> <?php } ?> </p> <?php do_action('give_cc_billing_bottom'); ?> </fieldset> <?php echo ob_get_clean(); }