Warning: Contact Form 7 - activetrail Add-on requires that you have the latest version of Contact Form 7 installed. Please upgrade now.

'; } } // If it's not installed and activated, throw an error else { echo '

Contact Form 7 is not activated. Contact Form 7 must be installed and activated before you can use the activetrail addon.

'; } if( !class_exists( 'SoapClient' ) ){ echo '

Warning: Contact Form 7 - activetrail Add-on requires SoapClient php extension installed. Please add the extension via php.ini file or contact your hosting support.

'; } } add_action( 'admin_notices', 'cf7_activetrail_notice' ); /** * Enable the ActiveTrail tags in the tag generator */ function cf7_activetrail_add_tag_generator() { if( function_exists('wpcf7_activetrail_tag_generator') ) { // Modify callback based on CF7 version $callback = function_exists('wpcf7_add_meta_boxes') ? 'wpcf7_tag_generator_activetrail_old' : 'wpcf7_tag_generator_activetrail'; wpcf7_activetrail_tag_generator( 'activetrail', 'activetrail Fields', 'wpcf7-tg-pane-activetrail', $callback ); } } add_action( 'admin_init', 'cf7_activetrail_add_tag_generator', 99 ); /** * Adds a box to the main column on the form edit page. * * CF7 < 4.2 */ function cf7_activetrail_tag_add_meta_boxes() { add_meta_box( 'cf7-activetrail-settings', 'activetrail Settings', 'cf7_activetrail_addon_metaboxes', null, 'form', 'low'); } add_action( 'wpcf7_add_meta_boxes', 'cf7_activetrail_tag_add_meta_boxes' ); /** * Adds a tab to the editor on the form edit page. * * CF7 >= 4.2 */ function cf7_activetrail_tag_page_panels($panels) { $panels['activetrail-panel'] = array( 'title' => 'Active Trail integration', 'callback' => 'cf7_activetrail_addon_panel_meta' ); return $panels; } add_action( 'wpcf7_editor_panels', 'cf7_activetrail_tag_page_panels' ); // Create the meta boxes (CF7 < 4.2) function cf7_activetrail_addon_metaboxes11( $post ) { // Add an nonce field so we can check for it later. wp_nonce_field( 'cf7_activetrail_addon_metaboxes', 'cf7_activetrail_addon_metaboxes_nonce' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes11', 'cf7_activetrail_addon_metaboxes_nonce11' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes22', 'cf7_activetrail_addon_metaboxes_nonce22' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes33', 'cf7_activetrail_addon_metaboxes_nonce33' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes44', 'cf7_activetrail_addon_metaboxes_nonce44' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes55', 'cf7_activetrail_addon_metaboxes_nonce55' ); /* * Use get_post_meta() to retrieve an existing value * from the database and use the value for the form. */ $activetrail_addon_tag_value = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key', true ); $activetrail_addon_tag_value11 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key11', true ); $activetrail_addon_tag_value22 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key22', true ); $activetrail_addon_tag_value33 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key33', true ); $activetrail_addon_tag_value44 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key44', true ); $activetrail_addon_tag_value55 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key55', true ); //echo ' '; //echo ''; //echo '

Separate multiple tags with commas. These must already be defined in ActiveTrail.

'; } // Create the panel inputs (CF7 >= 4.2) function cf7_activetrail_addon_panel_meta( $post ) { wp_nonce_field( 'cf7_activetrail_addon_metaboxes', 'cf7_activetrail_addon_metaboxes_nonce' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes11', 'cf7_activetrail_addon_metaboxes_nonce11' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes22', 'cf7_activetrail_addon_metaboxes_nonce22' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes33', 'cf7_activetrail_addon_metaboxes_nonce33' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes44', 'cf7_activetrail_addon_metaboxes_nonce44' ); wp_nonce_field( 'cf7_activetrail_addon_metaboxes55', 'cf7_activetrail_addon_metaboxes_nonce55' ); $activetrail_addon_tag_value = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key', true ); $activetrail_addon_tag_value11 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key11', true ); $activetrail_addon_tag_value22 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key22', true ); $activetrail_addon_tag_value33 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key33', true ); $activetrail_addon_tag_value44 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key44', true ); $activetrail_addon_tag_value55 = get_post_meta( $post->id(), '_cf7_activetrail_addon_tag_key55', true ); // The meta box content echo '

Contact form 7 properties

Add your form id Add the email shortcode from the form. Add the approval checkbox.

ActiveTrail properties

