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

Version Description

Download this release

Release Info

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

Code changes from version 1.2.2 to 1.2.3

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.2.2
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.2.3
7
  * Author: CartFlows Inc
8
  * Author URI: https://cartflows.com/
9
  * Text Domain: cartflows
changelog.txt CHANGED
@@ -1,3 +1,10 @@
 
 
 
 
 
 
 
1
  Version 1.2.2 - Thursday, 27th June 2019
2
  - Fix: Vivawallet Gateway issue fixed for global checkout.
3
  - Fix: Two column css issue on mobile.
1
+ Version 1.2.3 - Thursday, 11th July 2019
2
+ - New: Permalink option added in settings to change the "cartflows_step" post-type slug.
3
+ - New: LearnDash Compatibility added for custom templates.
4
+ - Improvement: The hook 'cartflows_checkout_aftet_configure_cart' deprecated.
5
+ - Improvement: The 'Logo' tab removed from the checkout step.
6
+ - Improvement: Optimized the backward-compatibility database query.
7
+
8
  Version 1.2.2 - Thursday, 27th June 2019
9
  - Fix: Vivawallet Gateway issue fixed for global checkout.
10
  - Fix: Two column css issue on mobile.
classes/batch-process/class-cartflows-change-template-batch.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Change Template Process
4
+ *
5
+ * @package CartFlows
6
+ * @since 1.2.2
7
+ */
8
+
9
+ if ( ! class_exists( 'Cartflows_Change_Template_Batch' ) && class_exists( 'WP_Background_Process' ) ) :
10
+
11
+ /**
12
+ * Change Template Process
13
+ *
14
+ * @since 1.2.2
15
+ */
16
+ class Cartflows_Change_Template_Batch extends WP_Background_Process {
17
+
18
+ /**
19
+ * Template Process
20
+ *
21
+ * @var string
22
+ */
23
+ protected $action = 'cartflows_change_template_process';
24
+
25
+ /**
26
+ * Task
27
+ *
28
+ * Override this method to perform any actions required on each
29
+ * queue item. Return the modified item for further processing
30
+ * in the next pass through. Or, return false to remove the
31
+ * item from the queue.
32
+ *
33
+ * @param mixed $post_id Queue item to iterate over.
34
+ *
35
+ * @return mixed
36
+ */
37
+ protected function task( $post_id ) {
38
+
39
+ wcf()->logger->log( '(✓) Step ID ' . $post_id );
40
+ error_log( 'Processed:' . $post_id );
41
+ update_post_meta( $post_id, '_wp_page_template', 'cartflows-default' );
42
+ return false;
43
+ }
44
+
45
+ /**
46
+ * Complete
47
+ *
48
+ * Override if applicable, but ensure that the below actions are
49
+ * performed, or, call parent::complete().
50
+ */
51
+ protected function complete() {
52
+ parent::complete();
53
+ error_log( 'Process Complete' );
54
+ }
55
+ }
56
+
57
+ endif;
classes/class-cartflows-admin-fields.php CHANGED
@@ -18,16 +18,26 @@ class Cartflows_Admin_Fields {
18
  */
19
  static public function text_field( $args ) {
20
 
21
- $id = $args['id'];
22
- $name = $args['name'];
23
- $title = $args['title'];
24
- $value = $args['value'];
 
 
25
 
26
  $output = '<div class="form-field" id="form-field-' . $id . '">';
27
  $output .= '<label for="' . $id . '">' . $title . '</label>';
28
- $output .= '<input type="text" name="' . $name . '" id="' . $id . '" class="placeholder placeholder-active" value="' . esc_attr( $value ) . '">';
29
  $output .= '</div>';
30
 
 
 
 
 
 
 
 
 
31
  return $output;
32
  }
33
 
18
  */
19
  static public function text_field( $args ) {
20
 
21
+ $id = $args['id'];
22
+ $name = $args['name'];
23
+ $title = $args['title'];
24
+ $value = $args['value'];
25
+ $description = isset( $args['description'] ) ? $args['description'] : '';
26
+ $placeholder = isset( $args['placeholder'] ) ? $args['placeholder'] : '';
27
 
28
  $output = '<div class="form-field" id="form-field-' . $id . '">';
29
  $output .= '<label for="' . $id . '">' . $title . '</label>';
30
+ $output .= '<input placeholder="' . $placeholder . '" type="text" name="' . $name . '" id="' . $id . '" class="placeholder placeholder-active" value="' . esc_attr( $value ) . '">';
31
  $output .= '</div>';
32
 
33
+ if ( ! empty( $description ) ) {
34
+ $output .= '<div class="form-field-desc">';
35
+ $output .= '<p>';
36
+ $output .= $description;
37
+ $output .= '</p>';
38
+ $output .= '</div>';
39
+ }
40
+
41
  return $output;
42
  }
43
 
classes/class-cartflows-admin.php CHANGED
@@ -42,7 +42,7 @@ class Cartflows_Admin {
42
 
43
  add_action( 'cartflows_render_admin_content', __CLASS__ . '::render_content' );
44
 
45
- add_action( 'init', __CLASS__ . '::settings_admin_scripts' );
46
 
47
  /* Global Addmin Script */
48
  add_action( 'admin_enqueue_scripts', __CLASS__ . '::global_admin_scripts', 20 );
@@ -54,6 +54,20 @@ class Cartflows_Admin {
54
 
55
  add_filter( 'plugin_action_links_' . CARTFLOWS_BASE, __CLASS__ . '::add_action_links' );
56
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  }
58
 
59
 
@@ -194,25 +208,12 @@ class Cartflows_Admin {
194
 
195
  if ( isset( $_POST['cartflows-common-settings-nonce'] ) && wp_verify_nonce( $_POST['cartflows-common-settings-nonce'], 'cartflows-common-settings' ) ) {
196
 
197
- $url = $_SERVER['REQUEST_URI'];
198
- $input_settings = array();
199
- $new_settings = array();
200
 
201
  if ( isset( $_POST['_cartflows_common'] ) ) {
202
-
203
- $input_settings = $_POST['_cartflows_common'];
204
-
205
  // Loop through the input and sanitize each of the values.
206
- foreach ( $input_settings as $key => $val ) {
207
-
208
- if ( is_array( $val ) ) {
209
- foreach ( $val as $k => $v ) {
210
- $new_settings[ $key ][ $k ] = ( isset( $val[ $k ] ) ) ? sanitize_text_field( $v ) : '';
211
- }
212
- } else {
213
- $new_settings[ $key ] = ( isset( $input_settings[ $key ] ) ) ? sanitize_text_field( $val ) : '';
214
- }
215
- }
216
  }
217
 
218
  Cartflows_Helper::update_admin_settings_option( '_cartflows_common', $new_settings, true );
@@ -237,28 +238,53 @@ class Cartflows_Admin {
237
 
238
  if ( isset( $_POST['cartflows-debug-settings-nonce'] ) && wp_verify_nonce( $_POST['cartflows-debug-settings-nonce'], 'cartflows-debug-settings' ) ) {
239
 
240
- $url = $_SERVER['REQUEST_URI'];
241
- $input_settings = array();
242
- $new_settings = array();
243
 
244
  if ( isset( $_POST['_cartflows_debug_data'] ) ) {
 
 
 
 
245
 
246
- $input_settings = $_POST['_cartflows_debug_data'];
 
 
247
 
248
- // Loop through the input and sanitize each of the values.
249
- foreach ( $input_settings as $key => $val ) {
250
-
251
- if ( is_array( $val ) ) {
252
- foreach ( $val as $k => $v ) {
253
- $new_settings[ $key ][ $k ] = ( isset( $val[ $k ] ) ) ? sanitize_text_field( $v ) : '';
254
- }
255
- } else {
256
- $new_settings[ $key ] = ( isset( $input_settings[ $key ] ) ) ? sanitize_text_field( $val ) : '';
257
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  }
259
  }
260
 
261
- Cartflows_Helper::update_admin_settings_option( '_cartflows_debug_data', $new_settings, true );
262
 
263
  $query = array(
264
  'message' => 'saved',
@@ -266,12 +292,35 @@ class Cartflows_Admin {
266
 
267
  $redirect_to = add_query_arg( $query, $url );
268
 
 
 
269
  wp_redirect( $redirect_to );
270
  exit;
271
 
272
  }
273
  }
274
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
275
  /**
276
  * Check is cartflows admin.
277
  *
@@ -476,6 +525,7 @@ class Cartflows_Admin {
476
 
477
  self::save_common_settings();
478
  self::save_debug_settings();
 
479
 
480
  // Let extensions hook into saving.
481
  do_action( 'cartflows_admin_settings_save' );
42
 
43
  add_action( 'cartflows_render_admin_content', __CLASS__ . '::render_content' );
44
 
45
+ add_action( 'admin_init', __CLASS__ . '::settings_admin_scripts' );
46
 
47
  /* Global Addmin Script */
48
  add_action( 'admin_enqueue_scripts', __CLASS__ . '::global_admin_scripts', 20 );
54
 
55
  add_filter( 'plugin_action_links_' . CARTFLOWS_BASE, __CLASS__ . '::add_action_links' );
56
 
57
+ add_action( 'admin_init', __CLASS__ . '::cartflows_after_save_permalinks' );
58
+
59
+ }
60
+
61
+ /**
62
+ * After save of permalinks.
63
+ */
64
+ static public function cartflows_after_save_permalinks() {
65
+
66
+ $has_saved_permalinks = get_option( 'cartflows_permalink_saved' );
67
+ if ( $has_saved_permalinks ) {
68
+ flush_rewrite_rules();
69
+ delete_option( 'cartflows_permalink_saved' );
70
+ }
71
  }
72
 
73
 
208
 
209
  if ( isset( $_POST['cartflows-common-settings-nonce'] ) && wp_verify_nonce( $_POST['cartflows-common-settings-nonce'], 'cartflows-common-settings' ) ) {
210
 
211
+ $url = $_SERVER['REQUEST_URI'];
212
+ $new_settings = array();
 
213
 
214
  if ( isset( $_POST['_cartflows_common'] ) ) {
 
 
 
215
  // Loop through the input and sanitize each of the values.
216
+ $new_settings = Cartflows_Admin::sanitize_form_inputs( $_POST['_cartflows_common'] );
 
 
 
 
 
 
 
 
 
217
  }
218
 
219
  Cartflows_Helper::update_admin_settings_option( '_cartflows_common', $new_settings, true );
238
 
239
  if ( isset( $_POST['cartflows-debug-settings-nonce'] ) && wp_verify_nonce( $_POST['cartflows-debug-settings-nonce'], 'cartflows-debug-settings' ) ) {
240
 
241
+ $url = $_SERVER['REQUEST_URI'];
242
+ $new_settings = array();
 
243
 
244
  if ( isset( $_POST['_cartflows_debug_data'] ) ) {
245
+ $new_settings = Cartflows_Admin::sanitize_form_inputs( $_POST['_cartflows_debug_data'] );
246
+ }
247
+
248
+ Cartflows_Helper::update_admin_settings_option( '_cartflows_debug_data', $new_settings, true );
249
 
250
+ $query = array(
251
+ 'message' => 'saved',
252
+ );
253
 
254
+ $redirect_to = add_query_arg( $query, $url );
255
+
256
+ wp_redirect( $redirect_to );
257
+ exit;
258
+
259
+ }
260
+ }
261
+
262
+
263
+ /**
264
+ * Save permalink Setting options.
265
+ *
266
+ * @since 1.1.14
267
+ */
268
+ static public function save_permalink_settings() {
269
+
270
+ if ( isset( $_POST['cartflows-permalink-settings-nonce'] ) && wp_verify_nonce( $_POST['cartflows-permalink-settings-nonce'], 'cartflows-permalink-settings' ) ) {
271
+
272
+ $url = $_SERVER['REQUEST_URI'];
273
+ $new_settings = array();
274
+
275
+ if ( isset( $_POST['reset'] ) ) {
276
+ $_POST['_cartflows_permalink'] = CARTFLOWS_STEP_POST_TYPE;
277
+ }
278
+
279
+ if ( isset( $_POST['_cartflows_permalink'] ) ) {
280
+ $new_settings = Cartflows_Admin::sanitize_form_inputs( $_POST['_cartflows_permalink'] );
281
+
282
+ if ( ! $new_settings['permalink'] ) {
283
+ $new_settings['permalink'] = CARTFLOWS_STEP_POST_TYPE;
284
  }
285
  }
286
 
287
+ Cartflows_Helper::update_admin_settings_option( '_cartflows_permalink', $new_settings, true );
288
 
289
  $query = array(
290
  'message' => 'saved',
292
 
293
  $redirect_to = add_query_arg( $query, $url );
294
 
295
+ update_option( 'cartflows_permalink_saved', true );
296
+
297
  wp_redirect( $redirect_to );
298
  exit;
299
 
300
  }
301
  }
302
 
303
+ /**
304
+ * Loop through the input and sanitize each of the values.
305
+ *
306
+ * @param array $input_settings input settings.
307
+ * @return array
308
+ */
309
+ static public function sanitize_form_inputs( $input_settings = array() ) {
310
+ $new_settings = array();
311
+ foreach ( $input_settings as $key => $val ) {
312
+
313
+ if ( is_array( $val ) ) {
314
+ foreach ( $val as $k => $v ) {
315
+ $new_settings[ $key ][ $k ] = ( isset( $val[ $k ] ) ) ? sanitize_text_field( $v ) : '';
316
+ }
317
+ } else {
318
+ $new_settings[ $key ] = ( isset( $input_settings[ $key ] ) ) ? sanitize_text_field( $val ) : '';
319
+ }
320
+ }
321
+ return $new_settings;
322
+ }
323
+
324
  /**
325
  * Check is cartflows admin.
326
  *
525
 
526
  self::save_common_settings();
527
  self::save_debug_settings();
528
+ self::save_permalink_settings();
529
 
530
  // Let extensions hook into saving.
531
  do_action( 'cartflows_admin_settings_save' );
classes/class-cartflows-compatibility.php CHANGED
@@ -61,6 +61,10 @@ if ( ! class_exists( 'Cartflows_Compatibility' ) ) {
61
  if ( class_exists( 'TCB_Post' ) ) {
62
  require_once CARTFLOWS_DIR . 'classes/class-cartflows-thrive-compatibility.php';
63
  }
 
 
 
 
64
  }
65
 
66
  /**
61
  if ( class_exists( 'TCB_Post' ) ) {
62
  require_once CARTFLOWS_DIR . 'classes/class-cartflows-thrive-compatibility.php';
63
  }
64
+
65
+ if ( defined( 'LEARNDASH_VERSION' ) ) {
66
+ require_once CARTFLOWS_DIR . 'classes/class-cartflows-learndash-compatibility.php';
67
+ }
68
  }
69
 
70
  /**
classes/class-cartflows-helper.php CHANGED
@@ -28,6 +28,14 @@ class Cartflows_Helper {
28
  */
29
  private static $debug_data = null;
30
 
 
 
 
 
 
 
 
 
31
  /**
32
  * Installed Plugins
33
  *
@@ -312,6 +320,37 @@ class Cartflows_Helper {
312
  return self::$debug_data;
313
  }
314
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
315
  /**
316
  * Get Checkout field.
317
  *
28
  */
29
  private static $debug_data = null;
30
 
31
+
32
+ /**
33
+ * Permalink settings
34
+ *
35
+ * @var permalink_setting
36
+ */
37
+ private static $permalink_setting = null;
38
+
39
  /**
40
  * Installed Plugins
41
  *
320
  return self::$debug_data;
321
  }
322
 
323
+
324
+ /**
325
+ * Get debug settings data.
326
+ *
327
+ * @return array.
328
+ */
329
+ static public function get_permalink_settings() {
330
+
331
+ if ( null === self::$permalink_setting ) {
332
+
333
+ $permalink_default = apply_filters(
334
+ 'cartflows_permalink_settings_default',
335
+ array(
336
+ 'permalink' => CARTFLOWS_STEP_POST_TYPE,
337
+ )
338
+ );
339
+
340
+ $permalink_data = Cartflows_Helper::get_admin_settings_option( '_cartflows_permalink', false, true );
341
+
342
+ $permalink_data = wp_parse_args( $permalink_data, $permalink_default );
343
+
344
+ if ( ! did_action( 'wp' ) ) {
345
+ return $permalink_data;
346
+ } else {
347
+ self::$permalink_setting = $permalink_data;
348
+ }
349
+ }
350
+
351
+ return self::$permalink_setting;
352
+ }
353
+
354
  /**
355
  * Get Checkout field.
356
  *
classes/class-cartflows-learndash-compatibility.php ADDED
@@ -0,0 +1,133 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * LearnDash compatibility
4
+ *
5
+ * @package CartFlows
6
+ */
7
+
8
+ /**
9
+ * Class for LearnDash compatibility
10
+ */
11
+ class Cartflows_Learndash_Compatibility {
12
+
13
+ /**
14
+ * Member Variable
15
+ *
16
+ * @var instance
17
+ */
18
+ private static $instance;
19
+
20
+ /**
21
+ * Initiator
22
+ */
23
+ public static function get_instance() {
24
+ if ( ! isset( self::$instance ) ) {
25
+ self::$instance = new self;
26
+ }
27
+ return self::$instance;
28
+ }
29
+
30
+ /**
31
+ * Constructor
32
+ */
33
+ public function __construct() {
34
+ add_filter( 'learndash_post_args', array( $this, 'cartflows_course_setting_fields' ) );
35
+ add_action( 'template_redirect', array( $this, 'cartflows_override_course_template' ) );
36
+
37
+ }
38
+
39
+ /**
40
+ * Override course cartflows template.
41
+ *
42
+ * @return bool
43
+ */
44
+ public function cartflows_override_course_template() {
45
+
46
+ // Don't run any code in admin area.
47
+ if ( is_admin() ) {
48
+ return false;
49
+ }
50
+
51
+ // Don't override the template if the post type is not `course`.
52
+ if ( ! is_singular( 'sfwd-courses' ) ) {
53
+ return false;
54
+ }
55
+
56
+ $course_id = learndash_get_course_id();
57
+ $user_id = get_current_user_id();
58
+ if ( is_user_logged_in() && sfwd_lms_has_access( $course_id, $user_id ) ) {
59
+ return false;
60
+ }
61
+
62
+ $template = get_course_meta_setting( get_the_id(), 'wcf_course_template' );
63
+ if ( 'none' !== $template && $template ) {
64
+ $link = get_permalink( $template );
65
+ wp_safe_redirect( $link );
66
+ }
67
+ }
68
+
69
+ /**
70
+ * Add settings inside learndash settings.
71
+ *
72
+ * @param array $fields fields.
73
+ * @return mixed
74
+ */
75
+ public function cartflows_course_setting_fields( $fields ) {
76
+ global $post;
77
+
78
+ $all_posts = array(
79
+ 'none' => __( 'None', 'cartflows' ),
80
+ );
81
+
82
+ $landing_steps = get_posts(
83
+ array(
84
+ 'posts_per_page' => -1,
85
+ 'post_type' => CARTFLOWS_STEP_POST_TYPE,
86
+ 'post_status' => 'publish',
87
+ 'orderby' => 'ID',
88
+ 'order' => 'ASC',
89
+ 'meta_query' => array(
90
+ array(
91
+ 'key' => 'wcf-step-type',
92
+ 'value' => 'landing',
93
+ 'compare' => '=',
94
+ ),
95
+ ),
96
+ )
97
+ );
98
+
99
+ foreach ( $landing_steps as $landing_step ) {
100
+ $all_posts[ $landing_step->ID ] = get_the_title( $landing_step->ID ) . ' ( #' . $landing_step->ID . ')';
101
+ }
102
+
103
+ $selected = get_post_meta( get_the_ID(), 'wcf_course_template', true );
104
+ $description = sprintf(
105
+ /* translators: 1: anchor start, 2: anchor close */
106
+ __( 'Non-enrolled students will redirect to the selected CartFlows template. If you have not created any Flow already, add new Flow from %1$shere%2$s.', 'cartflows' ),
107
+ '<a href="' . esc_url( admin_url( 'edit.php?post_type=' . CARTFLOWS_FLOW_POST_TYPE . '&add-new-flow' ) ) . '">',
108
+ '</a>'
109
+ );
110
+
111
+ $fields['sfwd-courses']['fields']['wcf_course_template'] = array(
112
+ 'name' => __( 'Select CartFlows Template for this Course', 'cartflows' ),
113
+ 'type' => 'select',
114
+ 'initial_options' => $all_posts,
115
+ 'default' => 'none',
116
+ 'help_text' => $description,
117
+ 'show_in_rest' => true,
118
+ 'rest_args' => array(
119
+ 'schema' => array(
120
+ 'type' => 'string',
121
+ ),
122
+ ),
123
+ );
124
+
125
+ return $fields;
126
+ }
127
+
128
+ }
129
+
130
+ /**
131
+ * Kicking this off by calling 'get_instance()' method
132
+ */
133
+ Cartflows_Learndash_Compatibility::get_instance();
classes/class-cartflows-loader.php CHANGED
@@ -126,7 +126,7 @@ if ( ! class_exists( 'Cartflows_Loader' ) ) {
126
  define( 'CARTFLOWS_BASE', plugin_basename( CARTFLOWS_FILE ) );
127
  define( 'CARTFLOWS_DIR', plugin_dir_path( CARTFLOWS_FILE ) );
128
  define( 'CARTFLOWS_URL', plugins_url( '/', CARTFLOWS_FILE ) );
129
- define( 'CARTFLOWS_VER', '1.2.2' );
130
  define( 'CARTFLOWS_SLUG', 'cartflows' );
131
  define( 'CARTFLOWS_SETTINGS', 'cartflows_settings' );
132
 
@@ -353,6 +353,8 @@ if ( ! class_exists( 'Cartflows_Loader' ) ) {
353
 
354
  include_once CARTFLOWS_DIR . 'classes/class-cartflows-metabox.php';
355
 
 
 
356
  }
357
 
358
  /**
@@ -520,7 +522,7 @@ if ( ! class_exists( 'Cartflows_Loader' ) ) {
520
  }
521
 
522
  $this->create_files();
523
-
524
  include_once CARTFLOWS_DIR . 'modules/flow/classes/class-cartflows-flow-post-type.php';
525
  include_once CARTFLOWS_DIR . 'modules/flow/classes/class-cartflows-step-post-type.php';
526
 
126
  define( 'CARTFLOWS_BASE', plugin_basename( CARTFLOWS_FILE ) );
127
  define( 'CARTFLOWS_DIR', plugin_dir_path( CARTFLOWS_FILE ) );
128
  define( 'CARTFLOWS_URL', plugins_url( '/', CARTFLOWS_FILE ) );
129
+ define( 'CARTFLOWS_VER', '1.2.3' );
130
  define( 'CARTFLOWS_SLUG', 'cartflows' );
131
  define( 'CARTFLOWS_SETTINGS', 'cartflows_settings' );
132
 
353
 
354
  include_once CARTFLOWS_DIR . 'classes/class-cartflows-metabox.php';
355
 
356
+ include_once CARTFLOWS_DIR . 'classes/deprecated/deprecated-hooks.php';
357
+
358
  }
359
 
360
  /**
522
  }
523
 
524
  $this->create_files();
525
+ include_once CARTFLOWS_DIR . 'classes/class-cartflows-helper.php';
526
  include_once CARTFLOWS_DIR . 'modules/flow/classes/class-cartflows-flow-post-type.php';
527
  include_once CARTFLOWS_DIR . 'modules/flow/classes/class-cartflows-step-post-type.php';
528
 
classes/class-cartflows-meta-fields.php CHANGED
@@ -813,7 +813,16 @@ class Cartflows_Meta_Fields {
813
 
814
  $value = $field_data['value'];
815
 
816
- $field_content = '<textarea name="' . $field_data['name'] . '" rows="10" cols="50">';
 
 
 
 
 
 
 
 
 
817
  $field_content .= $value;
818
  $field_content .= '</textarea>';
819
 
813
 
814
  $value = $field_data['value'];
815
 
816
+ $attr = '';
817
+
818
+ if ( isset( $field_data['attr'] ) && is_array( $field_data['attr'] ) ) {
819
+
820
+ foreach ( $field_data['attr'] as $attr_key => $attr_value ) {
821
+ $attr .= ' ' . $attr_key . '="' . $attr_value . '"';
822
+ }
823
+ }
824
+
825
+ $field_content = '<textarea name="' . $field_data['name'] . '" rows="10" cols="50" ' . $attr . '>';
826
  $field_content .= $value;
827
  $field_content .= '</textarea>';
828
 
classes/class-cartflows-update.php CHANGED
@@ -107,36 +107,35 @@ if ( ! class_exists( 'Cartflows_Update' ) ) :
107
  */
108
  function changed_wp_templates() {
109
 
110
- $args = array(
111
- 'post_type' => 'cartflows_step',
112
- 'fields' => 'ids',
113
- 'no_found_rows' => true,
114
- 'post_status' => 'any',
115
- 'posts_per_page' => -1,
116
- 'meta_query' => array(
117
- 'relation' => 'OR',
118
- array(
119
- 'key' => '_wp_page_template',
120
- 'value' => 'cartflows-canvas',
121
- 'compare' => '!=',
122
- ),
123
- array(
124
- 'key' => '_wp_page_template',
125
- 'value' => 'NOT EXISTS',
126
- 'compare' => 'NOT EXISTS',
127
- ),
128
- ),
129
  );
130
 
131
- $query = new WP_Query( $args );
132
- $post_ids = (array) $query->posts;
133
 
134
- foreach ( $post_ids as $key => $post_id ) {
135
 
136
- update_post_meta( $post_id, '_wp_page_template', 'cartflows-default' );
137
 
138
- }
 
 
139
 
 
 
 
 
 
 
140
  }
141
  }
142
  /**
107
  */
108
  function changed_wp_templates() {
109
 
110
+ global $wpdb;
111
+
112
+ $query_results = $wpdb->get_results(
113
+ $wpdb->prepare(
114
+ "SELECT {$wpdb->posts}.ID FROM {$wpdb->posts} LEFT JOIN {$wpdb->postmeta} ON ( {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id )
115
+ where {$wpdb->posts}.post_type = %s AND {$wpdb->postmeta}.meta_key = %s AND {$wpdb->postmeta}.meta_value != %s AND {$wpdb->postmeta}.meta_value != %s",
116
+ 'cartflows_step',
117
+ '_wp_page_template',
118
+ 'cartflows-canvas',
119
+ 'cartflows-default'
120
+ )
 
 
 
 
 
 
 
 
121
  );
122
 
123
+ if ( is_array( $query_results ) && ! empty( $query_results ) ) {
 
124
 
125
+ require_once CARTFLOWS_DIR . 'classes/batch-process/class-cartflows-change-template-batch.php';
126
 
127
+ wcf()->logger->log( '(✓) Update Templates BATCH Started!' );
128
 
129
+ $change_template_batch = new Cartflows_Change_Template_Batch();
130
+
131
+ foreach ( $query_results as $query_result ) {
132
 
133
+ wcf()->logger->log( '(✓) POST ID ' . $query_result->ID );
134
+ $change_template_batch->push_to_queue( $query_result->ID );
135
+ }
136
+
137
+ $change_template_batch->save()->dispatch();
138
+ }
139
  }
140
  }
141
  /**
classes/deprecated/deprecated-hooks.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Deprecated Hooks of CartFlows Plugin.
4
+ *
5
+ * @package CartFlows
6
+ * @author CartFlows
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+ if ( ! function_exists( 'wcf_do_action_deprecated' ) ) {
14
+ /**
15
+ * Cartlows Action Deprecated
16
+ *
17
+ * @since 1.1.1
18
+ * @param string $tag The name of the Action hook.
19
+ * @param array $args Array of additional function arguments to be passed to apply_filters().
20
+ * @param string $version The version of WordPress that deprecated the hook.
21
+ * @param string $replacement Optional. The hook that should have been used. Default false.
22
+ * @param string $message Optional. A message regarding the change. Default null.
23
+ */
24
+ function wcf_do_action_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
25
+ if ( function_exists( 'do_action_deprecated' ) ) { /* WP >= 4.6 */
26
+ do_action_deprecated( $tag, $args, $version, $replacement, $message );
27
+ } else {
28
+ do_action_ref_array( $tag, $args );
29
+ }
30
+ }
31
+ }
classes/fields/typography/class-cartflows-font-families.php CHANGED
@@ -144,21 +144,24 @@ if ( ! class_exists( 'CartFlows_Font_Families' ) ) :
144
  $file_contants = $wp_filesystem->get_contents( $google_fonts_file );
145
  $google_fonts_json = json_decode( $file_contants, 1 );
146
 
147
- foreach ( $google_fonts_json as $key => $font ) {
148
- $name = key( $font );
149
- foreach ( $font[ $name ] as $font_key => $single_font ) {
150
 
151
- if ( 'variants' === $font_key ) {
 
 
152
 
153
- foreach ( $single_font as $variant_key => $variant ) {
154
 
155
- if ( 'regular' == $variant ) {
156
- $font[ $name ][ $font_key ][ $variant_key ] = '400';
 
 
 
157
  }
158
  }
159
- }
160
 
161
- self::$google_fonts[ $name ] = array_values( $font[ $name ] );
 
162
  }
163
  }
164
  }
144
  $file_contants = $wp_filesystem->get_contents( $google_fonts_file );
145
  $google_fonts_json = json_decode( $file_contants, 1 );
146
 
147
+ if ( is_array( $google_fonts_json ) || is_object( $google_fonts_json ) ) {
 
 
148
 
149
+ foreach ( $google_fonts_json as $key => $font ) {
150
+ $name = key( $font );
151
+ foreach ( $font[ $name ] as $font_key => $single_font ) {
152
 
153
+ if ( 'variants' === $font_key ) {
154
 
155
+ foreach ( $single_font as $variant_key => $variant ) {
156
+
157
+ if ( 'regular' == $variant ) {
158
+ $font[ $name ][ $font_key ][ $variant_key ] = '400';
159
+ }
160
  }
161
  }
 
162
 
163
+ self::$google_fonts[ $name ] = array_values( $font[ $name ] );
164
+ }
165
  }
166
  }
167
  }
includes/admin/cartflows-general.php CHANGED
@@ -9,6 +9,9 @@ $settings = Cartflows_Helper::get_common_settings();
9
 
10
  $debug_data = Cartflows_Helper::get_debug_settings();
11
 
 
 
 
12
  $debug_on = ( isset( $_GET['debug'] ) ) ? sanitize_text_field( $_GET['debug'] ) : 'false';
13
 
14
  $error_log = filter_input( INPUT_GET, 'cartflows-error-log', FILTER_VALIDATE_BOOLEAN );
@@ -96,6 +99,41 @@ $error_log = filter_input( INPUT_GET, 'cartflows-error-log', FILTER_VALIDATE_BOO
96
  <?php submit_button( __( 'Save Changes', 'cartflows' ), 'cartflows-common-setting-save-btn button-primary button', 'submit', false ); ?>
97
  <?php wp_nonce_field( 'cartflows-common-settings', 'cartflows-common-settings-nonce' ); ?>
98
  </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  </div>
100
  </div>
101
  </div>
9
 
10
  $debug_data = Cartflows_Helper::get_debug_settings();
11
 
12
+ $permalink_settings = Cartflows_Helper::get_permalink_settings();
13
+
14
+
15
  $debug_on = ( isset( $_GET['debug'] ) ) ? sanitize_text_field( $_GET['debug'] ) : 'false';
16
 
17
  $error_log = filter_input( INPUT_GET, 'cartflows-error-log', FILTER_VALIDATE_BOOLEAN );
99
  <?php submit_button( __( 'Save Changes', 'cartflows' ), 'cartflows-common-setting-save-btn button-primary button', 'submit', false ); ?>
100
  <?php wp_nonce_field( 'cartflows-common-settings', 'cartflows-common-settings-nonce' ); ?>
101
  </form>
102
+ </div>
103
+ </div>
104
+
105
+ <div class="general-settingss-form postbox">
106
+ <h2 class="hndle wcf-normal-cusror ui-sortable-handle">
107
+ <span><?php _e( 'Permalink Settings', 'cartflows' ); ?></span>
108
+ </h2>
109
+ <div class="inside">
110
+ <form method="post" class="wrap wcf-clear" action="" >
111
+ <div class="form-wrap">
112
+ <?php
113
+
114
+ echo Cartflows_Admin_Fields::text_field(
115
+ array(
116
+ 'id' => 'wcf_permalink',
117
+ 'name' => '_cartflows_permalink[permalink]',
118
+ 'title' => __( 'Step Permalink Base', 'cartflows' ),
119
+ 'value' => $permalink_settings['permalink'],
120
+ 'description' => get_site_url() . '/<code>' . CARTFLOWS_STEP_POST_TYPE . '</code>/landing/',
121
+ 'placeholder' => CARTFLOWS_STEP_POST_TYPE,
122
+ )
123
+ );
124
+
125
+ ?>
126
+
127
+
128
+ </div>
129
+ <p>
130
+ <?php submit_button( __( 'Save Changes', 'cartflows' ), 'cartflows-common-setting-save-btn button-primary button', 'submit', false ); ?>
131
+ <?php submit_button( __( 'Set Default', 'cartflows' ), 'cartflows-common-setting-save-btn button-primary button', 'reset', false ); ?>
132
+ <?php wp_nonce_field( 'cartflows-permalink-settings', 'cartflows-permalink-settings-nonce' ); ?>
133
+ </p>
134
+
135
+
136
+ </form>
137
  </div>
138
  </div>
139
  </div>
languages/cartflows.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the CartFlows package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: CartFlows 1.2.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cartflows\n"
7
- "POT-Creation-Date: 2019-06-27 16:45:26+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -36,63 +36,63 @@ msgstr ""
36
  msgid "Every %d Minutes"
37
  msgstr ""
38
 
39
- #: classes/class-cartflows-admin-fields.php:162
40
  msgid "Select"
41
  msgstr ""
42
 
43
- #: classes/class-cartflows-admin-fields.php:165
44
  msgid "No Checkout Steps"
45
  msgstr ""
46
 
47
- #: classes/class-cartflows-admin-fields.php:191
48
  #. translators: %s: link
49
  msgid ""
50
  "Be sure not to add any product in above selected Global Checkout step. "
51
  "Please read information about how to set up Global Checkout %1$shere%2$s."
52
  msgstr ""
53
 
54
- #: classes/class-cartflows-admin.php:137 classes/class-cartflows-admin.php:138
55
  #: includes/admin/cartflows-general-bck.php:34
56
  msgid "Settings"
57
  msgstr ""
58
 
59
- #: classes/class-cartflows-admin.php:338
60
  msgid "Installing and activating.."
61
  msgstr ""
62
 
63
- #: classes/class-cartflows-admin.php:339
64
  msgid "There was an error with the installation of plugin."
65
  msgstr ""
66
 
67
- #: classes/class-cartflows-admin.php:393
68
  msgid "Flows Library"
69
  msgstr ""
70
 
71
- #: classes/class-cartflows-admin.php:400
72
  #: modules/flow/view/meta-flow-steps.php:144
73
  msgid "Ready Templates"
74
  msgstr ""
75
 
76
- #: classes/class-cartflows-admin.php:403
77
  #: modules/flow/view/meta-flow-steps.php:147
78
  msgid "Create Your Own"
79
  msgstr ""
80
 
81
- #: classes/class-cartflows-admin.php:414
82
  #: modules/flow/view/meta-flow-steps.php:159
83
  msgid "Search Sites"
84
  msgstr ""
85
 
86
- #: classes/class-cartflows-admin.php:415
87
  #: modules/flow/view/meta-flow-steps.php:160
88
  msgid "Search Flow..."
89
  msgstr ""
90
 
91
- #: classes/class-cartflows-admin.php:432
92
  msgid "Design Your Flow"
93
  msgstr ""
94
 
95
- #: classes/class-cartflows-admin.php:433
96
  #: classes/class-cartflows-importer.php:597
97
  #: classes/class-cartflows-importer.php:696
98
  #: modules/flow/view/meta-flow-steps.php:190
@@ -253,19 +253,19 @@ msgid "Sales Landing"
253
  msgstr ""
254
 
255
  #: classes/class-cartflows-importer.php:1200
256
- #: modules/flow/classes/class-cartflows-step-post-type.php:229
257
  #: modules/flow/view/meta-flow-steps.php:12
258
  msgid "Checkout (Woo)"
259
  msgstr ""
260
 
261
  #: classes/class-cartflows-importer.php:1204
262
- #: modules/flow/classes/class-cartflows-step-post-type.php:236
263
  #: modules/flow/view/meta-flow-steps.php:13
264
  msgid "Thank You (Woo)"
265
  msgstr ""
266
 
267
  #: classes/class-cartflows-importer.php:1212
268
- #: modules/flow/classes/class-cartflows-step-post-type.php:222
269
  #: modules/flow/view/meta-flow-steps.php:11
270
  msgid "Landing"
271
  msgstr ""
@@ -294,6 +294,21 @@ msgstr ""
294
  msgid "Plugin Successfully Activated"
295
  msgstr ""
296
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
297
  #: classes/class-cartflows-loader.php:229
298
  #. translators: %s: html tags
299
  msgid ""
@@ -301,18 +316,18 @@ msgid ""
301
  "%1$sCartFlows Pro%2$s plugin to version %1$s%3$s%2$s or higher."
302
  msgstr ""
303
 
304
- #: classes/class-cartflows-loader.php:484
305
  #. translators: %s: html tags
306
  msgid ""
307
  "This %1$sCartFlows%2$s page requires %1$sWooCommerce%2$s plugin installed & "
308
  "activated."
309
  msgstr ""
310
 
311
- #: classes/class-cartflows-loader.php:494
312
  msgid "Activate WooCommerce"
313
  msgstr ""
314
 
315
- #: classes/class-cartflows-loader.php:502
316
  msgid "Install WooCommerce"
317
  msgstr ""
318
 
@@ -358,7 +373,7 @@ msgstr ""
358
 
359
  #: classes/class-cartflows-meta-fields.php:217
360
  #: classes/class-cartflows-meta-fields.php:325
361
- #: classes/class-cartflows-meta-fields.php:1417
362
  msgid "Remove"
363
  msgstr ""
364
 
@@ -388,7 +403,7 @@ msgstr ""
388
 
389
  #: classes/class-cartflows-meta-fields.php:492
390
  #: classes/class-cartflows-meta-fields.php:505
391
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:459
392
  msgid "Default"
393
  msgstr ""
394
 
@@ -416,12 +431,12 @@ msgstr ""
416
  msgid "Label"
417
  msgstr ""
418
 
419
- #: classes/class-cartflows-meta-fields.php:990
420
- #: classes/class-cartflows-meta-fields.php:1409
421
  msgid "Search for a product&hellip;"
422
  msgstr ""
423
 
424
- #: classes/class-cartflows-meta-fields.php:1031
425
  msgid "Search for a coupon&hellip;"
426
  msgstr ""
427
 
@@ -435,7 +450,7 @@ msgid "Back to edit Flow"
435
  msgstr ""
436
 
437
  #: classes/class-cartflows-meta.php:63
438
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:191
439
  #: modules/landing/classes/class-cartflows-landing-meta.php:136
440
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:148
441
  msgid "Custom Script"
@@ -526,7 +541,7 @@ msgid "Select Page Builder"
526
  msgstr ""
527
 
528
  #: classes/class-cartflows-wizard.php:329
529
- #: includes/admin/cartflows-general.php:84
530
  msgid "Elementor"
531
  msgstr ""
532
 
@@ -535,12 +550,12 @@ msgid "Beaver Builder Plugin (Lite Version)"
535
  msgstr ""
536
 
537
  #: classes/class-cartflows-wizard.php:349
538
- #: includes/admin/cartflows-general.php:86
539
  msgid "Divi"
540
  msgstr ""
541
 
542
  #: classes/class-cartflows-wizard.php:359
543
- #: includes/admin/cartflows-general.php:87
544
  msgid "Other"
545
  msgstr ""
546
 
@@ -654,7 +669,7 @@ msgid "%1$s was called with an invalid level \"%2$s\"."
654
  msgstr ""
655
 
656
  #: includes/admin/cartflows-admin.php:19
657
- #: includes/admin/cartflows-general.php:40
658
  msgid "Modernizing WordPress eCommerce!"
659
  msgstr ""
660
 
@@ -687,29 +702,29 @@ msgstr ""
687
  msgid "General"
688
  msgstr ""
689
 
690
- #: includes/admin/cartflows-general.php:25
691
- #: includes/admin/cartflows-general.php:48
692
  msgid "General Settings"
693
  msgstr ""
694
 
695
- #: includes/admin/cartflows-general.php:32
696
  msgid "Getting Started"
697
  msgstr ""
698
 
699
- #: includes/admin/cartflows-general.php:61
700
  msgid "Disallow search engines from indexing flows"
701
  msgstr ""
702
 
703
- #: includes/admin/cartflows-general.php:71
704
  #: modules/flow/view/meta-flow-steps.php:86
705
  msgid "Global Checkout"
706
  msgstr ""
707
 
708
- #: includes/admin/cartflows-general.php:80
709
  msgid "Show Templates designed with"
710
  msgstr ""
711
 
712
- #: includes/admin/cartflows-general.php:81
713
  msgid ""
714
  "CartFlows offers flow templates that can be imported in one click. These "
715
  "templates are available in few different page builders. Please choose your "
@@ -717,67 +732,80 @@ msgid ""
717
  "are made using that page builder.."
718
  msgstr ""
719
 
720
- #: includes/admin/cartflows-general.php:85
721
  msgid "Beaver Builder"
722
  msgstr ""
723
 
724
- #: includes/admin/cartflows-general.php:96
 
725
  msgid "Save Changes"
726
  msgstr ""
727
 
728
- #: includes/admin/cartflows-general.php:108
 
 
 
 
 
 
 
 
 
 
 
 
729
  msgid "Knowledge Base"
730
  msgstr ""
731
 
732
- #: includes/admin/cartflows-general.php:112
733
  msgid "Not sure how something works? Take a peek at the knowledge base and learn."
734
  msgstr ""
735
 
736
- #: includes/admin/cartflows-general.php:115
737
  msgid "Visit Knowledge Base »"
738
  msgstr ""
739
 
740
- #: includes/admin/cartflows-general.php:123
741
  msgid "Community"
742
  msgstr ""
743
 
744
- #: includes/admin/cartflows-general.php:127
745
  msgid ""
746
  "Join the community of super helpful CartFlows users. Say hello, ask "
747
  "questions, give feedback and help each other!"
748
  msgstr ""
749
 
750
- #: includes/admin/cartflows-general.php:130
751
  msgid "Join Our Facebook Group »"
752
  msgstr ""
753
 
754
- #: includes/admin/cartflows-general.php:138
755
  msgid "Five Star Support"
756
  msgstr ""
757
 
758
- #: includes/admin/cartflows-general.php:142
759
  msgid "Got a question? Get in touch with CartFlows developers. We're happy to help!"
760
  msgstr ""
761
 
762
- #: includes/admin/cartflows-general.php:145
763
  msgid "Submit a Ticket »"
764
  msgstr ""
765
 
766
- #: includes/admin/cartflows-general.php:155
767
  msgid "Load Minified CSS"
768
  msgstr ""
769
 
770
- #: includes/admin/cartflows-general.php:160
771
  msgid ""
772
  "Load the Minified CSS from here. Just Enable it by checking the below given "
773
  "checkbox."
774
  msgstr ""
775
 
776
- #: includes/admin/cartflows-general.php:167
777
  msgid "Load minified CSS & JS Files"
778
  msgstr ""
779
 
780
- #: includes/admin/cartflows-general.php:172
781
  msgid "Save"
782
  msgstr ""
783
 
@@ -839,13 +867,13 @@ msgstr ""
839
  msgid "This product can't be purcahsed"
840
  msgstr ""
841
 
842
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:991
843
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:1022
844
  msgid "Coupon Code"
845
  msgstr ""
846
 
847
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:996
848
- #: modules/checkout/classes/class-cartflows-checkout-markup.php:1031
849
  msgid "Apply"
850
  msgstr ""
851
 
@@ -853,215 +881,222 @@ msgstr ""
853
  msgid "Checkout Layout"
854
  msgstr ""
855
 
856
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:155
857
  #: modules/landing/classes/class-cartflows-landing-meta.php:130
858
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:130
859
  msgid "Shortcodes"
860
  msgstr ""
861
 
862
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:161
863
  msgid "Select Product"
864
  msgstr ""
865
 
866
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:167
867
  msgid "Order Bump"
868
  msgstr ""
869
 
870
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:173
871
  msgid "Checkout Design"
872
  msgstr ""
873
 
874
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:179
875
  msgid "Checkout Fields"
876
  msgstr ""
877
 
878
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:185
879
  msgid "Logo (Optional)"
880
  msgstr ""
881
 
882
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:250
883
  msgid "Add this shortcode to your checkout page"
884
  msgstr ""
885
 
886
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:302
 
 
 
 
 
 
 
887
  #. translators: %s: link
888
- msgid "Upgrade to %1$sCartFlows Pro%2$s for Order Bump feature"
889
  msgstr ""
890
 
891
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:330
892
  #. translators: %s: link
893
- msgid "Upgrade to %1$sCartFlows Pro%2$s for Custom Fields feature"
894
  msgstr ""
895
 
896
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:358
897
  msgid "One Column (Available in CartFlows Pro) "
898
  msgstr ""
899
 
900
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:359
901
  msgid "Two Step (Available in CartFlows Pro) "
902
  msgstr ""
903
 
904
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:365
905
  msgid "Checkout Skin"
906
  msgstr ""
907
 
908
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:369
909
  msgid "One Column"
910
  msgstr ""
911
 
912
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:370
913
  msgid "Two Column"
914
  msgstr ""
915
 
916
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:371
917
  msgid "Two Step"
918
  msgstr ""
919
 
920
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:380
921
  msgid "Primary Color"
922
  msgstr ""
923
 
924
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:389
925
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:424
926
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:470
927
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:562
928
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:203
929
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:226
930
  msgid "Font Family"
931
  msgstr ""
932
 
933
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:397
934
  msgid "Advance Options"
935
  msgstr ""
936
 
937
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:409
938
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:211
939
  msgid "Heading"
940
  msgstr ""
941
 
942
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:415
943
  msgid "Heading Color"
944
  msgstr ""
945
 
946
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:433
947
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:479
948
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:571
949
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:235
950
  msgid "Font Weight"
951
  msgstr ""
952
 
953
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:441
954
  msgid "Input Fields"
955
  msgstr ""
956
 
957
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:449
958
  msgid "Floating Labels (Available in CartFlows Pro)"
959
  msgstr ""
960
 
961
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:455
962
  msgid "Style"
963
  msgstr ""
964
 
965
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:460
966
  msgid "Floating Labels"
967
  msgstr ""
968
 
969
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:487
970
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:579
971
  msgid "Size"
972
  msgstr ""
973
 
974
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:491
975
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:583
976
  msgid "Extra Small"
977
  msgstr ""
978
 
979
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:492
980
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:584
981
  msgid "Small"
982
  msgstr ""
983
 
984
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:493
985
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:585
986
  msgid "Medium"
987
  msgstr ""
988
 
989
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:494
990
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:586
991
  msgid "Large"
992
  msgstr ""
993
 
994
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:495
995
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:587
996
  msgid "Extra Large"
997
  msgstr ""
998
 
999
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:496
1000
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:588
1001
  msgid "Custom"
1002
  msgstr ""
1003
 
1004
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:503
1005
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:595
1006
  msgid "Top Bottom Spacing"
1007
  msgstr ""
1008
 
1009
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:511
1010
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:603
1011
  msgid "Left Right Spacing"
1012
  msgstr ""
1013
 
1014
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:519
1015
  msgid "Text / Placeholder Color"
1016
  msgstr ""
1017
 
1018
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:527
1019
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:627
1020
  msgid "Background Color"
1021
  msgstr ""
1022
 
1023
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:535
1024
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:643
1025
  msgid "Border Color"
1026
  msgstr ""
1027
 
1028
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:542
1029
  msgid "Label Color"
1030
  msgstr ""
1031
 
1032
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:555
1033
  msgid "Buttons"
1034
  msgstr ""
1035
 
1036
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:611
1037
  msgid "Text Color"
1038
  msgstr ""
1039
 
1040
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:619
1041
  msgid "Text Hover Color"
1042
  msgstr ""
1043
 
1044
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:635
1045
  msgid "Background Hover Color"
1046
  msgstr ""
1047
 
1048
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:651
1049
  msgid "Border Hover Color"
1050
  msgstr ""
1051
 
1052
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:664
1053
  msgid "Sections"
1054
  msgstr ""
1055
 
1056
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:670
1057
  msgid "Highlight Area Background Color"
1058
  msgstr ""
1059
 
1060
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:709
1061
  msgid "Header Logo"
1062
  msgstr ""
1063
 
1064
- #: modules/checkout/classes/class-cartflows-checkout-meta.php:717
1065
  msgid "Logo Width (In px)"
1066
  msgstr ""
1067
 
@@ -1188,57 +1223,57 @@ msgstr ""
1188
 
1189
  #: modules/flow/classes/class-cartflows-flow-post-type.php:276
1190
  #: modules/flow/classes/class-cartflows-flow-post-type.php:282
1191
- #: modules/flow/classes/class-cartflows-step-post-type.php:441
1192
- #: modules/flow/classes/class-cartflows-step-post-type.php:447
1193
  #. translators: %s: singular custom post type name
1194
  msgid "%s updated."
1195
  msgstr ""
1196
 
1197
  #: modules/flow/classes/class-cartflows-flow-post-type.php:278
1198
- #: modules/flow/classes/class-cartflows-step-post-type.php:443
1199
  #. translators: %s: singular custom post type name
1200
  msgid "Custom %s updated."
1201
  msgstr ""
1202
 
1203
  #: modules/flow/classes/class-cartflows-flow-post-type.php:280
1204
- #: modules/flow/classes/class-cartflows-step-post-type.php:445
1205
  #. translators: %s: singular custom post type name
1206
  msgid "Custom %s deleted."
1207
  msgstr ""
1208
 
1209
  #: modules/flow/classes/class-cartflows-flow-post-type.php:284
1210
- #: modules/flow/classes/class-cartflows-step-post-type.php:449
1211
  #. translators: %1$s: singular custom post type name ,%2$s: date and time of
1212
  #. the revision
1213
  msgid "%1$s restored to revision from %2$s"
1214
  msgstr ""
1215
 
1216
  #: modules/flow/classes/class-cartflows-flow-post-type.php:286
1217
- #: modules/flow/classes/class-cartflows-step-post-type.php:451
1218
  #. translators: %s: singular custom post type name
1219
  msgid "%s published."
1220
  msgstr ""
1221
 
1222
  #: modules/flow/classes/class-cartflows-flow-post-type.php:288
1223
- #: modules/flow/classes/class-cartflows-step-post-type.php:453
1224
  #. translators: %s: singular custom post type name
1225
  msgid "%s saved."
1226
  msgstr ""
1227
 
1228
  #: modules/flow/classes/class-cartflows-flow-post-type.php:290
1229
- #: modules/flow/classes/class-cartflows-step-post-type.php:455
1230
  #. translators: %s: singular custom post type name
1231
  msgid "%s submitted."
1232
  msgstr ""
1233
 
1234
  #: modules/flow/classes/class-cartflows-flow-post-type.php:292
1235
- #: modules/flow/classes/class-cartflows-step-post-type.php:457
1236
  #. translators: %s: singular custom post type name
1237
  msgid "%s scheduled for."
1238
  msgstr ""
1239
 
1240
  #: modules/flow/classes/class-cartflows-flow-post-type.php:294
1241
- #: modules/flow/classes/class-cartflows-step-post-type.php:459
1242
  #. translators: %s: singular custom post type name
1243
  msgid "%s draft updated."
1244
  msgstr ""
@@ -1274,20 +1309,20 @@ msgstr ""
1274
  msgid "New Step Name"
1275
  msgstr ""
1276
 
1277
- #: modules/flow/classes/class-cartflows-step-post-type.php:194
1278
  msgid "Step Type"
1279
  msgstr ""
1280
 
1281
- #: modules/flow/classes/class-cartflows-step-post-type.php:204
1282
  msgid "Step Flow"
1283
  msgstr ""
1284
 
1285
- #: modules/flow/classes/class-cartflows-step-post-type.php:243
1286
  #: modules/flow/view/meta-flow-steps.php:14
1287
  msgid "Upsell (Woo)"
1288
  msgstr ""
1289
 
1290
- #: modules/flow/classes/class-cartflows-step-post-type.php:250
1291
  #: modules/flow/view/meta-flow-steps.php:15
1292
  msgid "Downsell (Woo)"
1293
  msgstr ""
@@ -1636,12 +1671,12 @@ msgctxt "flow step singular name"
1636
  msgid "Step"
1637
  msgstr ""
1638
 
1639
- #: modules/flow/classes/class-cartflows-step-post-type.php:291
1640
  msgctxt "cartflows"
1641
  msgid "CartFlows — Boxed"
1642
  msgstr ""
1643
 
1644
- #: modules/flow/classes/class-cartflows-step-post-type.php:292
1645
  msgctxt "cartflows"
1646
  msgid "Template for Page Builders"
1647
  msgstr ""
2
  # This file is distributed under the same license as the CartFlows package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: CartFlows 1.2.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/cartflows\n"
7
+ "POT-Creation-Date: 2019-07-11 05:51:44+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
36
  msgid "Every %d Minutes"
37
  msgstr ""
38
 
39
+ #: classes/class-cartflows-admin-fields.php:172
40
  msgid "Select"
41
  msgstr ""
42
 
43
+ #: classes/class-cartflows-admin-fields.php:175
44
  msgid "No Checkout Steps"
45
  msgstr ""
46
 
47
+ #: classes/class-cartflows-admin-fields.php:201
48
  #. translators: %s: link
49
  msgid ""
50
  "Be sure not to add any product in above selected Global Checkout step. "
51
  "Please read information about how to set up Global Checkout %1$shere%2$s."
52
  msgstr ""
53
 
54
+ #: classes/class-cartflows-admin.php:151 classes/class-cartflows-admin.php:152
55
  #: includes/admin/cartflows-general-bck.php:34
56
  msgid "Settings"
57
  msgstr ""
58
 
59
+ #: classes/class-cartflows-admin.php:387
60
  msgid "Installing and activating.."
61
  msgstr ""
62
 
63
+ #: classes/class-cartflows-admin.php:388
64
  msgid "There was an error with the installation of plugin."
65
  msgstr ""
66
 
67
+ #: classes/class-cartflows-admin.php:442
68
  msgid "Flows Library"
69
  msgstr ""
70
 
71
+ #: classes/class-cartflows-admin.php:449
72
  #: modules/flow/view/meta-flow-steps.php:144
73
  msgid "Ready Templates"
74
  msgstr ""
75
 
76
+ #: classes/class-cartflows-admin.php:452
77
  #: modules/flow/view/meta-flow-steps.php:147
78
  msgid "Create Your Own"
79
  msgstr ""
80
 
81
+ #: classes/class-cartflows-admin.php:463
82
  #: modules/flow/view/meta-flow-steps.php:159
83
  msgid "Search Sites"
84
  msgstr ""
85
 
86
+ #: classes/class-cartflows-admin.php:464
87
  #: modules/flow/view/meta-flow-steps.php:160
88
  msgid "Search Flow..."
89
  msgstr ""
90
 
91
+ #: classes/class-cartflows-admin.php:481
92
  msgid "Design Your Flow"
93
  msgstr ""
94
 
95
+ #: classes/class-cartflows-admin.php:482
96
  #: classes/class-cartflows-importer.php:597
97
  #: classes/class-cartflows-importer.php:696
98
  #: modules/flow/view/meta-flow-steps.php:190
253
  msgstr ""
254
 
255
  #: classes/class-cartflows-importer.php:1200
256
+ #: modules/flow/classes/class-cartflows-step-post-type.php:234
257
  #: modules/flow/view/meta-flow-steps.php:12
258
  msgid "Checkout (Woo)"
259
  msgstr ""
260
 
261
  #: classes/class-cartflows-importer.php:1204
262
+ #: modules/flow/classes/class-cartflows-step-post-type.php:241
263
  #: modules/flow/view/meta-flow-steps.php:13
264
  msgid "Thank You (Woo)"
265
  msgstr ""
266
 
267
  #: classes/class-cartflows-importer.php:1212
268
+ #: modules/flow/classes/class-cartflows-step-post-type.php:227
269
  #: modules/flow/view/meta-flow-steps.php:11
270
  msgid "Landing"
271
  msgstr ""
294
  msgid "Plugin Successfully Activated"
295
  msgstr ""
296
 
297
+ #: classes/class-cartflows-learndash-compatibility.php:79
298
+ msgid "None"
299
+ msgstr ""
300
+
301
+ #: classes/class-cartflows-learndash-compatibility.php:106
302
+ #. translators: 1: anchor start, 2: anchor close
303
+ msgid ""
304
+ "Non-enrolled students will redirect to the selected CartFlows template. If "
305
+ "you have not created any Flow already, add new Flow from %1$shere%2$s."
306
+ msgstr ""
307
+
308
+ #: classes/class-cartflows-learndash-compatibility.php:112
309
+ msgid "Select CartFlows Template for this Course"
310
+ msgstr ""
311
+
312
  #: classes/class-cartflows-loader.php:229
313
  #. translators: %s: html tags
314
  msgid ""
316
  "%1$sCartFlows Pro%2$s plugin to version %1$s%3$s%2$s or higher."
317
  msgstr ""
318
 
319
+ #: classes/class-cartflows-loader.php:486
320
  #. translators: %s: html tags
321
  msgid ""
322
  "This %1$sCartFlows%2$s page requires %1$sWooCommerce%2$s plugin installed & "
323
  "activated."
324
  msgstr ""
325
 
326
+ #: classes/class-cartflows-loader.php:496
327
  msgid "Activate WooCommerce"
328
  msgstr ""
329
 
330
+ #: classes/class-cartflows-loader.php:504
331
  msgid "Install WooCommerce"
332
  msgstr ""
333
 
373
 
374
  #: classes/class-cartflows-meta-fields.php:217
375
  #: classes/class-cartflows-meta-fields.php:325
376
+ #: classes/class-cartflows-meta-fields.php:1426
377
  msgid "Remove"
378
  msgstr ""
379
 
403
 
404
  #: classes/class-cartflows-meta-fields.php:492
405
  #: classes/class-cartflows-meta-fields.php:505
406
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:475
407
  msgid "Default"
408
  msgstr ""
409
 
431
  msgid "Label"
432
  msgstr ""
433
 
434
+ #: classes/class-cartflows-meta-fields.php:999
435
+ #: classes/class-cartflows-meta-fields.php:1418
436
  msgid "Search for a product&hellip;"
437
  msgstr ""
438
 
439
+ #: classes/class-cartflows-meta-fields.php:1040
440
  msgid "Search for a coupon&hellip;"
441
  msgstr ""
442
 
450
  msgstr ""
451
 
452
  #: classes/class-cartflows-meta.php:63
453
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:183
454
  #: modules/landing/classes/class-cartflows-landing-meta.php:136
455
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:148
456
  msgid "Custom Script"
541
  msgstr ""
542
 
543
  #: classes/class-cartflows-wizard.php:329
544
+ #: includes/admin/cartflows-general.php:87
545
  msgid "Elementor"
546
  msgstr ""
547
 
550
  msgstr ""
551
 
552
  #: classes/class-cartflows-wizard.php:349
553
+ #: includes/admin/cartflows-general.php:89
554
  msgid "Divi"
555
  msgstr ""
556
 
557
  #: classes/class-cartflows-wizard.php:359
558
+ #: includes/admin/cartflows-general.php:90
559
  msgid "Other"
560
  msgstr ""
561
 
669
  msgstr ""
670
 
671
  #: includes/admin/cartflows-admin.php:19
672
+ #: includes/admin/cartflows-general.php:43
673
  msgid "Modernizing WordPress eCommerce!"
674
  msgstr ""
675
 
702
  msgid "General"
703
  msgstr ""
704
 
705
+ #: includes/admin/cartflows-general.php:28
706
+ #: includes/admin/cartflows-general.php:51
707
  msgid "General Settings"
708
  msgstr ""
709
 
710
+ #: includes/admin/cartflows-general.php:35
711
  msgid "Getting Started"
712
  msgstr ""
713
 
714
+ #: includes/admin/cartflows-general.php:64
715
  msgid "Disallow search engines from indexing flows"
716
  msgstr ""
717
 
718
+ #: includes/admin/cartflows-general.php:74
719
  #: modules/flow/view/meta-flow-steps.php:86
720
  msgid "Global Checkout"
721
  msgstr ""
722
 
723
+ #: includes/admin/cartflows-general.php:83
724
  msgid "Show Templates designed with"
725
  msgstr ""
726
 
727
+ #: includes/admin/cartflows-general.php:84
728
  msgid ""
729
  "CartFlows offers flow templates that can be imported in one click. These "
730
  "templates are available in few different page builders. Please choose your "
732
  "are made using that page builder.."
733
  msgstr ""
734
 
735
+ #: includes/admin/cartflows-general.php:88
736
  msgid "Beaver Builder"
737
  msgstr ""
738
 
739
+ #: includes/admin/cartflows-general.php:99
740
+ #: includes/admin/cartflows-general.php:130
741
  msgid "Save Changes"
742
  msgstr ""
743
 
744
+ #: includes/admin/cartflows-general.php:107
745
+ msgid "Permalink Settings"
746
+ msgstr ""
747
+
748
+ #: includes/admin/cartflows-general.php:118
749
+ msgid "Step Permalink Base"
750
+ msgstr ""
751
+
752
+ #: includes/admin/cartflows-general.php:131
753
+ msgid "Set Default"
754
+ msgstr ""
755
+
756
+ #: includes/admin/cartflows-general.php:146
757
  msgid "Knowledge Base"
758
  msgstr ""
759
 
760
+ #: includes/admin/cartflows-general.php:150
761
  msgid "Not sure how something works? Take a peek at the knowledge base and learn."
762
  msgstr ""
763
 
764
+ #: includes/admin/cartflows-general.php:153
765
  msgid "Visit Knowledge Base »"
766
  msgstr ""
767
 
768
+ #: includes/admin/cartflows-general.php:161
769
  msgid "Community"
770
  msgstr ""
771
 
772
+ #: includes/admin/cartflows-general.php:165
773
  msgid ""
774
  "Join the community of super helpful CartFlows users. Say hello, ask "
775
  "questions, give feedback and help each other!"
776
  msgstr ""
777
 
778
+ #: includes/admin/cartflows-general.php:168
779
  msgid "Join Our Facebook Group »"
780
  msgstr ""
781
 
782
+ #: includes/admin/cartflows-general.php:176
783
  msgid "Five Star Support"
784
  msgstr ""
785
 
786
+ #: includes/admin/cartflows-general.php:180
787
  msgid "Got a question? Get in touch with CartFlows developers. We're happy to help!"
788
  msgstr ""
789
 
790
+ #: includes/admin/cartflows-general.php:183
791
  msgid "Submit a Ticket »"
792
  msgstr ""
793
 
794
+ #: includes/admin/cartflows-general.php:193
795
  msgid "Load Minified CSS"
796
  msgstr ""
797
 
798
+ #: includes/admin/cartflows-general.php:198
799
  msgid ""
800
  "Load the Minified CSS from here. Just Enable it by checking the below given "
801
  "checkbox."
802
  msgstr ""
803
 
804
+ #: includes/admin/cartflows-general.php:205
805
  msgid "Load minified CSS & JS Files"
806
  msgstr ""
807
 
808
+ #: includes/admin/cartflows-general.php:210
809
  msgid "Save"
810
  msgstr ""
811
 
867
  msgid "This product can't be purcahsed"
868
  msgstr ""
869
 
870
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:992
871
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:1023
872
  msgid "Coupon Code"
873
  msgstr ""
874
 
875
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:997
876
+ #: modules/checkout/classes/class-cartflows-checkout-markup.php:1032
877
  msgid "Apply"
878
  msgstr ""
879
 
881
  msgid "Checkout Layout"
882
  msgstr ""
883
 
884
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:153
885
  #: modules/landing/classes/class-cartflows-landing-meta.php:130
886
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:130
887
  msgid "Shortcodes"
888
  msgstr ""
889
 
890
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:159
891
  msgid "Select Product"
892
  msgstr ""
893
 
894
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:165
895
  msgid "Order Bump"
896
  msgstr ""
897
 
898
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:171
899
  msgid "Checkout Design"
900
  msgstr ""
901
 
902
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:177
903
  msgid "Checkout Fields"
904
  msgstr ""
905
 
906
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:194
907
  msgid "Logo (Optional)"
908
  msgstr ""
909
 
910
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:254
911
  msgid "Add this shortcode to your checkout page"
912
  msgstr ""
913
 
914
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:290
915
+ #. translators: %s: link
916
+ msgid ""
917
+ "Upgrade to %1$sCartFlows Pro%2$s for Pre-applied Coupon, Product Variations "
918
+ "& Quantity Options."
919
+ msgstr ""
920
+
921
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:318
922
  #. translators: %s: link
923
+ msgid "Upgrade to %1$sCartFlows Pro%2$s for Order Bump feature."
924
  msgstr ""
925
 
926
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:346
927
  #. translators: %s: link
928
+ msgid "Upgrade to %1$sCartFlows Pro%2$s for Custom Fields feature."
929
  msgstr ""
930
 
931
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:374
932
  msgid "One Column (Available in CartFlows Pro) "
933
  msgstr ""
934
 
935
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:375
936
  msgid "Two Step (Available in CartFlows Pro) "
937
  msgstr ""
938
 
939
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:381
940
  msgid "Checkout Skin"
941
  msgstr ""
942
 
943
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:385
944
  msgid "One Column"
945
  msgstr ""
946
 
947
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:386
948
  msgid "Two Column"
949
  msgstr ""
950
 
951
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:387
952
  msgid "Two Step"
953
  msgstr ""
954
 
955
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:396
956
  msgid "Primary Color"
957
  msgstr ""
958
 
959
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:405
960
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:440
961
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:486
962
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:578
963
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:203
964
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:226
965
  msgid "Font Family"
966
  msgstr ""
967
 
968
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:413
969
  msgid "Advance Options"
970
  msgstr ""
971
 
972
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:425
973
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:211
974
  msgid "Heading"
975
  msgstr ""
976
 
977
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:431
978
  msgid "Heading Color"
979
  msgstr ""
980
 
981
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:449
982
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:495
983
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:587
984
  #: modules/thankyou/classes/class-cartflows-thankyou-meta.php:235
985
  msgid "Font Weight"
986
  msgstr ""
987
 
988
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:457
989
  msgid "Input Fields"
990
  msgstr ""
991
 
992
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:465
993
  msgid "Floating Labels (Available in CartFlows Pro)"
994
  msgstr ""
995
 
996
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:471
997
  msgid "Style"
998
  msgstr ""
999
 
1000
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:476
1001
  msgid "Floating Labels"
1002
  msgstr ""
1003
 
1004
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:503
1005
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:595
1006
  msgid "Size"
1007
  msgstr ""
1008
 
1009
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:507
1010
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:599
1011
  msgid "Extra Small"
1012
  msgstr ""
1013
 
1014
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:508
1015
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:600
1016
  msgid "Small"
1017
  msgstr ""
1018
 
1019
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:509
1020
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:601
1021
  msgid "Medium"
1022
  msgstr ""
1023
 
1024
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:510
1025
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:602
1026
  msgid "Large"
1027
  msgstr ""
1028
 
1029
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:511
1030
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:603
1031
  msgid "Extra Large"
1032
  msgstr ""
1033
 
1034
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:512
1035
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:604
1036
  msgid "Custom"
1037
  msgstr ""
1038
 
1039
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:519
1040
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:611
1041
  msgid "Top Bottom Spacing"
1042
  msgstr ""
1043
 
1044
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:527
1045
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:619
1046
  msgid "Left Right Spacing"
1047
  msgstr ""
1048
 
1049
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:535
1050
  msgid "Text / Placeholder Color"
1051
  msgstr ""
1052
 
1053
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:543
1054
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:643
1055
  msgid "Background Color"
1056
  msgstr ""
1057
 
1058
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:551
1059
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:659
1060
  msgid "Border Color"
1061
  msgstr ""
1062
 
1063
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:558
1064
  msgid "Label Color"
1065
  msgstr ""
1066
 
1067
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:571
1068
  msgid "Buttons"
1069
  msgstr ""
1070
 
1071
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:627
1072
  msgid "Text Color"
1073
  msgstr ""
1074
 
1075
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:635
1076
  msgid "Text Hover Color"
1077
  msgstr ""
1078
 
1079
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:651
1080
  msgid "Background Hover Color"
1081
  msgstr ""
1082
 
1083
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:667
1084
  msgid "Border Hover Color"
1085
  msgstr ""
1086
 
1087
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:680
1088
  msgid "Sections"
1089
  msgstr ""
1090
 
1091
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:686
1092
  msgid "Highlight Area Background Color"
1093
  msgstr ""
1094
 
1095
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:725
1096
  msgid "Header Logo"
1097
  msgstr ""
1098
 
1099
+ #: modules/checkout/classes/class-cartflows-checkout-meta.php:733
1100
  msgid "Logo Width (In px)"
1101
  msgstr ""
1102
 
1223
 
1224
  #: modules/flow/classes/class-cartflows-flow-post-type.php:276
1225
  #: modules/flow/classes/class-cartflows-flow-post-type.php:282
1226
+ #: modules/flow/classes/class-cartflows-step-post-type.php:446
1227
+ #: modules/flow/classes/class-cartflows-step-post-type.php:452
1228
  #. translators: %s: singular custom post type name
1229
  msgid "%s updated."
1230
  msgstr ""
1231
 
1232
  #: modules/flow/classes/class-cartflows-flow-post-type.php:278
1233
+ #: modules/flow/classes/class-cartflows-step-post-type.php:448
1234
  #. translators: %s: singular custom post type name
1235
  msgid "Custom %s updated."
1236
  msgstr ""
1237
 
1238
  #: modules/flow/classes/class-cartflows-flow-post-type.php:280
1239
+ #: modules/flow/classes/class-cartflows-step-post-type.php:450
1240
  #. translators: %s: singular custom post type name
1241
  msgid "Custom %s deleted."
1242
  msgstr ""
1243
 
1244
  #: modules/flow/classes/class-cartflows-flow-post-type.php:284
1245
+ #: modules/flow/classes/class-cartflows-step-post-type.php:454
1246
  #. translators: %1$s: singular custom post type name ,%2$s: date and time of
1247
  #. the revision
1248
  msgid "%1$s restored to revision from %2$s"
1249
  msgstr ""
1250
 
1251
  #: modules/flow/classes/class-cartflows-flow-post-type.php:286
1252
+ #: modules/flow/classes/class-cartflows-step-post-type.php:456
1253
  #. translators: %s: singular custom post type name
1254
  msgid "%s published."
1255
  msgstr ""
1256
 
1257
  #: modules/flow/classes/class-cartflows-flow-post-type.php:288
1258
+ #: modules/flow/classes/class-cartflows-step-post-type.php:458
1259
  #. translators: %s: singular custom post type name
1260
  msgid "%s saved."
1261
  msgstr ""
1262
 
1263
  #: modules/flow/classes/class-cartflows-flow-post-type.php:290
1264
+ #: modules/flow/classes/class-cartflows-step-post-type.php:460
1265
  #. translators: %s: singular custom post type name
1266
  msgid "%s submitted."
1267
  msgstr ""
1268
 
1269
  #: modules/flow/classes/class-cartflows-flow-post-type.php:292
1270
+ #: modules/flow/classes/class-cartflows-step-post-type.php:462
1271
  #. translators: %s: singular custom post type name
1272
  msgid "%s scheduled for."
1273
  msgstr ""
1274
 
1275
  #: modules/flow/classes/class-cartflows-flow-post-type.php:294
1276
+ #: modules/flow/classes/class-cartflows-step-post-type.php:464
1277
  #. translators: %s: singular custom post type name
1278
  msgid "%s draft updated."
1279
  msgstr ""
1309
  msgid "New Step Name"
1310
  msgstr ""
1311
 
1312
+ #: modules/flow/classes/class-cartflows-step-post-type.php:199
1313
  msgid "Step Type"
1314
  msgstr ""
1315
 
1316
+ #: modules/flow/classes/class-cartflows-step-post-type.php:209
1317
  msgid "Step Flow"
1318
  msgstr ""
1319
 
1320
+ #: modules/flow/classes/class-cartflows-step-post-type.php:248
1321
  #: modules/flow/view/meta-flow-steps.php:14
1322
  msgid "Upsell (Woo)"
1323
  msgstr ""
1324
 
1325
+ #: modules/flow/classes/class-cartflows-step-post-type.php:255
1326
  #: modules/flow/view/meta-flow-steps.php:15
1327
  msgid "Downsell (Woo)"
1328
  msgstr ""
1671
  msgid "Step"
1672
  msgstr ""
1673
 
1674
+ #: modules/flow/classes/class-cartflows-step-post-type.php:296
1675
  msgctxt "cartflows"
1676
  msgid "CartFlows — Boxed"
1677
  msgstr ""
1678
 
1679
+ #: modules/flow/classes/class-cartflows-step-post-type.php:297
1680
  msgctxt "cartflows"
1681
  msgid "Template for Page Builders"
1682
  msgstr ""
modules/checkout/classes/class-cartflows-checkout-markup.php CHANGED
@@ -398,7 +398,8 @@ class Cartflows_Checkout_Markup {
398
  }
399
  }
400
 
401
- do_action( 'cartflows_checkout_aftet_configure_cart', $checkout_id );
 
402
  do_action( 'cartflows_checkout_after_configure_cart', $checkout_id );
403
  }
404
  }
