diff --git a/infusionsoft.php b/infusionsoft.php index b760a0e..db679e1 100644 --- a/infusionsoft.php +++ b/infusionsoft.php @@ -3,7 +3,7 @@ Plugin Name: Gravity Forms Infusionsoft Add-On Plugin URI: http://katz.co Description: Integrates Gravity Forms with Infusionsoft allowing form submissions to be automatically sent to your Infusionsoft account -Version: 1.5.7.1 +Version: 1.5.7.2 Author: Katz Web Services, Inc. Author URI: http://www.katzwebservices.com @@ -34,7 +34,7 @@ class GFInfusionsoft { private static $path = "gravity-forms-infusionsoft/infusionsoft.php"; private static $url = "http://www.gravityforms.com"; private static $slug = "gravity-forms-infusionsoft"; - private static $version = "1.5.7.1"; + private static $version = "1.5.7.2"; private static $min_gravityforms_version = "1.3.9"; private static $is_debug = NULL; private static $debug_js = false; @@ -48,6 +48,8 @@ class GFInfusionsoft { public static function init(){ global $pagenow; + self::log_debug('init version: ' . self::$version ); + load_plugin_textdomain('gravity-forms-infusionsoft', FALSE, '/gravity-forms-infusionsoft/languages' ); if($pagenow === 'plugins.php') { @@ -73,6 +75,9 @@ public static function init(){ if(self::has_access("gravityforms_infusionsoft")){ RGForms::add_settings_page("Infusionsoft", array("GFInfusionsoft", "settings_page"), self::get_base_url() . "/images/infusionsoft_wordpress_icon_32.png"); } + + // Enable debug with Gravity Forms Logging Add-on + add_filter( 'gform_logging_supported', array( 'GFInfusionsoft', 'add_debug_settings' ) ); } //integrating with Members plugin @@ -1521,10 +1526,15 @@ public static function get_mapped_field_checkbox($variable_name, $selected_field } public static function export($entry, $form){ + + self::log_debug( 'init export. Entry ID: ' . $entry['id'] ); + //Login to Infusionsoft $api = self::get_api(); - if(!empty($api->lastError)) + if(!empty($api->lastError)) { + self::log_debug( 'Infusionsoft API Error: ' . print_r( $api->lastError, true ) ); return; + } //loading data class require_once(self::get_base_path() . "/data.php"); @@ -1539,9 +1549,13 @@ public static function export($entry, $form){ public static function export_feed($entry, $form, $feed, $api){ + self::log_debug( '[Entry ID: '. $entry['id'] . '] Init Export Feed: ' . print_r( $feed, true ) ); + $email_field_id = $feed["meta"]["field_map"]["Email"]; $email = $entry[$email_field_id]; + self::log_debug( '[Entry ID: '. $entry['id'] . '] Email: ' . print_r( $email, true ) ); + $merge_vars = array(); foreach($feed["meta"]["field_map"] as $var_tag => $field_id){ @@ -1571,18 +1585,24 @@ public static function export_feed($entry, $form, $feed, $api){ } } + self::log_debug( '[Entry ID: '. $entry['id'] . '] Infusionsoft Merge Data: ' . print_r( $merge_vars, true ) ); + $valid = self::test_api(); if($valid) { $contact_id = self::add_contact($email, $merge_vars); + self::log_debug( '[Entry ID: '. $entry['id'] . '] Contact ID: ' . print_r( $contact_id, true ) ); + if($contact_id) { $tags_added = self::add_tags_to_contact($contact_id, $merge_vars, $feed, $entry, $form); + self::log_debug( '[Entry ID: '. $entry['id'] . '] Adding Tags: ' . print_r( $tags_added, true ) ); } // Only set them as marketable if they opt-in // http://help.infusionsoft.com/developers/services-methods/email/optIn if(self::is_optin($form, $feed)) { $opt_in = self::opt_in($email, $entry); + self::log_debug( '[Entry ID: '. $entry['id'] . '] Opt In: ' . print_r( $opt_in, true ) ); } if(self::is_debug()) { @@ -1597,11 +1617,14 @@ public static function export_feed($entry, $form, $feed, $api){ 'Adding Tags' => $tags_added, )); } - + self::log_debug( '[Entry ID: '. $entry['id'] . '] Form Entry Data: ' . print_r( $entry, true ) ); + self::log_debug( '[Entry ID: '. $entry['id'] . '] Posted Data ($_POST): ' . print_r( $_POST, true ) ); self::add_note($entry, $contact_id); } elseif(current_user_can('administrator')) { echo '