Add ActiveTrail login email Add ActiveTrail API password Add the Group ID you would like this email to be added to ' . '
'; // Register the fields i created in the DB function cf7_registertodb() { register_setting( 'cf7_activetrail_notice', 'formid' ); register_setting( 'cf7_activetrail_notice', 'emailshortcode' ); register_setting( 'cf7_activetrail_notice', 'approvalcheckbox' ); register_setting( 'cf7_activetrail_notice', 'activetraillogin' ); register_setting( 'cf7_activetrail_notice', 'apipassword' ); register_setting( 'cf7_activetrail_notice', 'zeevgroupid' ); } add_action( 'admin_init', 'cf7_registertodb', 99 ); register_setting( 'cf7_activetrail_notice', 'formid' ); update_option( 'formid', $activetrail_addon_tag_value11 ); register_setting( 'cf7_activetrail_notice', 'emailshortcode' ); update_option( 'emailshortcode', $activetrail_addon_tag_value22 ); register_setting( 'cf7_activetrail_notice', 'approvalcheckbox' ); update_option( 'approvalcheckbox', $activetrail_addon_tag_value33 ); register_setting( 'cf7_activetrail_notice', 'activetraillogin' ); update_option( 'activetraillogin', $activetrail_addon_tag_value44 ); register_setting( 'cf7_activetrail_notice', 'apipassword' ); update_option( 'apipassword', $activetrail_addon_tag_value55 ); register_setting( 'cf7_activetrail_notice', 'zeevgroupid' ); update_option( 'zeevgroupid', $activetrail_addon_tag_value ); } // Store ActiveTrail tag function cf7_activetrail_addon_save_contact_form( $contact_form ) { $contact_form_id = $contact_form->id(); if ( !isset( $_POST ) || empty( $_POST ) || !isset( $_POST['cf7_activetrail_addon_tags'] ) || !isset( $_POST['cf7_activetrail_addon_metaboxes_nonce'] ) ) { return; } if ( !isset( $_POST ) || empty( $_POST ) || !isset( $_POST['cf7_activetrail_addon_tags11'] ) || !isset( $_POST['cf7_activetrail_addon_metaboxes_nonce11'] ) ) { return; } if ( !isset( $_POST ) || empty( $_POST ) || !isset( $_POST['cf7_activetrail_addon_tags22'] ) || !isset( $_POST['cf7_activetrail_addon_metaboxes_nonce22'] ) ) { return; } if ( !isset( $_POST ) || empty( $_POST ) || !isset( $_POST['cf7_activetrail_addon_tags33'] ) || !isset( $_POST['cf7_activetrail_addon_metaboxes_nonce33'] ) ) { return; } if ( !isset( $_POST ) || empty( $_POST ) || !isset( $_POST['cf7_activetrail_addon_tags44'] ) || !isset( $_POST['cf7_activetrail_addon_metaboxes_nonce44'] ) ) { return; } if ( !isset( $_POST ) || empty( $_POST ) || !isset( $_POST['cf7_activetrail_addon_tags55'] ) || !isset( $_POST['cf7_activetrail_addon_metaboxes_nonce55'] ) ) { return; } if ( isset( $_POST['cf7_activetrail_addon_tags'] ) ) { update_post_meta( $contact_form_id, '_cf7_activetrail_addon_tag_key', $_POST['cf7_activetrail_addon_tags'] ); } if ( isset( $_POST['cf7_activetrail_addon_tags11'] ) ) { update_post_meta( $contact_form_id, '_cf7_activetrail_addon_tag_key11', $_POST['cf7_activetrail_addon_tags11'] ); } if ( isset( $_POST['cf7_activetrail_addon_tags22'] ) ) { update_post_meta( $contact_form_id, '_cf7_activetrail_addon_tag_key22', $_POST['cf7_activetrail_addon_tags22'] ); } if ( isset( $_POST['cf7_activetrail_addon_tags33'] ) ) { update_post_meta( $contact_form_id, '_cf7_activetrail_addon_tag_key33', $_POST['cf7_activetrail_addon_tags33'] ); } if ( isset( $_POST['cf7_activetrail_addon_tags44'] ) ) { update_post_meta( $contact_form_id, '_cf7_activetrail_addon_tag_key44', $_POST['cf7_activetrail_addon_tags44'] ); } if ( isset( $_POST['cf7_activetrail_addon_tags55'] ) ) { update_post_meta( $contact_form_id, '_cf7_activetrail_addon_tag_key55', $_POST['cf7_activetrail_addon_tags55'] ); } } add_action( 'wpcf7_after_save', 'cf7_activetrail_addon_save_contact_form' ); /*** Active Trial Api ***/ add_action( 'wpcf7_before_send_mail', 'my_conversion' ); function my_conversion( $cf7 ) { $formid = get_option('formid'); $crmFormsId = array($formid); $approvalcheckbox = get_option('approvalcheckbox'); if(in_array($_POST['_wpcf7'], $crmFormsId) && !empty($_POST[$approvalcheckbox])){ $name = trim($_POST['your-name']); $emailshortcode = get_option('emailshortcode'); $email = trim($_POST[$emailshortcode]); list($fname, $lname) = explode(' ',$name,2); // Check that the class exists before trying to use it if (!class_exists('Active_Trail')) { include 'ActiveTrail_Class.php'; } // Set Login Details $activetraillogin = get_option('activetraillogin'); $apipassword = get_option('apipassword'); $activetrail_obj = new Active_Trail($activetraillogin, $apipassword, ''); $zeevgroupid = get_option('zeevgroupid'); $GroupID = $zeevgroupid; // --------- Add/Import emails to group (if emails exist on system, will add them to group, if not will create them as clients and add them)--------- $emails_array = array($email); $webCustomer = new WebCustomer(); $webCustomer -> Email = sanitize_email( $email ); $webCustomer -> FirstName = sanitize_text_field ( $fname ); $webCustomer -> LastName = sanitize_text_field ( $lname ); $webCustomer -> Phone2 = sanitize_text_field ( $phone ); $webCustomers = new webCustomers(); $webCustomers -> WebCustomer[] = $webCustomer; $mailinglistName = new ListEmails($email); $import_response = $activetrail_obj->ImportCustomers($webCustomers,$GroupID,"1"); //$import_response = $activetrail_obj->ImportCustomersEmail($GroupID, $emails_array); } }