398
  }
399
  }
400
 
401
+ /* Since 1.2.2 */
402
+ wcf_do_action_deprecated( 'cartflows_checkout_aftet_configure_cart', array( $checkout_id ), '1.2.2', 'cartflows_checkout_after_configure_cart' );
403
  do_action( 'cartflows_checkout_after_configure_cart', $checkout_id );
404
  }
405
  }
modules/checkout/classes/class-cartflows-checkout-meta.php CHANGED
@@ -148,55 +148,59 @@ class Cartflows_Checkout_Meta extends Cartflows_Meta {
148
  $active_tab = 'wcf-checkout-shortcodes';
149
  }
150
 
151
- $tabs = apply_filters(
152
- 'cartflows_checkout_tabs',
153
  array(
154
- array(
155
- 'title' => __( 'Shortcodes', 'cartflows' ),
156
- 'id' => 'wcf-checkout-shortcodes',
157
- 'class' => 'wcf-checkout-shortcodes' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
158
- 'icon' => 'dashicons-editor-code',
159
- ),
160
- array(
161
- 'title' => __( 'Select Product', 'cartflows' ),
162
- 'id' => 'wcf-checkout-general',
163
- 'class' => 'wcf-checkout-general' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
164
- 'icon' => 'dashicons-info',
165
- ),
166
- array(
167
- 'title' => __( 'Order Bump', 'cartflows' ),
168
- 'id' => 'wcf-product-order-bump',
169
- 'class' => 'wcf-product-order-bump' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
170
- 'icon' => 'dashicons-cart',
171
- ),
172
- array(
173
- 'title' => __( 'Checkout Design', 'cartflows' ),
174
- 'id' => 'wcf-checkout-style',
175
- 'class' => 'wcf-checkout-style' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
176
- 'icon' => 'dashicons-admin-customizer',
177
- ),
178
- array(
179
- 'title' => __( 'Checkout Fields', 'cartflows' ),
180
- 'id' => 'wcf-checkout-custom-fields',
181
- 'class' => 'wcf-checkout-custom-fields' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
182
- 'icon' => 'dashicons-welcome-widgets-menus',
183
- ),
184
- array(
185
- 'title' => __( 'Logo (Optional)', 'cartflows' ),
186
- 'id' => 'wcf-checkout-header',
187
- 'class' => 'wcf-checkout-header' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
188
- 'icon' => 'dashicons-format-image',
189
- ),
190
- array(
191
- 'title' => __( 'Custom Script', 'cartflows' ),
192
- 'id' => 'wcf-checkout-custom-script-header',
193
- 'class' => 'wcf-checkout-custom-script-header' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
194
- 'icon' => 'dashicons-format-aside',
195
- ),
196
  ),
197
- $active_tab
198
  );
