142 lines
6.2 KiB
PHP
142 lines
6.2 KiB
PHP
<?php
|
|
/**
|
|
* Subscription details table
|
|
*
|
|
* @author Prospress
|
|
* @package WooCommerce_Subscription/Templates
|
|
* @since 1.0.0 - Migrated from WooCommerce Subscriptions v2.2.19
|
|
* @version 8.2.0
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit; // Exit if accessed directly.
|
|
}
|
|
?>
|
|
<table class="shop_table subscription_details">
|
|
<tbody>
|
|
<tr>
|
|
<td><?php esc_html_e( 'Status', 'woocommerce-subscriptions' ); ?></td>
|
|
<td><?php echo esc_html( wcs_get_subscription_status_name( $subscription->get_status() ) ); ?></td>
|
|
</tr>
|
|
<?php do_action( 'wcs_subscription_details_table_before_dates', $subscription ); ?>
|
|
<?php
|
|
$dates_to_display = apply_filters( 'wcs_subscription_details_table_dates_to_display', array(
|
|
'start_date' => _x( 'Start date', 'customer subscription table header', 'woocommerce-subscriptions' ),
|
|
'last_order_date_created' => _x( 'Last order date', 'customer subscription table header', 'woocommerce-subscriptions' ),
|
|
'next_payment' => _x( 'Next payment date', 'customer subscription table header', 'woocommerce-subscriptions' ),
|
|
'end' => _x( 'End date', 'customer subscription table header', 'woocommerce-subscriptions' ),
|
|
'trial_end' => _x( 'Trial end date', 'customer subscription table header', 'woocommerce-subscriptions' ),
|
|
), $subscription );
|
|
foreach ( $dates_to_display as $date_type => $date_title ) : ?>
|
|
<?php $date = $subscription->get_date( $date_type ); ?>
|
|
<?php if ( ! empty( $date ) ) : ?>
|
|
<tr>
|
|
<td><?php echo esc_html( $date_title ); ?></td>
|
|
<td><?php echo esc_html( $subscription->get_date_to_display( $date_type ) ); ?></td>
|
|
</tr>
|
|
<?php endif; ?>
|
|
<?php endforeach; ?>
|
|
<?php do_action( 'wcs_subscription_details_table_after_dates', $subscription ); ?>
|
|
<?php if ( WCS_My_Account_Auto_Renew_Toggle::can_user_toggle_auto_renewal( $subscription ) ) : ?>
|
|
<tr>
|
|
<td><?php esc_html_e( 'Auto renew', 'woocommerce-subscriptions' ); ?></td>
|
|
<td>
|
|
<div class="wcs-auto-renew-toggle">
|
|
<?php
|
|
$is_auto_renew_on = ! $subscription->is_manual();
|
|
$toggle_classes = array( 'subscription-auto-renew-toggle', 'subscription-auto-renew-toggle--hidden' );
|
|
$is_duplicate_site = false;
|
|
|
|
if ( $is_auto_renew_on ) {
|
|
$toggle_classes[] = 'subscription-auto-renew-toggle--on';
|
|
} else {
|
|
$toggle_classes[] = 'subscription-auto-renew-toggle--off';
|
|
|
|
if ( WCS_Staging::is_duplicate_site() ) {
|
|
$toggle_classes[] = 'subscription-auto-renew-toggle--disabled';
|
|
$is_duplicate_site = true;
|
|
}
|
|
}
|
|
?>
|
|
<button
|
|
type="button"
|
|
role="switch"
|
|
aria-checked="<?php echo $is_auto_renew_on ? 'true' : 'false'; ?>"
|
|
aria-label="<?php esc_attr_e( 'Auto renew', 'woocommerce-subscriptions' ); ?>"
|
|
class="<?php echo esc_attr( implode( ' ', $toggle_classes ) ); ?>"
|
|
<?php disabled( $is_duplicate_site ); ?>
|
|
><i class="subscription-auto-renew-toggle__i" aria-hidden="true"></i></button>
|
|
<?php if ( $is_duplicate_site ) : ?>
|
|
<small class="subscription-auto-renew-toggle-disabled-note"><?php echo esc_html__( 'Using the auto-renewal toggle is disabled while in staging mode.', 'woocommerce-subscriptions' ); ?></small>
|
|
<?php endif; ?>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<?php endif; ?>
|
|
<?php do_action( 'wcs_subscription_details_table_before_payment_method', $subscription ); ?>
|
|
<?php if ( $subscription->get_time( 'next_payment' ) > 0 ) : ?>
|
|
<tr>
|
|
<td><?php esc_html_e( 'Payment', 'woocommerce-subscriptions' ); ?></td>
|
|
<td>
|
|
<span data-is_manual="<?php echo esc_attr( wc_bool_to_string( $subscription->is_manual() ) ); ?>" class="subscription-payment-method"><?php echo esc_html( $subscription->get_payment_method_to_display( 'customer' ) ); ?></span>
|
|
</td>
|
|
</tr>
|
|
<?php endif; ?>
|
|
<?php do_action( 'woocommerce_subscription_before_actions', $subscription ); ?>
|
|
<?php $actions = wcs_get_all_user_actions_for_subscription( $subscription, get_current_user_id() ); ?>
|
|
<?php if ( ! empty( $actions ) ) : ?>
|
|
<tr>
|
|
<td><?php esc_html_e( 'Actions', 'woocommerce-subscriptions' ); ?></td>
|
|
<td>
|
|
<?php foreach ( $actions as $key => $action ) : ?>
|
|
<?php
|
|
$classes = [ 'woocommerce-button', 'button', sanitize_html_class( $key ) ];
|
|
$classes[] = isset( $action['block_ui'] ) && $action['block_ui'] ? 'wcs_block_ui_on_click' : '';
|
|
|
|
if ( wc_wp_theme_get_element_class_name( 'button' ) ) {
|
|
$classes[] = wc_wp_theme_get_element_class_name( 'button' );
|
|
}
|
|
|
|
// Role is used for accessibility purposes. Default role is 'button', because of the default visual styling.
|
|
$action_role = isset( $action['role'] ) ? $action['role'] : 'button';
|
|
?>
|
|
<a
|
|
href="<?php echo esc_url( $action['url'] ); ?>"
|
|
role="<?php echo esc_attr( $action_role ); ?>"
|
|
class="<?php echo esc_attr( trim( implode( ' ', $classes ) ) ); ?>"
|
|
<?php
|
|
if ( isset( $action['modal_id'] ) ) {
|
|
echo ' aria-haspopup="dialog" aria-controls="' . esc_attr( $action['modal_id'] ) . '"';
|
|
}
|
|
?>
|
|
>
|
|
<?php echo esc_html( $action['name'] ); ?>
|
|
</a>
|
|
<?php endforeach; ?>
|
|
</td>
|
|
</tr>
|
|
<?php endif; ?>
|
|
<?php do_action( 'woocommerce_subscription_after_actions', $subscription ); ?>
|
|
</tbody>
|
|
</table>
|
|
|
|
<?php if ( $notes = $subscription->get_customer_order_notes() ) : ?>
|
|
<h2><?php esc_html_e( 'Subscription updates', 'woocommerce-subscriptions' ); ?></h2>
|
|
<ol class="woocommerce-OrderUpdates commentlist notes">
|
|
<?php foreach ( $notes as $note ) : ?>
|
|
<li class="woocommerce-OrderUpdate comment note">
|
|
<div class="woocommerce-OrderUpdate-inner comment_container">
|
|
<div class="woocommerce-OrderUpdate-text comment-text">
|
|
<p class="woocommerce-OrderUpdate-meta meta"><?php echo esc_html( date_i18n( _x( 'l jS \o\f F Y, h:ia', 'date on subscription updates list. Will be localized', 'woocommerce-subscriptions' ), wcs_date_to_time( $note->comment_date ) ) ); ?></p>
|
|
<div class="woocommerce-OrderUpdate-description description">
|
|
<?php echo wp_kses_post( wpautop( wptexturize( $note->comment_content ) ) ); ?>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ol>
|
|
<?php endif; ?>
|