WooCommerce Cart Abandonment Recovery - Version 1.2.17

Version Description

Download this release

Release Info

Developer cartflowswp
Plugin Icon 128x128 WooCommerce Cart Abandonment Recovery
Version 1.2.17
Comparing to
See all releases

Code changes from version 1.2.16 to 1.2.17

admin/assets/js/admin-notices.js ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function ( $ ) {
2
+ DisableAdminNotices = {
3
+ init() {
4
+ $( document ).on(
5
+ 'click',
6
+ '.weekly-report-email-notice.wcar-dismissible-notice .notice-dismiss',
7
+ DisableAdminNotices.disable_weekly_report_email_admin_notice
8
+ );
9
+ },
10
+
11
+ disable_weekly_report_email_admin_notice( event ) {
12
+ event.preventDefault();
13
+ $.ajax( {
14
+ url: ajaxurl,
15
+ type: 'POST',
16
+ data: {
17
+ action: 'wcar_disable_weekly_report_email_notice',
18
+ security:
19
+ wcf_ca_notices_vars.weekly_report_email_notice_nonce,
20
+ },
21
+ } )
22
+ .done( function () {} )
23
+ .fail( function () {} )
24
+ .always( function () {} );
25
+ },
26
+ };
27
+
28
+ $( function () {
29
+ DisableAdminNotices.init();
30
+ } );
31
+ } )( jQuery );
admin/assets/js/admin-settings.js CHANGED
@@ -271,35 +271,9 @@
271
  },
272
  };
273
 
274
- DisableAdminNotices = {
275
- init() {
276
- $( document ).on(
277
- 'click',
278
- '.weekly-report-email-notice.wcar-dismissible-notice .notice-dismiss',
279
- DisableAdminNotices.disable_weekly_report_email_admin_notice
280
- );
281
- },
282
-
283
- disable_weekly_report_email_admin_notice( event ) {
284
- event.preventDefault();
285
- $.ajax( {
286
- url: ajaxurl,
287
- type: 'POST',
288
- data: {
289
- action: 'wcar_disable_weekly_report_email_notice',
290
- security: wcf_ca_details.weekly_report_email_notice_nonce,
291
- },
292
- } )
293
- .done( function () {} )
294
- .fail( function () {} )
295
- .always( function () {} );
296
- },
297
- };
298
-
299
  $( function () {
300
  CartAbandonmentSettings.init();
301
  ZapierSettings.init();
302
  ToolTipHover.init();
303
- DisableAdminNotices.init();
304
  } );
305
  } )( jQuery );
271
  },
272
  };
273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  $( function () {
275
  CartAbandonmentSettings.init();
276
  ZapierSettings.init();
277
  ToolTipHover.init();
 
278
  } );
279
  } )( jQuery );
changelog.txt CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  Version 1.2.16 - Tuesday, 17th May 2022
2
  - New: Introduced weekly order recovery reports via email.
3
  - New: Added an option to send the recovery emails in WooCommerce email format.
1
+ Version 1.2.17 - Thursday, 19th May 2022
2
+ - Fix: The admin notice of the weekly report email was not dismissable on other pages of WordPress.
3
+
4
  Version 1.2.16 - Tuesday, 17th May 2022
5
  - New: Introduced weekly order recovery reports via email.
6
  - New: Added an option to send the recovery emails in WooCommerce email format.