199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  ?>
201
  <div class="wcf-checkout-table wcf-metabox-wrap widefat">
202
  <div class="wcf-table-container">
@@ -276,6 +280,18 @@ class Cartflows_Checkout_Meta extends Cartflows_Meta {
276
  )
277
  );
278
 
 
 
 
 
 
 
 
 
 
 
 
 
279
  do_action( 'cartflows_checkout_general_tab_content', $options, $post_id );
280
 
281
  ?>
@@ -299,7 +315,7 @@ class Cartflows_Checkout_Meta extends Cartflows_Meta {
299
  array(
300
  'name' => 'wcf-upgrade-to-pro',
301
  /* translators: %s: link */
302
- 'content' => '<i>' . sprintf( __( 'Upgrade to %1$sCartFlows Pro%2$s for Order Bump feature', 'cartflows' ), '<a href="https://cartflows.com/" target="_blank">', '</a>' ) . '</i>',
303
  )
304
  );
305
  }
@@ -327,7 +343,7 @@ class Cartflows_Checkout_Meta extends Cartflows_Meta {
327
  array(
328
  'name' => 'wcf-upgrade-to-pro',
329
  /* translators: %s: link */
330
- 'content' => '<i>' . sprintf( __( 'Upgrade to %1$sCartFlows Pro%2$s for Custom Fields feature', 'cartflows' ), '<a href="https://cartflows.com/" target="_blank">', '</a>' ) . '</i>',
331
  )
332
  );
