Version Description
Download this release
Release Info
Developer | cartflowswp |
Plugin | 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 +1 -1
- cartflows.php +2 -2
- changelog.txt +3 -0
- classes/class-cartflows-loader.php +1 -1
- languages/cartflows.pot +6 -6
- modules/email-report/class-cartflows-admin-report-emails.php +17 -4
- readme.txt +4 -1
- theme-support/astra/class-cartflows-astra-compatibility.php +5 -0
- woocommerce/template/checkout/form-checkout.php +4 -4
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() &&
|
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.
|
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.
|
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.
|
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 |
"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-
|
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:
|
3108 |
msgid "There"
|
3109 |
msgstr ""
|
3110 |
|
3111 |
-
#: modules/email-report/class-cartflows-admin-report-emails.php:
|
3112 |
msgid "You have successfully unsubscribed from our weekly emails list."
|
3113 |
msgstr ""
|
3114 |
|
3115 |
-
#: modules/email-report/class-cartflows-admin-report-emails.php:
|
3116 |
msgid "Unsubscribed"
|
3117 |
msgstr ""
|
3118 |
|
3119 |
-
#: modules/email-report/class-cartflows-admin-report-emails.php:
|
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 |
-
|
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.
|
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 |
|