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);
 }
Пример #2
0
 function send_optin($subscriberID, $listids, $lists)
 {
     _deprecated_function(__FUNCTION__, '0.8.9', 'SendPress_Manager::send_optin()');
     SendPress_Manager::send_optin($subscriberID, $listids, $lists);
 }