function save() { if (isset($_POST['delete-this-user']) && $_POST['delete-this-user'] == 'yes') { SendPress_Data::delete_subscriber($_POST['subscriberID']); if ($_GET['listID']) { SendPress_Admin::redirect('Subscribers_Subscribers', array('listID' => $_GET['listID'])); } else { SendPress_Admin::redirect('Subscribers_All'); } } else { global $post; $subscriber_info = array('email' => $_POST['email'], 'firstname' => $_POST['firstname'], 'lastname' => $_POST['lastname']); SendPress_Data::update_subscriber($_POST['subscriberID'], $subscriber_info); $args = array('post_type' => 'sendpress_list', 'post_status' => array('publish', 'draft'), 'posts_per_page' => 100, 'order' => 'ASC', 'orderby' => 'title'); $postslist = get_posts($args); foreach ($postslist as $post) { setup_postdata($post); if (isset($_POST[$post->ID . "-status"]) && $_POST[$post->ID . "-status"] > 0) { SendPress_Data::update_subscriber_status($post->ID, $_POST['subscriberID'], $_POST[$post->ID . "-status"]); } else { SendPress_Data::remove_subscriber_status($post->ID, $_POST['subscriberID']); } $notifications = SendPress_Data::get_post_notification_types(); if (isset($_POST[$post->ID . "-pn"]) && array_key_exists($_POST[$post->ID . "-pn"], $notifications)) { SendPress_Data::update_subscriber_meta($_POST['subscriberID'], 'post_notifications', $_POST[$post->ID . "-pn"], $post->ID); } } wp_reset_postdata(); } SendPress_Admin::redirect('Subscribers_Subscriber', array('subscriberID' => $_POST['subscriberID'])); }
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); }