Plugin Directory

Changeset 2298379


Ignore:
Timestamp:
05/05/2020 10:45:31 AM (6 years ago)
Author:
expresscheckout
Message:

Adding version 1.0.4

Location:
wc-express-checkout
Files:
4 added
30 edited

Legend:

Unmodified
Added
Removed
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/cart/cart-shipping.php

    r2290477 r2298379  
    3434                            <?php
    3535                            if ( 1 < count( $available_methods ) ) {
    36                                 printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method custom-control-input mr-4" %4$s />', $index, esc_attr( sanitize_title( $method->id ) ), esc_attr( $method->id ), checked( $method->id, $chosen_method, false ) ); // WPCS: XSS ok.
     36                                printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method custom-control-input mr-4" %4$s />', intval( $index ), esc_attr( sanitize_title( $method->id ) ), esc_attr( $method->id ), checked( $method->id, $chosen_method, false ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
    3737                            } else {
    38                                 printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method custom-control-input mr-4" checked="checked" style="visibility: hidden;position:absolute;" />', $index, esc_attr( sanitize_title( $method->id ) ), esc_attr( $method->id ) ); // WPCS: XSS ok.
     38                                printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method custom-control-input mr-4" checked="checked" style="visibility: hidden;position:absolute;" />', intval( $index ), esc_attr( sanitize_title( $method->id ) ), esc_attr( $method->id ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
    3939                            }
    40                             printf( '<label class="custom-control-label" for="shipping_method_%1$s_%2$s">%3$s</label>', $index, esc_attr( sanitize_title( $method->id ) ), wc_cart_totals_shipping_method_label( $method ) ); // WPCS: XSS ok.
     40                            printf( '<label class="custom-control-label" for="shipping_method_%1$s_%2$s">%3$s</label>', intval( $index ), esc_attr( sanitize_title( $method->id ) ), wc_cart_totals_shipping_method_label( $method ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
    4141                            do_action( 'woocommerce_after_shipping_rate', $method, $index );
    4242                            ?>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/cart/cart-totals.php

    r2297932 r2298379  
    2929            <div class="d-flex justify-content-between mb-2">
    3030                <strong><?php esc_html_e( 'Shipping', 'woocommerce' ); ?></strong>
    31                 <span><?php echo __('Calculated at next step', 'woocommerce-express-checkout' ); ?></span>
     31                <span><?php echo esc_attr__( 'Calculated at next step', 'woocommerce-express-checkout' ); ?></span>
    3232            </div>
    3333            <?php foreach ( WC()->cart->get_fees() as $fee ) : ?>
     
    5555                if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) {
    5656                    foreach ( WC()->cart->get_tax_totals() as $code => $tax ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
    57                     ?>
     57                        ?>
    5858                        <div class="d-flex justify-content-between mb-2 tax-rate tax-rate-<?php echo esc_attr( sanitize_title( $code ) ); ?>">
    5959                            <strong><?php echo esc_html( $tax->label ) . $estimated_text; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/cart/cart.php

    r2297932 r2298379  
    2323<div class="row">
    2424    <div class="col-lg-5 order-lg-2 mb-4">
    25          <?php do_action( 'woocommerce_before_cart_collaterals' ); ?>
     25        <?php do_action( 'woocommerce_before_cart_collaterals' ); ?>
    2626        <div class="cart-collaterals">
    2727            <?php
    2828            /**
    29             * Cart collaterals hook.
    30             *
    31             * @hooked woocommerce_cross_sell_display
    32             * @hooked woocommerce_cart_totals - 10
    33             */
     29             * Cart collaterals hook.
     30             *
     31             * @hooked woocommerce_cross_sell_display
     32             * @hooked woocommerce_cart_totals - 10
     33             */
    3434            remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
    3535            do_action( 'woocommerce_cart_collaterals' );
     
    3939    <div class="col-lg-7 order-lg-1">
    4040        <form class="woocommerce-cart-form" action="<?php echo esc_url( wc_get_cart_url() ); ?>" method="post">
    41              <?php do_action( 'woocommerce_before_cart_table' ); ?>
     41            <?php do_action( 'woocommerce_before_cart_table' ); ?>
    4242            <table class="shop_table shop_table_responsive cart woocommerce-cart-form__contents" cellspacing="0">
    43                  <?php do_action( 'woocommerce_before_cart_contents' ); ?>
     43                <?php do_action( 'woocommerce_before_cart_contents' ); ?>
    4444                <tr class="border-0">
    4545                    <td class="border-0">
    4646                        <ul class="list-unstyled">
    47                               <?php
    48                               foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
    49                                   $_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    50                                   $product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
    51                                  if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
    52                                       $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
    53                                      ?>
    54                                       <li class="cart-item cart_item pb-4 mb-4">
    55                                           <div class="row">
    56                                               <div class="col-sm-8 mb-3 mb-sm-0">
    57                                                   <div class="media">
    58                                                        <?php
    59                                                       $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail',  $_product->get_image(), $cart_item, $cart_item_key );
    60                                                      if ( ! $product_permalink ) {
    61                                                           echo $thumbnail; // PHPCS: XSS ok.
    62                                                       } else {
    63                                                           printf( '<a class="mr-3" href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
    64                                                      }
    65                                                      ?>
    66                                                       <div class="media-body">
    67                                                          <?php
    68                                                          if ( ! $product_permalink ) {
    69                                                               echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;' );
    70                                                          } else {
    71                                                               echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) );
    72                                                          }
    73                                                          do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key );
    74                                                          // Meta data.
    75                                                          echo wc_get_formatted_cart_item_data( $cart_item ); // PHPCS: XSS ok.
    76                                                          // Backorder notification.
    77                                                          if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
    78                                                               echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="backorder_notification">' . esc_html__( 'Available on backorder', 'woocommerce' ) . '</p>', $product_id ) );
    79                                                          }
    80                                                          ?>
    81                                                           <div class="font-weight-bold">
     47                            <?php
     48                            foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
     49                                $_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
     50                                $product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
     51                                if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
     52                                    $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
     53                                    ?>
     54                                    <li class="cart-item cart_item pb-4 mb-4">
     55                                        <div class="row">
     56                                            <div class="col-sm-8 mb-3 mb-sm-0">
     57                                                <div class="media">
     58                                                    <?php
     59                                                    $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
     60                                                    if ( ! $product_permalink ) {
     61                                                        echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     62                                                    } else {
     63                                                        printf( '<a class="mr-3" href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     64                                                    }
     65                                                    ?>
     66                                                    <div class="media-body">
     67                                                        <?php
     68                                                        if ( ! $product_permalink ) {
     69                                                            echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;' );
     70                                                        } else {
     71                                                            echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) );
     72                                                        }
     73                                                        do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key );
     74                                                        // Meta data.
     75                                                        echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     76                                                        // Backorder notification.
     77                                                        if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
     78                                                            echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="backorder_notification">' . esc_html__( 'Available on backorder', 'woocommerce' ) . '</p>', $product_id ) );
     79                                                        }
     80                                                        ?>
     81                                                        <div class="font-weight-bold">
    8282                                                            <?php
    83                                                             echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // PHPCS: XSS ok.
     83                                                            echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    8484                                                            ?>
    85                                                            </div>
    86                                                        </div>
    87                                                   </div>
    88                                               </div>
    89                                               <div class="col-sm-4 text-sm-right">
    90                                                  <?php
    91                                                  if ( $_product->is_sold_individually() ) {
    92                                                      $product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
    93                                                   } else {
    94                                                       $product_quantity = woocommerce_quantity_input(
    95                                                          array(
    96                                                              'input_name'   => "cart[{$cart_item_key}][qty]",
    97                                                              'input_value'  => $cart_item['quantity'],
    98                                                              'max_value'    => $_product->get_max_purchase_quantity(),
    99                                                              'min_value'    => '0',
    100                                                              'product_name' => $_product->get_name(),
    101                                                          ),
    102                                                          $_product,
    103                                                          false
    104                                                      );
    105                                                  }
    106                                                  echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item ); // PHPCS: XSS ok.
    107                                                  ?>
    108                                                    <div class="product-remove">
    109                                                       <?php echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    110                                                          'woocommerce_cart_item_remove_link',
    111                                                          sprintf(
    112                                                                '<a href="%s" class="btn btn-link remove text-secondary" aria-label="%s" data-product_id="%s" data-product_sku="%s">%s</a>',
    113                                                               esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
    114                                                               esc_html__( 'Remove this item', 'woocommerce' ),
    115                                                               esc_attr( $product_id ),
    116                                                               esc_attr( $_product->get_sku() ),
    117                                                               esc_html__( 'Remove', 'woocommerce' )
    118                                                          ),
    119                                                          $cart_item_key
    120                                                      ); ?>
    121                                                     </div>
    122                                                  </div>
    123                                           </div>
    124                                       </li>
    125                                      <?php
    126                                  }
    127                              }
    128                              ?>
     85                                                        </div>
     86                                                    </div>
     87                                                </div>
     88                                            </div>
     89                                            <div class="col-sm-4 text-sm-right">
     90                                                <?php
     91                                                if ( $_product->is_sold_individually() ) {
     92                                                    $product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
     93                                                } else {
     94                                                    $product_quantity = woocommerce_quantity_input(
     95                                                        array(
     96                                                            'input_name'   => "cart[{$cart_item_key}][qty]",
     97                                                            'input_value'  => $cart_item['quantity'],
     98                                                            'max_value'    => $_product->get_max_purchase_quantity(),
     99                                                            'min_value'    => '0',
     100                                                            'product_name' => $_product->get_name(),
     101                                                        ),
     102                                                        $_product,
     103                                                        false
     104                                                    );
     105                                                }
     106                                                echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     107                                                ?>
     108                                                <div class="product-remove">
     109                                                    <?php
     110                                                    echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     111                                                        'woocommerce_cart_item_remove_link',
     112                                                        sprintf(
     113                                                            '<a href="%s" class="btn btn-link remove text-secondary" aria-label="%s" data-product_id="%s" data-product_sku="%s">%s</a>',
     114                                                            esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
     115                                                            esc_html__( 'Remove this item', 'woocommerce' ),
     116                                                            esc_attr( $product_id ),
     117                                                            esc_attr( $_product->get_sku() ),
     118                                                            esc_html__( 'Remove', 'woocommerce' )
     119                                                        ),
     120                                                        $cart_item_key
     121                                                    );
     122                                                    ?>
     123                                                </div>
     124                                            </div>
     125                                        </div>
     126                                    </li>
     127                                    <?php
     128                                }
     129                            }
     130                            ?>
    129131                        </ul>
    130132                    </td>
    131133                </tr>
    132                  <?php do_action( 'woocommerce_cart_contents' ); ?>
     134                <?php do_action( 'woocommerce_cart_contents' ); ?>
    133135                <tr class="border-0">
    134136                    <td colspan="6" class="actions border-0">
    135137                        <button type="submit" class="button d-none" name="update_cart" value="<?php esc_attr_e( 'Update cart', 'woocommerce' ); ?>"><?php esc_html_e( 'Update cart', 'woocommerce' ); ?></button>
    136                          <?php do_action( 'woocommerce_cart_actions' ); ?>
    137                          <?php wp_nonce_field( 'woocommerce-cart', 'woocommerce-cart-nonce' ); ?>
     138                        <?php do_action( 'woocommerce_cart_actions' ); ?>
     139                        <?php wp_nonce_field( 'woocommerce-cart', 'woocommerce-cart-nonce' ); ?>
    138140                    </td>
    139141                </tr>
    140                  <?php do_action( 'woocommerce_after_cart_contents' ); ?>
     142                <?php do_action( 'woocommerce_after_cart_contents' ); ?>
    141143            </table>
    142144            <input type="submit" class="d-none" name="apply_coupon" id="trigger_coupon"/>
    143              <?php do_action( 'woocommerce_after_cart_table' ); ?>
     145            <?php do_action( 'woocommerce_after_cart_table' ); ?>
    144146        </form>
    145147    </div>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/checkout/form-coupon.php

    r2290477 r2298379  
    2525<div class="border-bottom pb-3 mb-3">
    2626    <a href="#collapseDiscount" class="discount d-flex justify-content-between align-items-center collapsed text-dark" role="button" data-toggle="collapse" aria-expanded="false" aria-controls="collapseDiscount">
    27         <span class="small"><?php echo apply_filters( 'woocommerce_checkout_coupon_message', esc_html__( 'Have a coupon?', 'woocommerce' ) ); ?></span>
     27        <span class="small"><?php echo apply_filters( 'woocommerce_checkout_coupon_message', esc_html__( 'Have a coupon?', 'woocommerce' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
    2828        <i class="material-icons rotate-icon">keyboard_arrow_down</i>
    2929    </a>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/checkout/form-login.php

    r2290477 r2298379  
    2424?>
    2525<div class="woocommerce-form-login-toggle mb-4 h6">
    26     <?php echo apply_filters( 'woocommerce_checkout_login_message', esc_html__( 'Already have an account?', 'woocommerce' ) ) . ' <a href="#" class="showlogin">' . esc_html__( 'Log in', 'woocommerce' ) . '</a>'; ?>
     26    <?php echo apply_filters( 'woocommerce_checkout_login_message', esc_html__( 'Already have an account?', 'woocommerce' ) ) . ' <a href="#" class="showlogin">' . esc_html__( 'Log in', 'woocommerce' ) . '</a>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
    2727</div>
    2828<?php
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/checkout/form-shipping.php

    r2297932 r2298379  
    4040            </ul>
    4141            <div class="shipping_address collapse collapse-billing">
    42                  <?php do_action( 'woocommerce_before_checkout_shipping_form', $checkout ); ?>
     42                <?php do_action( 'woocommerce_before_checkout_shipping_form', $checkout ); ?>
    4343                <div class="form-row">
    4444                    <?php woocommerce_form_field( 'shipping_first_name', $fields['shipping_first_name'], $checkout->get_value( 'shipping_first_name' ) ); ?>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/checkout/payment-method.php

    r2290477 r2298379  
    2525
    2626        <label class="custom-control-label" for="payment_method_<?php echo esc_attr( $gateway->id ); ?>">
    27             <?php echo $gateway->get_title(); /* phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped */ ?> <?php echo $gateway->get_icon(); /* phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped */ ?>
     27            <?php echo $gateway->get_title(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> <?php echo $gateway->get_icon(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
    2828        </label>
    2929    </div>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/checkout/payment.php

    r2297932 r2298379  
    2929    <?php endif; ?>
    3030    <fieldset class="mb-4 ml-0">
    31         <legend class="h6 mb-4"><?php echo __( 'Payment Information', 'woocommerce-express-checkout' ); ?></legend>
     31        <legend class="h6 mb-4"><?php esc_html_e( 'Payment Information', 'woocommerce-express-checkout' ); ?></legend>
    3232        <?php if ( WC()->cart->needs_payment() ) : ?>
    3333            <ul class="wc_payment_methods payment_methods methods list-group mb-4 ml-0">
     
    6363        </div>
    6464        <div class="text-center">
    65             <a href="<?php echo wc_get_cart_url(); ?>" class="btn btn-link text-secondary"><u><?php esc_html_e( 'Return to cart', 'woocommerce' ); ?></u></a>
     65            <a href="<?php echo esc_attr( wc_get_cart_url() ); ?>" class="btn btn-link text-secondary"><u><?php esc_html_e( 'Return to cart', 'woocommerce' ); ?></u></a>
    6666        </div>
    6767    </fieldset>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/checkout/review-order.php

    r2290477 r2298379  
    3333                    <div class="position-relative mr-3">
    3434                        <?php
    35                          $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
     35                        $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
    3636                        $thumbnail         = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
    3737                        if ( ! $product_permalink ) {
    38                             echo $thumbnail; // PHPCS: XSS ok.
     38                            echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    3939                        } else {
    40                             printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
     40                            printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    4141                        }
    4242                        ?>
     
    4747                    <div class="media-body">
    4848                        <h3 class="h6 font-weight-normal pr-4"><?php echo apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></h3>
    49                          <?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
     49                        <?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
    5050                    </div>
    5151                </div>
     
    6666            <strong><?php esc_html_e( 'Shipping', 'woocommerce' ); ?></strong>
    6767
    68             <span><?php echo WC()->cart->get_cart_shipping_total(); ?></span>
     68            <span><?php echo WC()->cart->get_cart_shipping_total(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
    6969        </div>
    7070
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/checkout/thankyou.php

    r2297976 r2298379  
    2121<div class="woocommerce-order">
    2222
    23     <?php if ( $order ) :
     23    <?php
     24    if ( $order ) :
    2425
    25         do_action( 'woocommerce_before_thankyou', $order->get_id() ); ?>
     26        do_action( 'woocommerce_before_thankyou', $order->get_id() );
     27        ?>
    2628
    2729        <?php if ( $order->has_status( 'failed' ) ) : ?>
    2830
    29          <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed"><?php esc_html_e( 'Unfortunately your order cannot be processed as the originating bank/merchant has declined your transaction. Please attempt your purchase again.', 'woocommerce' ); ?></p>
     31            <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed"><?php esc_html_e( 'Unfortunately your order cannot be processed as the originating bank/merchant has declined your transaction. Please attempt your purchase again.', 'woocommerce' ); ?></p>
    3032
    31           <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed-actions">
    32              <a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php esc_html_e( 'Pay', 'woocommerce' ); ?></a>
    33              <?php if ( is_user_logged_in() ) : ?>
    34                   <a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php esc_html_e( 'My account', 'woocommerce' ); ?></a>
    35              <?php endif; ?>
    36          </p>
     33            <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed-actions">
     34                <a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php esc_html_e( 'Pay', 'woocommerce' ); ?></a>
     35                <?php if ( is_user_logged_in() ) : ?>
     36                    <a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php esc_html_e( 'My account', 'woocommerce' ); ?></a>
     37                <?php endif; ?>
     38            </p>
    3739
    3840    <?php else : ?>
    3941
    40         <div class="row">
    41             <div class="col-lg-7">
    42                 <div class="media align-items-center mb-4">
    43                     <i class="material-icons text-success display-3 mr-2">
    44                         check_circle_outline
    45                     </i>
    46                     <div class="media-body">
    47                         <div class="mb-1"><?php esc_html_e( 'Order', 'woocommerce' ); ?> #<?php echo $order->get_id(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></div>
    48                         <div class="h5"><?php esc_html_e( 'Thank you', 'woocommerce' ); ?> <?php echo $order->get_billing_first_name(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>!</div>
    49                     </div>
    50                 </div>
    51                 <div class="card bg-light border-0 mb-4">
    52                     <div class="card-header border-0">
    53                         <h3 class="h6 mb-0"><?php esc_html_e( 'Your order is confirmed', 'woocommerce' ); ?></h3>
    54                     </div>
    55                     <div class="card-body">
    56                         <p class="card-text">We've accepted your order, and we're getting it ready. A confirmation email has been sent to <strong><?php echo $order->get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong></p>
    57                     </div>
    58                 </div>
    59                 <div class="card bg-light border-0 mb-4">
    60                     <div class="card-header border-0">
    61                         <h3 class="h6 mb-0"><?php esc_html_e( 'Customer Information', 'woocommerce-express-checkout' ); ?></h3>
    62                     </div>
    63                     <div class="card-body">
    64                         <div class="row">
    65                             <?php $show_shipping = ! wc_ship_to_billing_address_only() && $order->needs_shipping_address(); ?>
    66                             <?php if( $show_shipping ) { ?>
    67                                 <div class="col-sm-6">
    68                                     <h4 class="h6"><?php esc_html_e( 'Shipping Address', 'woocommerce') ;?></h4>
    69                                     <p><?php echo $order->get_formatted_shipping_address(); ?></p>
    70                                 </div>
    71                                 <div class="col-sm-6">
    72                                     <h4 class="h6"><?php esc_html_e( 'Billing Address', 'woocommerce') ;?></h4>
    73                                     <p><?php echo $order->get_formatted_billing_address(); ?></p>
    74                                 </div>
    75                                 <div class="col-sm-6">
    76                                     <h4 class="h6"><?php esc_html_e( 'Shipping Method', 'woocommerce') ;?></h4>
    77                                     <p><?php echo $order->get_shipping_method(); ?></p>
    78                                 </div>
    79                                 <div class="col-sm-6">
    80                                     <h4 class="h6"><?php esc_html_e( 'Payment Method', 'woocommerce') ;?></h4>
    81                                     <p class="payments"><?php echo $order->get_payment_method_title(); ?></p>
    82                                 </div>
    83                             <?php } else { ?>
    84                                 <div class="col-sm-6">
    85                                     <h4 class="h6"><?php esc_html_e( 'Billing Address', 'woocommerce') ;?></h4>
    86                                     <p><?php echo $order->get_formatted_billing_address(); ?></p>
    87                                 </div>
    88                                 <div class="col-sm-6">
    89                                     <h4 class="h6"><?php esc_html_e( 'Payment Method', 'woocommerce') ;?></h4>
    90                                     <p class="payments"><?php echo $order->get_payment_method_title(); ?></p>
    91                                 </div>
    92                             <?php } ?>
    93                         </div>
    94                     </div>
    95                 </div>
    96                 <div class="d-flex flex-wrap justify-content-between align-items-center mb-4">
    97                     <p class="mb-sm-0"><i class="material-icons align-bottom">
    98                             help_outline
    99                         </i> <?php esc_html_e( 'Need help?', 'woocommerce-express-checkout' ); ?> <a href="<?php echo woocommerce_express_checkout_helper()->get_contact_link(); ?>"><?php esc_html_e( 'Contact us', 'woocommerce-express-checkout' ); ?></a></p>
    100                     <a href="<?php echo get_permalink( wc_get_page_id( 'shop' ) ); ?>" class="btn btn-primary"><?php _e( 'Continue Shopping', 'woocommerce' ); ?></a>
    101                 </div>
    102                 <div class="d-flex flex-wrap justify-content-between align-items-center mb-4">
    103                        <?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?>
    104                        <?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?>
    105                 </div>
    106             </div>
    107             <div class="col-lg-5">
    108                 <div class="card cart border-0 bg-light mb-3">
    109                     <div class="card-body py-4">
     42        <div class="row">
     43            <div class="col-lg-7">
     44                <div class="media align-items-center mb-4">
     45                    <i class="material-icons text-success display-3 mr-2">
     46                        check_circle_outline
     47                    </i>
     48                    <div class="media-body">
     49                        <div class="mb-1"><?php esc_html_e( 'Order', 'woocommerce' ); ?> #<?php echo $order->get_id(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></div>
     50                        <div class="h5"><?php esc_html_e( 'Thank you', 'woocommerce' ); ?> <?php echo $order->get_billing_first_name(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>!</div>
     51                    </div>
     52                </div>
     53                <div class="card bg-light border-0 mb-4">
     54                    <div class="card-header border-0">
     55                        <h3 class="h6 mb-0"><?php esc_html_e( 'Your order is confirmed', 'woocommerce' ); ?></h3>
     56                    </div>
     57                    <div class="card-body">
     58                        <p class="card-text">We've accepted your order, and we're getting it ready. A confirmation email has been sent to <strong><?php echo $order->get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong></p>
     59                    </div>
     60                </div>
     61                <div class="card bg-light border-0 mb-4">
     62                    <div class="card-header border-0">
     63                        <h3 class="h6 mb-0"><?php esc_html_e( 'Customer Information', 'woocommerce-express-checkout' ); ?></h3>
     64                    </div>
     65                    <div class="card-body">
     66                        <div class="row">
     67                            <?php $show_shipping = ! wc_ship_to_billing_address_only() && $order->needs_shipping_address(); ?>
     68                            <?php if ( $show_shipping ) { ?>
     69                                <div class="col-sm-6">
     70                                    <h4 class="h6"><?php esc_html_e( 'Shipping Address', 'woocommerce' ); ?></h4>
     71                                    <p><?php echo wp_kses_post( $order->get_formatted_shipping_address() ); ?></p>
     72                                </div>
     73                                <div class="col-sm-6">
     74                                    <h4 class="h6"><?php esc_html_e( 'Billing Address', 'woocommerce' ); ?></h4>
     75                                    <p><?php echo wp_kses_post( $order->get_formatted_billing_address() ); ?></p>
     76                                </div>
     77                                <div class="col-sm-6">
     78                                    <h4 class="h6"><?php esc_html_e( 'Shipping Method', 'woocommerce' ); ?></h4>
     79                                    <p><?php echo wp_kses_post( $order->get_shipping_method() ); ?></p>
     80                                </div>
     81                                <div class="col-sm-6">
     82                                    <h4 class="h6"><?php esc_html_e( 'Payment Method', 'woocommerce' ); ?></h4>
     83                                    <p class="payments"><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></p>
     84                                </div>
     85                            <?php } else { ?>
     86                                <div class="col-sm-6">
     87                                    <h4 class="h6"><?php esc_html_e( 'Billing Address', 'woocommerce' ); ?></h4>
     88                                    <p><?php echo wp_kses_post( $order->get_formatted_billing_address() ); ?></p>
     89                                </div>
     90                                <div class="col-sm-6">
     91                                    <h4 class="h6"><?php esc_html_e( 'Payment Method', 'woocommerce' ); ?></h4>
     92                                    <p class="payments"><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></p>
     93                                </div>
     94                            <?php } ?>
     95                        </div>
     96                    </div>
     97                </div>
     98                <div class="d-flex flex-wrap justify-content-between align-items-center mb-4">
     99                    <p class="mb-sm-0"><i class="material-icons align-bottom">
     100                            help_outline
     101                        </i> <?php esc_html_e( 'Need help?', 'woocommerce-express-checkout' ); ?> <a href="<?php echo esc_attr( woocommerce_express_checkout_helper()->get_contact_link() ); ?>"><?php esc_html_e( 'Contact us', 'woocommerce-express-checkout' ); ?></a></p>
     102                    <a href="<?php echo esc_attr( get_permalink( wc_get_page_id( 'shop' ) ) ); ?>" class="btn btn-primary"><?php esc_html_e( 'Continue Shopping', 'woocommerce' ); ?></a>
     103                </div>
     104                <div class="d-flex flex-wrap justify-content-between align-items-center mb-4">
     105                    <?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?>
     106                    <?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?>
     107                </div>
     108            </div>
     109            <div class="col-lg-5">
     110                <div class="card cart border-0 bg-light mb-3">
     111                    <div class="card-body py-4">
    110112                        <?php woocommerce_order_details_table( $order->get_id() ); ?>
    111                     </div>
    112                     <div class="card-footer border-0">
    113                         <div class="d-flex justify-content-between align-items-center h5 mb-0">
    114                             <strong><?php esc_html_e( 'Order Total', 'woocommerce' ); ?></strong>
    115                             <span><?php echo $order->get_formatted_order_total(); ?></span>
    116                         </div>
    117                     </div>
    118                 </div>
    119                 <div class="bg-light text-center p-3">
    120                     <i class="material-icons align-bottom">lock</i> <?php esc_html_e( 'Secure Checkout', 'woocommerce-express-checkout' ); ?>
    121                 </div>
    122             </div>
    123         </div>
     113                    </div>
     114                    <div class="card-footer border-0">
     115                        <div class="d-flex justify-content-between align-items-center h5 mb-0">
     116                            <strong><?php esc_html_e( 'Order Total', 'woocommerce' ); ?></strong>
     117                            <span><?php echo wp_kses_post( $order->get_formatted_order_total() ); ?></span>
     118                        </div>
     119                    </div>
     120                </div>
     121                <div class="bg-light text-center p-3">
     122                    <i class="material-icons align-bottom">lock</i> <?php esc_html_e( 'Secure Checkout', 'woocommerce-express-checkout' ); ?>
     123                </div>
     124            </div>
     125        </div>
    124126
    125127    <?php endif; ?>
     
    127129    <?php else : ?>
    128130
    129         <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', 'woocommerce' ), null ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
     131        <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', 'woocommerce' ), null ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
    130132
    131133    <?php endif; ?>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/global/form-login.php

    r2290477 r2298379  
    1111 * the readme will list any important changes.
    1212 *
    13  * @see         https://docs.woocommerce.com/document/template-structure/
    14  * @package     WooCommerce/Templates
     13 * @see         https://docs.woocommerce.com/document/template-structure/
     14 * @package     WooCommerce/Templates
    1515 * @version     3.6.0
    1616 */
     
    5151        <div class="col-sm-2 text-right">
    5252            <?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?>
    53             <input type="hidden" name="redirect" value="<?php echo esc_url( $redirect ) ?>" />
     53            <input type="hidden" name="redirect" value="<?php echo esc_url( $redirect ); ?>" />
    5454            <button type="submit" class="btn btn-primary woocommerce-button button woocommerce-form-login__submit d-block" style="width: 100%;" name="login" value="<?php esc_attr_e( 'Login', 'woocommerce' ); ?>"><?php esc_html_e( 'Login', 'woocommerce' ); ?></button>
    5555        </div>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/order/order-details-item.php

    r2290477 r2298379  
    2626<div class="d-flex justify-content-between align-items-center border-bottom pb-4 mb-4 <?php echo esc_attr( apply_filters( 'woocommerce_order_item_class', 'woocommerce-table__line-item order_item', $item, $order ) ); ?>">
    2727    <div class="media align-items-center small-image">
    28          <?php
    29          $is_visible        = $product && $product->is_visible();
    30          $product_permalink = apply_filters( 'woocommerce_order_item_permalink', $is_visible ? $product->get_permalink( $item ) : '', $item, $order );
     28            <?php
     29            $is_visible        = $product && $product->is_visible();
     30            $product_permalink = apply_filters( 'woocommerce_order_item_permalink', $is_visible ? $product->get_permalink( $item ) : '', $item, $order );
    3131
    32          $qty          = $item->get_quantity();
    33          $refunded_qty = $order->get_qty_refunded_for_item( $item_id );
     32            $qty          = $item->get_quantity();
     33            $refunded_qty = $order->get_qty_refunded_for_item( $item_id );
    3434
    35          if ( $refunded_qty ) {
    36              $qty_display = '<del>' . esc_html( $qty ) . '</del> <ins>' . esc_html( $qty - ( $refunded_qty * -1 ) ) . '</ins>';
    37          } else {
    38              $qty_display = esc_html( $qty );
    39          }
    40          ?>
     35            if ( $refunded_qty ) {
     36                $qty_display = '<del>' . esc_html( $qty ) . '</del> <ins>' . esc_html( $qty - ( $refunded_qty * -1 ) ) . '</ins>';
     37            } else {
     38                $qty_display = esc_html( $qty );
     39            }
     40            ?>
    4141        <div class="position-relative mr-3 small-image">
    4242            <?php
    4343            $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $product->get_image(), $item );
    4444            if ( ! $product_permalink ) {
    45                 echo $thumbnail; // PHPCS: XSS ok.
     45                echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    4646            } else {
    47                 printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
    48             } ?>
     47                printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     48            }
     49            ?>
    4950            <div class="qty-indicator"><?php echo apply_filters( 'woocommerce_order_item_quantity_html', ' <strong class="product-quantity">' . sprintf( '%s', $qty_display ) . '</strong>', $item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></div>
    5051        </div>
  • wc-express-checkout/tags/1.0.4/templates/woocommerce/express-checkout/order/order-details.php

    r2297932 r2298379  
    2424}
    2525
    26 $order_items        = $order->get_items( apply_filters( 'woocommerce_purchase_order_item_types', 'line_item' ) );
    27 $show_purchase_note = $order->has_status( apply_filters( 'woocommerce_purchase_note_order_statuses', array( 'completed', 'processing' ) ) );
    28 // $show_customer_details = is_user_logged_in() && $order->get_user_id() === get_current_user_id();
     26$order_items           = $order->get_items( apply_filters( 'woocommerce_purchase_order_item_types', 'line_item' ) );
     27$show_purchase_note    = $order->has_status( apply_filters( 'woocommerce_purchase_note_order_statuses', array( 'completed', 'processing' ) ) );
    2928$show_customer_details = 0;
    3029$downloads             = $order->get_downloadable_items();
     
    6261            do_action( 'woocommerce_order_details_after_order_table_items', $order );
    6362            foreach ( $order->get_order_item_totals() as $key => $total ) {
    64                 if ( $key === 'order_total' ) {
     63                if ( 'order_total' === $key ) {
    6564                    continue;
    6665                }
     
    8180            <?php endif; ?>
    8281        </div>
    83         <?php do_action( 'woocommerce_order_details_after_order_table', $order ); ?>
     82        <?php do_action( 'woocommerce_order_details_after_order_table', $order ); ?>
    8483    </section>
    8584
  • wc-express-checkout/tags/1.0.4/templates/wordpress/footer-express-checkout.php

    r2290477 r2298379  
    11        </main>
    22        <?php wp_footer(); ?>
    3         <div class="container">
    4             <div class="row">
    5                 <div class="col-12">
    6                     <p align="right"><small>powered by <a target="_blank" href="https://expresscheckout.app/">Express Checkout</a></small></p>
    7                 </div>
    8             </div>
    9         </div>
    103    </body>
    114</html>
  • wc-express-checkout/tags/1.0.4/templates/wordpress/header-express-checkout.php

    r2290477 r2298379  
    2323
    2424<body <?php body_class(); ?>>
    25 <?php wp_body_open(); ?>
     25<?php
     26if ( class_exists( 'wp_body_open' ) ) {
     27    wp_body_open();
     28}
     29?>
    2630<div id="page" class="site">
    27     <a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'twentyseventeen' ); ?></a>
     31    <a class="skip-link screen-reader-text" href="#content"><?php esc_attr_e( 'Skip to content', 'woocommerce-express-checkout' ); ?></a>
    2832
    2933    <header class="mb-4 mt-4 site-header">
     
    3438                if ( $shop_logo ) {
    3539                    ?>
    36                     <img src="<?php echo esc_url( $shop_logo ); ?>" class="responsive-image" alt="<?php echo get_bloginfo( 'name' ); ?>" />
     40                    <img src="<?php echo esc_url( $shop_logo ); ?>" class="responsive-image" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" />
    3741                    <?php
    3842                } elseif ( has_custom_logo() ) {
    39                     echo get_custom_logo();
     43                    echo get_custom_logo(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    4044                } else {
    41                     echo '<a href="' . get_site_url() . '">' . get_bloginfo( 'name' ) . '</a>';
     45                    echo '<a href="' . esc_attr( get_site_url() ) . '">' . esc_html( get_bloginfo( 'name' ) ) . '</a>';
    4246                }
    4347                ?>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/cart/cart-shipping.php

    r2290477 r2298379  
    3434                            <?php
    3535                            if ( 1 < count( $available_methods ) ) {
    36                                 printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method custom-control-input mr-4" %4$s />', $index, esc_attr( sanitize_title( $method->id ) ), esc_attr( $method->id ), checked( $method->id, $chosen_method, false ) ); // WPCS: XSS ok.
     36                                printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method custom-control-input mr-4" %4$s />', intval( $index ), esc_attr( sanitize_title( $method->id ) ), esc_attr( $method->id ), checked( $method->id, $chosen_method, false ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
    3737                            } else {
    38                                 printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method custom-control-input mr-4" checked="checked" style="visibility: hidden;position:absolute;" />', $index, esc_attr( sanitize_title( $method->id ) ), esc_attr( $method->id ) ); // WPCS: XSS ok.
     38                                printf( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method custom-control-input mr-4" checked="checked" style="visibility: hidden;position:absolute;" />', intval( $index ), esc_attr( sanitize_title( $method->id ) ), esc_attr( $method->id ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
    3939                            }
    40                             printf( '<label class="custom-control-label" for="shipping_method_%1$s_%2$s">%3$s</label>', $index, esc_attr( sanitize_title( $method->id ) ), wc_cart_totals_shipping_method_label( $method ) ); // WPCS: XSS ok.
     40                            printf( '<label class="custom-control-label" for="shipping_method_%1$s_%2$s">%3$s</label>', intval( $index ), esc_attr( sanitize_title( $method->id ) ), wc_cart_totals_shipping_method_label( $method ) ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
    4141                            do_action( 'woocommerce_after_shipping_rate', $method, $index );
    4242                            ?>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/cart/cart-totals.php

    r2297932 r2298379  
    2929            <div class="d-flex justify-content-between mb-2">
    3030                <strong><?php esc_html_e( 'Shipping', 'woocommerce' ); ?></strong>
    31                 <span><?php echo __('Calculated at next step', 'woocommerce-express-checkout' ); ?></span>
     31                <span><?php echo esc_attr__( 'Calculated at next step', 'woocommerce-express-checkout' ); ?></span>
    3232            </div>
    3333            <?php foreach ( WC()->cart->get_fees() as $fee ) : ?>
     
    5555                if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) {
    5656                    foreach ( WC()->cart->get_tax_totals() as $code => $tax ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
    57                     ?>
     57                        ?>
    5858                        <div class="d-flex justify-content-between mb-2 tax-rate tax-rate-<?php echo esc_attr( sanitize_title( $code ) ); ?>">
    5959                            <strong><?php echo esc_html( $tax->label ) . $estimated_text; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/cart/cart.php

    r2297932 r2298379  
    2323<div class="row">
    2424    <div class="col-lg-5 order-lg-2 mb-4">
    25          <?php do_action( 'woocommerce_before_cart_collaterals' ); ?>
     25        <?php do_action( 'woocommerce_before_cart_collaterals' ); ?>
    2626        <div class="cart-collaterals">
    2727            <?php
    2828            /**
    29             * Cart collaterals hook.
    30             *
    31             * @hooked woocommerce_cross_sell_display
    32             * @hooked woocommerce_cart_totals - 10
    33             */
     29             * Cart collaterals hook.
     30             *
     31             * @hooked woocommerce_cross_sell_display
     32             * @hooked woocommerce_cart_totals - 10
     33             */
    3434            remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
    3535            do_action( 'woocommerce_cart_collaterals' );
     
    3939    <div class="col-lg-7 order-lg-1">
    4040        <form class="woocommerce-cart-form" action="<?php echo esc_url( wc_get_cart_url() ); ?>" method="post">
    41              <?php do_action( 'woocommerce_before_cart_table' ); ?>
     41            <?php do_action( 'woocommerce_before_cart_table' ); ?>
    4242            <table class="shop_table shop_table_responsive cart woocommerce-cart-form__contents" cellspacing="0">
    43                  <?php do_action( 'woocommerce_before_cart_contents' ); ?>
     43                <?php do_action( 'woocommerce_before_cart_contents' ); ?>
    4444                <tr class="border-0">
    4545                    <td class="border-0">
    4646                        <ul class="list-unstyled">
    47                               <?php
    48                               foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
    49                                   $_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    50                                   $product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
    51                                  if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
    52                                       $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
    53                                      ?>
    54                                       <li class="cart-item cart_item pb-4 mb-4">
    55                                           <div class="row">
    56                                               <div class="col-sm-8 mb-3 mb-sm-0">
    57                                                   <div class="media">
    58                                                        <?php
    59                                                       $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail',  $_product->get_image(), $cart_item, $cart_item_key );
    60                                                      if ( ! $product_permalink ) {
    61                                                           echo $thumbnail; // PHPCS: XSS ok.
    62                                                       } else {
    63                                                           printf( '<a class="mr-3" href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
    64                                                      }
    65                                                      ?>
    66                                                       <div class="media-body">
    67                                                          <?php
    68                                                          if ( ! $product_permalink ) {
    69                                                               echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;' );
    70                                                          } else {
    71                                                               echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) );
    72                                                          }
    73                                                          do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key );
    74                                                          // Meta data.
    75                                                          echo wc_get_formatted_cart_item_data( $cart_item ); // PHPCS: XSS ok.
    76                                                          // Backorder notification.
    77                                                          if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
    78                                                               echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="backorder_notification">' . esc_html__( 'Available on backorder', 'woocommerce' ) . '</p>', $product_id ) );
    79                                                          }
    80                                                          ?>
    81                                                           <div class="font-weight-bold">
     47                            <?php
     48                            foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
     49                                $_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
     50                                $product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
     51                                if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
     52                                    $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
     53                                    ?>
     54                                    <li class="cart-item cart_item pb-4 mb-4">
     55                                        <div class="row">
     56                                            <div class="col-sm-8 mb-3 mb-sm-0">
     57                                                <div class="media">
     58                                                    <?php
     59                                                    $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
     60                                                    if ( ! $product_permalink ) {
     61                                                        echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     62                                                    } else {
     63                                                        printf( '<a class="mr-3" href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     64                                                    }
     65                                                    ?>
     66                                                    <div class="media-body">
     67                                                        <?php
     68                                                        if ( ! $product_permalink ) {
     69                                                            echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;' );
     70                                                        } else {
     71                                                            echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) );
     72                                                        }
     73                                                        do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key );
     74                                                        // Meta data.
     75                                                        echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     76                                                        // Backorder notification.
     77                                                        if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
     78                                                            echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="backorder_notification">' . esc_html__( 'Available on backorder', 'woocommerce' ) . '</p>', $product_id ) );
     79                                                        }
     80                                                        ?>
     81                                                        <div class="font-weight-bold">
    8282                                                            <?php
    83                                                             echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // PHPCS: XSS ok.
     83                                                            echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    8484                                                            ?>
    85                                                            </div>
    86                                                        </div>
    87                                                   </div>
    88                                               </div>
    89                                               <div class="col-sm-4 text-sm-right">
    90                                                  <?php
    91                                                  if ( $_product->is_sold_individually() ) {
    92                                                      $product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
    93                                                   } else {
    94                                                       $product_quantity = woocommerce_quantity_input(
    95                                                          array(
    96                                                              'input_name'   => "cart[{$cart_item_key}][qty]",
    97                                                              'input_value'  => $cart_item['quantity'],
    98                                                              'max_value'    => $_product->get_max_purchase_quantity(),
    99                                                              'min_value'    => '0',
    100                                                              'product_name' => $_product->get_name(),
    101                                                          ),
    102                                                          $_product,
    103                                                          false
    104                                                      );
    105                                                  }
    106                                                  echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item ); // PHPCS: XSS ok.
    107                                                  ?>
    108                                                    <div class="product-remove">
    109                                                       <?php echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    110                                                          'woocommerce_cart_item_remove_link',
    111                                                          sprintf(
    112                                                                '<a href="%s" class="btn btn-link remove text-secondary" aria-label="%s" data-product_id="%s" data-product_sku="%s">%s</a>',
    113                                                               esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
    114                                                               esc_html__( 'Remove this item', 'woocommerce' ),
    115                                                               esc_attr( $product_id ),
    116                                                               esc_attr( $_product->get_sku() ),
    117                                                               esc_html__( 'Remove', 'woocommerce' )
    118                                                          ),
    119                                                          $cart_item_key
    120                                                      ); ?>
    121                                                     </div>
    122                                                  </div>
    123                                           </div>
    124                                       </li>
    125                                      <?php
    126                                  }
    127                              }
    128                              ?>
     85                                                        </div>
     86                                                    </div>
     87                                                </div>
     88                                            </div>
     89                                            <div class="col-sm-4 text-sm-right">
     90                                                <?php
     91                                                if ( $_product->is_sold_individually() ) {
     92                                                    $product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
     93                                                } else {
     94                                                    $product_quantity = woocommerce_quantity_input(
     95                                                        array(
     96                                                            'input_name'   => "cart[{$cart_item_key}][qty]",
     97                                                            'input_value'  => $cart_item['quantity'],
     98                                                            'max_value'    => $_product->get_max_purchase_quantity(),
     99                                                            'min_value'    => '0',
     100                                                            'product_name' => $_product->get_name(),
     101                                                        ),
     102                                                        $_product,
     103                                                        false
     104                                                    );
     105                                                }
     106                                                echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     107                                                ?>
     108                                                <div class="product-remove">
     109                                                    <?php
     110                                                    echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     111                                                        'woocommerce_cart_item_remove_link',
     112                                                        sprintf(
     113                                                            '<a href="%s" class="btn btn-link remove text-secondary" aria-label="%s" data-product_id="%s" data-product_sku="%s">%s</a>',
     114                                                            esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
     115                                                            esc_html__( 'Remove this item', 'woocommerce' ),
     116                                                            esc_attr( $product_id ),
     117                                                            esc_attr( $_product->get_sku() ),
     118                                                            esc_html__( 'Remove', 'woocommerce' )
     119                                                        ),
     120                                                        $cart_item_key
     121                                                    );
     122                                                    ?>
     123                                                </div>
     124                                            </div>
     125                                        </div>
     126                                    </li>
     127                                    <?php
     128                                }
     129                            }
     130                            ?>
    129131                        </ul>
    130132                    </td>
    131133                </tr>
    132                  <?php do_action( 'woocommerce_cart_contents' ); ?>
     134                <?php do_action( 'woocommerce_cart_contents' ); ?>
    133135                <tr class="border-0">
    134136                    <td colspan="6" class="actions border-0">
    135137                        <button type="submit" class="button d-none" name="update_cart" value="<?php esc_attr_e( 'Update cart', 'woocommerce' ); ?>"><?php esc_html_e( 'Update cart', 'woocommerce' ); ?></button>
    136                          <?php do_action( 'woocommerce_cart_actions' ); ?>
    137                          <?php wp_nonce_field( 'woocommerce-cart', 'woocommerce-cart-nonce' ); ?>
     138                        <?php do_action( 'woocommerce_cart_actions' ); ?>
     139                        <?php wp_nonce_field( 'woocommerce-cart', 'woocommerce-cart-nonce' ); ?>
    138140                    </td>
    139141                </tr>
    140                  <?php do_action( 'woocommerce_after_cart_contents' ); ?>
     142                <?php do_action( 'woocommerce_after_cart_contents' ); ?>
    141143            </table>
    142144            <input type="submit" class="d-none" name="apply_coupon" id="trigger_coupon"/>
    143              <?php do_action( 'woocommerce_after_cart_table' ); ?>
     145            <?php do_action( 'woocommerce_after_cart_table' ); ?>
    144146        </form>
    145147    </div>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/checkout/form-coupon.php

    r2290477 r2298379  
    2525<div class="border-bottom pb-3 mb-3">
    2626    <a href="#collapseDiscount" class="discount d-flex justify-content-between align-items-center collapsed text-dark" role="button" data-toggle="collapse" aria-expanded="false" aria-controls="collapseDiscount">
    27         <span class="small"><?php echo apply_filters( 'woocommerce_checkout_coupon_message', esc_html__( 'Have a coupon?', 'woocommerce' ) ); ?></span>
     27        <span class="small"><?php echo apply_filters( 'woocommerce_checkout_coupon_message', esc_html__( 'Have a coupon?', 'woocommerce' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
    2828        <i class="material-icons rotate-icon">keyboard_arrow_down</i>
    2929    </a>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/checkout/form-login.php

    r2290477 r2298379  
    2424?>
    2525<div class="woocommerce-form-login-toggle mb-4 h6">
    26     <?php echo apply_filters( 'woocommerce_checkout_login_message', esc_html__( 'Already have an account?', 'woocommerce' ) ) . ' <a href="#" class="showlogin">' . esc_html__( 'Log in', 'woocommerce' ) . '</a>'; ?>
     26    <?php echo apply_filters( 'woocommerce_checkout_login_message', esc_html__( 'Already have an account?', 'woocommerce' ) ) . ' <a href="#" class="showlogin">' . esc_html__( 'Log in', 'woocommerce' ) . '</a>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
    2727</div>
    2828<?php
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/checkout/form-shipping.php

    r2297932 r2298379  
    4040            </ul>
    4141            <div class="shipping_address collapse collapse-billing">
    42                  <?php do_action( 'woocommerce_before_checkout_shipping_form', $checkout ); ?>
     42                <?php do_action( 'woocommerce_before_checkout_shipping_form', $checkout ); ?>
    4343                <div class="form-row">
    4444                    <?php woocommerce_form_field( 'shipping_first_name', $fields['shipping_first_name'], $checkout->get_value( 'shipping_first_name' ) ); ?>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/checkout/payment-method.php

    r2290477 r2298379  
    2525
    2626        <label class="custom-control-label" for="payment_method_<?php echo esc_attr( $gateway->id ); ?>">
    27             <?php echo $gateway->get_title(); /* phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped */ ?> <?php echo $gateway->get_icon(); /* phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped */ ?>
     27            <?php echo $gateway->get_title(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> <?php echo $gateway->get_icon(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
    2828        </label>
    2929    </div>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/checkout/payment.php

    r2297932 r2298379  
    2929    <?php endif; ?>
    3030    <fieldset class="mb-4 ml-0">
    31         <legend class="h6 mb-4"><?php echo __( 'Payment Information', 'woocommerce-express-checkout' ); ?></legend>
     31        <legend class="h6 mb-4"><?php esc_html_e( 'Payment Information', 'woocommerce-express-checkout' ); ?></legend>
    3232        <?php if ( WC()->cart->needs_payment() ) : ?>
    3333            <ul class="wc_payment_methods payment_methods methods list-group mb-4 ml-0">
     
    6363        </div>
    6464        <div class="text-center">
    65             <a href="<?php echo wc_get_cart_url(); ?>" class="btn btn-link text-secondary"><u><?php esc_html_e( 'Return to cart', 'woocommerce' ); ?></u></a>
     65            <a href="<?php echo esc_attr( wc_get_cart_url() ); ?>" class="btn btn-link text-secondary"><u><?php esc_html_e( 'Return to cart', 'woocommerce' ); ?></u></a>
    6666        </div>
    6767    </fieldset>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/checkout/review-order.php

    r2290477 r2298379  
    3333                    <div class="position-relative mr-3">
    3434                        <?php
    35                          $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
     35                        $product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
    3636                        $thumbnail         = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
    3737                        if ( ! $product_permalink ) {
    38                             echo $thumbnail; // PHPCS: XSS ok.
     38                            echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    3939                        } else {
    40                             printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
     40                            printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    4141                        }
    4242                        ?>
     
    4747                    <div class="media-body">
    4848                        <h3 class="h6 font-weight-normal pr-4"><?php echo apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></h3>
    49                          <?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
     49                        <?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
    5050                    </div>
    5151                </div>
     
    6666            <strong><?php esc_html_e( 'Shipping', 'woocommerce' ); ?></strong>
    6767
    68             <span><?php echo WC()->cart->get_cart_shipping_total(); ?></span>
     68            <span><?php echo WC()->cart->get_cart_shipping_total(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
    6969        </div>
    7070
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/checkout/thankyou.php

    r2297976 r2298379  
    2121<div class="woocommerce-order">
    2222
    23     <?php if ( $order ) :
     23    <?php
     24    if ( $order ) :
    2425
    25         do_action( 'woocommerce_before_thankyou', $order->get_id() ); ?>
     26        do_action( 'woocommerce_before_thankyou', $order->get_id() );
     27        ?>
    2628
    2729        <?php if ( $order->has_status( 'failed' ) ) : ?>
    2830
    29          <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed"><?php esc_html_e( 'Unfortunately your order cannot be processed as the originating bank/merchant has declined your transaction. Please attempt your purchase again.', 'woocommerce' ); ?></p>
     31            <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed"><?php esc_html_e( 'Unfortunately your order cannot be processed as the originating bank/merchant has declined your transaction. Please attempt your purchase again.', 'woocommerce' ); ?></p>
    3032
    31           <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed-actions">
    32              <a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php esc_html_e( 'Pay', 'woocommerce' ); ?></a>
    33              <?php if ( is_user_logged_in() ) : ?>
    34                   <a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php esc_html_e( 'My account', 'woocommerce' ); ?></a>
    35              <?php endif; ?>
    36          </p>
     33            <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed-actions">
     34                <a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php esc_html_e( 'Pay', 'woocommerce' ); ?></a>
     35                <?php if ( is_user_logged_in() ) : ?>
     36                    <a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php esc_html_e( 'My account', 'woocommerce' ); ?></a>
     37                <?php endif; ?>
     38            </p>
    3739
    3840    <?php else : ?>
    3941
    40         <div class="row">
    41             <div class="col-lg-7">
    42                 <div class="media align-items-center mb-4">
    43                     <i class="material-icons text-success display-3 mr-2">
    44                         check_circle_outline
    45                     </i>
    46                     <div class="media-body">
    47                         <div class="mb-1"><?php esc_html_e( 'Order', 'woocommerce' ); ?> #<?php echo $order->get_id(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></div>
    48                         <div class="h5"><?php esc_html_e( 'Thank you', 'woocommerce' ); ?> <?php echo $order->get_billing_first_name(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>!</div>
    49                     </div>
    50                 </div>
    51                 <div class="card bg-light border-0 mb-4">
    52                     <div class="card-header border-0">
    53                         <h3 class="h6 mb-0"><?php esc_html_e( 'Your order is confirmed', 'woocommerce' ); ?></h3>
    54                     </div>
    55                     <div class="card-body">
    56                         <p class="card-text">We've accepted your order, and we're getting it ready. A confirmation email has been sent to <strong><?php echo $order->get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong></p>
    57                     </div>
    58                 </div>
    59                 <div class="card bg-light border-0 mb-4">
    60                     <div class="card-header border-0">
    61                         <h3 class="h6 mb-0"><?php esc_html_e( 'Customer Information', 'woocommerce-express-checkout' ); ?></h3>
    62                     </div>
    63                     <div class="card-body">
    64                         <div class="row">
    65                             <?php $show_shipping = ! wc_ship_to_billing_address_only() && $order->needs_shipping_address(); ?>
    66                             <?php if( $show_shipping ) { ?>
    67                                 <div class="col-sm-6">
    68                                     <h4 class="h6"><?php esc_html_e( 'Shipping Address', 'woocommerce') ;?></h4>
    69                                     <p><?php echo $order->get_formatted_shipping_address(); ?></p>
    70                                 </div>
    71                                 <div class="col-sm-6">
    72                                     <h4 class="h6"><?php esc_html_e( 'Billing Address', 'woocommerce') ;?></h4>
    73                                     <p><?php echo $order->get_formatted_billing_address(); ?></p>
    74                                 </div>
    75                                 <div class="col-sm-6">
    76                                     <h4 class="h6"><?php esc_html_e( 'Shipping Method', 'woocommerce') ;?></h4>
    77                                     <p><?php echo $order->get_shipping_method(); ?></p>
    78                                 </div>
    79                                 <div class="col-sm-6">
    80                                     <h4 class="h6"><?php esc_html_e( 'Payment Method', 'woocommerce') ;?></h4>
    81                                     <p class="payments"><?php echo $order->get_payment_method_title(); ?></p>
    82                                 </div>
    83                             <?php } else { ?>
    84                                 <div class="col-sm-6">
    85                                     <h4 class="h6"><?php esc_html_e( 'Billing Address', 'woocommerce') ;?></h4>
    86                                     <p><?php echo $order->get_formatted_billing_address(); ?></p>
    87                                 </div>
    88                                 <div class="col-sm-6">
    89                                     <h4 class="h6"><?php esc_html_e( 'Payment Method', 'woocommerce') ;?></h4>
    90                                     <p class="payments"><?php echo $order->get_payment_method_title(); ?></p>
    91                                 </div>
    92                             <?php } ?>
    93                         </div>
    94                     </div>
    95                 </div>
    96                 <div class="d-flex flex-wrap justify-content-between align-items-center mb-4">
    97                     <p class="mb-sm-0"><i class="material-icons align-bottom">
    98                             help_outline
    99                         </i> <?php esc_html_e( 'Need help?', 'woocommerce-express-checkout' ); ?> <a href="<?php echo woocommerce_express_checkout_helper()->get_contact_link(); ?>"><?php esc_html_e( 'Contact us', 'woocommerce-express-checkout' ); ?></a></p>
    100                     <a href="<?php echo get_permalink( wc_get_page_id( 'shop' ) ); ?>" class="btn btn-primary"><?php _e( 'Continue Shopping', 'woocommerce' ); ?></a>
    101                 </div>
    102                 <div class="d-flex flex-wrap justify-content-between align-items-center mb-4">
    103                        <?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?>
    104                        <?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?>
    105                 </div>
    106             </div>
    107             <div class="col-lg-5">
    108                 <div class="card cart border-0 bg-light mb-3">
    109                     <div class="card-body py-4">
     42        <div class="row">
     43            <div class="col-lg-7">
     44                <div class="media align-items-center mb-4">
     45                    <i class="material-icons text-success display-3 mr-2">
     46                        check_circle_outline
     47                    </i>
     48                    <div class="media-body">
     49                        <div class="mb-1"><?php esc_html_e( 'Order', 'woocommerce' ); ?> #<?php echo $order->get_id(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></div>
     50                        <div class="h5"><?php esc_html_e( 'Thank you', 'woocommerce' ); ?> <?php echo $order->get_billing_first_name(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>!</div>
     51                    </div>
     52                </div>
     53                <div class="card bg-light border-0 mb-4">
     54                    <div class="card-header border-0">
     55                        <h3 class="h6 mb-0"><?php esc_html_e( 'Your order is confirmed', 'woocommerce' ); ?></h3>
     56                    </div>
     57                    <div class="card-body">
     58                        <p class="card-text">We've accepted your order, and we're getting it ready. A confirmation email has been sent to <strong><?php echo $order->get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong></p>
     59                    </div>
     60                </div>
     61                <div class="card bg-light border-0 mb-4">
     62                    <div class="card-header border-0">
     63                        <h3 class="h6 mb-0"><?php esc_html_e( 'Customer Information', 'woocommerce-express-checkout' ); ?></h3>
     64                    </div>
     65                    <div class="card-body">
     66                        <div class="row">
     67                            <?php $show_shipping = ! wc_ship_to_billing_address_only() && $order->needs_shipping_address(); ?>
     68                            <?php if ( $show_shipping ) { ?>
     69                                <div class="col-sm-6">
     70                                    <h4 class="h6"><?php esc_html_e( 'Shipping Address', 'woocommerce' ); ?></h4>
     71                                    <p><?php echo wp_kses_post( $order->get_formatted_shipping_address() ); ?></p>
     72                                </div>
     73                                <div class="col-sm-6">
     74                                    <h4 class="h6"><?php esc_html_e( 'Billing Address', 'woocommerce' ); ?></h4>
     75                                    <p><?php echo wp_kses_post( $order->get_formatted_billing_address() ); ?></p>
     76                                </div>
     77                                <div class="col-sm-6">
     78                                    <h4 class="h6"><?php esc_html_e( 'Shipping Method', 'woocommerce' ); ?></h4>
     79                                    <p><?php echo wp_kses_post( $order->get_shipping_method() ); ?></p>
     80                                </div>
     81                                <div class="col-sm-6">
     82                                    <h4 class="h6"><?php esc_html_e( 'Payment Method', 'woocommerce' ); ?></h4>
     83                                    <p class="payments"><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></p>
     84                                </div>
     85                            <?php } else { ?>
     86                                <div class="col-sm-6">
     87                                    <h4 class="h6"><?php esc_html_e( 'Billing Address', 'woocommerce' ); ?></h4>
     88                                    <p><?php echo wp_kses_post( $order->get_formatted_billing_address() ); ?></p>
     89                                </div>
     90                                <div class="col-sm-6">
     91                                    <h4 class="h6"><?php esc_html_e( 'Payment Method', 'woocommerce' ); ?></h4>
     92                                    <p class="payments"><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></p>
     93                                </div>
     94                            <?php } ?>
     95                        </div>
     96                    </div>
     97                </div>
     98                <div class="d-flex flex-wrap justify-content-between align-items-center mb-4">
     99                    <p class="mb-sm-0"><i class="material-icons align-bottom">
     100                            help_outline
     101                        </i> <?php esc_html_e( 'Need help?', 'woocommerce-express-checkout' ); ?> <a href="<?php echo esc_attr( woocommerce_express_checkout_helper()->get_contact_link() ); ?>"><?php esc_html_e( 'Contact us', 'woocommerce-express-checkout' ); ?></a></p>
     102                    <a href="<?php echo esc_attr( get_permalink( wc_get_page_id( 'shop' ) ) ); ?>" class="btn btn-primary"><?php esc_html_e( 'Continue Shopping', 'woocommerce' ); ?></a>
     103                </div>
     104                <div class="d-flex flex-wrap justify-content-between align-items-center mb-4">
     105                    <?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?>
     106                    <?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?>
     107                </div>
     108            </div>
     109            <div class="col-lg-5">
     110                <div class="card cart border-0 bg-light mb-3">
     111                    <div class="card-body py-4">
    110112                        <?php woocommerce_order_details_table( $order->get_id() ); ?>
    111                     </div>
    112                     <div class="card-footer border-0">
    113                         <div class="d-flex justify-content-between align-items-center h5 mb-0">
    114                             <strong><?php esc_html_e( 'Order Total', 'woocommerce' ); ?></strong>
    115                             <span><?php echo $order->get_formatted_order_total(); ?></span>
    116                         </div>
    117                     </div>
    118                 </div>
    119                 <div class="bg-light text-center p-3">
    120                     <i class="material-icons align-bottom">lock</i> <?php esc_html_e( 'Secure Checkout', 'woocommerce-express-checkout' ); ?>
    121                 </div>
    122             </div>
    123         </div>
     113                    </div>
     114                    <div class="card-footer border-0">
     115                        <div class="d-flex justify-content-between align-items-center h5 mb-0">
     116                            <strong><?php esc_html_e( 'Order Total', 'woocommerce' ); ?></strong>
     117                            <span><?php echo wp_kses_post( $order->get_formatted_order_total() ); ?></span>
     118                        </div>
     119                    </div>
     120                </div>
     121                <div class="bg-light text-center p-3">
     122                    <i class="material-icons align-bottom">lock</i> <?php esc_html_e( 'Secure Checkout', 'woocommerce-express-checkout' ); ?>
     123                </div>
     124            </div>
     125        </div>
    124126
    125127    <?php endif; ?>
     
    127129    <?php else : ?>
    128130
    129         <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', 'woocommerce' ), null ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
     131        <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', esc_html__( 'Thank you. Your order has been received.', 'woocommerce' ), null ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
    130132
    131133    <?php endif; ?>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/global/form-login.php

    r2290477 r2298379  
    1111 * the readme will list any important changes.
    1212 *
    13  * @see         https://docs.woocommerce.com/document/template-structure/
    14  * @package     WooCommerce/Templates
     13 * @see         https://docs.woocommerce.com/document/template-structure/
     14 * @package     WooCommerce/Templates
    1515 * @version     3.6.0
    1616 */
     
    5151        <div class="col-sm-2 text-right">
    5252            <?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?>
    53             <input type="hidden" name="redirect" value="<?php echo esc_url( $redirect ) ?>" />
     53            <input type="hidden" name="redirect" value="<?php echo esc_url( $redirect ); ?>" />
    5454            <button type="submit" class="btn btn-primary woocommerce-button button woocommerce-form-login__submit d-block" style="width: 100%;" name="login" value="<?php esc_attr_e( 'Login', 'woocommerce' ); ?>"><?php esc_html_e( 'Login', 'woocommerce' ); ?></button>
    5555        </div>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/order/order-details-item.php

    r2290477 r2298379  
    2626<div class="d-flex justify-content-between align-items-center border-bottom pb-4 mb-4 <?php echo esc_attr( apply_filters( 'woocommerce_order_item_class', 'woocommerce-table__line-item order_item', $item, $order ) ); ?>">
    2727    <div class="media align-items-center small-image">
    28          <?php
    29          $is_visible        = $product && $product->is_visible();
    30          $product_permalink = apply_filters( 'woocommerce_order_item_permalink', $is_visible ? $product->get_permalink( $item ) : '', $item, $order );
     28            <?php
     29            $is_visible        = $product && $product->is_visible();
     30            $product_permalink = apply_filters( 'woocommerce_order_item_permalink', $is_visible ? $product->get_permalink( $item ) : '', $item, $order );
    3131
    32          $qty          = $item->get_quantity();
    33          $refunded_qty = $order->get_qty_refunded_for_item( $item_id );
     32            $qty          = $item->get_quantity();
     33            $refunded_qty = $order->get_qty_refunded_for_item( $item_id );
    3434
    35          if ( $refunded_qty ) {
    36              $qty_display = '<del>' . esc_html( $qty ) . '</del> <ins>' . esc_html( $qty - ( $refunded_qty * -1 ) ) . '</ins>';
    37          } else {
    38              $qty_display = esc_html( $qty );
    39          }
    40          ?>
     35            if ( $refunded_qty ) {
     36                $qty_display = '<del>' . esc_html( $qty ) . '</del> <ins>' . esc_html( $qty - ( $refunded_qty * -1 ) ) . '</ins>';
     37            } else {
     38                $qty_display = esc_html( $qty );
     39            }
     40            ?>
    4141        <div class="position-relative mr-3 small-image">
    4242            <?php
    4343            $thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $product->get_image(), $item );
    4444            if ( ! $product_permalink ) {
    45                 echo $thumbnail; // PHPCS: XSS ok.
     45                echo $thumbnail; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    4646            } else {
    47                 printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok.
    48             } ?>
     47                printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     48            }
     49            ?>
    4950            <div class="qty-indicator"><?php echo apply_filters( 'woocommerce_order_item_quantity_html', ' <strong class="product-quantity">' . sprintf( '%s', $qty_display ) . '</strong>', $item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></div>
    5051        </div>
  • wc-express-checkout/trunk/templates/woocommerce/express-checkout/order/order-details.php

    r2297932 r2298379  
    2424}
    2525
    26 $order_items        = $order->get_items( apply_filters( 'woocommerce_purchase_order_item_types', 'line_item' ) );
    27 $show_purchase_note = $order->has_status( apply_filters( 'woocommerce_purchase_note_order_statuses', array( 'completed', 'processing' ) ) );
    28 // $show_customer_details = is_user_logged_in() && $order->get_user_id() === get_current_user_id();
     26$order_items           = $order->get_items( apply_filters( 'woocommerce_purchase_order_item_types', 'line_item' ) );
     27$show_purchase_note    = $order->has_status( apply_filters( 'woocommerce_purchase_note_order_statuses', array( 'completed', 'processing' ) ) );
    2928$show_customer_details = 0;
    3029$downloads             = $order->get_downloadable_items();
     
    6261            do_action( 'woocommerce_order_details_after_order_table_items', $order );
    6362            foreach ( $order->get_order_item_totals() as $key => $total ) {
    64                 if ( $key === 'order_total' ) {
     63                if ( 'order_total' === $key ) {
    6564                    continue;
    6665                }
     
    8180            <?php endif; ?>
    8281        </div>
    83         <?php do_action( 'woocommerce_order_details_after_order_table', $order ); ?>
     82        <?php do_action( 'woocommerce_order_details_after_order_table', $order ); ?>
    8483    </section>
    8584
  • wc-express-checkout/trunk/templates/wordpress/footer-express-checkout.php

    r2290477 r2298379  
    11        </main>
    22        <?php wp_footer(); ?>
    3         <div class="container">
    4             <div class="row">
    5                 <div class="col-12">
    6                     <p align="right"><small>powered by <a target="_blank" href="https://expresscheckout.app/">Express Checkout</a></small></p>
    7                 </div>
    8             </div>
    9         </div>
    103    </body>
    114</html>
  • wc-express-checkout/trunk/templates/wordpress/header-express-checkout.php

    r2290477 r2298379  
    2323
    2424<body <?php body_class(); ?>>
    25 <?php wp_body_open(); ?>
     25<?php
     26if ( class_exists( 'wp_body_open' ) ) {
     27    wp_body_open();
     28}
     29?>
    2630<div id="page" class="site">
    27     <a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'twentyseventeen' ); ?></a>
     31    <a class="skip-link screen-reader-text" href="#content"><?php esc_attr_e( 'Skip to content', 'woocommerce-express-checkout' ); ?></a>
    2832
    2933    <header class="mb-4 mt-4 site-header">
     
    3438                if ( $shop_logo ) {
    3539                    ?>
    36                     <img src="<?php echo esc_url( $shop_logo ); ?>" class="responsive-image" alt="<?php echo get_bloginfo( 'name' ); ?>" />
     40                    <img src="<?php echo esc_url( $shop_logo ); ?>" class="responsive-image" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" />
    3741                    <?php
    3842                } elseif ( has_custom_logo() ) {
    39                     echo get_custom_logo();
     43                    echo get_custom_logo(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    4044                } else {
    41                     echo '<a href="' . get_site_url() . '">' . get_bloginfo( 'name' ) . '</a>';
     45                    echo '<a href="' . esc_attr( get_site_url() ) . '">' . esc_html( get_bloginfo( 'name' ) ) . '</a>';
    4246                }
    4347                ?>
Note: See TracChangeset for help on using the changeset viewer.