333
  }
148
  $active_tab = 'wcf-checkout-shortcodes';
149
  }
150
 
151
+ $tab_array = array(
 
152
  array(
153
+ 'title' => __( 'Shortcodes', 'cartflows' ),
154
+ 'id' => 'wcf-checkout-shortcodes',
155
+ 'class' => 'wcf-checkout-shortcodes' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
156
+ 'icon' => 'dashicons-editor-code',
157
+ ),
158
+ array(
159
+ 'title' => __( 'Select Product', 'cartflows' ),
160
+ 'id' => 'wcf-checkout-general',
161
+ 'class' => 'wcf-checkout-general' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
162
+ 'icon' => 'dashicons-info',
163
+ ),
164
+ array(
165
+ 'title' => __( 'Order Bump', 'cartflows' ),
166
+ 'id' => 'wcf-product-order-bump',
167
+ 'class' => 'wcf-product-order-bump' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
168
+ 'icon' => 'dashicons-cart',
169
+ ),
170
+ array(
171
+ 'title' => __( 'Checkout Design', 'cartflows' ),
172
+ 'id' => 'wcf-checkout-style',
173
+ 'class' => 'wcf-checkout-style' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
174
+ 'icon' => 'dashicons-admin-customizer',
175
+ ),
176
+ array(
177
+ 'title' => __( 'Checkout Fields', 'cartflows' ),
178
+ 'id' => 'wcf-checkout-custom-fields',
179
+ 'class' => 'wcf-checkout-custom-fields' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
180
+ 'icon' => 'dashicons-welcome-widgets-menus',
181
+ ),
182
+ array(
183
+ 'title' => __( 'Custom Script', 'cartflows' ),
184
+ 'id' => 'wcf-checkout-custom-script-header',
185
+ 'class' => 'wcf-checkout-custom-script-header' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
186
+ 'icon' => 'dashicons-format-aside',
 
 
 
 
 
 
 
 
187
  ),
 
188
  );
