You must install and activate AffiliateWP to use AffiliateWP MailChimp Add-on
'; } if ( $affwp_plugin_data['Version'] < '1.1' ) { echo 'AffiliateWP MailChimp Add-on requires AffiliateWP 1.1 or greater. Please update AffiliateWP.
settings->get( 'affwp_enable_mailchimp' ); $mailchimp_label = affiliate_wp()->settings->get( 'affwp_mailchimp_form_label' ); $mailchimp_api_key = affiliate_wp()->settings->get( 'affwp_mailchimp_api_key' ); $mailchimp_list = affiliate_wp()->settings->get( 'affwp_mailchimp_list' ); ob_start(); if ( ! empty ( $mailchimp_enabled ) && ! empty ( $mailchimp_api_key ) && ! empty ( $mailchimp_list ) ){ ?>
settings->get( 'affwp_enable_mailchimp' ); $mailchimp_label = affiliate_wp()->settings->get( 'affwp_mailchimp_form_label' ); $mailchimp_api_key = affiliate_wp()->settings->get( 'affwp_mailchimp_api_key' ); $mailchimp_list = affiliate_wp()->settings->get( 'affwp_mailchimp_list' ); $subscribe_status = get_user_meta( $user_id, 'tbz_affwp_subscribed_to_mailchimp', true ); if( ! $subscribe_status && $mailchimp_enabled && $mailchimp_api_key && $mailchimp_list ){ ob_start(); if ( $mailchimp_enabled && $mailchimp_api_key && $mailchimp_list ){ ?>
affiliates->get_by( 'affiliate_id', $affiliate_id ); $user_id = $affiliate->user_id; $email = $wpdb->get_var( $wpdb->prepare( "SELECT user_email FROM $wpdb->users WHERE ID = '%d'", $user_id ) ); $name = affiliate_wp()->affiliates->get_affiliate_name( $affiliate_id ); $mailchimp_api_key = affiliate_wp()->settings->get( 'affwp_mailchimp_api_key' ); if( ! empty( $_POST['affwp_mailchimp_subscribe'] ) && $mailchimp_api_key ) { $name = explode( ' ', $name ); $first_name = $name[0]; $last_name = isset( $name[1] ) ? $name[1] : ''; $mailchimp_list = affiliate_wp()->settings->get( 'affwp_mailchimp_list' ); $mailchimp_api_key = trim( $mailchimp_api_key ); $check_opt_in = affiliate_wp()->settings->get( 'affwp_mailchimp_enable_opt_in' ); if( ! empty ( $check_opt_in ) ){ $optin = true; }else{ $optin = false; } require_once( 'classes/api/MailChimp.php' ); $MailChimp = new \Drewm\MailChimp( $mailchimp_api_key ); $result = $MailChimp->call('lists/subscribe', array( 'id' => $mailchimp_list, 'email' => array( 'email'=> $email ), 'merge_vars' => array( 'FNAME'=> $first_name, 'LNAME'=> $last_name ), 'double_optin' => $optin, 'update_existing' => true, 'replace_interests' => false, 'send_welcome' => false, )); update_user_meta( $user_id, 'tbz_affwp_subscribed_to_mailchimp', 'yes' ); if ( 'error' == $result['status'] ){ return false; } return true; } return false; } //Add New Affiliate to Newsletter List public function affwp_mailchimp_add_user_to_list( $affiliate_id, $status ){ $mailchimp_enabled = affiliate_wp()->settings->get( 'affwp_enable_mailchimp' ); $mailchimp_api_key = affiliate_wp()->settings->get( 'affwp_mailchimp_api_key' ); $mailchimp_auto_subscribe = affiliate_wp()->settings->get( 'affwp_mailchimp_auto_subscribe' ); if( $mailchimp_enabled && $mailchimp_auto_subscribe ){ $name = explode( ' ', sanitize_text_field( $_POST['affwp_user_name'] ) ); $first_name = $name[0]; $last_name = isset( $name[1] ) ? $name[1] : ''; $email = sanitize_text_field( $_POST['affwp_user_email'] ); $mailchimp_list = affiliate_wp()->settings->get( 'affwp_mailchimp_list' ); $mailchimp_api_key = trim( $mailchimp_api_key ); $check_opt_in = affiliate_wp()->settings->get( 'affwp_mailchimp_enable_opt_in' ); require_once( 'classes/api/MailChimp.php' ); $MailChimp = new \Drewm\MailChimp( $mailchimp_api_key ); if( $check_opt_in ){ $optin = true; }else{ $optin = false; } $result = $MailChimp->call('lists/subscribe', array( 'id' => $mailchimp_list, 'email' => array( 'email'=> $email ), 'merge_vars' => array( 'FNAME'=> $first_name, 'LNAME'=> $last_name ), 'double_optin' => $optin, 'update_existing' => true, 'replace_interests' => false, 'send_welcome' => false, )); $affiliate = affiliate_wp()->affiliates->get_by( 'affiliate_id', $affiliate_id ); $user_id = $affiliate->user_id; update_user_meta( $user_id, 'tbz_affwp_subscribed_to_mailchimp', 'yes' ); if ( 'error' == $result['status'] ){ return false; } return true; } if( ! empty( $_POST['affwp_mailchimp_subscribe'] ) && $mailchimp_api_key ) { $name = explode( ' ', sanitize_text_field( $_POST['affwp_user_name'] ) ); $first_name = $name[0]; $last_name = isset( $name[1] ) ? $name[1] : ''; $email = sanitize_text_field( $_POST['affwp_user_email'] ); $mailchimp_list = affiliate_wp()->settings->get( 'affwp_mailchimp_list' ); $mailchimp_api_key = trim( $mailchimp_api_key ); $check_opt_in = affiliate_wp()->settings->get( 'affwp_mailchimp_enable_opt_in' ); if( $check_opt_in ){ $optin = true; }else{ $optin = false; } require_once( 'classes/api/MailChimp.php' ); $MailChimp = new \Drewm\MailChimp( $mailchimp_api_key ); $result = $MailChimp->call('lists/subscribe', array( 'id' => $mailchimp_list, 'email' => array( 'email'=> $email ), 'merge_vars' => array( 'FNAME'=> $first_name, 'LNAME'=> $last_name ), 'double_optin' => $optin, 'update_existing' => true, 'replace_interests' => false, 'send_welcome' => false, )); $affiliate = affiliate_wp()->affiliates->get_by( 'affiliate_id', $affiliate_id ); $user_id = $affiliate->user_id; update_user_meta( $user_id, 'tbz_affwp_subscribed_to_mailchimp', 'yes' ); if ( 'error' == $result['status'] ){ return false; } return true; } return false; } //Add New Affiliate to NewsLetter List from the Admin Add New Affiliate Page public function affwp_mailchimp_admin_add_user_to_list( $add ){ global $wpdb; $affiliate = affiliate_wp()->affiliates->get_by( 'affiliate_id', $add ); $user_id = $affiliate->user_id; $email = $wpdb->get_var( $wpdb->prepare( "SELECT user_email FROM $wpdb->users WHERE ID = '%d'", $user_id ) ); $name = affiliate_wp()->affiliates->get_affiliate_name( $add ); $mailchimp_api_key = affiliate_wp()->settings->get( 'affwp_mailchimp_api_key' ); if( ! empty( $_POST['affwp_mailchimp_subscribe'] ) && ! empty( $mailchimp_api_key ) ) { $name = explode( ' ', $name ); $first_name = $name[0]; $last_name = isset( $name[1] ) ? $name[1] : ''; $mailchimp_list = affiliate_wp()->settings->get( 'affwp_mailchimp_list' ); $mailchimp_api_key = trim( $mailchimp_api_key ); $check_opt_in = affiliate_wp()->settings->get( 'affwp_mailchimp_enable_opt_in' ); if( ! empty ( $check_opt_in ) ){ $optin = true; }else{ $optin = false; } require_once( 'classes/api/MailChimp.php' ); $MailChimp = new \Drewm\MailChimp( $mailchimp_api_key ); $result = $MailChimp->call('lists/subscribe', array( 'id' => $mailchimp_list, 'email' => array( 'email'=> $email ), 'merge_vars' => array( 'FNAME'=> $first_name, 'LNAME'=> $last_name ), 'double_optin' => $optin, 'update_existing' => true, 'replace_interests' => false, 'send_welcome' => false, )); update_user_meta( $user_id, 'tbz_affwp_subscribed_to_mailchimp', 'yes' ); if ( 'error' == $result['status'] ){ return false; } return true; } return false; } //Get MailChimp Lists public function affwp_mailchimp_get_lists(){ $mailchimp_api_key = affiliate_wp()->settings->get( 'affwp_mailchimp_api_key' ); $mailchimp_api_key = trim( $mailchimp_api_key ); if ( ! empty( $mailchimp_api_key ) ) { $mailchimp_lists = array(); if ( ! class_exists( 'MailChimp' ) ) require_once( 'classes/api/MailChimp.php' ); $mailchimp = new \Drewm\MailChimp( $mailchimp_api_key ); $lists = $mailchimp->call('lists/list'); $lists_count = $lists['total']; foreach ($lists['data'] as $list) { $mailchimp_lists[ $list ['id'] ] = $list['name']; } return $mailchimp_lists; } return false; } } } function tbz_affwp_mailchimp_addon() { return AffiliateWP_MailChimp_Add_on::get_instance(); } add_action( 'plugins_loaded', 'tbz_affwp_mailchimp_addon' );