static function subscribe_user($listid, $email, $first, $last, $status = 2, $custom = array()) { $success = false; $subscriberID = SendPress_Data::add_subscriber(array('firstname' => $first, 'lastname' => $last, 'email' => $email)); //SendPress_Error::log($subscriberID); if (false === $subscriberID) { return false; } $args = array('post_type' => 'sendpress_list', 'numberposts' => -1, 'offset' => 0, 'orderby' => 'post_title', 'order' => 'DESC'); $lists = get_posts($args); $listids = explode(',', $listid); $already_subscribed = false; if ($status == 2 && SendPress_Option::is_double_optin()) { $inlists = SendPress_Data::get_active_list_ids_for_subscriber($subscriberID); //SendPress_Error::log($inlists); if ($inlists) { $already_subscribed = true; } else { $status = 1; SendPress_Manager::send_optin($subscriberID, $listids, $lists); } } foreach ($lists as $list) { if (in_array($list->ID, $listids)) { $current_status = SendPress_Data::get_subscriber_list_status($list->ID, $subscriberID); if (empty($current_status) || isset($current_status->status) && $current_status->status < 2) { $success = SendPress_Data::update_subscriber_status($list->ID, $subscriberID, $status); } else { $success = true; } foreach ($custom as $key => $value) { SendPress_Data::update_subscriber_meta($subscriberID, $key, $value, $list->ID); } } } if ($success == false) { return false; } return array('success' => $success, 'already' => $already_subscribed); }
function send_optin($subscriberID, $listids, $lists) { _deprecated_function(__FUNCTION__, '0.8.9', 'SendPress_Manager::send_optin()'); SendPress_Manager::send_optin($subscriberID, $listids, $lists); }