Funnel Builder by CartFlows – Create High Converting Sales Funnels For WordPress - Version 1.6.7

Version Description

Download this release

Release Info

Developer cartflowswp
Plugin Icon Funnel Builder by CartFlows – Create High Converting Sales Funnels For WordPress
Version 1.6.7
Comparing to
See all releases

Code changes from version 1.6.6 to 1.6.7

admin-core/ajax/flows-stats.php CHANGED
@@ -87,7 +87,7 @@ class FlowsStats extends AjaxBase {
87
  $cartflows_offer = 0;
88
  $visits = 0;
89
  $currency_symbol = function_exists( 'get_woocommerce_currency_symbol' ) ? get_woocommerce_currency_symbol() : '';
90
- $cf_pro_status = _is_cartflows_pro();
91
 
92
  if ( ! empty( $orders ) ) {
93
 
@@ -102,7 +102,7 @@ class FlowsStats extends AjaxBase {
102
  $gross_sale += (float) $order_total;
103
  }
104
 
105
- if( ! $cf_pro_status ){
106
  continue;
107
  }
108
 
@@ -162,8 +162,8 @@ class FlowsStats extends AjaxBase {
162
 
163
  }
164
 
165
- if( $cf_pro_status ){
166
-
167
  /* Get the Flow IDs. */
168
  $flow_ids = array_column( $orders, 'meta_value' );
169
 
87
  $cartflows_offer = 0;
88
  $visits = 0;
89
  $currency_symbol = function_exists( 'get_woocommerce_currency_symbol' ) ? get_woocommerce_currency_symbol() : '';
90
+ $cf_pro_status = _is_cartflows_pro();
91
 
92
  if ( ! empty( $orders ) ) {
93
 
102
  $gross_sale += (float) $order_total;
103
  }
104
 
105
+ if ( ! $cf_pro_status ) {
106
  continue;
107
  }
108
 
162
 
163
  }
164
 
165
+ if ( $cf_pro_status ) {
166
+
167
  /* Get the Flow IDs. */
168
  $flow_ids = array_column( $orders, 'meta_value' );
169
 
admin-core/ajax/importer.php CHANGED
@@ -597,14 +597,20 @@ class Importer extends AjaxBase {
597
  $cta = '';
598
  $btn = '';
599
  if ( 'not-installed' === $cf_pro_status ) {
600
- $btn = 'CartFlows Pro Required! <a target="_blank" href="https://cartflows.com/">Upgrade to CartFlows Pro</a>';
601
- $cta = 'To import the premium flow <a target="_blank" href="https://cartflows.com/">upgrade to CartFlows Pro</a>.';
 
 
602
  } elseif ( 'inactive' === $cf_pro_status ) {
603
- $btn = 'Activate the CartFlows Pro to import the flow! <a target="_blank" href="' . admin_url( 'plugins.php?plugin_status=search&paged=1&s=CartFlows+Pro' ) . '">Activate CartFlows Pro</a>';
604
- $cta = 'To import the premium flow <a target="_blank" href="' . admin_url( 'plugins.php?plugin_status=search&paged=1&s=CartFlows+Pro' ) . '">activate Cartflows Pro</a> and validate the license key.';
 
 
605
  } elseif ( 'active' === $cf_pro_status ) {
606
- $btn = 'Invalid License Key! <a target="_blank" href="' . admin_url( 'plugins.php?cartflows-license-popup' ) . '">Activate CartFlows Pro</a>';
607
- $cta = 'To import the premium flow <a target="_blank" href="' . admin_url( 'plugins.php?cartflows-license-popup' ) . '">activate CartFlows Pro</a>.';
 
 
608
  }
609
 
610
  wp_send_json_error(
597
  $cta = '';
598
  $btn = '';
599
  if ( 'not-installed' === $cf_pro_status ) {
600
+ /* translators: %1$s: link html start, %2$s: link html end*/
601
+ $btn = sprintf( __( 'CartFlows Pro Required! %1$sUpgrade to CartFlows Pro%2$s', 'cartflows' ), '<a target="_blank" href="https://cartflows.com/">', '</a>' );
602
+ /* translators: %1$s: link html start, %2$s: link html end*/
603
+ $cta = sprintf( __( 'To import the premium flow %1$supgrade to CartFlows Pro%2$s.', 'cartflows' ), '<a target="_blank" href="https://cartflows.com/">', '</a>' );
604
  } elseif ( 'inactive' === $cf_pro_status ) {
605
+ /* translators: %1$s: link html start, %2$s: link html end*/
606
+ $btn = sprintf( __( 'Activate the CartFlows Pro to import the flow! %1$sActivate CartFlows Pro%2$s', 'cartflows' ), '<a target="_blank" href="' . admin_url( 'plugins.php?plugin_status=search&paged=1&s=CartFlows+Pro' ) . '">', '</a>' );
607
+ /* translators: %1$s: link html start, %2$s: link html end*/
608
+ $cta = sprintf( __( 'To import the premium flow %1$sactivate Cartflows Pro%2$s and validate the license key.', 'cartflows' ), '<a target="_blank" href="' . admin_url( 'plugins.php?plugin_status=search&paged=1&s=CartFlows+Pro' ) . '">', '</a>' );
609
  } elseif ( 'active' === $cf_pro_status ) {
610
+ /* translators: %1$s: link html start, %2$s: link html end*/
611
+ $btn = sprintf( __( 'Invalid License Key! %1$sActivate CartFlows Pro%2$s', 'cartflows' ), '<a target="_blank" href="' . admin_url( 'plugins.php?cartflows-license-popup' ) . '">', '</a>' );
612
+ /* translators: %1$s: link html start, %2$s: link html end*/
613
+ $cta = sprintf( __( 'To import the premium flow %1$sactivate CartFlows Pro%2$s.', 'cartflows' ), '<a target="_blank" href="' . admin_url( 'plugins.php?cartflows-license-popup' ) . '">', '</a>' );
614
  }
615
 
616
  wp_send_json_error(
admin-core/assets/build/settings-app-rtl.css CHANGED
@@ -3,7 +3,7 @@
3
  :root{--primary-color: #f06434;--primary-hv-color: #EE4710;--primary-border-color: #f06434;--secondary-color: #f5f6f7;--secondary-border-color: #ddd;--secondary-hv-color: #edeff1}.wcf-hide{display:none !important}.wcf-button{border-width:1px;border-style:solid;border-radius:2px;text-decoration:none;text-shadow:none;font-size:14px;min-height:36px;line-height:1;line-height:1.5;padding:7px 18px;display:inline;display:inline-block;vertical-align:middle;align-items:center;cursor:pointer;margin:0;font-weight:400;box-sizing:border-box}.wcf-button--small{min-height:26px;padding:0 8px;font-size:11px;border-width:1px;border-style:solid;border-radius:2px;text-decoration:none;text-shadow:none;line-height:2;display:inline-block;vertical-align:middle;align-items:center;cursor:pointer;margin:0}.wcf-button--primary{background:#f06434;background:var(--primary-color);border-color:#f06434;border-color:var(--primary-border-color);color:#fff}.wcf-button--primary:focus,.wcf-button--primary:hover{background:#EE4710;background:var(--primary-hv-color);border-color:#f06434;border-color:var(--primary-border-color);color:#fff;box-shadow:none;outline:none}.wcf-button--secondary{background:#f5f6f7;background:var(--secondary-color);border-color:#ddd;border-color:var(--secondary-border-color);color:#3a3a3a}.wcf-button--secondary:focus,.wcf-button--secondary:hover{background:#edeff1;background:var(--secondary-hv-color);border-color:#ddd;border-color:var(--secondary-border-color);color:#3a3a3a;box-shadow:none}.wcf-popup-header-title{display:flex;align-items:center;font-size:15px;font-weight:500;color:#444;letter-spacing:0;text-transform:none;text-decoration:none}.wcf-popup-header-title .cartflows-logo-icon{padding:15px}.wcf-popup-header-action{display:inline-block;display:flex;align-items:center;padding:15px;border-right:1px solid #ddd;position:relative;color:#ccc;cursor:pointer}.wcf-popup-header-action .dashicons{line-height:1}.wcf-popup-header-action:after{font-size:25px}.wcf-popup-header-action:hover{color:#aaa}.wcf-message,.wcf-error-message--toggle,.wcf-error--info{padding:5px;display:block;font-size:12px}.wcf-message--error{color:#f06434;color:var(--primary-color)}.wcf-error-message--toggle{cursor:pointer}.wcf-error--info{background-color:#f2f2f2;border-radius:3px;padding:10px;border:1px #ccc dashed}
4
 
5
 
6
- .wcf-global-nav-menu{margin:0px;padding:2px 20px 0 20px;display:flex;background:#ffffff;align-items:center;border-bottom:1px solid #ddd;box-shadow:none}.wcf-global-nav-menu .wcf-title{max-width:170px}.wcf-global-nav-menu .wcf-title a:focus,.wcf-global-nav-menu .wcf-title a:hover{box-shadow:none;outline:0}.wcf-global-nav-menu .wcf-title .wcf-logo{width:120px}.wcf-global-nav-menu .wcf-global-nav__items{display:flex;align-items:center}.wcf-global-nav-menu .wcf-global-nav-menu__tab{background:transparent;border:none;color:#444;cursor:pointer;padding:25px 30px 23px 30px;font-size:14px;line-height:1;letter-spacing:0.225px;font-weight:400;margin:0 0 -1px 0;max-width:100%;text-align:center;text-decoration:none;outline:none;box-shadow:none;border-bottom:2px solid #ffffff00}.wcf-global-nav-menu .wcf-global-nav-menu__tab:hover{color:#f06335;border-bottom:2px solid #f06335}.wcf-global-nav-menu .wcf-global-nav-menu__tab.wcf-global-nav-menu__tab--active{background:none;color:#f06335;border-bottom:2px solid #f06335}.wcf-menu-page-content{margin:0 auto;width:100%;font-size:14px;font-weight:400}.wcf-global-nav-menu .wcf-title{max-width:140px;border-left:1px solid #dddddd;display:flex;align-items:center}.wcf-global-nav-menu{position:fixed;width:calc(100% - 160px);right:160px;top:32px;z-index:2}
7
 
8
  .wcf-home-page-wrapper{display:block}.wcf-home-page-wrapper P{margin:0 0 0.5em}.wcf-home-page-wrapper .wcf-col--row{display:flex;width:100%;padding:0}.wcf-home-page-wrapper .wcf-col--20{width:20%}.wcf-home-page-wrapper .wcf-col--30{width:30%}.wcf-home-page-wrapper .wcf-col--33{width:33.33%}.wcf-home-page-wrapper .wcf-col--50{width:50%}.wcf-home-page-wrapper .wcf-col--70{width:70%;margin:0 0px 0px 25px}.wcf-home-page-wrapper .wcf-col--100{width:100%}.wcf-home-page-wrapper .wcf-col--flex{display:flex}.wcf-home-page-wrapper .wcf-button--action-button{background:#fff;border-radius:0;vertical-align:top}.wcf-home-page-wrapper .wcf-button--primary{color:#fff;border-color:#0071a1;background:#0071a1}.wcf-home-page-wrapper .wcf-display--none{display:none}.wcf-metabox{background:#fff;box-shadow:none;margin-bottom:20px;border:0;padding:30px 20px;border-radius:2px}.wcf-metabox h2{font-size:18px;margin:0px;font-weight:400}.wcf-metabox__header,.wcf-metabox__body,.wcf-metabox__footer{padding:10px;border-bottom:0}.wcf-metabox__footer{padding-bottom:0px}.wcf-metabox__footer p{margin-top:10px;font-size:14px}
9
 
3
  :root{--primary-color: #f06434;--primary-hv-color: #EE4710;--primary-border-color: #f06434;--secondary-color: #f5f6f7;--secondary-border-color: #ddd;--secondary-hv-color: #edeff1}.wcf-hide{display:none !important}.wcf-button{border-width:1px;border-style:solid;border-radius:2px;text-decoration:none;text-shadow:none;font-size:14px;min-height:36px;line-height:1;line-height:1.5;padding:7px 18px;display:inline;display:inline-block;vertical-align:middle;align-items:center;cursor:pointer;margin:0;font-weight:400;box-sizing:border-box}.wcf-button--small{min-height:26px;padding:0 8px;font-size:11px;border-width:1px;border-style:solid;border-radius:2px;text-decoration:none;text-shadow:none;line-height:2;display:inline-block;vertical-align:middle;align-items:center;cursor:pointer;margin:0}.wcf-button--primary{background:#f06434;background:var(--primary-color);border-color:#f06434;border-color:var(--primary-border-color);color:#fff}.wcf-button--primary:focus,.wcf-button--primary:hover{background:#EE4710;background:var(--primary-hv-color);border-color:#f06434;border-color:var(--primary-border-color);color:#fff;box-shadow:none;outline:none}.wcf-button--secondary{background:#f5f6f7;background:var(--secondary-color);border-color:#ddd;border-color:var(--secondary-border-color);color:#3a3a3a}.wcf-button--secondary:focus,.wcf-button--secondary:hover{background:#edeff1;background:var(--secondary-hv-color);border-color:#ddd;border-color:var(--secondary-border-color);color:#3a3a3a;box-shadow:none}.wcf-popup-header-title{display:flex;align-items:center;font-size:15px;font-weight:500;color:#444;letter-spacing:0;text-transform:none;text-decoration:none}.wcf-popup-header-title .cartflows-logo-icon{padding:15px}.wcf-popup-header-action{display:inline-block;display:flex;align-items:center;padding:15px;border-right:1px solid #ddd;position:relative;color:#ccc;cursor:pointer}.wcf-popup-header-action .dashicons{line-height:1}.wcf-popup-header-action:after{font-size:25px}.wcf-popup-header-action:hover{color:#aaa}.wcf-message,.wcf-error-message--toggle,.wcf-error--info{padding:5px;display:block;font-size:12px}.wcf-message--error{color:#f06434;color:var(--primary-color)}.wcf-error-message--toggle{cursor:pointer}.wcf-error--info{background-color:#f2f2f2;border-radius:3px;padding:10px;border:1px #ccc dashed}
4
 
5
 
6
+ .wcf-global-nav-menu{margin:0px;padding:2px 20px 0 20px;display:flex;background:#ffffff;align-items:center;border-bottom:1px solid #ddd;box-shadow:none}.wcf-global-nav-menu .wcf-title{max-width:170px}.wcf-global-nav-menu .wcf-title a:focus,.wcf-global-nav-menu .wcf-title a:hover{box-shadow:none;outline:0}.wcf-global-nav-menu .wcf-title .wcf-logo{width:120px}.wcf-global-nav-menu .wcf-global-nav__items{display:flex;align-items:center}.wcf-global-nav-menu .wcf-global-nav-menu__tab{background:transparent;border:none;color:#444;cursor:pointer;padding:25px 30px 23px 30px;font-size:14px;line-height:1;letter-spacing:0.225px;font-weight:400;margin:0 0 -1px 0;max-width:100%;text-align:center;text-decoration:none;outline:none;box-shadow:none;border-bottom:2px solid #ffffff00}.wcf-global-nav-menu .wcf-global-nav-menu__tab:hover{color:#f06335;border-bottom:2px solid #f06335}.wcf-global-nav-menu .wcf-global-nav-menu__tab.wcf-global-nav-menu__tab--active{background:none;color:#f06335;border-bottom:2px solid #f06335}.wcf-menu-page-content{margin:0 auto;width:100%;font-size:14px;font-weight:400}.wcf-global-nav-menu .wcf-title{max-width:140px;border-left:1px solid #dddddd;display:flex;align-items:center}body.folded .wcf-global-nav-menu{position:fixed;width:calc(100% - 75px);right:55px;top:32px;z-index:2}.wcf-global-nav-menu{position:fixed;width:calc(100% - 160px);right:160px;top:32px;z-index:2}
7
 
8
  .wcf-home-page-wrapper{display:block}.wcf-home-page-wrapper P{margin:0 0 0.5em}.wcf-home-page-wrapper .wcf-col--row{display:flex;width:100%;padding:0}.wcf-home-page-wrapper .wcf-col--20{width:20%}.wcf-home-page-wrapper .wcf-col--30{width:30%}.wcf-home-page-wrapper .wcf-col--33{width:33.33%}.wcf-home-page-wrapper .wcf-col--50{width:50%}.wcf-home-page-wrapper .wcf-col--70{width:70%;margin:0 0px 0px 25px}.wcf-home-page-wrapper .wcf-col--100{width:100%}.wcf-home-page-wrapper .wcf-col--flex{display:flex}.wcf-home-page-wrapper .wcf-button--action-button{background:#fff;border-radius:0;vertical-align:top}.wcf-home-page-wrapper .wcf-button--primary{color:#fff;border-color:#0071a1;background:#0071a1}.wcf-home-page-wrapper .wcf-display--none{display:none}.wcf-metabox{background:#fff;box-shadow:none;margin-bottom:20px;border:0;padding:30px 20px;border-radius:2px}.wcf-metabox h2{font-size:18px;margin:0px;font-weight:400}.wcf-metabox__header,.wcf-metabox__body,.wcf-metabox__footer{padding:10px;border-bottom:0}.wcf-metabox__footer{padding-bottom:0px}.wcf-metabox__footer p{margin-top:10px;font-size:14px}
9
 
admin-core/assets/build/settings-app.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '0c3c89cfe0f8bfa23337e07f2fd7e4b9');
1
+ <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'e2ee91af960eb72c02e8d0d19ba2351e');
admin-core/assets/build/settings-app.css CHANGED
@@ -3,7 +3,7 @@
3
  :root{--primary-color: #f06434;--primary-hv-color: #EE4710;--primary-border-color: #f06434;--secondary-color: #f5f6f7;--secondary-border-color: #ddd;--secondary-hv-color: #edeff1}.wcf-hide{display:none !important}.wcf-button{border-width:1px;border-style:solid;border-radius:2px;text-decoration:none;text-shadow:none;font-size:14px;min-height:36px;line-height:1;line-height:1.5;padding:7px 18px;display:inline;display:inline-block;vertical-align:middle;align-items:center;cursor:pointer;margin:0;font-weight:400;box-sizing:border-box}.wcf-button--small{min-height:26px;padding:0 8px;font-size:11px;border-width:1px;border-style:solid;border-radius:2px;text-decoration:none;text-shadow:none;line-height:2;display:inline-block;vertical-align:middle;align-items:center;cursor:pointer;margin:0}.wcf-button--primary{background:#f06434;background:var(--primary-color);border-color:#f06434;border-color:var(--primary-border-color);color:#fff}.wcf-button--primary:focus,.wcf-button--primary:hover{background:#EE4710;background:var(--primary-hv-color);border-color:#f06434;border-color:var(--primary-border-color);color:#fff;box-shadow:none;outline:none}.wcf-button--secondary{background:#f5f6f7;background:var(--secondary-color);border-color:#ddd;border-color:var(--secondary-border-color);color:#3a3a3a}.wcf-button--secondary:focus,.wcf-button--secondary:hover{background:#edeff1;background:var(--secondary-hv-color);border-color:#ddd;border-color:var(--secondary-border-color);color:#3a3a3a;box-shadow:none}.wcf-popup-header-title{display:flex;align-items:center;font-size:15px;font-weight:500;color:#444;letter-spacing:0;text-transform:none;text-decoration:none}.wcf-popup-header-title .cartflows-logo-icon{padding:15px}.wcf-popup-header-action{display:inline-block;display:flex;align-items:center;padding:15px;border-left:1px solid #ddd;position:relative;color:#ccc;cursor:pointer}.wcf-popup-header-action .dashicons{line-height:1}.wcf-popup-header-action:after{font-size:25px}.wcf-popup-header-action:hover{color:#aaa}.wcf-message,.wcf-error-message--toggle,.wcf-error--info{padding:5px;display:block;font-size:12px}.wcf-message--error{color:#f06434;color:var(--primary-color)}.wcf-error-message--toggle{cursor:pointer}.wcf-error--info{background-color:#f2f2f2;border-radius:3px;padding:10px;border:1px #ccc dashed}
4
 
5
 
6
- .wcf-global-nav-menu{margin:0px;padding:2px 20px 0 20px;display:flex;background:#ffffff;align-items:center;border-bottom:1px solid #ddd;box-shadow:none}.wcf-global-nav-menu .wcf-title{max-width:170px}.wcf-global-nav-menu .wcf-title a:focus,.wcf-global-nav-menu .wcf-title a:hover{box-shadow:none;outline:0}.wcf-global-nav-menu .wcf-title .wcf-logo{width:120px}.wcf-global-nav-menu .wcf-global-nav__items{display:flex;align-items:center}.wcf-global-nav-menu .wcf-global-nav-menu__tab{background:transparent;border:none;color:#444;cursor:pointer;padding:25px 30px 23px 30px;font-size:14px;line-height:1;letter-spacing:0.225px;font-weight:400;margin:0 0 -1px 0;max-width:100%;text-align:center;text-decoration:none;outline:none;box-shadow:none;border-bottom:2px solid #ffffff00}.wcf-global-nav-menu .wcf-global-nav-menu__tab:hover{color:#f06335;border-bottom:2px solid #f06335}.wcf-global-nav-menu .wcf-global-nav-menu__tab.wcf-global-nav-menu__tab--active{background:none;color:#f06335;border-bottom:2px solid #f06335}.wcf-menu-page-content{margin:0 auto;width:100%;font-size:14px;font-weight:400}.wcf-global-nav-menu .wcf-title{max-width:140px;border-right:1px solid #dddddd;display:flex;align-items:center}.wcf-global-nav-menu{position:fixed;width:calc(100% - 160px);left:160px;top:32px;z-index:2}
7
 
8
  .wcf-home-page-wrapper{display:block}.wcf-home-page-wrapper P{margin:0 0 0.5em}.wcf-home-page-wrapper .wcf-col--row{display:flex;width:100%;padding:0}.wcf-home-page-wrapper .wcf-col--20{width:20%}.wcf-home-page-wrapper .wcf-col--30{width:30%}.wcf-home-page-wrapper .wcf-col--33{width:33.33%}.wcf-home-page-wrapper .wcf-col--50{width:50%}.wcf-home-page-wrapper .wcf-col--70{width:70%;margin:0 25px 0px 0px}.wcf-home-page-wrapper .wcf-col--100{width:100%}.wcf-home-page-wrapper .wcf-col--flex{display:flex}.wcf-home-page-wrapper .wcf-button--action-button{background:#fff;border-radius:0;vertical-align:top}.wcf-home-page-wrapper .wcf-button--primary{color:#fff;border-color:#0071a1;background:#0071a1}.wcf-home-page-wrapper .wcf-display--none{display:none}.wcf-metabox{background:#fff;box-shadow:none;margin-bottom:20px;border:0;padding:30px 20px;border-radius:2px}.wcf-metabox h2{font-size:18px;margin:0px;font-weight:400}.wcf-metabox__header,.wcf-metabox__body,.wcf-metabox__footer{padding:10px;border-bottom:0}.wcf-metabox__footer{padding-bottom:0px}.wcf-metabox__footer p{margin-top:10px;font-size:14px}
9
 
3
  :root{--primary-color: #f06434;--primary-hv-color: #EE4710;--primary-border-color: #f06434;--secondary-color: #f5f6f7;--secondary-border-color: #ddd;--secondary-hv-color: #edeff1}.wcf-hide{display:none !important}.wcf-button{border-width:1px;border-style:solid;border-radius:2px;text-decoration:none;text-shadow:none;font-size:14px;min-height:36px;line-height:1;line-height:1.5;padding:7px 18px;display:inline;display:inline-block;vertical-align:middle;align-items:center;cursor:pointer;margin:0;font-weight:400;box-sizing:border-box}.wcf-button--small{min-height:26px;padding:0 8px;font-size:11px;border-width:1px;border-style:solid;border-radius:2px;text-decoration:none;text-shadow:none;line-height:2;display:inline-block;vertical-align:middle;align-items:center;cursor:pointer;margin:0}.wcf-button--primary{background:#f06434;background:var(--primary-color);border-color:#f06434;border-color:var(--primary-border-color);color:#fff}.wcf-button--primary:focus,.wcf-button--primary:hover{background:#EE4710;background:var(--primary-hv-color);border-color:#f06434;border-color:var(--primary-border-color);color:#fff;box-shadow:none;outline:none}.wcf-button--secondary{background:#f5f6f7;background:var(--secondary-color);border-color:#ddd;border-color:var(--secondary-border-color);color:#3a3a3a}.wcf-button--secondary:focus,.wcf-button--secondary:hover{background:#edeff1;background:var(--secondary-hv-color);border-color:#ddd;border-color:var(--secondary-border-color);color:#3a3a3a;box-shadow:none}.wcf-popup-header-title{display:flex;align-items:center;font-size:15px;font-weight:500;color:#444;letter-spacing:0;text-transform:none;text-decoration:none}.wcf-popup-header-title .cartflows-logo-icon{padding:15px}.wcf-popup-header-action{display:inline-block;display:flex;align-items:center;padding:15px;border-left:1px solid #ddd;position:relative;color:#ccc;cursor:pointer}.wcf-popup-header-action .dashicons{line-height:1}.wcf-popup-header-action:after{font-size:25px}.wcf-popup-header-action:hover{color:#aaa}.wcf-message,.wcf-error-message--toggle,.wcf-error--info{padding:5px;display:block;font-size:12px}.wcf-message--error{color:#f06434;color:var(--primary-color)}.wcf-error-message--toggle{cursor:pointer}.wcf-error--info{background-color:#f2f2f2;border-radius:3px;padding:10px;border:1px #ccc dashed}
4
 
5
 
6
+ .wcf-global-nav-menu{margin:0px;padding:2px 20px 0 20px;display:flex;background:#ffffff;align-items:center;border-bottom:1px solid #ddd;box-shadow:none}.wcf-global-nav-menu .wcf-title{max-width:170px}.wcf-global-nav-menu .wcf-title a:focus,.wcf-global-nav-menu .wcf-title a:hover{box-shadow:none;outline:0}.wcf-global-nav-menu .wcf-title .wcf-logo{width:120px}.wcf-global-nav-menu .wcf-global-nav__items{display:flex;align-items:center}.wcf-global-nav-menu .wcf-global-nav-menu__tab{background:transparent;border:none;color:#444;cursor:pointer;padding:25px 30px 23px 30px;font-size:14px;line-height:1;letter-spacing:0.225px;font-weight:400;margin:0 0 -1px 0;max-width:100%;text-align:center;text-decoration:none;outline:none;box-shadow:none;border-bottom:2px solid #ffffff00}.wcf-global-nav-menu .wcf-global-nav-menu__tab:hover{color:#f06335;border-bottom:2px solid #f06335}.wcf-global-nav-menu .wcf-global-nav-menu__tab.wcf-global-nav-menu__tab--active{background:none;color:#f06335;border-bottom:2px solid #f06335}.wcf-menu-page-content{margin:0 auto;width:100%;font-size:14px;font-weight:400}.wcf-global-nav-menu .wcf-title{max-width:140px;border-right:1px solid #dddddd;display:flex;align-items:center}body.folded .wcf-global-nav-menu{position:fixed;width:calc(100% - 75px);left:55px;top:32px;z-index:2}.wcf-global-nav-menu{position:fixed;width:calc(100% - 160px);left:160px;top:32px;z-index:2}
7
 
8
  .wcf-home-page-wrapper{display:block}.wcf-home-page-wrapper P{margin:0 0 0.5em}.wcf-home-page-wrapper .wcf-col--row{display:flex;width:100%;padding:0}.wcf-home-page-wrapper .wcf-col--20{width:20%}.wcf-home-page-wrapper .wcf-col--30{width:30%}.wcf-home-page-wrapper .wcf-col--33{width:33.33%}.wcf-home-page-wrapper .wcf-col--50{width:50%}.wcf-home-page-wrapper .wcf-col--70{width:70%;margin:0 25px 0px 0px}.wcf-home-page-wrapper .wcf-col--100{width:100%}.wcf-home-page-wrapper .wcf-col--flex{display:flex}.wcf-home-page-wrapper .wcf-button--action-button{background:#fff;border-radius:0;vertical-align:top}.wcf-home-page-wrapper .wcf-button--primary{color:#fff;border-color:#0071a1;background:#0071a1}.wcf-home-page-wrapper .wcf-display--none{display:none}.wcf-metabox{background:#fff;box-shadow:none;margin-bottom:20px;border:0;padding:30px 20px;border-radius:2px}.wcf-metabox h2{font-size:18px;margin:0px;font-weight:400}.wcf-metabox__header,.wcf-metabox__body,.wcf-metabox__footer{padding:10px;border-bottom:0}.wcf-metabox__footer{padding-bottom:0px}.wcf-metabox__footer p{margin-top:10px;font-size:14px}
9
 
admin-core/inc/step-meta.php CHANGED
@@ -40,17 +40,17 @@ class StepMeta {
40
  case 'checkout':
41
  if ( class_exists( 'WooCommerce' ) ) {
42
  $settings = \Cartflows_Checkout_Meta_Data::get_instance()->get_settings( $step_id );
43
- }
44
  break;
45
  case 'optin':
46
  if ( class_exists( 'WooCommerce' ) ) {
47
  $settings = \Cartflows_Optin_Meta_Data::get_instance()->get_settings( $step_id );
48
- }
49
  break;
50
  case 'thankyou':
51
  if ( class_exists( 'WooCommerce' ) ) {
52
  $settings = \Cartflows_Thankyou_Meta_Data::get_instance()->get_settings( $step_id );
53
- }
54
  break;
55
  default:
56
  break;
40
  case 'checkout':
41
  if ( class_exists( 'WooCommerce' ) ) {
42
  $settings = \Cartflows_Checkout_Meta_Data::get_instance()->get_settings( $step_id );
43
+ }
44
  break;
45
  case 'optin':
46
  if ( class_exists( 'WooCommerce' ) ) {
47
  $settings = \Cartflows_Optin_Meta_Data::get_instance()->get_settings( $step_id );
48
+ }
49
  break;
50
  case 'thankyou':
51
  if ( class_exists( 'WooCommerce' ) ) {
52
  $settings = \Cartflows_Thankyou_Meta_Data::get_instance()->get_settings( $step_id );
53
+ }
54
  break;
55
  default:
56
  break;
cartflows.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: CartFlows
4
  * Plugin URI: https://cartflows.com/
5
  * Description: Create beautiful checkout pages & sales flows for WooCommerce.
6
- * Version: 1.6.6
7
  * Author: CartFlows Inc
8
  * Author URI: https://cartflows.com/
9
  * Text Domain: cartflows
3
  * Plugin Name: CartFlows
4
  * Plugin URI: https://cartflows.com/
5
  * Description: Create beautiful checkout pages & sales flows for WooCommerce.
6
+ * Version: 1.6.7
7
  * Author: CartFlows Inc
8
  * Author URI: https://cartflows.com/
9
  * Text Domain: cartflows
changelog.txt CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
  Version 1.6.6 - Thursday, 11th February 2021
2
  - Fix: The single exported flow was not getting imported.
3
  - Fix: CartFlows modules were not getting displayed on the Beaver Builder's Module Setting page.
1
+ Version 1.6.7 - Thursday, 18th February 2021
2
+ - Improvement: WooCommerce templates updated.
3
+ - Fix: Broken menu was getting displayed in the footer for Astra Theme.
4
+
5
  Version 1.6.6 - Thursday, 11th February 2021
6
  - Fix: The single exported flow was not getting imported.
7
  - Fix: CartFlows modules were not getting displayed on the Beaver Builder's Module Setting page.
classes/class-cartflows-loader.php CHANGED
@@ -136,7 +136,7 @@ if ( ! class_exists( 'Cartflows_Loader' ) ) {
136
  define( 'CARTFLOWS_BASE', plugin_basename( CARTFLOWS_FILE ) );
137
  define( 'CARTFLOWS_DIR', plugin_dir_path( CARTFLOWS_FILE ) );
138
  define( 'CARTFLOWS_URL', plugins_url( '/', CARTFLOWS_FILE ) );
139
- define( 'CARTFLOWS_VER', '1.6.6' );
140
 
141
  define( 'CARTFLOWS_SLUG', 'cartflows' );
142
  define( 'CARTFLOWS_SETTINGS', 'cartflows_settings' );
136
  define( 'CARTFLOWS_BASE', plugin_basename( CARTFLOWS_FILE ) );
137
  define( 'CARTFLOWS_DIR', plugin_dir_path( CARTFLOWS_FILE ) );
138
  define( 'CARTFLOWS_URL', plugins_url( '/', CARTFLOWS_FILE ) );
139
+ define( 'CARTFLOWS_VER', '1.6.7' );
140
 
141
  define( 'CARTFLOWS_SLUG', 'cartflows' );
142
  define( 'CARTFLOWS_SETTINGS', 'cartflows_settings' );
languages/cartflows.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the CartFlows plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: CartFlows 1.6.6\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cartflows\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2021-02-11T07:28:32+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: cartflows\n"
@@ -232,29 +232,59 @@ msgstr ""
232
  msgid "Request timeout error. Please check if the firewall or any security plugin is blocking the outgoing HTTP/HTTPS requests to templates.cartflows.com or not. <br><br>To resolve this issue, please check this <a target=\"_blank\" href=\"https://cartflows.com/docs/request-timeout-error-while-importing-the-flow-step-templates/\">article</a>."
233
  msgstr ""
234
 
235
- #: admin-core/ajax/importer.php:620
236
- #: admin-core/ajax/importer.php:733
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  msgid "Flows data not found."
238
  msgstr ""
239
 
240
- #: admin-core/ajax/importer.php:667
241
  msgid "Successfully imported the Flow!"
242
  msgstr ""
243
 
244
- #: admin-core/ajax/importer.php:754
245
  msgid "Step data not found."
246
  msgstr ""
247
 
248
- #: admin-core/ajax/importer.php:762
249
  msgid "Successfully imported the Step!"
250
  msgstr ""
251
 
252
  #. translators: %s: step ID
253
- #: admin-core/ajax/importer.php:791
254
  msgid "Invalid step id %1$s or post id %2$s."
255
  msgstr ""
256
 
257
- #: admin-core/ajax/importer.php:916
258
  msgid "Successful!"
259
  msgstr ""
260
 
@@ -581,7 +611,7 @@ msgstr ""
581
 
582
  #: admin-core/inc/global-settings.php:41
583
  msgid ""
584
- "Be sure not to add any product in above selected Global Checkout step. Please read information about how to set up Global Checkout here.\r\n"
585
  " "
586
  msgstr ""
587
 
@@ -3708,10 +3738,6 @@ msgstr ""
3708
  msgid "Step ID:"
3709
  msgstr ""
3710
 
3711
- #: woocommerce/template/checkout/form-login.php:32
3712
- msgid "If you have shopped with us before, please enter your details below. If you are a new customer, please proceed to the Billing &amp; Shipping section."
3713
- msgstr ""
3714
-
3715
  #: admin-core/assets/build/editor-app.js:1
3716
  #: admin-core/assets/build/settings-app.js:1
3717
  msgid "Settings Saved"
2
  # This file is distributed under the same license as the CartFlows plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: CartFlows 1.6.7\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cartflows\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2021-02-18T06:12:38+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: cartflows\n"
232
  msgid "Request timeout error. Please check if the firewall or any security plugin is blocking the outgoing HTTP/HTTPS requests to templates.cartflows.com or not. <br><br>To resolve this issue, please check this <a target=\"_blank\" href=\"https://cartflows.com/docs/request-timeout-error-while-importing-the-flow-step-templates/\">article</a>."
233
  msgstr ""
234
 
235
+ #. translators: %1$s: link html start, %2$s: link html end
236
+ #: admin-core/ajax/importer.php:601
237
+ msgid "CartFlows Pro Required! %1$sUpgrade to CartFlows Pro%2$s"
238
+ msgstr ""
239
+
240
+ #. translators: %1$s: link html start, %2$s: link html end
241
+ #: admin-core/ajax/importer.php:603
242
+ msgid "To import the premium flow %1$supgrade to CartFlows Pro%2$s."
243
+ msgstr ""
244
+
245
+ #. translators: %1$s: link html start, %2$s: link html end
246
+ #: admin-core/ajax/importer.php:606
247
+ msgid "Activate the CartFlows Pro to import the flow! %1$sActivate CartFlows Pro%2$s"
248
+ msgstr ""
249
+
250
+ #. translators: %1$s: link html start, %2$s: link html end
251
+ #: admin-core/ajax/importer.php:608
252
+ msgid "To import the premium flow %1$sactivate Cartflows Pro%2$s and validate the license key."
253
+ msgstr ""
254
+
255
+ #. translators: %1$s: link html start, %2$s: link html end
256
+ #: admin-core/ajax/importer.php:611
257
+ msgid "Invalid License Key! %1$sActivate CartFlows Pro%2$s"
258
+ msgstr ""
259
+
260
+ #. translators: %1$s: link html start, %2$s: link html end
261
+ #: admin-core/ajax/importer.php:613
262
+ msgid "To import the premium flow %1$sactivate CartFlows Pro%2$s."
263
+ msgstr ""
264
+
265
+ #: admin-core/ajax/importer.php:626
266
+ #: admin-core/ajax/importer.php:739
267
  msgid "Flows data not found."
268
  msgstr ""
269
 
270
+ #: admin-core/ajax/importer.php:673
271
  msgid "Successfully imported the Flow!"
272
  msgstr ""
273
 
274
+ #: admin-core/ajax/importer.php:760
275
  msgid "Step data not found."
276
  msgstr ""
277
 
278
+ #: admin-core/ajax/importer.php:768
279
  msgid "Successfully imported the Step!"
280
  msgstr ""
281
 
282
  #. translators: %s: step ID
283
+ #: admin-core/ajax/importer.php:797
284
  msgid "Invalid step id %1$s or post id %2$s."
285
  msgstr ""
286
 
287
+ #: admin-core/ajax/importer.php:922
288
  msgid "Successful!"
289
  msgstr ""
290
 
611
 
612
  #: admin-core/inc/global-settings.php:41
613
  msgid ""
614
+ "Be sure not to add any product in above selected Global Checkout step. Please read information about how to set up Global Checkout here.\n"
615
  " "
616
  msgstr ""
617
 
3738
  msgid "Step ID:"
3739
  msgstr ""
3740
 
 
 
 
 
3741
  #: admin-core/assets/build/editor-app.js:1
3742
  #: admin-core/assets/build/settings-app.js:1
3743
  msgid "Settings Saved"
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.me/BrainstormForce
4
  Tags: woocommerce, funnel builder, sales funnels, elementor, beaver builder
5
  Requires at least: 5.4
6
  Tested up to: 5.6
7
- Stable tag: 1.6.6
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -127,6 +127,10 @@ Glad you asked! Most normal users have less than 3 funnels on a single website,
127
 
128
  == Changelog ==
129
 
 
 
 
 
130
  = Version 1.6.6 - Thursday, 11th February 2021 =
131
  * Fix: The single exported flow was not getting imported.
132
  * Fix: CartFlows modules were not getting displayed on the Beaver Builder's Module Setting page.
4
  Tags: woocommerce, funnel builder, sales funnels, elementor, beaver builder
5
  Requires at least: 5.4
6
  Tested up to: 5.6
7
+ Stable tag: 1.6.7
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
127
 
128
  == Changelog ==
129
 
130
+ = Version 1.6.7 - Thursday, 18th February 2021 =
131
+ * Improvement: WooCommerce templates updated.
132
+ * Fix: Broken menu was getting displayed in the footer for Astra Theme.
133
+
134
  = Version 1.6.6 - Thursday, 11th February 2021 =
135
  * Fix: The single exported flow was not getting imported.
136
  * Fix: CartFlows modules were not getting displayed on the Beaver Builder's Module Setting page.
theme-support/astra/class-cartflows-astra-compatibility.php CHANGED
@@ -46,6 +46,7 @@ if ( ! class_exists( 'Cartflows_Astra_Compatibility' ) ) :
46
  add_action( 'cartflows_optin_before_shortcode', array( $this, 'cartflows_theme_compatibility_astra' ) );
47
 
48
  add_action( 'wp', array( $this, 'cartflows_load_wp_actions_for_astra' ), 56 );
 
49
  }
50
 
51
 
@@ -69,6 +70,35 @@ if ( ! class_exists( 'Cartflows_Astra_Compatibility' ) ) :
69
  add_filter( 'astra_theme_woocommerce_dynamic_css', '__return_empty_string' );
70
  }
71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
 
73
  /**
74
  * Function to add/remove the actions/hooks on wp action.
46
  add_action( 'cartflows_optin_before_shortcode', array( $this, 'cartflows_theme_compatibility_astra' ) );
47
 
48
  add_action( 'wp', array( $this, 'cartflows_load_wp_actions_for_astra' ), 56 );
49
+ add_action( 'wp', array( $this, 'remove_page_template_specific_action' ), 10 );
50
  }
51
 
52
 
70
  add_filter( 'astra_theme_woocommerce_dynamic_css', '__return_empty_string' );
71
  }
72
 
73
+ /**
74
+ * Function to remove page template specific actions.
75
+ * Used to remove undesigned menu from the footer of the CartFlows pages only.
76
+ *
77
+ * @since 1.6.6
78
+ *
79
+ * @return void
80
+ */
81
+ public function remove_page_template_specific_action() {
82
+
83
+ // Return if not the CartFlows page.
84
+ if ( ! wcf()->utils->is_step_post_type() ) {
85
+ return;
86
+ }
87
+
88
+ $page_template = get_post_meta( _get_wcf_step_id(), '_wp_page_template', true );
89
+
90
+ if ( _wcf_supported_template( $page_template ) ) {
91
+
92
+ if ( ! class_exists( 'Astra_Builder_Header' ) ) {
93
+ return;
94
+ }
95
+
96
+ $astra_builder_header = Astra_Builder_Header::get_instance();
97
+
98
+ remove_action( 'wp_footer', array( $astra_builder_header, 'mobile_popup' ) );
99
+ }
100
+
101
+ }
102
 
103
  /**
104
  * Function to add/remove the actions/hooks on wp action.
woocommerce/template/cart/cart-shipping.php CHANGED
@@ -13,8 +13,8 @@
13
  * the readme will list any important changes.
14
  *
15
  * @see https://docs.woocommerce.com/document/template-structure/
16
- * @package WooCommerce/Templates
17
- * @version 3.5.0
18
  */
19
 
20
  defined( 'ABSPATH' ) || exit;
@@ -48,23 +48,27 @@ $calculator_text = '';
48
  <?php
49
  if ( $formatted_destination ) {
50
  // Translators: $s shipping destination.
51
- printf( esc_html__( 'Estimate for %s.', 'woocommerce' ) . ' ', '<strong>' . esc_html( $formatted_destination ) . '</strong>' );
52
- $calculator_text = __( 'Change address', 'woocommerce' );
53
  } else {
54
- echo esc_html__( 'This is only an estimate. Prices will be updated during checkout.', 'woocommerce' );
55
  }
56
  ?>
57
  </p>
58
  <?php endif; ?>
59
  <?php
60
  elseif ( ! $has_calculated_shipping || ! $formatted_destination ) :
61
- esc_html_e( 'Enter your address to view shipping options.', 'woocommerce' );
 
 
 
 
62
  elseif ( ! is_cart() ) :
63
- echo wp_kses_post( apply_filters( 'woocommerce_no_shipping_available_html', __( 'There are no shipping methods available. Please ensure that your address has been entered correctly, or contact us if you need any help.', 'woocommerce' ) ) );
64
  else :
65
  // Translators: $s shipping destination.
66
  echo wp_kses_post( apply_filters( 'woocommerce_cart_no_shipping_available_html', sprintf( esc_html__( 'No shipping options were found for %s.', 'woocommerce' ) . ' ', '<strong>' . esc_html( $formatted_destination ) . '</strong>' ) ) );
67
- $calculator_text = __( 'Enter a different address', 'woocommerce' );
68
  endif;
69
  ?>
70
 
13
  * the readme will list any important changes.
14
  *
15
  * @see https://docs.woocommerce.com/document/template-structure/
16
+ * @package WooCommerce\Templates
17
+ * @version 3.6.0
18
  */
19
 
20
  defined( 'ABSPATH' ) || exit;
48
  <?php
49
  if ( $formatted_destination ) {
50
  // Translators: $s shipping destination.
51
+ printf( esc_html__( 'Shipping to %s.', 'woocommerce' ) . ' ', '<strong>' . esc_html( $formatted_destination ) . '</strong>' );
52
+ $calculator_text = esc_html__( 'Change address', 'woocommerce' );
53
  } else {
54
+ echo wp_kses_post( apply_filters( 'woocommerce_shipping_estimate_html', __( 'Shipping options will be updated during checkout.', 'woocommerce' ) ) );
55
  }
56
  ?>
57
  </p>
58
  <?php endif; ?>
59
  <?php
60
  elseif ( ! $has_calculated_shipping || ! $formatted_destination ) :
61
+ if ( is_cart() && 'no' === get_option( 'woocommerce_enable_shipping_calc' ) ) {
62
+ echo wp_kses_post( apply_filters( 'woocommerce_shipping_not_enabled_on_cart_html', __( 'Shipping costs are calculated during checkout.', 'woocommerce' ) ) );
63
+ } else {
64
+ echo wp_kses_post( apply_filters( 'woocommerce_shipping_may_be_available_html', __( 'Enter your address to view shipping options.', 'woocommerce' ) ) );
65
+ }
66
  elseif ( ! is_cart() ) :
67
+ echo wp_kses_post( apply_filters( 'woocommerce_no_shipping_available_html', __( 'There are no shipping options available. Please ensure that your address has been entered correctly, or contact us if you need any help.', 'woocommerce' ) ) );
68
  else :
69
  // Translators: $s shipping destination.
70
  echo wp_kses_post( apply_filters( 'woocommerce_cart_no_shipping_available_html', sprintf( esc_html__( 'No shipping options were found for %s.', 'woocommerce' ) . ' ', '<strong>' . esc_html( $formatted_destination ) . '</strong>' ) ) );
71
+ $calculator_text = esc_html__( 'Enter a different address', 'woocommerce' );
72
  endif;
73
  ?>
74
 
woocommerce/template/checkout/form-billing.php CHANGED
@@ -11,24 +11,21 @@
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
- * @author WooThemes
15
- * @package WooCommerce/Templates
16
- * @version 3.0.9
17
  */
18
 
19
- if ( ! defined( 'ABSPATH' ) ) {
20
- exit; // Exit if accessed directly.
21
- }
22
-
23
  ?>
24
  <div class="woocommerce-billing-fields">
25
  <?php if ( wc_ship_to_billing_address_only() && WC()->cart->needs_shipping() ) : ?>
26
 
27
- <h3><?php _e( 'Billing &amp; Shipping', 'woocommerce' ); ?></h3>
28
 
29
  <?php else : ?>
30
 
31
- <h3><?php echo apply_filters( 'cartflows_woo_billling_text', __( 'Billing details', 'woocommerce' ) ); ?></h3>
32
 
33
  <?php endif; ?>
34
 
@@ -36,12 +33,9 @@ if ( ! defined( 'ABSPATH' ) ) {
36
 
37
  <div class="woocommerce-billing-fields__field-wrapper">
38
  <?php
39
- $fields = $checkout->get_checkout_fields( 'billing' );
40
 
41
  foreach ( $fields as $key => $field ) {
42
- if ( isset( $field['country_field'], $fields[ $field['country_field'] ] ) ) {
43
- $field['country'] = $checkout->get_value( $field['country_field'] );
44
- }
45
  woocommerce_form_field( $key, $field, $checkout->get_value( $key ) );
46
  }
47
  ?>
@@ -56,7 +50,7 @@ if ( ! defined( 'ABSPATH' ) ) {
56
 
57
  <p class="form-row form-row-wide create-account">
58
  <label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
59
- <input class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" id="createaccount" <?php checked( ( true === $checkout->get_value( 'createaccount' ) || ( true === apply_filters( 'woocommerce_create_account_default_checked', false ) ) ), true ); ?> type="checkbox" name="createaccount" value="1" /> <span><?php _e( 'Create an account?', 'woocommerce' ); ?></span>
60
  </label>
61
  </p>
62
 
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
+ * @version 3.6.0
16
+ * @global WC_Checkout $checkout
17
  */
18
 
19
+ defined( 'ABSPATH' ) || exit;
 
 
 
20
  ?>
21
  <div class="woocommerce-billing-fields">
22
  <?php if ( wc_ship_to_billing_address_only() && WC()->cart->needs_shipping() ) : ?>
23
 
24
+ <h3><?php esc_html_e( 'Billing &amp; Shipping', 'woocommerce' ); ?></h3>
25
 
26
  <?php else : ?>
27
 
28
+ <h3><?php echo wp_kses_post( apply_filters( 'cartflows_woo_billling_text', esc_html__( 'Billing details', 'woocommerce' ) ) ); ?></h3>
29
 
30
  <?php endif; ?>
31
 
33
 
34
  <div class="woocommerce-billing-fields__field-wrapper">
35
  <?php
36
+ $fields = $checkout->get_checkout_fields( 'billing' );
37
 
38
  foreach ( $fields as $key => $field ) {
 
 
 
39
  woocommerce_form_field( $key, $field, $checkout->get_value( $key ) );
40
  }
41
  ?>
50
 
51
  <p class="form-row form-row-wide create-account">
52
  <label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
53
+ <input class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" id="createaccount" <?php checked( ( true === $checkout->get_value( 'createaccount' ) || ( true === apply_filters( 'woocommerce_create_account_default_checked', false ) ) ), true ); ?> type="checkbox" name="createaccount" value="1" /> <span><?php esc_html_e( 'Create an account?', 'woocommerce' ); ?></span>
54
  </label>
55
  </p>
56
 
woocommerce/template/checkout/form-checkout.php CHANGED
@@ -11,7 +11,7 @@
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
  * @version 3.5.0
16
  */
17
 
@@ -48,22 +48,24 @@ if ( ! $checkout->is_registration_enabled() && $checkout->is_registration_requir
48
  <?php do_action( 'woocommerce_checkout_after_customer_details' ); ?>
49
 
50
  <?php endif; ?>
51
-
52
- <div class='wcf-order-wrap'>
53
 
 
 
54
  <?php do_action( 'cartflows_woocommerce_checkout_before_order_heading' ); ?>
55
 
56
- <h3 id="order_review_heading"><?php echo apply_filters( 'cartflows_woo_your_order_text', esc_html__( 'Your order', 'woocommerce' ) ); ?></h3>
57
-
 
 
58
  <?php do_action( 'woocommerce_checkout_before_order_review' ); ?>
59
 
60
  <div id="order_review" class="woocommerce-checkout-review-order">
61
  <?php do_action( 'woocommerce_checkout_order_review' ); ?>
62
  </div>
63
-
64
  <?php do_action( 'woocommerce_checkout_after_order_review' ); ?>
 
65
  </div>
66
-
67
  </form>
68
 
69
  <?php do_action( 'woocommerce_after_checkout_form', $checkout ); ?>
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
  * @version 3.5.0
16
  */
17
 
48
  <?php do_action( 'woocommerce_checkout_after_customer_details' ); ?>
49
 
50
  <?php endif; ?>
 
 
51
 
52
+ <div class='wcf-order-wrap'>
53
+
54
  <?php do_action( 'cartflows_woocommerce_checkout_before_order_heading' ); ?>
55
 
56
+ <?php do_action( 'woocommerce_checkout_before_order_review_heading' ); ?>
57
+
58
+ <h3 id="order_review_heading"><?php echo wp_kses_post( apply_filters( 'cartflows_woo_your_order_text', esc_html__( 'Your order', 'woocommerce' ) ) ); ?></h3>
59
+
60
  <?php do_action( 'woocommerce_checkout_before_order_review' ); ?>
61
 
62
  <div id="order_review" class="woocommerce-checkout-review-order">
63
  <?php do_action( 'woocommerce_checkout_order_review' ); ?>
64
  </div>
65
+
66
  <?php do_action( 'woocommerce_checkout_after_order_review' ); ?>
67
+
68
  </div>
 
69
  </form>
70
 
71
  <?php do_action( 'woocommerce_after_checkout_form', $checkout ); ?>
woocommerce/template/checkout/form-coupon.php CHANGED
@@ -11,7 +11,7 @@
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
  * @version 3.4.4
16
  */
17
 
@@ -23,7 +23,7 @@ if ( ! wc_coupons_enabled() ) { // @codingStandardsIgnoreLine.
23
 
24
  ?>
25
  <div class="woocommerce-form-coupon-toggle">
26
- <?php wc_print_notice( apply_filters( 'woocommerce_checkout_coupon_message', __( 'Have a coupon?', 'woocommerce' ) . ' <a href="#" class="showcoupon">' . __( 'Click here to enter your code', 'woocommerce' ) . '</a>' ), 'notice' ); ?>
27
  </div>
28
 
29
  <form class="checkout_coupon woocommerce-form-coupon" method="post" style="display:none">
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
  * @version 3.4.4
16
  */
17
 
23
 
24
  ?>
25
  <div class="woocommerce-form-coupon-toggle">
26
+ <?php wc_print_notice( apply_filters( 'woocommerce_checkout_coupon_message', esc_html__( 'Have a coupon?', 'woocommerce' ) . ' <a href="#" class="showcoupon">' . esc_html__( 'Click here to enter your code', 'woocommerce' ) . '</a>' ), 'notice' ); ?>
27
  </div>
28
 
29
  <form class="checkout_coupon woocommerce-form-coupon" method="post" style="display:none">
woocommerce/template/checkout/form-login.php CHANGED
@@ -11,8 +11,8 @@
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
- * @version 3.4.0
16
  */
17
 
18
  defined( 'ABSPATH' ) || exit;
@@ -23,14 +23,14 @@ if ( is_user_logged_in() || 'no' === get_option( 'woocommerce_enable_checkout_lo
23
 
24
  ?>
25
  <div class="woocommerce-form-login-toggle">
26
- <?php wc_print_notice( apply_filters( 'woocommerce_checkout_login_message', __( 'Returning customer?', 'woocommerce' ) ) . ' <a href="#" class="showlogin">' . __( 'Click here to login', 'woocommerce' ) . '</a>', 'notice' ); ?>
27
  </div>
28
  <?php
29
 
30
  woocommerce_login_form(
31
  array(
32
- 'message' => __( 'If you have shopped with us before, please enter your details below. If you are a new customer, please proceed to the Billing &amp; Shipping section.', 'cartflows' ),
33
- 'redirect' => wc_get_page_permalink( 'checkout' ),
34
  'hidden' => true,
35
  )
36
  );
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
+ * @version 3.8.0
16
  */
17
 
18
  defined( 'ABSPATH' ) || exit;
23
 
24
  ?>
25
  <div class="woocommerce-form-login-toggle">
26
+ <?php wc_print_notice( apply_filters( 'woocommerce_checkout_login_message', esc_html__( 'Returning customer?', 'woocommerce' ) ) . ' <a href="#" class="showlogin">' . esc_html__( 'Click here to login', 'woocommerce' ) . '</a>', 'notice' ); ?>
27
  </div>
28
  <?php
29
 
30
  woocommerce_login_form(
31
  array(
32
+ 'message' => esc_html__( 'If you have shopped with us before, please enter your details below. If you are a new customer, please proceed to the Billing section.', 'woocommerce' ),
33
+ 'redirect' => wc_get_checkout_url(),
34
  'hidden' => true,
35
  )
36
  );
woocommerce/template/checkout/form-shipping.php CHANGED
@@ -11,7 +11,7 @@
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
  * @version 3.6.0
16
  * @global WC_Checkout $checkout
17
  */
@@ -23,7 +23,7 @@ defined( 'ABSPATH' ) || exit;
23
 
24
  <h3 id="ship-to-different-address">
25
  <label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
26
- <input id="ship-to-different-address-checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" <?php checked( apply_filters( 'woocommerce_ship_to_different_address_checked', 'shipping' === get_option( 'woocommerce_ship_to_destination' ) ? 1 : 0 ), 1 ); ?> type="checkbox" name="ship_to_different_address" value="1" /> <span><?php echo apply_filters( 'cartflows_woo_shipping_text', esc_html__( 'Ship to a different address?', 'woocommerce' ) ); ?></span>
27
  </label>
28
  </h3>
29
 
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
  * @version 3.6.0
16
  * @global WC_Checkout $checkout
17
  */
23
 
24
  <h3 id="ship-to-different-address">
25
  <label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
26
+ <input id="ship-to-different-address-checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" <?php checked( apply_filters( 'woocommerce_ship_to_different_address_checked', 'shipping' === get_option( 'woocommerce_ship_to_destination' ) ? 1 : 0 ), 1 ); ?> type="checkbox" name="ship_to_different_address" value="1" /> <span><?php echo wp_kses_post( apply_filters( 'cartflows_woo_shipping_text', esc_html__( 'Ship to a different address?', 'woocommerce' ) ) ); ?></span>
27
  </label>
28
  </h3>
29
 
woocommerce/template/checkout/payment-method.php CHANGED
@@ -11,7 +11,7 @@
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
  * @version 3.5.0
16
  */
17
 
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
  * @version 3.5.0
16
  */
17
 
woocommerce/template/checkout/payment.php CHANGED
@@ -11,11 +11,12 @@
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
  * @version 3.5.3
16
  */
17
 
18
  defined( 'ABSPATH' ) || exit;
 
19
  if ( ! is_ajax() ) {
20
  do_action( 'woocommerce_review_order_before_payment' );
21
  }
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
  * @version 3.5.3
16
  */
17
 
18
  defined( 'ABSPATH' ) || exit;
19
+
20
  if ( ! is_ajax() ) {
21
  do_action( 'woocommerce_review_order_before_payment' );
22
  }
woocommerce/template/checkout/review-order.php CHANGED
@@ -10,54 +10,50 @@
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
- * @see https://docs.woocommerce.com/document/template-structure/
14
- * @author WooThemes
15
- * @package WooCommerce/Templates
16
- * @version 3.3.0
17
  */
18
 
19
- if ( ! defined( 'ABSPATH' ) ) {
20
- exit;
21
- }
22
  ?>
23
  <table class="shop_table woocommerce-checkout-review-order-table">
24
  <thead>
25
  <tr>
26
- <th class="product-name"><?php _e( 'Product', 'woocommerce' ); ?></th>
27
- <th class="product-total"><?php _e( 'Total', 'woocommerce' ); ?></th>
28
  </tr>
29
  </thead>
30
  <tbody>
31
  <?php
32
- do_action( 'woocommerce_review_order_before_cart_contents' );
33
- $checkout_id = get_the_ID();
34
- foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
35
  $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
36
 
37
  if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_checkout_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
38
  ?>
39
- <tr class="<?php echo esc_attr( apply_filters( 'woocommerce_cart_item_class', 'cart_item', $cart_item, $cart_item_key ) ); ?>">
40
-
41
- <td class="product-name">
42
- <?php echo apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;'; ?>
43
- <?php echo apply_filters( 'woocommerce_checkout_cart_item_quantity', ' <strong class="product-quantity">' . sprintf( '&times; %s', $cart_item['quantity'] ) . '</strong>', $cart_item, $cart_item_key ); ?>
44
- <?php echo wc_get_formatted_cart_item_data( $cart_item ); ?>
45
- </td>
46
- <td class="product-total">
47
- <?php echo apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key ); ?>
48
- </td>
49
- </tr>
50
- <?php
51
  }
52
  }
53
 
54
- do_action( 'woocommerce_review_order_after_cart_contents' );
55
  ?>
56
  </tbody>
57
  <tfoot>
58
 
59
  <tr class="cart-subtotal">
60
- <th><?php _e( 'Subtotal', 'woocommerce' ); ?></th>
61
  <td><?php wc_cart_totals_subtotal_html(); ?></td>
62
  </tr>
63
 
@@ -87,8 +83,8 @@ if ( ! defined( 'ABSPATH' ) ) {
87
 
88
  <?php if ( wc_tax_enabled() && ! WC()->cart->display_prices_including_tax() ) : ?>
89
  <?php if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) : ?>
90
- <?php foreach ( WC()->cart->get_tax_totals() as $code => $tax ) : ?>
91
- <tr class="tax-rate tax-rate-<?php echo sanitize_title( $code ); ?>">
92
  <th><?php echo esc_html( $tax->label ); ?></th>
93
  <td><?php echo wp_kses_post( $tax->formatted_amount ); ?></td>
94
  </tr>
@@ -104,7 +100,7 @@ if ( ! defined( 'ABSPATH' ) ) {
104
  <?php do_action( 'woocommerce_review_order_before_order_total' ); ?>
105
 
106
  <tr class="order-total">
107
- <th><?php _e( 'Total', 'woocommerce' ); ?></th>
108
  <td><?php wc_cart_totals_order_total_html(); ?></td>
109
  </tr>
110
 
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
+ * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
+ * @version 3.8.0
 
16
  */
17
 
18
+ defined( 'ABSPATH' ) || exit;
 
 
19
  ?>
20
  <table class="shop_table woocommerce-checkout-review-order-table">
21
  <thead>
22
  <tr>
23
+ <th class="product-name"><?php esc_html_e( 'Product', 'woocommerce' ); ?></th>
24
+ <th class="product-total"><?php esc_html_e( 'Subtotal', 'woocommerce' ); ?></th>
25
  </tr>
26
  </thead>
27
  <tbody>
28
  <?php
29
+ do_action( 'woocommerce_review_order_before_cart_contents' );
30
+
31
+ foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
32
  $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
33
 
34
  if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_checkout_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
35
  ?>
36
+ <tr class="<?php echo esc_attr( apply_filters( 'woocommerce_cart_item_class', 'cart_item', $cart_item, $cart_item_key ) ); ?>">
37
+ <td class="product-name">
38
+ <?php echo apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . '&nbsp;'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
39
+ <?php echo apply_filters( 'woocommerce_checkout_cart_item_quantity', ' <strong class="product-quantity">' . sprintf( '&times;&nbsp;%s', $cart_item['quantity'] ) . '</strong>', $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
40
+ <?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
41
+ </td>
42
+ <td class="product-total">
43
+ <?php echo apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
44
+ </td>
45
+ </tr>
46
+ <?php
 
47
  }
48
  }
49
 
50
+ do_action( 'woocommerce_review_order_after_cart_contents' );
51
  ?>
52
  </tbody>
53
  <tfoot>
54
 
55
  <tr class="cart-subtotal">
56
+ <th><?php esc_html_e( 'Subtotal', 'woocommerce' ); ?></th>
57
  <td><?php wc_cart_totals_subtotal_html(); ?></td>
58
  </tr>
59
 
83
 
84
  <?php if ( wc_tax_enabled() && ! WC()->cart->display_prices_including_tax() ) : ?>
85
  <?php if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) : ?>
86
+ <?php foreach ( WC()->cart->get_tax_totals() as $code => $tax ) : // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited ?>
87
+ <tr class="tax-rate tax-rate-<?php echo esc_attr( sanitize_title( $code ) ); ?>">
88
  <th><?php echo esc_html( $tax->label ); ?></th>
89
  <td><?php echo wp_kses_post( $tax->formatted_amount ); ?></td>
90
  </tr>
100
  <?php do_action( 'woocommerce_review_order_before_order_total' ); ?>
101
 
102
  <tr class="order-total">
103
+ <th><?php esc_html_e( 'Total', 'woocommerce' ); ?></th>
104
  <td><?php wc_cart_totals_order_total_html(); ?></td>
105
  </tr>
106
 
woocommerce/template/checkout/thankyou.php CHANGED
@@ -10,72 +10,72 @@
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
- * @see https://docs.woocommerce.com/document/template-structure/
14
- * @author WooThemes
15
- * @package WooCommerce/Templates
16
- * @version 3.2.0
17
  */
18
 
19
- if ( ! defined( 'ABSPATH' ) ) {
20
- exit;
21
- }
22
  ?>
23
 
24
  <div class="woocommerce-order">
25
 
26
- <?php if ( $order ) : ?>
 
 
 
 
27
 
28
  <?php if ( $order->has_status( 'failed' ) ) : ?>
29
 
30
- <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed"><?php _e( 'Unfortunately your order cannot be processed as the originating bank/merchant has declined your transaction. Please attempt your purchase again.', 'woocommerce' ); ?></p>
31
 
32
  <p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed-actions">
33
- <a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php _e( 'Pay', 'woocommerce' ); ?></a>
34
  <?php if ( is_user_logged_in() ) : ?>
35
- <a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php _e( 'My account', 'woocommerce' ); ?></a>
36
  <?php endif; ?>
37
  </p>
38
 
39
  <?php else : ?>
40
 
41
- <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', __( 'Thank you. Your order has been received.', 'woocommerce' ), $order ); ?></p>
42
-
43
  <?php if ( $order->has_status( 'cancelled' ) ) :
44
  do_action( 'cartflows_woocommerce_order_overview_cancelled', $order );
45
  endif; ?>
46
  <ul class="woocommerce-order-overview woocommerce-thankyou-order-details order_details">
47
 
48
  <li class="woocommerce-order-overview__order order">
49
- <?php _e( 'Order number:', 'woocommerce' ); ?>
50
- <strong><?php echo $order->get_order_number(); ?></strong>
51
  </li>
52
 
53
  <li class="woocommerce-order-overview__date date">
54
- <?php _e( 'Date:', 'woocommerce' ); ?>
55
- <strong><?php echo wc_format_datetime( $order->get_date_created() ); ?></strong>
56
  </li>
57
 
58
  <?php if ( is_user_logged_in() && $order->get_user_id() === get_current_user_id() && $order->get_billing_email() ) : ?>
59
  <li class="woocommerce-order-overview__email email">
60
- <?php _e( 'Email:', 'woocommerce' ); ?>
61
- <strong><?php echo $order->get_billing_email(); ?></strong>
62
  </li>
63
  <?php endif; ?>
64
 
65
- <?php if ( ! $order->has_status( 'cancelled' ) ) : ?>
66
  <li class="woocommerce-order-overview__total total">
67
- <?php _e( 'Total:', 'woocommerce' ); ?>
68
- <strong><?php echo $order->get_formatted_order_total(); ?></strong>
69
  </li>
70
- <?php endif; ?>
71
 
72
  <?php if ( $order->get_payment_method_title() ) : ?>
73
  <li class="woocommerce-order-overview__payment-method method">
74
- <?php _e( 'Payment method:', 'woocommerce' ); ?>
75
  <strong><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></strong>
76
  </li>
77
  <?php endif; ?>
 
78
  </ul>
 
79
  <?php endif; ?>
80
 
81
  <?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?>
@@ -83,7 +83,7 @@ if ( ! defined( 'ABSPATH' ) ) {
83
 
84
  <?php else : ?>
85
 
86
- <p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', __( 'Thank you. Your order has been received.', 'woocommerce' ), null ); ?></p>
87
 
88
  <?php endif; ?>
89
 
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
+ * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
+ * @version 3.7.0
 
16
  */
17
 
18
+ defined( 'ABSPATH' ) || exit;
 
 
19
  ?>
20
 
21
  <div class="woocommerce-order">
22
 
23
+ <?php
24
+ if ( $order ) :
25
+
26
+ do_action( 'woocommerce_before_thankyou', $order->get_id() );
27
+ ?>
28
 
29
  <?php if ( $order->has_status( 'failed' ) ) : ?>
30
 
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>
32
 
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>
39
 
40
  <?php else : ?>
41
 
42
+ <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' ), $order ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
 
43
  <?php if ( $order->has_status( 'cancelled' ) ) :
44
  do_action( 'cartflows_woocommerce_order_overview_cancelled', $order );
45
  endif; ?>
46
  <ul class="woocommerce-order-overview woocommerce-thankyou-order-details order_details">
47
 
48
  <li class="woocommerce-order-overview__order order">
49
+ <?php esc_html_e( 'Order number:', 'woocommerce' ); ?>
50
+ <strong><?php echo $order->get_order_number(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong>
51
  </li>
52
 
53
  <li class="woocommerce-order-overview__date date">
54
+ <?php esc_html_e( 'Date:', 'woocommerce' ); ?>
55
+ <strong><?php echo wc_format_datetime( $order->get_date_created() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong>
56
  </li>
57
 
58
  <?php if ( is_user_logged_in() && $order->get_user_id() === get_current_user_id() && $order->get_billing_email() ) : ?>
59
  <li class="woocommerce-order-overview__email email">
60
+ <?php esc_html_e( 'Email:', 'woocommerce' ); ?>
61
+ <strong><?php echo $order->get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong>
62
  </li>
63
  <?php endif; ?>
64
 
 
65
  <li class="woocommerce-order-overview__total total">
66
+ <?php esc_html_e( 'Total:', 'woocommerce' ); ?>
67
+ <strong><?php echo $order->get_formatted_order_total(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></strong>
68
  </li>
 
69
 
70
  <?php if ( $order->get_payment_method_title() ) : ?>
71
  <li class="woocommerce-order-overview__payment-method method">
72
+ <?php esc_html_e( 'Payment method:', 'woocommerce' ); ?>
73
  <strong><?php echo wp_kses_post( $order->get_payment_method_title() ); ?></strong>
74
  </li>
75
  <?php endif; ?>
76
+
77
  </ul>
78
+
79
  <?php endif; ?>
80
 
81
  <?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?>
83
 
84
  <?php else : ?>
85
 
86
+ <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>
87
 
88
  <?php endif; ?>
89
 
woocommerce/template/global/form-login.php CHANGED
@@ -11,7 +11,7 @@
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
  * @version 3.6.0
16
  */
17
 
@@ -43,22 +43,16 @@ if ( is_user_logged_in() ) {
43
  <?php do_action( 'woocommerce_login_form' ); ?>
44
 
45
  <p class="form-row">
 
 
 
46
  <?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?>
47
  <input type="hidden" name="redirect" value="<?php echo esc_url( $redirect ); ?>" />
48
  <button type="submit" class="woocommerce-button button woocommerce-form-login__submit" name="login" value="<?php esc_attr_e( 'Login', 'woocommerce' ); ?>"><?php esc_html_e( 'Login', 'woocommerce' ); ?></button>
49
- <span class="form-row login-form-actions">
50
- <span class="remember_me">
51
- <label class="woocommerce-form__label woocommerce-form__label-for-checkbox woocommerce-form-login__rememberme">
52
- <input class="woocommerce-form__input woocommerce-form__input-checkbox" name="rememberme" type="checkbox" id="rememberme" value="forever" />
53
- <span><?php esc_html_e( 'Remember me', 'woocommerce' ); ?></span>
54
- </label>
55
- </span>
56
- <span class="lost_password">
57
- <a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php esc_html_e( 'Lost your password?', 'woocommerce' ); ?></a>
58
- </span>
59
- </span>
60
  </p>
61
-
 
 
62
 
63
  <div class="clear"></div>
64
 
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
  * @version 3.6.0
16
  */
17
 
43
  <?php do_action( 'woocommerce_login_form' ); ?>
44
 
45
  <p class="form-row">
46
+ <label class="woocommerce-form__label woocommerce-form__label-for-checkbox woocommerce-form-login__rememberme">
47
+ <input class="woocommerce-form__input woocommerce-form__input-checkbox" name="rememberme" type="checkbox" id="rememberme" value="forever" /> <span><?php esc_html_e( 'Remember me', 'woocommerce' ); ?></span>
48
+ </label>
49
  <?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?>
50
  <input type="hidden" name="redirect" value="<?php echo esc_url( $redirect ); ?>" />
51
  <button type="submit" class="woocommerce-button button woocommerce-form-login__submit" name="login" value="<?php esc_attr_e( 'Login', 'woocommerce' ); ?>"><?php esc_html_e( 'Login', 'woocommerce' ); ?></button>
 
 
 
 
 
 
 
 
 
 
 
52
  </p>
53
+ <p class="lost_password">
54
+ <a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php esc_html_e( 'Lost your password?', 'woocommerce' ); ?></a>
55
+ </p>
56
 
57
  <div class="clear"></div>
58
 
woocommerce/template/notices/error.php CHANGED
@@ -10,26 +10,24 @@
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
- * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
- * @version 3.5.0
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
19
  exit;
20
  }
21
 
22
- if ( ! $messages ) {
23
  return;
24
  }
25
 
26
  ?>
27
  <ul class="woocommerce-error" role="alert">
28
- <?php foreach ( $messages as $message ) : ?>
29
- <li>
30
- <?php
31
- echo wc_kses_notice( $message );
32
- ?>
33
  </li>
34
  <?php endforeach; ?>
35
  </ul>
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
+ * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
+ * @version 3.9.0
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
19
  exit;
20
  }
21
 
22
+ if ( ! $notices ) {
23
  return;
24
  }
25
 
26
  ?>
27
  <ul class="woocommerce-error" role="alert">
28
+ <?php foreach ( $notices as $notice ) : ?>
29
+ <li<?php echo wc_get_notice_data_attr( $notice ); ?>>
30
+ <?php echo wc_kses_notice( $notice['notice'] ); ?>
 
 
31
  </li>
32
  <?php endforeach; ?>
33
  </ul>
woocommerce/template/notices/notice.php CHANGED
@@ -10,25 +10,23 @@
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
- * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
- * @version 3.5.0
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
19
  exit; // Exit if accessed directly.
20
  }
21
 
22
- if ( ! $messages ) {
23
  return;
24
  }
25
 
26
  ?>
27
 
28
- <?php foreach ( $messages as $message ) : ?>
29
- <div class="woocommerce-info">
30
- <?php
31
- echo wc_kses_notice( $message );
32
- ?>
33
  </div>
34
  <?php endforeach; ?>
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
+ * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
+ * @version 3.9.0
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
19
  exit; // Exit if accessed directly.
20
  }
21
 
22
+ if ( ! $notices ) {
23
  return;
24
  }
25
 
26
  ?>
27
 
28
+ <?php foreach ( $notices as $notice ) : ?>
29
+ <div class="woocommerce-info"<?php echo wc_get_notice_data_attr( $notice ); ?>>
30
+ <?php echo wc_kses_notice( $notice['notice'] ); ?>
 
 
31
  </div>
32
  <?php endforeach; ?>
woocommerce/template/notices/success.php CHANGED
@@ -10,25 +10,23 @@
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
- * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
- * @version 3.5.0
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
19
  exit;
20
  }
21
 
22
- if ( ! $messages ) {
23
  return;
24
  }
25
 
26
  ?>
27
 
28
- <?php foreach ( $messages as $message ) : ?>
29
- <div class="woocommerce-message" role="alert">
30
- <?php
31
- echo wc_kses_notice( $message );
32
- ?>
33
  </div>
34
  <?php endforeach; ?>
10
  * happen. When this occurs the version of the template file will be bumped and
11
  * the readme will list any important changes.
12
  *
13
+ * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
+ * @version 3.9.0
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
19
  exit;
20
  }
21
 
22
+ if ( ! $notices ) {
23
  return;
24
  }
25
 
26
  ?>
27
 
28
+ <?php foreach ( $notices as $notice ) : ?>
29
+ <div class="woocommerce-message"<?php echo wc_get_notice_data_attr( $notice ); ?> role="alert">
30
+ <?php echo wc_kses_notice( $notice['notice'] ); ?>
 
 
31
  </div>
32
  <?php endforeach; ?>
woocommerce/template/order/order-details.php CHANGED
@@ -11,13 +11,13 @@
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
- * @package WooCommerce/Templates
15
- * @version 3.7.0
16
  */
17
 
18
  defined( 'ABSPATH' ) || exit;
19
 
20
- $order = wc_get_order( $order_id ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
21
 
22
  if ( ! $order ) {
23
  return;
@@ -43,7 +43,6 @@ if( $order->has_status( 'cancelled' ) ){
43
  )
44
  );
45
  }
46
-
47
  ?>
48
  <section class="woocommerce-order-details">
49
  <?php do_action( 'woocommerce_order_details_before_order_table', $order ); ?>
@@ -91,7 +90,7 @@ if( $order->has_status( 'cancelled' ) ){
91
  <th scope="row"><?php echo esc_html( $total['label'] ); ?></th>
92
  <td><?php echo ( 'payment_method' === $key ) ? esc_html( $total['value'] ) : wp_kses_post( $total['value'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></td>
93
  </tr>
94
- <?php
95
  }
96
  ?>
97
  <?php if ( $order->get_customer_note() ) : ?>
@@ -105,14 +104,17 @@ if( $order->has_status( 'cancelled' ) ){
105
 
106
  <?php do_action( 'woocommerce_order_details_after_order_table', $order ); ?>
107
  </section>
108
- <?php
109
- }
110
-
111
- ?>
112
-
113
- <?php do_action( 'woocommerce_after_order_details', $order ); ?>
114
 
115
  <?php
 
 
 
 
 
 
 
 
116
  if ( $show_customer_details ) {
117
  wc_get_template( 'order/order-details-customer.php', array( 'order' => $order ) );
118
  }
11
  * the readme will list any important changes.
12
  *
13
  * @see https://docs.woocommerce.com/document/template-structure/
14
+ * @package WooCommerce\Templates
15
+ * @version 4.6.0
16
  */
17
 
18
  defined( 'ABSPATH' ) || exit;
19
 
20
+ $order = wc_get_order( $order_id ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
21
 
22
  if ( ! $order ) {
23
  return;
43
  )
44
  );
45
  }
 
46
  ?>
47
  <section class="woocommerce-order-details">
48
  <?php do_action( 'woocommerce_order_details_before_order_table', $order ); ?>
90
  <th scope="row"><?php echo esc_html( $total['label'] ); ?></th>
91
  <td><?php echo ( 'payment_method' === $key ) ? esc_html( $total['value'] ) : wp_kses_post( $total['value'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></td>
92
  </tr>
93
+ <?php
94
  }
95
  ?>
96
  <?php if ( $order->get_customer_note() ) : ?>
104
 
105
  <?php do_action( 'woocommerce_order_details_after_order_table', $order ); ?>
106
  </section>
107
+ <?php } ?>
 
 
 
 
 
108
 
109
  <?php
110
+ /**
111
+ * Action hook fired after the order details.
112
+ *
113
+ * @since 4.4.0
114
+ * @param WC_Order $order Order data.
115
+ */
116
+ do_action( 'woocommerce_after_order_details', $order );
117
+
118
  if ( $show_customer_details ) {
119
  wc_get_template( 'order/order-details-customer.php', array( 'order' => $order ) );
120
  }