189
 
190
+ $show_logo = filter_input( INPUT_GET, 'logo-tab', FILTER_VALIDATE_BOOLEAN );
191
+
192
+ if ( $show_logo ) {
193
+ $logo_tab = array(
194
+ 'title' => __( 'Logo (Optional)', 'cartflows' ),
195
+ 'id' => 'wcf-checkout-header',
196
+ 'class' => 'wcf-checkout-header' === $active_tab ? 'wcf-tab wp-ui-text-highlight active' : 'wcf-tab',
197
+ 'icon' => 'dashicons-format-image',
198
+ );
199
+ array_push( $tab_array, $logo_tab );
200
+ }
201
+
202
+ $tabs = apply_filters( 'cartflows_checkout_tabs', $tab_array, $active_tab );
203
+
204
  ?>
205
  <div class="wcf-checkout-table wcf-metabox-wrap widefat">
206
  <div class="wcf-table-container">
280
  )
281
  );
282
 
283
+ if ( ! _is_cartflows_pro() ) {
284
+
285
+ echo wcf()->meta->get_hr_line_field( array() );
286
+ echo wcf()->meta->get_description_field(
287
+ array(
288
+ 'name' => 'wcf-upgrade-to-pro',
289
+ /* translators: %s: link */
290
+ 'content' => '<i>' . sprintf( __( 'Upgrade to %1$sCartFlows Pro%2$s for Pre-applied Coupon, Product Variations & Quantity Options.', 'cartflows' ), '<a href="https://cartflows.com/" target="_blank">', '</a>' ) . '</i>',
291
+ )
292
+ );
293
+ }
294
+
295
  do_action( 'cartflows_checkout_general_tab_content', $options, $post_id );
