Exemplo n.º 1
0
/**
 * 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 
}
Exemplo n.º 2
0
/**
 * 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();
}
Exemplo n.º 3
0
/**
 * 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();
}
Exemplo n.º 4
0
														<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>
Exemplo n.º 5
0
/**
 * 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();
}