Example #1
0
function seed_cspv4_emaillist_drip_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    $apikey = $drip_api_key;
    //$drip_account_id;
    $listId = $drip_listid;
    $name = '';
    if (!empty($_REQUEST['name'])) {
        $name = $_REQUEST['name'];
    }
    $email = $_REQUEST['email'];
    $fname = '';
    $lname = '';
    $custom_fields = array();
    $tags = array();
    if (!empty($name)) {
        $name = seed_cspv4_parse_name($name);
        $fname = $name['first'];
        $lname = $name['last'];
        $custom_fields = array('first_name' => $fname, 'last_name' => $lname);
    }
    $postData = array('subscribers' => array(array('email' => $email, 'custom_fields' => $custom_fields, 'tags' => $tags)));
    $postData = json_encode($postData);
    $args = array('body' => $postData, 'headers' => array('Authorization' => 'Basic ' . base64_encode($apikey . ':' . ''), 'Content-Type' => 'application/vnd.api+json'));
    $url = "https://api.getdrip.com/v2/{$drip_account_id}/subscribers";
    $response = wp_remote_post($url, $args);
    $body1 = json_decode(wp_remote_retrieve_body($response));
    if (!empty($drip_double_optin)) {
        $drip_double_optin = true;
    } else {
        $drip_double_optin = false;
    }
    $postData = array('subscribers' => array(array('email' => $email, 'double_optin' => $drip_double_optin)));
    $postData = json_encode($postData);
    $args = array('body' => $postData, 'headers' => array('Authorization' => 'Basic ' . base64_encode($apikey . ':' . ''), 'Content-Type' => 'application/vnd.api+json'));
    $url = "https://api.getdrip.com/v2/{$drip_account_id}/campaigns/{$listId}/subscribers";
    $response = wp_remote_post($url, $args);
    //var_dump( $response );
    $body2 = json_decode(wp_remote_retrieve_body($response));
    //var_dump( $body2 );
    if ($seed_cspv4_post_result['status'] == '600') {
        $seed_cspv4_post_result['status'] = '200';
    }
    if (empty($seed_cspv4_post_result['status'])) {
        $seed_cspv4_post_result['status'] = '200';
    }
}
Example #2
0
function seed_cspv4_emaillist_sendy_add_subscriber($args)
{
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    //Get global and settings
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    // Set vars
    $url = $sendy_url;
    $list = $sendy_list_id;
    $name = '';
    if (!empty($_REQUEST['name'])) {
        $name = $_REQUEST['name'];
    }
    $email = $_REQUEST['email'];
    $fname = '';
    $lname = '';
    if (!empty($name)) {
        $name = seed_cspv4_parse_name($name);
        $fname = $name['first'];
        $lname = $name['last'];
    }
    $fullname = $fname . ' ' . $lname;
    // Make Request
    $args = array('timeout' => 45, 'body' => array('name' => $fullname, 'email' => $email, 'list' => $list, 'boolean' => 'true'));
    if (!empty($url) && !empty($list)) {
        $r = wp_remote_post(trailingslashit($url) . 'subscribe', $args);
    }
    // Return results
    if (is_wp_error($r)) {
        $seed_cspv4_post_result['status'] = '500';
    } else {
        // if(!empty($enable_reflink)){
        //     seed_cspv4_emaillist_database_add_subscriber();
        // }
        $body = wp_remote_retrieve_body($r);
        //var_dump($body);
        //die();
        if ($body) {
            $seed_cspv4_post_result['status'] = '200';
        } else {
            $seed_cspv4_post_result['status'] = $body;
        }
    }
}
function seed_cspv4_emaillist_icontact_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    require_once SEED_CSPV4_PLUGIN_PATH . 'extentions/icontact/seed_cspv4_iContactApi.php';
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    $pass = $icontact_password;
    $username = $icontact_username;
    $listId = $icontact_listid;
    $name = '';
    if (!empty($_REQUEST['name'])) {
        $name = $_REQUEST['name'];
    }
    $email = $_REQUEST['email'];
    $fname = '';
    $lname = '';
    if (!empty($name)) {
        $name = seed_cspv4_parse_name($name);
        $fname = $name['first'];
        $lname = $name['last'];
    }
    seed_cspv4_iContactApi::getInstance()->setConfig(array('appId' => 'puD4TZWs2kKlKZLZZgD7IAUiqPSYPIvd', 'apiPassword' => $pass, 'apiUsername' => $username));
    $oiContact = seed_cspv4_iContactApi::getInstance();
    $user = array('email' => $email, 'firstName' => $fname, 'lastName' => $lname, 'add_list' => $listId);
    $contact = $oiContact->addContact($email, $sStatus = 'normal', $sPrefix = null, $sFirstName = $fname, $sLastName = $lname);
    $response = $oiContact->subscribeContactToList($contact->contactId, $listId, $sStatus = 'normal');
    if (empty($response)) {
        $seed_cspv4_post_result['status'] = '500';
    } else {
        // if(!empty($enable_reflink)){
        //     seed_cspv4_emaillist_database_add_subscriber();
        // }
        if (empty($seed_cspv4_post_result['status'])) {
            $seed_cspv4_post_result['status'] = '200';
        }
    }
}
function seed_cspv4_emaillist_getresponse_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    require_once SEED_CSPV4_PLUGIN_PATH . 'extentions/getresponse/seed_cspv4_GetResponseAPI.class.php';
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    $apikey = $getresponse_api_key;
    $api = new seed_cspv4_GetResponse($apikey);
    $listId = $getresponse_listid;
    $name = '';
    if (!empty($_REQUEST['name'])) {
        $name = $_REQUEST['name'];
    }
    $email = $_REQUEST['email'];
    $fname = '';
    $lname = '';
    if (!empty($name)) {
        $name = seed_cspv4_parse_name($name);
        $fname = $name['first'];
        $lname = $name['last'];
    }
    $fullname = $fname . ' ' . $lname;
    $response = $api->addContact($listId, $fullname, $email);
    //var_dump( $response);
    if (empty($response)) {
        $seed_cspv4_post_result['status'] = '500';
        $seed_cspv4_post_result['status'] = $txt_api_error_msg;
        $seed_cspv4_post_result['status'] = 'alert-danger';
    } else {
        // if(!empty($enable_reflink)){
        //     seed_cspv4_emaillist_database_add_subscriber();
        // }
        if (empty($seed_cspv4_post_result['status'])) {
            $seed_cspv4_post_result['status'] = '200';
        }
    }
}
function seed_cspv4_emaillist_madmimi_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    require_once SEED_CSPV4_PLUGIN_PATH . 'extentions/madmimi/seed_cspv4_MadMimi.class.php';
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    $apikey = $madmimi_api_key;
    $username = $madmimi_username;
    $api = new seed_cspv4_MadMimi($username, $apikey);
    $listId = $madmimi_listid;
    $name = '';
    if (!empty($_REQUEST['name'])) {
        $name = $_REQUEST['name'];
    }
    $email = $_REQUEST['email'];
    $fname = '';
    $lname = '';
    if (!empty($name)) {
        $name = seed_cspv4_parse_name($name);
        $fname = $name['first'];
        $lname = $name['last'];
    }
    $user = array('email' => $email, 'firstName' => $fname, 'lastName' => $lname, 'add_list' => $listId);
    $response = $api->AddUser($user);
    //var_dump();
    if (empty($response)) {
        $seed_cspv4_post_result['status'] = '500';
    } else {
        // if(!empty($enable_reflink)){
        //     seed_cspv4_emaillist_database_add_subscriber();
        // }
        if (empty($seed_cspv4_post_result['status'])) {
            $seed_cspv4_post_result['status'] = '200';
        }
    }
}
function seed_cspv4_emaillist_campaignmonitor_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    if (class_exists('CS_REST_Subscribers')) {
        //trigger_error("Duplicate: Another Campaign Moniter client library is already in scope.", E_USER_WARNING);
    } else {
        require_once SEED_CSPV4_PLUGIN_PATH . 'extentions/campaignmonitor/campaign_monitor/csrest_subscribers.php';
    }
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    $apikey = $campaignmonitor_api_key;
    $listid = $campaignmonitor_listid;
    $name = '';
    if (!empty($_REQUEST['name'])) {
        $name = $_REQUEST['name'];
    }
    $email = $_REQUEST['email'];
    $fname = '';
    $lname = '';
    if (!empty($name)) {
        $name = seed_cspv4_parse_name($name);
        $fname = $name['first'];
        $lname = $name['last'];
    }
    $api = new CS_REST_Subscribers($listid, $apikey);
    $response = $api->add(array('EmailAddress' => $email, 'Name' => $fname . ' ' . $lname, 'Resubscribe' => true));
    //var_dump($name);
    //var_dump($response);
    if ($response->was_successful()) {
        if (empty($seed_cspv4_post_result['status'])) {
            $seed_cspv4_post_result['status'] = '200';
        }
    } else {
        $seed_cspv4_post_result['status'] = '500';
        $seed_cspv4_post_result['status'] = $txt_api_error_msg;
        $seed_cspv4_post_result['status'] = 'alert-danger';
    }
}
function seed_cspv4_emaillist_constantcontact_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    if (class_exists('cc')) {
        //trigger_error("Duplicate: Another Constant Contact client library is already in scope.", E_USER_WARNING);
    } else {
        require_once SEED_CSPV4_PLUGIN_PATH . 'extentions/constantcontact/seed_cspv4_class.cc.php';
    }
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    $username = $constantcontact_username;
    $password = $constantcontact_password;
    $api = new cc($username, $password);
    $listId = $constantcontact_listid;
    $name = '';
    if (!empty($_REQUEST['name'])) {
        $name = $_REQUEST['name'];
    }
    $email = $_REQUEST['email'];
    $fname = '';
    $lname = '';
    if (!empty($name)) {
        $name = seed_cspv4_parse_name($name);
        $fname = $name['first'];
        $lname = $name['last'];
    }
    $contact_list = $listId;
    $extra_fields = array();
    // check if the contact exists
    $contact = $api->query_contacts($email);
    // uncomment this line if the user makes the action themselves
    $api->set_action_type('contact');
    $extra_fields = array('FirstName' => $fname, 'LastName' => $lname);
    if ($contact) {
        $contact_ext = $api->get_contact($contact['id']);
        if (in_array($contact_list, $contact_ext['lists'])) {
            $seed_cspv4_post_result['status'] = '500';
            $seed_cspv4_post_result['msg'] = $txt_already_subscribed_msg;
            $seed_cspv4_post_result['msg_class'] = 'alert-info';
        }
        $lists = $contact_ext['lists'] + array($contact_list);
        $updated = $api->update_contact($contact['id'], $email, $lists, $extra_fields);
        if ($updated) {
            //$this->add_subscriber($email,$fname,$lname);
            if (empty($seed_cspv4_post_result['status'])) {
                $seed_cspv4_post_result['status'] = '200';
            }
        } else {
            $seed_cspv4_post_result['status'] = '500';
            $seed_cspv4_post_result['msg'] = $txt_already_subscribed_msg;
            $seed_cspv4_post_result['msg_class'] = 'alert-info';
        }
    } else {
        $new_id = $api->create_contact($email, $contact_list, $extra_fields);
        if ($new_id) {
            // if(!empty($enable_reflink)){
            //     seed_cspv4_emaillist_database_add_subscriber();
            // }
            if (empty($seed_cspv4_post_result['status'])) {
                $seed_cspv4_post_result['status'] = '200';
            }
        } else {
            $seed_cspv4_post_result['status'] = '500';
            $seed_cspv4_post_result['msg'] = $txt_already_subscribed_msg;
            $seed_cspv4_post_result['msg_class'] = 'alert-info';
        }
    }
}
function seed_cspv4_emaillist_mailchimp_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    require_once SEED_CSPV4_PLUGIN_PATH . 'extentions/mailchimp/seed_cspv4_MCAPI.class.php';
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    $apikey = $mailchimp_api_key;
    $api = new seed_cspv4_MCAPI($apikey);
    $listId = $mailchimp_listid;
    if (!empty($mailchimp_enable_double_optin)) {
        $double_optin = true;
    } else {
        $double_optin = false;
    }
    if (!empty($mailchimp_welcome_email)) {
        $welcome_email = true;
    } else {
        $welcome_email = false;
    }
    if (!empty($mailchimp_replace_interests)) {
        $replace_interests = true;
    } else {
        $replace_interests = false;
    }
    if (!empty($mailchimp_update_existing)) {
        $update_existing = true;
    } else {
        $update_existing = false;
    }
    $name = '';
    if (!empty($_REQUEST['name'])) {
        $name = $_REQUEST['name'];
    }
    $email = $_REQUEST['email'];
    $fname = '';
    $lname = '';
    if (!empty($name)) {
        $name = seed_cspv4_parse_name($name);
        $fname = $name['first'];
        $lname = $name['last'];
    }
    $merge_vars = array('FNAME' => $fname, 'LNAME' => $lname, 'REFID' => $seed_cspv4_post_result['ref'], 'REFURL' => $seed_cspv4_post_result['ref_url']);
    if (!empty($mailchimp_groups) && !empty($mailchimp_group_name)) {
        $merge_vars['GROUPINGS'] = array(array('name' => $mailchimp_group_name, 'groups' => $mailchimp_groups));
    }
    $retval = $api->listSubscribe($listId, $email, apply_filters('seed_cspv4_mailchimp_merge_vars', $merge_vars), $email_type = 'html', $double_optin, $update_existing, $replace_interests, $welcome_email);
    if ($retval == false) {
        if ($api->errorCode == 214 && !empty($enable_reflink)) {
        } elseif (!empty($api->errorMessage)) {
            $seed_cspv4_post_result['msg'] = $api->errorMessage;
            $seed_cspv4_post_result['msg_class'] = 'alert-info';
        }
    } else {
        if ($seed_cspv4_post_result['status'] == '600') {
            $seed_cspv4_post_result['status'] = '200';
        }
        if (empty($seed_cspv4_post_result['status'])) {
            $seed_cspv4_post_result['status'] = '200';
        }
    }
}
function seed_cspv4_emaillist_infusionsoft_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    if (!class_exists('xmlrpc_client')) {
        require_once SEED_CSPV4_PLUGIN_PATH . 'extentions/infusionsoft/xmlrpc-2.0/lib/xmlrpc.inc';
    }
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    $app = $infusionsoft_app;
    $api_key = $infusionsoft_api_key;
    $tag_id = $infusionsoft_tag_id;
    $name = '';
    if (!empty($_REQUEST['name'])) {
        $name = $_REQUEST['name'];
    }
    $email = $_REQUEST['email'];
    $fname = '';
    $lname = '';
    if (!empty($name)) {
        $name = seed_cspv4_parse_name($name);
        $fname = $name['first'];
        $lname = $name['last'];
    }
    ###Set our Infusionsoft application as the client###
    $client = new xmlrpc_client("https://" . $app . ".infusionsoft.com/api/xmlrpc");
    ###Return Raw PHP Types###
    $client->return_type = "phpvals";
    ###Dont bother with certificate verification###
    $client->setSSLVerifyPeer(FALSE);
    ###Our API Key###
    $key = $api_key;
    ###Build a Key-Value Array to store a contact###
    $contact = array("FirstName" => $fname, "LastName" => $lname, "Email" => $email);
    $optin_reason = 'Coming Soon Page';
    ###Set up the call###
    $call = new xmlrpcmsg("ContactService.add", array(php_xmlrpc_encode($key), php_xmlrpc_encode($contact)));
    $call2 = new xmlrpcmsg("APIEmailService.optIn", array(php_xmlrpc_encode($key), php_xmlrpc_encode($email), php_xmlrpc_encode($optin_reason)));
    ###Send the call###
    $result = $client->send($call);
    $result2 = $client->send($call2);
    if (!empty($tag_id)) {
        $tags = explode(",", $tag_id);
        //var_dump($tags);
        foreach ($tags as $t) {
            $call3 = new xmlrpcmsg("ContactService.addToGroup", array(php_xmlrpc_encode($key), php_xmlrpc_encode($result->value()), php_xmlrpc_encode($t)));
            $result3 = $client->send($call3);
        }
        //var_dump($result3);
    }
    ###Check the returned value to see if it was successful and set it to a variable/display the results###
    if (!$result->faultCode()) {
        // if(!empty($enable_reflink)){
        //     seed_cspv4_emaillist_database_add_subscriber();
        // }
        if (empty($seed_cspv4_post_result['status'])) {
            $seed_cspv4_post_result['status'] = '200';
        }
        // $conID = $result->value();
        // print "Contact added was " . $conID;
        // print "<BR>";
    } else {
        $seed_cspv4_post_result['status'] = '500';
        // print $result->faultCode() . "<BR>";
        // print $result->faultString() . "<BR>";die();
    }
}
function seed_cspv4_emaillist_mailpoet_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    include_once ABSPATH . 'wp-admin/includes/plugin.php';
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    if (is_plugin_active('wysija-newsletters/index.php') && class_exists('WYSIJA')) {
        $list_id = $mailpoet_list_id;
        $name = '';
        if (!empty($_REQUEST['name'])) {
            $name = $_REQUEST['name'];
        }
        $email = $_REQUEST['email'];
        $fname = '';
        $lname = '';
        if (!empty($name)) {
            $name = seed_cspv4_parse_name($name);
            $fname = $name['first'];
            $lname = $name['last'];
        }
        //check if the email address is recorded in wysija
        $modelUser = WYSIJA::get('user', 'model');
        $userData = $modelUser->getOne(array('user_id'), array('email' => $email));
        if (!$userData) {
            //record the email in wysija
            $userHelper = WYSIJA::get('user', 'helper');
            $data = array('user' => array('email' => $email, 'firstname' => $fname, 'lastname' => $lname), 'user_list' => array('list_ids' => array($list_id)));
            $test = $userHelper->addSubscriber($data);
            if (!empty($enable_reflink)) {
                seed_cspv4_emaillist_database_add_subscriber();
            }
            if (empty($seed_cspv4_post_result['status'])) {
                $seed_cspv4_post_result['status'] = '200';
            }
        } else {
            $user_id = $userData['user_id'];
            $userHelper = WYSIJA::get('user', 'helper');
            $userHelper->addToLists(array($list_id), $user_id);
            if (!empty($enable_reflink)) {
                seed_cspv4_emaillist_database_add_subscriber();
            }
            if (empty($seed_cspv4_post_result['status'])) {
                $seed_cspv4_post_result['status'] = '200';
                $seed_cspv4_post_result['msg'] = $txt_already_subscribed_msg;
                $seed_cspv4_post_result['msg_class'] = 'alert-info';
            }
        }
    }
}
Example #11
0
function seed_cspv4_emaillist_aweber_add_subscriber($args)
{
    global $seed_cspv4, $seed_cspv4_post_result;
    extract($seed_cspv4);
    require_once SEED_CSPV4_PLUGIN_PATH . 'lib/nameparse.php';
    require_once SEED_CSPV4_PLUGIN_PATH . 'extentions/aweber/aweber_api/aweber_api.php';
    // If tracking enabled
    if (!empty($enable_reflink)) {
        seed_cspv4_emaillist_database_add_subscriber();
    }
    $aweber_auth = get_option('seed_cspv4_aweber_auth');
    extract($aweber_auth);
    if (!empty($consumer_key)) {
        $consumerKey = $consumer_key;
        $consumerSecret = $consumer_secret;
        $aweber = new AWeberAPI($consumerKey, $consumerSecret);
        $list_id = $aweber_listid;
        $name = '';
        if (!empty($_REQUEST['name'])) {
            $name = $_REQUEST['name'];
        }
        $email = $_REQUEST['email'];
        $fname = '';
        $lname = '';
        if (!empty($name)) {
            $name = seed_cspv4_parse_name($name);
            $fname = $name['first'];
            $lname = $name['last'];
        }
        $fullname = $fname . ' ' . $lname;
    }
    try {
        $account = $aweber->getAccount($access_key, $access_secret);
        $account_id = $account->id;
        $listURL = "/accounts/{$account_id}/lists/{$list_id}";
        $list = $account->loadFromUrl($listURL);
        # create a subscriber
        $params = array('email' => $email, 'name' => $fullname, 'ip_address' => seed_cspv4_get_ip());
        $subscribers = $list->subscribers;
        $new_subscriber = $subscribers->create($params);
        # success!
        //$this->add_subscriber($email,$fname,$lname);
        if (empty($seed_cspv4_post_result['status'])) {
            $seed_cspv4_post_result['status'] = '200';
        }
    } catch (AWeberAPIException $exc) {
        if ($exc->status == '400') {
            $seed_cspv4_post_result['status'] = '600';
            $seed_cspv4_post_result['msg'] = $txt_already_subscribed_msg;
            $seed_cspv4_post_result['msg_class'] = 'alert-danger';
        } else {
            $seed_cspv4_post_result['status'] = '500';
        }
        // var_dump($exc);
        // print "<h3>AWeberAPIException:</h3>";
        // print " <li> Type: $exc->type              <br>";
        // print " <li> Msg : $exc->message           <br>";
        // print " <li> Docs: $exc->documentation_url <br>";
        // print "<hr>";
    }
}