296
 
297
  ?>
315
  array(
316
  'name' => 'wcf-upgrade-to-pro',
317
  /* translators: %s: link */
318
+ 'content' => '<i>' . sprintf( __( 'Upgrade to %1$sCartFlows Pro%2$s for Order Bump feature.', 'cartflows' ), '<a href="https://cartflows.com/" target="_blank">', '</a>' ) . '</i>',
319
  )
320
  );
321
  }
343
  array(
344
  'name' => 'wcf-upgrade-to-pro',
345
  /* translators: %s: link */
346
+ 'content' => '<i>' . sprintf( __( 'Upgrade to %1$sCartFlows Pro%2$s for Custom Fields feature.', 'cartflows' ), '<a href="https://cartflows.com/" target="_blank">', '</a>' ) . '</i>',
347
  )
348
  );
349
  }
modules/flow/classes/class-cartflows-step-post-type.php CHANGED
@@ -170,7 +170,8 @@ class Cartflows_Step_Post_Type {
170
  'new_item_name' => esc_html__( 'New Step Name', 'cartflows' ),
171
  );
172
 
173
- $args = array(
 
174
  'labels' => $labels,
175
  'public' => true,
176
  'query_var' => true,
@@ -185,6 +186,10 @@ class Cartflows_Step_Post_Type {
185
  'create_posts' => 'do_not_allow', // Prior to Wordpress 4.5, this was false.
186
  ),
187
  'map_meta_cap' => true,
 
 
 
 
188
  );
