Added option to "Enable marketing opt in". Enabling this option will show an 'Opt In to Marketing' option on registration and on the contact details page. If selected by a user, they will be opted in to email marketing on Infusionsoft. Note that if a user opts out after they have opted in, they will be unable to opt in again through the site.
Added tags for user groups options. When a user is added to/removed from a user groups (including on registration) they will have the selected tag added to/removed from their Infusionsoft profile.
Added "Export Users in User Groups" option. Only users in the selected user groups will now be imported from Infusionsoft. Note that this doesn't cause any previously exported users or users with this user group removed to be deleted.
Added "Export opted in users only" option. If marketing opt in is disabled or a user does not check the box to opt in on registration, they will not be exported to Infusionsoft until they have opted in.
Users are now able to be synced/pulled from Infusionsoft. New users are created if the email address is unique and a password is generated. Using the Email Admin-Generated Passwords by Waindigo add-on, this can email users with their new password.
A cron entry is set to run ever hour to check for updates to users. Currently the only data that is synced is the contact's email address and their tags.
Added criteria for users linked to an Infusionsoft contact with specified tag. This can be used, for example, to add users to a specified user group in XenForo if they have a certain tag set in Infusionsoft.
Updated infusionsoft_callback.php script to be called by any contact-related action sets to sync a single user.