Funnel Builder by CartFlows – Create High Converting Sales Funnels For WordPress - Version 1.11.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.11.7
Comparing to
See all releases

Code changes from version 1.11.6 to 1.11.7

admin-core/inc/admin-helper.php CHANGED
@@ -843,7 +843,7 @@ class AdminHelper {
843
  $start_date = date( 'Y-m-d H:i:s', strtotime( $start_date . '00:00:00' ) ); //phpcs:ignore
844
  $end_date = date( 'Y-m-d H:i:s', strtotime( $end_date . '23:59:59' ) ); //phpcs:ignore
845
 
846
- if ( _is_cartflows_pro() && defined( 'CARTFLOWS_PRO_PLUGIN_TYPE' ) && 'pro' === CARTFLOWS_PRO_PLUGIN_TYPE ) {
847
  // Return All Stats.
848
  return apply_filters(
849
  'cartflows_home_page_analytics',
843
  $start_date = date( 'Y-m-d H:i:s', strtotime( $start_date . '00:00:00' ) ); //phpcs:ignore
844
  $end_date = date( 'Y-m-d H:i:s', strtotime( $end_date . '23:59:59' ) ); //phpcs:ignore
845
 
846
+ if ( _is_cartflows_pro() && is_wcf_pro_plan() ) {
847
  // Return All Stats.
848
  return apply_filters(
849
  'cartflows_home_page_analytics',
cartflows.php CHANGED
@@ -3,13 +3,13 @@
3
  * Plugin Name: CartFlows
4
  * Plugin URI: https://cartflows.com/
5
  * Description: Create beautiful checkout pages & sales flows for WooCommerce.
6
- * Version: 1.11.6
7
  * Author: CartFlows Inc
8
  * Author URI: https://cartflows.com/
9
  * Text Domain: cartflows
10
  * WC requires at least: 3.0
11
  * WC tested up to: 7.1.0
12
- * Elementor tested up to: 3.7.8
13
  *
14
  * @package CartFlows
15
  */
3
  * Plugin Name: CartFlows
4
  * Plugin URI: https://cartflows.com/
5
  * Description: Create beautiful checkout pages & sales flows for WooCommerce.
6
+ * Version: 1.11.7
7
  * Author: CartFlows Inc
8
  * Author URI: https://cartflows.com/
9
  * Text Domain: cartflows
10
  * WC requires at least: 3.0
11
  * WC tested up to: 7.1.0
12
+ * Elementor tested up to: 3.8.1
13
  *
14
  * @package CartFlows
15
  */
changelog.txt CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  Version 1.11.6 - Tuesday, 22nd November 2022
2
  - New: Added option to display inline field validation message for the field validation.
3
  - Improvement: Added new CSS customizations options for CartFlows Gutenberg Blocks.
1
+ Version 1.11.7 - Thursday, 1st December 2022
2
+ - Fix: Weekly report emails were not sending in some cases.
3
+
4
  Version 1.11.6 - Tuesday, 22nd November 2022
5
  - New: Added option to display inline field validation message for the field validation.
6
  - Improvement: Added new CSS customizations options for CartFlows Gutenberg Blocks.
classes/class-cartflows-loader.php CHANGED
@@ -140,7 +140,7 @@ if ( ! class_exists( 'Cartflows_Loader' ) ) {
140
  define( 'CARTFLOWS_DIR', plugin_dir_path( CARTFLOWS_FILE ) );
141
  define( 'CARTFLOWS_URL', plugins_url( '/', CARTFLOWS_FILE ) );
142
 
143
- define( 'CARTFLOWS_VER', '1.11.6' );
144
  define( 'CARTFLOWS_SLUG', 'cartflows' );
145
  define( 'CARTFLOWS_SETTINGS', 'cartflows_settings' );
146
  define( 'CARTFLOWS_NAME', 'CartFlows' );
140
  define( 'CARTFLOWS_DIR', plugin_dir_path( CARTFLOWS_FILE ) );
141
  define( 'CARTFLOWS_URL', plugins_url( '/', CARTFLOWS_FILE ) );
142
 
143
+ define( 'CARTFLOWS_VER', '1.11.7' );
144
  define( 'CARTFLOWS_SLUG', 'cartflows' );
145
  define( 'CARTFLOWS_SETTINGS', 'cartflows_settings' );
146
  define( 'CARTFLOWS_NAME', 'CartFlows' );
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.11.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: 2022-11-21T07:44:06+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.5.0\n"
15
  "X-Domain: cartflows\n"
@@ -3104,19 +3104,19 @@ msgstr ""
3104
  msgid "Show"
3105
  msgstr ""
3106
 
3107
- #: modules/email-report/class-cartflows-admin-report-emails.php:93
3108
  msgid "There"
3109
  msgstr ""
3110
 
3111
- #: modules/email-report/class-cartflows-admin-report-emails.php:129
3112
  msgid "You have successfully unsubscribed from our weekly emails list."
3113
  msgstr ""
3114
 
3115
- #: modules/email-report/class-cartflows-admin-report-emails.php:129
3116
  msgid "Unsubscribed"
3117
  msgstr ""
3118
 
3119
- #: modules/email-report/class-cartflows-admin-report-emails.php:161
3120
  msgid "Here’s how your store performed last week!"
3121
  msgstr ""
3122
 
2
  # This file is distributed under the same license as the CartFlows plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: CartFlows 1.11.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: 2022-12-01T09:22:57+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.5.0\n"
15
  "X-Domain: cartflows\n"
3104
  msgid "Show"
3105
  msgstr ""
3106
 
3107
+ #: modules/email-report/class-cartflows-admin-report-emails.php:104
3108
  msgid "There"
3109
  msgstr ""
3110
 
3111
+ #: modules/email-report/class-cartflows-admin-report-emails.php:142
3112
  msgid "You have successfully unsubscribed from our weekly emails list."
3113
  msgstr ""
3114
 
3115
+ #: modules/email-report/class-cartflows-admin-report-emails.php:142
3116
  msgid "Unsubscribed"
3117
  msgstr ""
3118
 
3119
+ #: modules/email-report/class-cartflows-admin-report-emails.php:174
3120
  msgid "Here’s how your store performed last week!"
3121
  msgstr ""
3122
 
modules/email-report/class-cartflows-admin-report-emails.php CHANGED
@@ -56,14 +56,20 @@ class Cartflows_Admin_Report_Emails {
56
 
57
  $is_report_emails = get_option( 'cartflows_stats_report_emails', 'enable' );
58
 
 
 
59
  if ( 'enable' === $is_report_emails && function_exists( 'as_next_scheduled_action' ) && false === as_next_scheduled_action( 'cartflows_send_report_summary_email' ) ) {
60
 
61
  $date = new DateTime( 'next monday 2pm' );
62
 
63
  // It will automatically reschedule the action once initiated.
64
  as_schedule_recurring_action( $date, WEEK_IN_SECONDS, 'cartflows_send_report_summary_email' );
 
 
65
  } elseif ( 'enable' !== $is_report_emails && as_next_scheduled_action( 'cartflows_send_report_summary_email' ) ) {
66
  as_unschedule_all_actions( 'cartflows_send_report_summary_email' );
 
 
67
  }
68
  }
69
 
@@ -76,10 +82,15 @@ class Cartflows_Admin_Report_Emails {
76
 
77
  $emails = get_option( 'cartflows_stats_report_email_ids', get_option( 'admin_email' ) );
78
 
 
 
79
  if ( 'enable' === $is_report_emails && ! empty( $emails ) && apply_filters( 'cartflows_send_weekly_report_email', true ) ) {
80
 
81
  $stats = $this->get_last_week_stats();
82
 
 
 
 
83
  if ( isset( $stats['total_revenue'] ) && $stats['total_revenue'] > 0 ) {
84
 
85
  $subject = $this->get_email_subject();
@@ -92,7 +103,8 @@ class Cartflows_Admin_Report_Emails {
92
  $user_info = get_user_by( 'email', $email_id );
93
  $name = $user_info ? $user_info->display_name : __( 'There', 'cartflows' );
94
  $email_body = $this->get_email_content( $stats, $name, $email_id );
95
- wp_mail( $email_id, $subject, stripslashes( $email_body ), $headers );
 
96
  }
97
  }
98
  }
@@ -124,6 +136,7 @@ class Cartflows_Admin_Report_Emails {
124
  $email_list = implode( "\n", $email_list );
125
 
126
  update_option( 'cartflows_stats_report_email_ids', $email_list );
 
127
  }
128
 
129
  wp_die( esc_html__( 'You have successfully unsubscribed from our weekly emails list.', 'cartflows' ), esc_html__( 'Unsubscribed', 'cartflows' ) );
@@ -142,9 +155,9 @@ class Cartflows_Admin_Report_Emails {
142
  return AdminHelper::get_earnings( $start_date, $end_date );
143
  }
144
 
145
- /**
146
- * Get the stats mention in to email.
147
- */
148
  public function get_last_month_stats() {
149
 
150
  $start_date = gmdate( 'Y-m-d', strtotime( '-30 days' ) );
56
 
57
  $is_report_emails = get_option( 'cartflows_stats_report_emails', 'enable' );
58
 
59
+ wcf()->logger->log( 'Is weekly report enabled: ' . $is_report_emails );
60
+
61
  if ( 'enable' === $is_report_emails && function_exists( 'as_next_scheduled_action' ) && false === as_next_scheduled_action( 'cartflows_send_report_summary_email' ) ) {
62
 
63
  $date = new DateTime( 'next monday 2pm' );
64
 
65
  // It will automatically reschedule the action once initiated.
66
  as_schedule_recurring_action( $date, WEEK_IN_SECONDS, 'cartflows_send_report_summary_email' );
67
+
68
+ wcf()->logger->log( 'Weekly report action scheduled. Action: cartflows_send_report_summary_email ' );
69
  } elseif ( 'enable' !== $is_report_emails && as_next_scheduled_action( 'cartflows_send_report_summary_email' ) ) {
70
  as_unschedule_all_actions( 'cartflows_send_report_summary_email' );
71
+
72
+ wcf()->logger->log( 'Weekly report action unscheduled. Action: cartflows_send_report_summary_email ' );
73
  }
74
  }
75
 
82
 
83
  $emails = get_option( 'cartflows_stats_report_email_ids', get_option( 'admin_email' ) );
84
 
85
+ wcf()->logger->log( 'Start-' . __CLASS__ . '::' . __FUNCTION__ );
86
+
87
  if ( 'enable' === $is_report_emails && ! empty( $emails ) && apply_filters( 'cartflows_send_weekly_report_email', true ) ) {
88
 
89
  $stats = $this->get_last_week_stats();
90
 
91
+ wcf()->logger->log( 'Send weekly emails to ' . $emails );
92
+ wcf()->logger->log( 'Total Revenue: ' . $stats['total_revenue'] );
93
+
94
  if ( isset( $stats['total_revenue'] ) && $stats['total_revenue'] > 0 ) {
95
 
96
  $subject = $this->get_email_subject();
103
  $user_info = get_user_by( 'email', $email_id );
104
  $name = $user_info ? $user_info->display_name : __( 'There', 'cartflows' );
105
  $email_body = $this->get_email_content( $stats, $name, $email_id );
106
+ $status = wp_mail( $email_id, $subject, stripslashes( $email_body ), $headers );
107
+ wcf()->logger->log( 'Email send status for email ' . $email_id . ' is ' . $status );
108
  }
109
  }
110
  }
136
  $email_list = implode( "\n", $email_list );
137
 
138
  update_option( 'cartflows_stats_report_email_ids', $email_list );
139
+ wcf()->logger->log( 'Email unsubscribed: ' . $email );
140
  }
141
 
142
  wp_die( esc_html__( 'You have successfully unsubscribed from our weekly emails list.', 'cartflows' ), esc_html__( 'Unsubscribed', 'cartflows' ) );
155
  return AdminHelper::get_earnings( $start_date, $end_date );
156
  }
157
 
158
+ /**
159
+ * Get the stats mention in to email.
160
+ */
161
  public function get_last_month_stats() {
162
 
163
  $start_date = gmdate( 'Y-m-d', strtotime( '-30 days' ) );
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: sujaypawar, wpcrafter
3
  Tags: woocommerce, funnel builder, sales funnels, elementor, beaver builder
4
  Requires at least: 5.4
5
  Tested up to: 6.1
6
- Stable tag: 1.11.6
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -322,6 +322,9 @@ This includes, but is not limited to:
322
 
323
  == Changelog ==
324
 
 
 
 
325
  = Version 1.11.6 - Tuesday, 22nd November 2022 =
326
  * New: Added option to display inline field validation message for the field validation.
327
  * Improvement: Added new CSS customizations options for CartFlows Gutenberg Blocks.
3
  Tags: woocommerce, funnel builder, sales funnels, elementor, beaver builder
4
  Requires at least: 5.4
5
  Tested up to: 6.1
6
+ Stable tag: 1.11.7
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
322
 
323
  == Changelog ==
324
 
325
+ = Version 1.11.7 - Thursday, 1st December 2022 =
326
+ * Fix: Weekly report emails were not sending in some cases.
327
+
328
  = Version 1.11.6 - Tuesday, 22nd November 2022 =
329
  * New: Added option to display inline field validation message for the field validation.
330
  * Improvement: Added new CSS customizations options for CartFlows Gutenberg Blocks.
theme-support/astra/class-cartflows-astra-compatibility.php CHANGED
@@ -51,6 +51,7 @@ if ( ! class_exists( 'Cartflows_Astra_Compatibility' ) ) :
51
  add_filter( 'astra_woo_shop_product_structure_override', array( $this, 'override_product_structure_on_checkout' ) );
52
 
53
  add_action( 'cartflows_after_save_store_checkout', array( $this, 'clear_astra_woo_css_cache' ) );
 
54
  }
55
 
56
  /**
@@ -99,6 +100,10 @@ if ( ! class_exists( 'Cartflows_Astra_Compatibility' ) ) :
99
  remove_action( 'woocommerce_checkout_after_order_review', 'astra_woocommerce_li_close', 40 );
100
 
101
  add_filter( 'astra_theme_woocommerce_dynamic_css', '__return_empty_string' );
 
 
 
 
102
  }
103
 
104
  /**
51
  add_filter( 'astra_woo_shop_product_structure_override', array( $this, 'override_product_structure_on_checkout' ) );
52
 
53
  add_action( 'cartflows_after_save_store_checkout', array( $this, 'clear_astra_woo_css_cache' ) );
54
+
55
  }
56
 
57
  /**
100
  remove_action( 'woocommerce_checkout_after_order_review', 'astra_woocommerce_li_close', 40 );
101
 
102
  add_filter( 'astra_theme_woocommerce_dynamic_css', '__return_empty_string' );
103
+
104
+ if ( class_exists( 'ASTRA_Ext_WooCommerce_Markup' ) ) {
105
+ remove_action( 'woocommerce_review_order_after_submit', array( ASTRA_Ext_WooCommerce_Markup::get_instance(), 'back_to_cart_button_on_checkout' ) );
106
+ }
107
  }
108
 
109
  /**
woocommerce/template/checkout/form-checkout.php CHANGED
@@ -50,13 +50,13 @@ if ( ! $checkout->is_registration_enabled() && $checkout->is_registration_requir
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">
@@ -64,7 +64,7 @@ if ( ! $checkout->is_registration_enabled() && $checkout->is_registration_requir
64
  </div>
65
 
66
  <?php do_action( 'woocommerce_checkout_after_order_review' ); ?>
67
-
68
  </div>
69
  </form>
70
 
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">
64
  </div>
65
 
66
  <?php do_action( 'woocommerce_checkout_after_order_review' ); ?>
67
+
68
  </div>
69
  </form>
70