189
 
190
  register_post_type( CARTFLOWS_STEP_POST_TYPE, $args );
170
  'new_item_name' => esc_html__( 'New Step Name', 'cartflows' ),
171
  );
172
 
173
+ $permalink_settings = Cartflows_Helper::get_permalink_settings();
174
+ $args = array(
175
  'labels' => $labels,
176
  'public' => true,
177
  'query_var' => true,
186
  'create_posts' => 'do_not_allow', // Prior to Wordpress 4.5, this was false.
187
  ),
188
  'map_meta_cap' => true,
189
+ 'rewrite' => array(
190
+ 'slug' => $permalink_settings['permalink'],
191
+ 'with_front' => false,
192
+ ),
193
  );
194
 
195
  register_post_type( CARTFLOWS_STEP_POST_TYPE, $args );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.me/BrainstormForce
4
  Tags: woocommerce, funnel builder, sales funnels
5
  Requires at least: 4.4
6
  Tested up to: 5.2
7
- Stable tag: 1.2.2
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -124,6 +124,13 @@ Glad you asked! CartFlows Pro is an optional add-on to CartFlows that adds addit
124
  5. Easily edit anything with your page builder.
125
 
126
  == Changelog ==
 
 
 
 
 
 
 
127
  = Version 1.2.2 - Thursday, 27th June 2019 =
128
  * Fix: Vivawallet Gateway issue fixed for global checkout.
129
  * Fix: Two column css issue on mobile.
4
  Tags: woocommerce, funnel builder, sales funnels
5
  Requires at least: 4.4
6
  Tested up to: 5.2
7
+ Stable tag: 1.2.3
8
  Requires PHP: 5.6
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
124
  5. Easily edit anything with your page builder.
125
 
126
  == Changelog ==
127
+ = Version 1.2.3 - Thursday, 11th July 2019 =
128
+ * New: Permalink option added in settings to change the "cartflows_step" post-type slug.
129
+ * New: LearnDash Compatibility added for custom templates.
130
+ * Improvement: The hook 'cartflows_checkout_aftet_configure_cart' deprecated.
131
+ * Improvement: The 'Logo' tab removed from the checkout step.
132
+ * Improvement: Optimized the backward-compatibility database query.
133
+
134
  = Version 1.2.2 - Thursday, 27th June 2019 =
135
  * Fix: Vivawallet Gateway issue fixed for global checkout.
136
  * Fix: Two column css issue on mobile.