classes/class-cartflows-ca-admin-notices.php CHANGED
@@ -106,6 +106,10 @@ class Cartflows_Ca_Admin_Notices {
106
  */
107
  public function show_weekly_report_email_settings_notice() {
108
 
 
 
 
 
109
  $is_show_notice = get_option( 'wcf_ca_show_weekly_report_email_notice', 'no' );
110
 
111
  if ( 'yes' === $is_show_notice && current_user_can( 'manage_options' ) ) {
@@ -138,6 +142,28 @@ class Cartflows_Ca_Admin_Notices {
138
  delete_option( 'wcf_ca_show_weekly_report_email_notice' );
139
  wp_send_json_success();
140
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  }
142
 
143
  Cartflows_Ca_Admin_Notices::get_instance();
106
  */
107
  public function show_weekly_report_email_settings_notice() {
108
 
109
+ if ( ! $this->allowed_screen_for_notices() ) {
110
+ return;
111
+ }
112
+
113
  $is_show_notice = get_option( 'wcf_ca_show_weekly_report_email_notice', 'no' );
114
 
115
  if ( 'yes' === $is_show_notice && current_user_can( 'manage_options' ) ) {
142
  delete_option( 'wcf_ca_show_weekly_report_email_notice' );
143
  wp_send_json_success();
144
  }
145
+
146
+ /**
147
+ * Check allowed screen for notices.
148
+ *
149
+ * @return bool
150
+ */
151
+ public function allowed_screen_for_notices() {
152
+
153
+ $screen = get_current_screen();
154
+ $screen_id = $screen ? $screen->id : '';
155
+ $allowed_screens = array(
156
+ 'woocommerce_page_woo-cart-abandonment-recovery',
157
+ 'dashboard',
158
+ 'plugins',
159
+ );
160
+
161
+ if ( in_array( $screen_id, $allowed_screens, true ) ) {
162
+ return true;
163
+ }
164
+
165
+ return false;
166
+ }
167
  }
168
 
169
  Cartflows_Ca_Admin_Notices::get_instance();
classes/class-cartflows-ca-loader.php CHANGED
@@ -81,7 +81,7 @@ if ( ! class_exists( 'CARTFLOWS_CA_Loader' ) ) {
81
  define( 'CARTFLOWS_CA_BASE', plugin_basename( CARTFLOWS_CA_FILE ) );
82
  define( 'CARTFLOWS_CA_DIR', plugin_dir_path( CARTFLOWS_CA_FILE ) );
83
  define( 'CARTFLOWS_CA_URL', plugins_url( '/', CARTFLOWS_CA_FILE ) );
84
- define( 'CARTFLOWS_CA_VER', '1.2.16' );
85
 
86
  define( 'CARTFLOWS_CA_SLUG', 'cartflows_ca' );
87
 
81
  define( 'CARTFLOWS_CA_BASE', plugin_basename( CARTFLOWS_CA_FILE ) );
82
  define( 'CARTFLOWS_CA_DIR', plugin_dir_path( CARTFLOWS_CA_FILE ) );
83
  define( 'CARTFLOWS_CA_URL', plugins_url( '/', CARTFLOWS_CA_FILE ) );
84
+ define( 'CARTFLOWS_CA_VER', '1.2.17' );
85
 
86
  define( 'CARTFLOWS_CA_SLUG', 'cartflows_ca' );
87
 
languages/woo-cart-abandonment-recovery.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the WooCommerce Cart Abandonment Recovery plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WooCommerce Cart Abandonment Recovery 1.2.16\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-cart-abandonment-recovery\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-05-17T05:56:18+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: woo-cart-abandonment-recovery\n"
@@ -92,7 +92,7 @@ msgid "I already did"
92
  msgstr ""
93
 
94
  #. translators: %1$s Software Title, %2$s Plugin, %3$s Anchor opening tag, %4$s Anchor closing tag, %5$s Software Title.
95
- #: classes/class-cartflows-ca-admin-notices.php:116
96
  msgid "%1$sWooCommerce Cart Abandonment recovery:%2$s We just introduced an awesome new feature, weekly order recovery reports via email. Now you can see how many orders we are recovering for your store each week, without having to log into your website. You can set the email address for these email from %3$shere.%4$s"
97
  msgstr ""
98
 
@@ -265,12 +265,12 @@ msgid "Auto-create the special coupon for the abandoned cart to send over the em
265
  msgstr ""
266
 
267
  #: classes/class-cartflows-ca-settings.php:327
268
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:568
269
  msgid "Discount Type"
270
  msgstr ""
271
 
272
  #: classes/class-cartflows-ca-settings.php:336
273
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:600
274
  msgid "Coupon Amount"
275
  msgstr ""
276
 
@@ -322,14 +322,14 @@ msgid "Add UTM parameter per line."
322
  msgstr ""
323
 
324
  #: classes/class-cartflows-ca-settings.php:620
325
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:638
326
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:734
327
  msgid "Hour(s)"
328
  msgstr ""
329
 
330
  #: classes/class-cartflows-ca-settings.php:621
331
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:639
332
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:735
333
  msgid "Day(s)"
334
  msgstr ""
335
 
@@ -479,203 +479,203 @@ msgstr ""
479
  msgid "Activate Template"
480
  msgstr ""
481
 
482
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:133
483
  msgid "Admin Firstname"
484
  msgstr ""
485
 
486
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:134
487
  msgid "Admin Company"
488
  msgstr ""
489
 
490
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:135
491
  msgid "Abandoned Product Details Table"
492
  msgstr ""
493
 
494
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:136
495
  msgid "Abandoned Product Names"
496
  msgstr ""
497
 
498
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:137
499
  msgid "Cart Checkout URL"
500
  msgstr ""
501
 
502
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:138
503
  msgid "Coupon Code"
504
  msgstr ""
505
 
506
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:139
507
  msgid "Customer First Name"
508
  msgstr ""
509
 
510
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:140
511
  msgid "Customer Last Name"
512
  msgstr ""
513
 
514
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:141
515
  msgid "Customer Full Name"
516
  msgstr ""
517
 
518
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:142
519
  msgid "Cart Abandonment Date"
520
  msgstr ""
521
 
522
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:143
523
  msgid "Site URL"
524
  msgstr ""
525
 
526
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:144
527
  msgid "Unsubscribe Link"
528
  msgstr ""
529
 
530
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:146
531
  msgid "Triggering..."
532
  msgstr ""
533
 
534
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:147
535
  msgid "Trigger Failed."
536
  msgstr ""
537
 
538
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:148
539
  msgid "Trigger Success."
540
  msgstr ""
541
 
542
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:149
543
  msgid "Please verify webhook URL."
544
  msgstr ""
545
 
546
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:150
547
  msgid "Webhook URL is required."
548
  msgstr ""
549
 
550
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:171
551
  msgid "Something went wrong"
552
  msgstr ""
553
 
554
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:178
555
  msgid "Activated"
556
  msgstr ""
557
 
558
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:181
559
  msgid "Deactivated"
560
  msgstr ""
561
 
562
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:242
563
  msgid "The Email Template has been successfully added."
564
  msgstr ""
565
 
566
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:252
567
  msgid "The Email Template has been cloned successfully."
568
  msgstr ""
569
 
570
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:262
571
  msgid "The Email Template has been successfully deleted."
572
  msgstr ""
573
 
574
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:271
575
  msgid "The Email Template has been successfully updated."
576
  msgstr ""
577
 
578
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:281
579
  msgid "Default Email Templates has been restored successfully."
580
  msgstr ""
581
 
582
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:448
583
  msgid "Activate Template now?"
584
  msgstr ""
585
 
586
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:468
587
  msgid "Template Name:"
588
  msgstr ""
589
 
590
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:483
591
  msgid "Email Subject:"
592
  msgstr ""
593
 
594
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:498
595
  msgid "Email Body:"
596
  msgstr ""
597
 
598
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:527
599
  msgid "Use WooCommerce email style"
600
  msgstr ""
601
 
602
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:540
603
  msgid "Email will be sent in WooCommerce email format. Also the sender name and sender email address will be replaced by the Woocommerce Email sender options."
604
  msgstr ""
605
 
606
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:548
607
  msgid "Create Coupon"
608
  msgstr ""
609
 
610
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:561
611
  msgid "Allows you to send new coupon only for this template."
612
  msgstr ""
613
 
614
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:618
615
  msgid "Coupon expiry date"
616
  msgstr ""
617
 
618
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:648
619
  msgid "Enter zero (0) to restrict coupon from expiring"
620
  msgstr ""
621
 
622
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:654
623
  msgid "Free Shipping"
624
  msgstr ""
625
 
626
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:667
627
  msgid "Allows you to grant free shipping. A free shipping method must be enabled in your shipping zone and be set to require \"a valid free shipping coupon\". "
628
  msgstr ""
629
 
630
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:674
631
  msgid "Individual use only"
632
  msgstr ""
633
 
634
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:688
635
  msgid "Check this box if the coupon cannot be used in conjunction with other coupons."
636
  msgstr ""
637
 
638
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:695
639
  msgid "Auto Apply Coupon"
640
  msgstr ""
641
 
642
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:709
643
  msgid " Automatically add the coupon to the cart at the checkout."
644
  msgstr ""
645
 
646
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:715
647
  msgid "Send This Email"
648
  msgstr ""
649
 
650
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:733
651
  msgid "Minute(s)"
652
  msgstr ""
653
 
654
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:748
655
  msgid "after cart is abandoned."
656
  msgstr ""
657
 
658
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:758
659
  msgid "Send Test Email To:"
660
  msgstr ""
661
 
662
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:762
663
  msgid "Send a test email"
664
  msgstr ""
665
 
666
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:775
667
  msgid "Save Changes"
668
  msgstr ""
669
 
670
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:777
671
  msgid "Update Changes"
672
  msgstr ""
673
 
674
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:1086
675
  msgid "Create New Template"
676
  msgstr ""
677
 
678
- #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:1089
679
  msgid " Restore Default Templates"
680
  msgstr ""
681
 
@@ -737,15 +737,15 @@ msgstr ""
737
  msgid "You won't receive further emails from us, thank you!"
738
  msgstr ""
739
 
740
- #: modules/cart-abandonment/classes/class-cartflows-ca-tracking.php:989
741
  msgid "Do you really want to delete the used and expired coupons created by Cart Abandonment Plugin?"
742
  msgstr ""
743
 
744
- #: modules/cart-abandonment/classes/class-cartflows-ca-tracking.php:990
745
  msgid "Do you really want to export orders?"
746
  msgstr ""
747
 
748
- #: modules/cart-abandonment/classes/class-cartflows-ca-tracking.php:994
749
  msgid "No such order is found."
750
  msgstr ""
751
 
2
  # This file is distributed under the same license as the WooCommerce Cart Abandonment Recovery plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WooCommerce Cart Abandonment Recovery 1.2.17\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-cart-abandonment-recovery\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-05-19T04:01:25+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: woo-cart-abandonment-recovery\n"
92
  msgstr ""
93
 
94
  #. translators: %1$s Software Title, %2$s Plugin, %3$s Anchor opening tag, %4$s Anchor closing tag, %5$s Software Title.
95
+ #: classes/class-cartflows-ca-admin-notices.php:120
96
  msgid "%1$sWooCommerce Cart Abandonment recovery:%2$s We just introduced an awesome new feature, weekly order recovery reports via email. Now you can see how many orders we are recovering for your store each week, without having to log into your website. You can set the email address for these email from %3$shere.%4$s"
97
  msgstr ""
98
 
265
  msgstr ""
266
 
267
  #: classes/class-cartflows-ca-settings.php:327
268
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:567
269
  msgid "Discount Type"
270
  msgstr ""
271
 
272
  #: classes/class-cartflows-ca-settings.php:336
273
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:599
274
  msgid "Coupon Amount"
275
  msgstr ""
276
 
322
  msgstr ""
323
 
324
  #: classes/class-cartflows-ca-settings.php:620
325
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:637
326
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:733
327
  msgid "Hour(s)"
328
  msgstr ""
329
 
330
  #: classes/class-cartflows-ca-settings.php:621
331
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:638
332
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:734
333
  msgid "Day(s)"
334
  msgstr ""
335
 
479
  msgid "Activate Template"
480
  msgstr ""
481
 
482
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:132
483
  msgid "Admin Firstname"
484
  msgstr ""
485
 
486
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:133
487
  msgid "Admin Company"
488
  msgstr ""
489
 
490
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:134
491
  msgid "Abandoned Product Details Table"
492
  msgstr ""
493
 
494
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:135
495
  msgid "Abandoned Product Names"
496
  msgstr ""
497
 
498
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:136
499
  msgid "Cart Checkout URL"
500
  msgstr ""
501
 
502
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:137
503
  msgid "Coupon Code"
504
  msgstr ""
505
 
506
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:138
507
  msgid "Customer First Name"
508
  msgstr ""
509
 
510
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:139
511
  msgid "Customer Last Name"
512
  msgstr ""
513
 
514
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:140
515
  msgid "Customer Full Name"
516
  msgstr ""
517
 
518
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:141
519
  msgid "Cart Abandonment Date"
520
  msgstr ""
521
 
522
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:142
523
  msgid "Site URL"
524
  msgstr ""
525
 
526
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:143
527
  msgid "Unsubscribe Link"
528
  msgstr ""
529
 
530
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:145
531
  msgid "Triggering..."
532
  msgstr ""
533
 
534
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:146
535
  msgid "Trigger Failed."
536
  msgstr ""
537
 
538
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:147
539
  msgid "Trigger Success."
540
  msgstr ""
541
 
542
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:148
543
  msgid "Please verify webhook URL."
544
  msgstr ""
545
 
546
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:149
547
  msgid "Webhook URL is required."
548
  msgstr ""
549
 
550
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:170
551
  msgid "Something went wrong"
552
  msgstr ""
553
 
554
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:177
555
  msgid "Activated"
556
  msgstr ""
557
 
558
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:180
559
  msgid "Deactivated"
560
  msgstr ""
561
 
562
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:241
563
  msgid "The Email Template has been successfully added."
564
  msgstr ""
565
 
566
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:251
567
  msgid "The Email Template has been cloned successfully."
568
  msgstr ""
569
 
570
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:261
571
  msgid "The Email Template has been successfully deleted."
572
  msgstr ""
573
 
574
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:270
575
  msgid "The Email Template has been successfully updated."
576
  msgstr ""
577
 
578
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:280
579
  msgid "Default Email Templates has been restored successfully."
580
  msgstr ""
581
 
582
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:447
583
  msgid "Activate Template now?"
584
  msgstr ""
585
 
586
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:467
587
  msgid "Template Name:"
588
  msgstr ""
589
 
590
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:482
591
  msgid "Email Subject:"
592
  msgstr ""
593
 
594
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:497
595
  msgid "Email Body:"
596
  msgstr ""
597
 
598
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:526
599
  msgid "Use WooCommerce email style"
600
  msgstr ""
601
 
602
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:539
603
  msgid "Email will be sent in WooCommerce email format. Also the sender name and sender email address will be replaced by the Woocommerce Email sender options."
604
  msgstr ""
605
 
606
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:547
607
  msgid "Create Coupon"
608
  msgstr ""
609
 
610
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:560
611
  msgid "Allows you to send new coupon only for this template."
612
  msgstr ""
613
 
614
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:617
615
  msgid "Coupon expiry date"
616
  msgstr ""
617
 
618
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:647
619
  msgid "Enter zero (0) to restrict coupon from expiring"
620
  msgstr ""
621
 
622
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:653
623
  msgid "Free Shipping"
624
  msgstr ""
625
 
626
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:666
627
  msgid "Allows you to grant free shipping. A free shipping method must be enabled in your shipping zone and be set to require \"a valid free shipping coupon\". "
628
  msgstr ""
629
 
630
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:673
631
  msgid "Individual use only"
632
  msgstr ""
633
 
634
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:687
635
  msgid "Check this box if the coupon cannot be used in conjunction with other coupons."
636
  msgstr ""
637
 
638
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:694
639
  msgid "Auto Apply Coupon"
640
  msgstr ""
641
 
642
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:708
643
  msgid " Automatically add the coupon to the cart at the checkout."
644
  msgstr ""
645
 
646
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:714
647
  msgid "Send This Email"
648
  msgstr ""
649
 
650
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:732
651
  msgid "Minute(s)"
652
  msgstr ""
653
 
654
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:747
655
  msgid "after cart is abandoned."
656
  msgstr ""
657
 
658
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:757
659
  msgid "Send Test Email To:"
660
  msgstr ""
661
 
662
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:761
663
  msgid "Send a test email"
664
  msgstr ""
665
 
666
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:774
667
  msgid "Save Changes"
668
  msgstr ""
669
 
670
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:776
671
  msgid "Update Changes"
672
  msgstr ""
673
 
674
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:1085
675
  msgid "Create New Template"
676
  msgstr ""
677
 
678
+ #: modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php:1088
679
  msgid " Restore Default Templates"
680
  msgstr ""
681
 
737
  msgid "You won't receive further emails from us, thank you!"
738
  msgstr ""
739
 
740
+ #: modules/cart-abandonment/classes/class-cartflows-ca-tracking.php:1004
741
  msgid "Do you really want to delete the used and expired coupons created by Cart Abandonment Plugin?"
742
  msgstr ""
743
 
744
+ #: modules/cart-abandonment/classes/class-cartflows-ca-tracking.php:1005
745
  msgid "Do you really want to export orders?"
746
  msgstr ""
747
 
748
+ #: modules/cart-abandonment/classes/class-cartflows-ca-tracking.php:1009
749
  msgid "No such order is found."
750
  msgstr ""
751
 
modules/cart-abandonment/classes/class-cartflows-ca-email-templates.php CHANGED
@@ -110,39 +110,38 @@ class Cartflows_Ca_Email_Templates {
110
 
111
  $current_user = wp_get_current_user();
112
  $vars = array(
113
- 'email' => $current_user->user_email,
114
- 'name' => $current_user->user_firstname,
115
- 'surname' => $current_user->user_lastname,
116
- 'phone' => get_user_meta( $current_user->ID, 'billing_phone', true ),
117
- 'billing_company' => get_user_meta( $current_user->ID, 'billing_company', true ),
118
- 'billing_address_1' => get_user_meta( $current_user->ID, 'billing_address_1', true ),
119
- 'billing_address_2' => get_user_meta( $current_user->ID, 'billing_address_2', true ),
120
- 'billing_state' => get_user_meta( $current_user->ID, 'billing_state', true ),
121
- 'billing_postcode' => get_user_meta( $current_user->ID, 'billing_postcode', true ),
122
- 'shipping_first_name' => $current_user->user_firstname,
123
- 'shipping_last_name' => $current_user->user_lastname,
124
- 'shipping_company' => get_user_meta( $current_user->ID, 'shipping_company', true ),
125
- 'shipping_address_1' => get_user_meta( $current_user->ID, 'shipping_address_1', true ),
126
- 'shipping_address_2' => get_user_meta( $current_user->ID, 'shipping_address_2', true ),
127
- 'shipping_city' => get_user_meta( $current_user->ID, 'shipping_city', true ),
128
- 'shipping_state' => get_user_meta( $current_user->ID, 'shipping_state', true ),
129
- 'shipping_postcode' => get_user_meta( $current_user->ID, 'shipping_postcode', true ),
130
- 'woo_currency_symbol' => get_woocommerce_currency_symbol(),
131
- 'email_toggle_button_nonce' => wp_create_nonce( 'activate_email_templates' ),
132
- 'weekly_report_email_notice_nonce' => wp_create_nonce( 'wcar_disable_weekly_report_email_notice' ),
133
- 'admin_firstname' => __( 'Admin Firstname', 'woo-cart-abandonment-recovery' ),
134
- 'admin_company' => __( 'Admin Company', 'woo-cart-abandonment-recovery' ),
135
- 'abandoned_product_details_table' => __( 'Abandoned Product Details Table', 'woo-cart-abandonment-recovery' ),
136
- 'abandoned_product_names' => __( 'Abandoned Product Names', 'woo-cart-abandonment-recovery' ),
137
- 'cart_checkout_url' => __( 'Cart Checkout URL', 'woo-cart-abandonment-recovery' ),
138
- 'coupon_code' => __( 'Coupon Code', 'woo-cart-abandonment-recovery' ),
139
- 'customer_firstname' => __( 'Customer First Name', 'woo-cart-abandonment-recovery' ),
140
- 'customer_lastname' => __( 'Customer Last Name', 'woo-cart-abandonment-recovery' ),
141
- 'customer_full_name' => __( 'Customer Full Name', 'woo-cart-abandonment-recovery' ),
142
- 'cart_abandonment_date' => __( 'Cart Abandonment Date', 'woo-cart-abandonment-recovery' ),
143
- 'site_url' => __( 'Site URL', 'woo-cart-abandonment-recovery' ),
144
- 'unsubscribe_link' => __( 'Unsubscribe Link', 'woo-cart-abandonment-recovery' ),
145
- 'strings' => array(
146
  'trigger_process' => __( 'Triggering...', 'woo-cart-abandonment-recovery' ),
147
  'trigger_failed' => __( 'Trigger Failed.', 'woo-cart-abandonment-recovery' ),
148
  'trigger_success' => __( 'Trigger Success.', 'woo-cart-abandonment-recovery' ),
110
 
111
  $current_user = wp_get_current_user();
112
  $vars = array(
113
+ 'email' => $current_user->user_email,
114
+ 'name' => $current_user->user_firstname,
115
+ 'surname' => $current_user->user_lastname,
116
+ 'phone' => get_user_meta( $current_user->ID, 'billing_phone', true ),
117
+ 'billing_company' => get_user_meta( $current_user->ID, 'billing_company', true ),
118
+ 'billing_address_1' => get_user_meta( $current_user->ID, 'billing_address_1', true ),
119
+ 'billing_address_2' => get_user_meta( $current_user->ID, 'billing_address_2', true ),
120
+ 'billing_state' => get_user_meta( $current_user->ID, 'billing_state', true ),
121
+ 'billing_postcode' => get_user_meta( $current_user->ID, 'billing_postcode', true ),
122
+ 'shipping_first_name' => $current_user->user_firstname,
123
+ 'shipping_last_name' => $current_user->user_lastname,
124
+ 'shipping_company' => get_user_meta( $current_user->ID, 'shipping_company', true ),
125
+ 'shipping_address_1' => get_user_meta( $current_user->ID, 'shipping_address_1', true ),
126
+ 'shipping_address_2' => get_user_meta( $current_user->ID, 'shipping_address_2', true ),
127
+ 'shipping_city' => get_user_meta( $current_user->ID, 'shipping_city', true ),
128
+ 'shipping_state' => get_user_meta( $current_user->ID, 'shipping_state', true ),
129
+ 'shipping_postcode' => get_user_meta( $current_user->ID, 'shipping_postcode', true ),
130
+ 'woo_currency_symbol' => get_woocommerce_currency_symbol(),
131
+ 'email_toggle_button_nonce' => wp_create_nonce( 'activate_email_templates' ),
132
+ 'admin_firstname' => __( 'Admin Firstname', 'woo-cart-abandonment-recovery' ),
133
+ 'admin_company' => __( 'Admin Company', 'woo-cart-abandonment-recovery' ),
134
+ 'abandoned_product_details_table' => __( 'Abandoned Product Details Table', 'woo-cart-abandonment-recovery' ),
135
+ 'abandoned_product_names' => __( 'Abandoned Product Names', 'woo-cart-abandonment-recovery' ),
136
+ 'cart_checkout_url' => __( 'Cart Checkout URL', 'woo-cart-abandonment-recovery' ),
137
+ 'coupon_code' => __( 'Coupon Code', 'woo-cart-abandonment-recovery' ),
138
+ 'customer_firstname' => __( 'Customer First Name', 'woo-cart-abandonment-recovery' ),
139
+ 'customer_lastname' => __( 'Customer Last Name', 'woo-cart-abandonment-recovery' ),
140
+ 'customer_full_name' => __( 'Customer Full Name', 'woo-cart-abandonment-recovery' ),
141
+ 'cart_abandonment_date' => __( 'Cart Abandonment Date', 'woo-cart-abandonment-recovery' ),
142
+ 'site_url' => __( 'Site URL', 'woo-cart-abandonment-recovery' ),
143
+ 'unsubscribe_link' => __( 'Unsubscribe Link', 'woo-cart-abandonment-recovery' ),
144
+ 'strings' => array(
 
145
  'trigger_process' => __( 'Triggering...', 'woo-cart-abandonment-recovery' ),
146
  'trigger_failed' => __( 'Trigger Failed.', 'woo-cart-abandonment-recovery' ),
147
  'trigger_success' => __( 'Trigger Success.', 'woo-cart-abandonment-recovery' ),
modules/cart-abandonment/classes/class-cartflows-ca-tracking.php CHANGED
@@ -487,7 +487,7 @@ class Cartflows_Ca_Tracking {
487
  $wpdb->query(
488
  $wpdb->prepare(
489
  "UPDATE $cart_abandonment_table as ca SET order_status = 'lost' WHERE ca.order_status = %s AND DATE(ca.time) <= DATE_SUB( %s , INTERVAL 30 DAY)
490
- AND ( (SELECT count(*) FROM $email_history_table WHERE ca_session_id = ca.session_id ) =
491
  (SELECT count(*) FROM $email_history_table WHERE ca_session_id = ca.session_id AND email_sent = 1) )",
492
  WCF_CART_ABANDONED_ORDER,
493
  $wp_current_datetime
@@ -964,6 +964,25 @@ class Cartflows_Ca_Tracking {
964
  */
965
  public function load_admin_cart_abandonment_script() {
966
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
967
  $wcar_page = filter_input( INPUT_GET, 'page', FILTER_SANITIZE_STRING );
968
 
969
  if ( WCF_CA_PAGE_NAME !== $wcar_page ) {
@@ -1023,8 +1042,8 @@ class Cartflows_Ca_Tracking {
1023
  $emails_send_to = $wpdb->get_results(
1024
  $wpdb->prepare(
1025
  'SELECT *, EHT.id as email_history_id, ETT.id as email_template_id FROM ' . $email_history_table . ' as EHT
1026
- INNER JOIN ' . $cart_abandonment_table . ' as CAT ON EHT.`ca_session_id` = CAT.`session_id`
1027
- INNER JOIN ' . $email_template_table . ' as ETT ON ETT.`id` = EHT.`template_id`
1028
  WHERE CAT.`order_status` = %s AND CAT.unsubscribed = 0 AND EHT.`email_sent` = 0 AND EHT.`scheduled_time` <= %s',
1029
  WCF_CART_ABANDONED_ORDER,
1030
  $current_time
487
  $wpdb->query(
488
  $wpdb->prepare(
489
  "UPDATE $cart_abandonment_table as ca SET order_status = 'lost' WHERE ca.order_status = %s AND DATE(ca.time) <= DATE_SUB( %s , INTERVAL 30 DAY)
490
+ AND ( (SELECT count(*) FROM $email_history_table WHERE ca_session_id = ca.session_id ) =
491
  (SELECT count(*) FROM $email_history_table WHERE ca_session_id = ca.session_id AND email_sent = 1) )",
492
  WCF_CART_ABANDONED_ORDER,
493
  $wp_current_datetime
964
  */
965
  public function load_admin_cart_abandonment_script() {
966
 
967
+ $admin_notice = Cartflows_Ca_Admin_Notices::get_instance();
968
+ if ( $admin_notice->allowed_screen_for_notices() ) {
969
+
970
+ wp_enqueue_script(
971
+ 'cartflows-cart-abandonment-admin-notices',
972
+ CARTFLOWS_CA_URL . 'admin/assets/js/admin-notices.js',
973
+ array( 'jquery' ),
974
+ CARTFLOWS_CA_VER,
975
+ false
976
+ );
977
+
978
+ $notices_vars = array(
979
+ 'weekly_report_email_notice_nonce' => wp_create_nonce( 'wcar_disable_weekly_report_email_notice' ),
980
+ );
981
+
982
+ wp_localize_script( 'cartflows-cart-abandonment-admin-notices', 'wcf_ca_notices_vars', $notices_vars );
983
+
984
+ }
985
+
986
  $wcar_page = filter_input( INPUT_GET, 'page', FILTER_SANITIZE_STRING );
987
 
988
  if ( WCF_CA_PAGE_NAME !== $wcar_page ) {
1042
  $emails_send_to = $wpdb->get_results(
1043
  $wpdb->prepare(
1044
  'SELECT *, EHT.id as email_history_id, ETT.id as email_template_id FROM ' . $email_history_table . ' as EHT
1045
+ INNER JOIN ' . $cart_abandonment_table . ' as CAT ON EHT.`ca_session_id` = CAT.`session_id`
1046
+ INNER JOIN ' . $email_template_table . ' as ETT ON ETT.`id` = EHT.`template_id`
1047
  WHERE CAT.`order_status` = %s AND CAT.unsubscribed = 0 AND EHT.`email_sent` = 0 AND EHT.`scheduled_time` <= %s',
1048
  WCF_CART_ABANDONED_ORDER,
1049
  $current_time
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: sujaypawar, wpcrafter
3
  Tags: woocommerce, cart abandonment, cart recovery
4
  Requires at least: 5.4
5
- Tested up to: 5.9.3
6
- Stable tag: 1.2.16
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -128,6 +128,9 @@ Here are few thoughts behind making it available for free:
128
 
129
  == Changelog ==
130
 
 
 
 
131
  = Version 1.2.16 - Tuesday, 17th May 2022 =
132
  * New: Introduced weekly order recovery reports via email.
133
  * New: Added an option to send the recovery emails in WooCommerce email format.
2
  Contributors: sujaypawar, wpcrafter
3
  Tags: woocommerce, cart abandonment, cart recovery
4
  Requires at least: 5.4
5
+ Tested up to: 6.0
6
+ Stable tag: 1.2.17
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
128
 
129
  == Changelog ==
130
 
131
+ = Version 1.2.17 - Thursday, 19th May 2022 =
132
+ * Fix: The admin notice of the weekly report email was not dismissable on other pages of WordPress.
133
+
134
  = Version 1.2.16 - Tuesday, 17th May 2022 =
135
  * New: Introduced weekly order recovery reports via email.
136
  * New: Added an option to send the recovery emails in WooCommerce email format.
woo-cart-abandonment-recovery.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WooCommerce Cart Abandonment Recovery
4
  * Plugin URI: https://cartflows.com/
5
  * Description: Recover your lost revenue. Capture email address of users on the checkout page and send follow up emails if they don't complete the purchase.
6
- * Version: 1.2.16
7
  * Author: CartFlows Inc
8
  * Author URI: https://cartflows.com/
9
  * Text Domain: woo-cart-abandonment-recovery
3
  * Plugin Name: WooCommerce Cart Abandonment Recovery
4
  * Plugin URI: https://cartflows.com/
5
  * Description: Recover your lost revenue. Capture email address of users on the checkout page and send follow up emails if they don't complete the purchase.
6
+ * Version: 1.2.17
7
  * Author: CartFlows Inc
8
  * Author URI: https://cartflows.com/
9
  * Text Domain: woo-cart-abandonment-recovery