Import users from CSV with meta - Version 1.16.3

Version Description

  • Now you can use HTML emails
  • Code improvements
Download this release

Release Info

Developer carazo
Plugin Icon 128x128 Import users from CSV with meta
Version 1.16.3
Comparing to
See all releases

Code changes from version 1.16.2 to 1.16.3

classes/email-options.php CHANGED
@@ -6,6 +6,8 @@ class ACUI_Email_Options{
6
  add_action( 'admin_enqueue_scripts', array( $this, 'load_scripts' ), 10, 1 );
7
  add_action( 'wp_ajax_acui_mail_options_remove_attachment', array( $this, 'ajax_remove_attachment' ) );
8
  add_action( 'wp_ajax_acui_send_test_email', array( $this, 'ajax_send_test_email' ) );
 
 
9
  }
10
 
11
  public static function admin_gui(){
@@ -16,6 +18,7 @@ class ACUI_Email_Options{
16
  $template_id = get_option( "acui_mail_template_id" );
17
  $attachment_id = get_option( "acui_mail_attachment_id" );
18
  $enable_email_templates = get_option( "acui_enable_email_templates" );
 
19
  ?>
20
  <form method="POST" enctype="multipart/form-data" action="" accept-charset="utf-8">
21
  <h3><?php _e('WordPress automatic emails','import-users-from-csv-with-meta'); ?></h3>
@@ -70,6 +73,22 @@ class ACUI_Email_Options{
70
  </fieldset>
71
  </td>
72
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  </tbody>
74
  </table>
75
 
@@ -82,7 +101,13 @@ class ACUI_Email_Options{
82
  <h3><?php _e( 'Customize the email that can be sent when importing users', 'import-users-from-csv-with-meta' ); ?></h3>
83
 
84
  <p><?php _e( 'Mail subject :', 'import-users-from-csv-with-meta' ); ?><input name="subject_mail" size="100" value="<?php echo $subject_mail; ?>" id="title" autocomplete="off" type="text"></p>
 
 
 
 
85
  <?php wp_editor( $body_mail, 'body_mail'); ?>
 
 
86
  <input type="hidden" id="template_id" name="template_id" value="<?php echo $template_id; ?>"/>
87
 
88
  <fieldset>
@@ -101,12 +126,63 @@ class ACUI_Email_Options{
101
 
102
  <?php wp_nonce_field( 'codection-security', 'security' ); ?>
103
 
104
- <?php ACUI_Email_Template::email_templates_edit_form_after_editor(); ?>
105
 
106
  </form>
107
  <?php
108
  }
109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  public static function send_email( $user_object, $positions = array(), $headers = array(), $data = array(), $created = false, $password = '' ){
111
  $key = get_password_reset_key( $user_object );
112
  $wp_users_fields = acui_get_wp_users_fields();
@@ -207,6 +283,14 @@ class ACUI_Email_Options{
207
 
208
  self::send_email( wp_get_current_user() );
209
  }
 
 
 
 
 
 
 
 
210
  }
211
 
212
  new ACUI_Email_Options();
6
  add_action( 'admin_enqueue_scripts', array( $this, 'load_scripts' ), 10, 1 );
7
  add_action( 'wp_ajax_acui_mail_options_remove_attachment', array( $this, 'ajax_remove_attachment' ) );
8
  add_action( 'wp_ajax_acui_send_test_email', array( $this, 'ajax_send_test_email' ) );
9
+ add_action( 'acui_homepage_start', array( $this, 'maybe_fill_empty_options' ) );
10
+ add_action( 'acui_mail_options_save_settings', array( $this, 'save_mail_template' ), 10, 1 );
11
  }
12
 
13
  public static function admin_gui(){
18
  $template_id = get_option( "acui_mail_template_id" );
19
  $attachment_id = get_option( "acui_mail_attachment_id" );
20
  $enable_email_templates = get_option( "acui_enable_email_templates" );
21
+ $disable_wp_editor = get_option( "acui_mail_disable_wp_editor" );
22
  ?>
23
  <form method="POST" enctype="multipart/form-data" action="" accept-charset="utf-8">
24
  <h3><?php _e('WordPress automatic emails','import-users-from-csv-with-meta'); ?></h3>
73
  </fieldset>
74
  </td>
75
  </tr>
76
+ <tr valign="top">
77
+ <th scope="row">
78
+ <?php _e( 'Disable WP Editor:', 'import-users-from-csv-with-meta' ); ?>
79
+ </th>
80
+ <td>
81
+ <fieldset>
82
+ <legend class="screen-reader-text">
83
+ <span><?php _e( 'Do you want to disable WP Editor?', 'import-users-from-csv-with-meta' ); ?></span>
84
+ </legend>
85
+ <label for="disable_wp_editor">
86
+ <input id="disable_wp_editor" name="disable_wp_editor" value="yes" type="checkbox" <?php checked( $disable_wp_editor ); ?>>
87
+ <span class="description"><?php _e( 'If you want to use email with custom HTML and CSS tags, disable WP Editor', 'import-users-from-csv-with-meta' ); ?></span>
88
+ </label>
89
+ </fieldset>
90
+ </td>
91
+ </tr>
92
  </tbody>
93
  </table>
94
 
101
  <h3><?php _e( 'Customize the email that can be sent when importing users', 'import-users-from-csv-with-meta' ); ?></h3>
102
 
103
  <p><?php _e( 'Mail subject :', 'import-users-from-csv-with-meta' ); ?><input name="subject_mail" size="100" value="<?php echo $subject_mail; ?>" id="title" autocomplete="off" type="text"></p>
104
+
105
+ <?php if( $disable_wp_editor ): ?>
106
+ <p><textarea name='body_mail' style="width:100%;" rows="20"><?php echo $body_mail; ?></textarea></p>
107
+ <?php else: ?>
108
  <?php wp_editor( $body_mail, 'body_mail'); ?>
109
+ <?php endif; ?>
110
+
111
  <input type="hidden" id="template_id" name="template_id" value="<?php echo $template_id; ?>"/>
112
 
113
  <fieldset>
126
 
127
  <?php wp_nonce_field( 'codection-security', 'security' ); ?>
128
 
129
+ <?php do_action( 'acui_email_options_after_editor' ); ?>
130
 
131
  </form>
132
  <?php
133
  }
134
 
135
+ function maybe_fill_empty_options(){
136
+ if( get_option( "acui_mail_body" ) == "" )
137
+ update_option( "acui_mail_body", __( 'Welcome,', 'import-users-from-csv-with-meta' ) . '<br/>' . __( 'Your data to login in this site is:', 'import-users-from-csv-with-meta' ) . '<br/><ul><li>' . __( 'URL to login', 'import-users-from-csv-with-meta' ) . ': **loginurl**</li><li>' . __( 'Username', 'import-users-from-csv-with-meta' ) . ' = **username**</li><li>' . __( 'Password', 'import-users-from-csv-with-meta' ) . ' = **password**</li></ul>' );
138
+
139
+ if( get_option( "acui_mail_subject" ) == "" )
140
+ update_option( "acui_mail_subject", __('Welcome to','import-users-from-csv-with-meta') . ' ' . get_bloginfo("name") );
141
+ }
142
+
143
+ function save_mail_template( $form_data ){
144
+ if ( !isset( $form_data['security'] ) || !wp_verify_nonce( $form_data['security'], 'codection-security' ) ) {
145
+ wp_die( __( 'Nonce check failed', 'import-users-from-csv-with-meta' ) );
146
+ }
147
+
148
+ add_filter( 'wp_kses_allowed_html', array( $this, 'allow_more_post_tags' ), 10, 2 );
149
+
150
+ $automatic_wordpress_email = sanitize_text_field( $form_data["automatic_wordpress_email"] );
151
+ $automatic_created_edited_wordpress_email = sanitize_text_field( $form_data["automatic_created_edited_wordpress_email"] );
152
+ $subject_mail = sanitize_text_field( stripslashes_deep( $form_data["subject_mail"] ) );
153
+ $body_mail = wp_kses_post( stripslashes( $form_data["body_mail"] ) );
154
+ $template_id = intval( $form_data["template_id"] );
155
+ $email_template_attachment_id = intval( $form_data["email_template_attachment_id"] );
156
+ $disable_wp_editor = isset( $form_data['disable_wp_editor'] ) && $form_data['disable_wp_editor'] == 'yes';
157
+
158
+ remove_filter( 'wp_kses_allowed_html', array( $this, 'allow_more_post_tags' ), 10, 2 );
159
+
160
+ update_option( "acui_automatic_wordpress_email", $automatic_wordpress_email );
161
+ update_option( "acui_automatic_created_edited_wordpress_email", $automatic_created_edited_wordpress_email );
162
+ update_option( "acui_mail_subject", $subject_mail );
163
+ update_option( "acui_mail_body", $body_mail );
164
+ update_option( "acui_mail_template_id", $template_id );
165
+ update_option( "acui_mail_attachment_id", $email_template_attachment_id );
166
+ update_option( "acui_mail_disable_wp_editor", $disable_wp_editor );
167
+
168
+ $template_id = absint( $form_data["template_id"] );
169
+
170
+ if( !empty( $template_id ) ){
171
+ wp_update_post( array(
172
+ 'ID' => $template_id,
173
+ 'post_title' => $subject_mail,
174
+ 'post_content' => $body_mail,
175
+ ) );
176
+
177
+ update_post_meta( $template_id, 'email_template_attachment_id', $email_template_attachment_id );
178
+ }
179
+ ?>
180
+ <div class="updated">
181
+ <p><?php _e( 'Mail template and options updated correctly', 'import-users-from-csv-with-meta' )?></p>
182
+ </div>
183
+ <?php
184
+ }
185
+
186
  public static function send_email( $user_object, $positions = array(), $headers = array(), $data = array(), $created = false, $password = '' ){
187
  $key = get_password_reset_key( $user_object );
188
  $wp_users_fields = acui_get_wp_users_fields();
283
 
284
  self::send_email( wp_get_current_user() );
285
  }
286
+
287
+ function allow_more_post_tags( $tags, $context ) {
288
+ if ( 'post' === $context ) {
289
+ $tags['style'] = array();
290
+ }
291
+
292
+ return $tags;
293
+ }
294
  }
295
 
296
  new ACUI_Email_Options();
classes/email-templates.php CHANGED
@@ -10,6 +10,7 @@ class ACUI_Email_Template{
10
  add_action( 'wp_ajax_acui_email_template_selected', array( $this, 'email_template_selected' ) );
11
  add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
12
  add_action( 'save_post', array( $this, 'save_post' ) );
 
13
  }
14
 
15
  function cpt_email_template() {
@@ -68,7 +69,7 @@ class ACUI_Email_Template{
68
  register_post_type( 'acui_email_template', $args );
69
  }
70
 
71
- public static function email_templates_edit_form_after_editor( $post = "" ){
72
  if( !empty( $post ) && $post->post_type != 'acui_email_template' )
73
  return;
74
  ?>
10
  add_action( 'wp_ajax_acui_email_template_selected', array( $this, 'email_template_selected' ) );
11
  add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ) );
12
  add_action( 'save_post', array( $this, 'save_post' ) );
13
+ add_action( 'acui_email_options_after_editor', array( $this, 'email_templates_edit_form_after_editor' ) );
14
  }
15
 
16
  function cpt_email_template() {
69
  register_post_type( 'acui_email_template', $args );
70
  }
71
 
72
+ public function email_templates_edit_form_after_editor( $post = "" ){
73
  if( !empty( $post ) && $post->post_type != 'acui_email_template' )
74
  return;
75
  ?>
classes/homepage.php CHANGED
@@ -1,16 +1,17 @@
1
  <?php
2
-
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
 
5
  class ACUI_Homepage{
 
 
 
 
6
  public static function admin_gui(){
7
  $last_roles_used = empty( get_option( 'acui_last_roles_used' ) ) ? array( 'subscriber' ) : get_option( 'acui_last_roles_used' );
8
-
9
- self::check_options();
10
  ?>
11
  <div class="wrap acui">
12
 
13
- <?php self::maybe_remove_old_csv(); ?>
14
 
15
  <div id='message' class='updated'><?php _e( 'File must contain at least <strong>2 columns: username and email</strong>. These should be the first two columns and it should be placed <strong>in this order: username and email</strong>. If there are more columns, this plugin will manage it automatically.', 'import-users-from-csv-with-meta' ); ?></div>
16
  <div id='message-password' class='error'><?php _e( 'Please, read carefully how <strong>passwords are managed</strong> and also take note about capitalization, this plugin is <strong>case sensitive</strong>.', 'import-users-from-csv-with-meta' ); ?></div>
@@ -294,7 +295,7 @@ class ACUI_Homepage{
294
  <?php
295
  }
296
 
297
- public static function maybe_remove_old_csv(){
298
  $args_old_csv = array( 'post_type'=> 'attachment', 'post_mime_type' => 'text/csv', 'post_status' => 'inherit', 'posts_per_page' => -1 );
299
  $old_csv_files = new WP_Query( $args_old_csv );
300
 
@@ -327,12 +328,4 @@ class ACUI_Homepage{
327
  </div>
328
  <?php endif;
329
  }
330
-
331
- public static function check_options(){
332
- if( get_option( "acui_mail_body" ) == "" )
333
- update_option( "acui_mail_body", __( 'Welcome,', 'import-users-from-csv-with-meta' ) . '<br/>' . __( 'Your data to login in this site is:', 'import-users-from-csv-with-meta' ) . '<br/><ul><li>' . __( 'URL to login', 'import-users-from-csv-with-meta' ) . ': **loginurl**</li><li>' . __( 'Username', 'import-users-from-csv-with-meta' ) . ' = **username**</li><li>' . __( 'Password', 'import-users-from-csv-with-meta' ) . ' = **password**</li></ul>' );
334
-
335
- if( get_option( "acui_mail_subject" ) == "" )
336
- update_option( "acui_mail_subject", __('Welcome to','import-users-from-csv-with-meta') . ' ' . get_bloginfo("name") );
337
- }
338
  }
1
  <?php
 
2
  if ( ! defined( 'ABSPATH' ) ) exit;
3
 
4
  class ACUI_Homepage{
5
+ function __construct(){
6
+ add_action( 'acui_homepage_start', array( $this, 'maybe_remove_old_csv' ) );
7
+ }
8
+
9
  public static function admin_gui(){
10
  $last_roles_used = empty( get_option( 'acui_last_roles_used' ) ) ? array( 'subscriber' ) : get_option( 'acui_last_roles_used' );
 
 
11
  ?>
12
  <div class="wrap acui">
13
 
14
+ <?php do_action( 'acui_homepage_start' ); ?>
15
 
16
  <div id='message' class='updated'><?php _e( 'File must contain at least <strong>2 columns: username and email</strong>. These should be the first two columns and it should be placed <strong>in this order: username and email</strong>. If there are more columns, this plugin will manage it automatically.', 'import-users-from-csv-with-meta' ); ?></div>
17
  <div id='message-password' class='error'><?php _e( 'Please, read carefully how <strong>passwords are managed</strong> and also take note about capitalization, this plugin is <strong>case sensitive</strong>.', 'import-users-from-csv-with-meta' ); ?></div>
295
  <?php
296
  }
297
 
298
+ function maybe_remove_old_csv(){
299
  $args_old_csv = array( 'post_type'=> 'attachment', 'post_mime_type' => 'text/csv', 'post_status' => 'inherit', 'posts_per_page' => -1 );
300
  $old_csv_files = new WP_Query( $args_old_csv );
301
 
328
  </div>
329
  <?php endif;
330
  }
 
 
 
 
 
 
 
 
331
  }
import-users-from-csv-with-meta.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Import and export users and customers
4
  Plugin URI: https://www.codection.com
5
  Description: Using this plugin you will be able to import and export users or customers choosing many options and interacting with lots of other plugins
6
- Version: 1.16.2
7
  Author: codection
8
  Author URI: https://codection.com
9
  License: GPL2
@@ -27,6 +27,7 @@ class ImportExportUsersCustomers{
27
  'acui_mail_template_id' => 0,
28
  'acui_mail_attachment_id' => 0,
29
  'acui_enable_email_templates' => false,
 
30
  // cron
31
  'acui_cron_activated' => false,
32
  'acui_cron_send_mail' => false,
3
  Plugin Name: Import and export users and customers
4
  Plugin URI: https://www.codection.com
5
  Description: Using this plugin you will be able to import and export users or customers choosing many options and interacting with lots of other plugins
6
+ Version: 1.16.3
7
  Author: codection
8
  Author URI: https://codection.com
9
  License: GPL2
27
  'acui_mail_template_id' => 0,
28
  'acui_mail_attachment_id' => 0,
29
  'acui_enable_email_templates' => false,
30
+ 'acui_mail_disable_wp_editor' => false,
31
  // cron
32
  'acui_cron_activated' => false,
33
  'acui_cron_send_mail' => false,
importer.php CHANGED
@@ -750,8 +750,8 @@ function acui_options(){
750
  acui_manage_extra_profile_fields( $_POST );
751
  break;
752
 
753
- case 'mail-options':
754
- acui_save_mail_template( $_POST );
755
  break;
756
 
757
  case 'cron':
@@ -976,43 +976,6 @@ function acui_manage_extra_profile_fields( $form_data ){
976
  update_option( "acui_columns", array() );
977
  }
978
 
979
- function acui_save_mail_template( $form_data ){
980
- if ( !isset( $form_data['security'] ) || !wp_verify_nonce( $form_data['security'], 'codection-security' ) ) {
981
- wp_die( __( 'Nonce check failed', 'import-users-from-csv-with-meta' ) );
982
- }
983
-
984
- $automatic_wordpress_email = sanitize_text_field( $form_data["automatic_wordpress_email"] );
985
- $automatic_created_edited_wordpress_email = sanitize_text_field( $form_data["automatic_created_edited_wordpress_email"] );
986
- $subject_mail = sanitize_text_field( stripslashes_deep( $form_data["subject_mail"] ) );
987
- $body_mail = wp_kses_post( stripslashes( $form_data["body_mail"] ) );
988
- $template_id = intval( $form_data["template_id"] );
989
- $email_template_attachment_id = intval( $form_data["email_template_attachment_id"] );
990
-
991
- update_option( "acui_automatic_wordpress_email", $automatic_wordpress_email );
992
- update_option( "acui_automatic_created_edited_wordpress_email", $automatic_created_edited_wordpress_email );
993
- update_option( "acui_mail_subject", $subject_mail );
994
- update_option( "acui_mail_body", $body_mail );
995
- update_option( "acui_mail_template_id", $template_id );
996
- update_option( "acui_mail_attachment_id", $email_template_attachment_id );
997
-
998
- $template_id = absint( $form_data["template_id"] );
999
-
1000
- if( !empty( $template_id ) ){
1001
- wp_update_post( array(
1002
- 'ID' => $template_id,
1003
- 'post_title' => $subject_mail,
1004
- 'post_content' => $body_mail,
1005
- ) );
1006
-
1007
- update_post_meta( $template_id, 'email_template_attachment_id', $email_template_attachment_id );
1008
- }
1009
- ?>
1010
- <div class="updated">
1011
- <p><?php _e( 'Mail template and options updated correctly', 'import-users-from-csv-with-meta' )?></p>
1012
- </div>
1013
- <?php
1014
- }
1015
-
1016
  // wp-access-areas functions
1017
  function acui_set_cap_for_user( $capability , &$user , $add ) {
1018
  $has_cap = $user->has_cap( $capability );
750
  acui_manage_extra_profile_fields( $_POST );
751
  break;
752
 
753
+ case 'mail-options':
754
+ do_action( 'acui_mail_options_save_settings', $_POST );
755
  break;
756
 
757
  case 'cron':
976
  update_option( "acui_columns", array() );
977
  }
978
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
979
  // wp-access-areas functions
980
  function acui_set_cap_for_user( $capability , &$user , $add ) {
981
  $has_cap = $user->has_cap( $capability );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://codection.com/go/donate-import-users-from-csv-with-meta/
4
  Tags: csv, import, importer, meta data, meta, user, users, user meta, editor, profile, custom, fields, delimiter, update, insert
5
  Requires at least: 3.4
6
  Tested up to: 5.5.1
7
- Stable tag: 1.16.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -16,26 +16,26 @@ Clean and easy-to-use Import users plugin. It includes custom user meta to be in
16
 
17
  * Import CSV file with users directly to your WordPress or customers into WooCommerce
18
  * Import thousends of users or customers in only some seconds
19
- * Export users or customers to a CSV file
20
- * You can also import meta-data like data from WooCommerce customers using the correct meta_keys
21
  * You can assign roles while importing
22
- * Send a mail to every new user, this mails can be saved as templates and are fully customizable
23
  * Use your own
24
- * You can also update data of each user
25
- * Assing a role
26
  * Create a cron task to import users periodically
27
  * Edit the metadata (you will be able to edit the metadata imported using metakeys directly in the profile of each user)
28
- * Read our documentation
29
  * Extend the plugin using the hooks we provide
30
- * Ask anything in support forum, we try to give the best support
31
 
32
- Moreover this plugin is compatible with:
33
 
34
  * WooCommerce: to import the customer data
35
  * WooCommerce Memberships: to import memberships
 
36
  * BuddyPress: to import custom BuddyPress fields, groups and roles
 
37
  * Paid Membership Pro: to import memberships
38
  * Indeed Ultimate Membership Pro: to import memberships
 
39
  * Allow Multiple Accounts: plugin will allow the same rules importing than this plugin
40
  * Groups: to assign users to groups while importing
41
  * New User Approve: you can import users and approbe/wait for approve them
@@ -44,7 +44,11 @@ Moreover this plugin is compatible with:
44
  * WP Members: to import memberships
45
  * WP Users Group: to assign users to groups while importing
46
  * WooCommerce Membership by RightPress: to create memberships while users are being imported
47
- * WooCommerce Subscritpions: to create subscriptions associated with users while they are being imported
 
 
 
 
48
 
49
  In Codection we have more plugins, please take a look to them.
50
 
@@ -99,6 +103,10 @@ Plugin will automatically detect:
99
 
100
  == Changelog ==
101
 
 
 
 
 
102
  = 1.16.2 =
103
  * Email sending function created
104
  * Test email button included
4
  Tags: csv, import, importer, meta data, meta, user, users, user meta, editor, profile, custom, fields, delimiter, update, insert
5
  Requires at least: 3.4
6
  Tested up to: 5.5.1
7
+ Stable tag: 1.16.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
16
 
17
  * Import CSV file with users directly to your WordPress or customers into WooCommerce
18
  * Import thousends of users or customers in only some seconds
19
+ * Export users or customers to a CSV file, filtering by role or registered date
20
+ * You can also import meta-data like data from WooCommerce customers
21
  * You can assign roles while importing
22
+ * Send a mail to every new user, this mails can be saved as templates and are fully customizable, before sending you can test it
23
  * Use your own
24
+ * You can also update users if the user is already in your WordPress
 
25
  * Create a cron task to import users periodically
26
  * Edit the metadata (you will be able to edit the metadata imported using metakeys directly in the profile of each user)
 
27
  * Extend the plugin using the hooks we provide
 
28
 
29
+ Moreover this plugin is compatible with many other plugins to be able to import and include them data, subscriptions, memberships, etc. Take a look:
30
 
31
  * WooCommerce: to import the customer data
32
  * WooCommerce Memberships: to import memberships
33
+ * WooCommerce Subscriptions: to create subscriptions associated with users while they are being imported
34
  * BuddyPress: to import custom BuddyPress fields, groups and roles
35
+ * Advanced Custom Fields: to import data to the fields you define there
36
  * Paid Membership Pro: to import memberships
37
  * Indeed Ultimate Membership Pro: to import memberships
38
+ * Paid Member Subscriptions: to import memberships
39
  * Allow Multiple Accounts: plugin will allow the same rules importing than this plugin
40
  * Groups: to assign users to groups while importing
41
  * New User Approve: you can import users and approbe/wait for approve them
44
  * WP Members: to import memberships
45
  * WP Users Group: to assign users to groups while importing
46
  * WooCommerce Membership by RightPress: to create memberships while users are being imported
47
+
48
+ If you have some problem or doubt:
49
+
50
+ * Read our documentation
51
+ * Ask anything in support forum, we try to give the best support
52
 
53
  In Codection we have more plugins, please take a look to them.
54
 
103
 
104
  == Changelog ==
105
 
106
+ = 1.16.3 =
107
+ * Now you can use HTML emails
108
+ * Code improvements
109
+
110
  = 1.16.2 =
111
  * Email sending function created
112
  * Test email button included