} echo implode(', ', $g); }); if (class_exists('module_newsletter', false)) { $columns['member_newsletter'] = array('title' => 'Newsletter', 'callback' => function ($member) { // find the groups for this member. $g = array(); $groups = module_group::get_groups_search(array('owner_table' => 'newsletter_subscription', 'owner_id' => $member['member_id'])); foreach ($groups as $group) { $g[] = $group['name']; } echo implode(', ', $g); echo ' '; $newsletter_member_id = module_newsletter::member_from_email($member, false); if ($newsletter_member_id) { if ($res = module_newsletter::is_member_unsubscribed($newsletter_member_id, $member)) { if (isset($res['unsubscribe_send_id']) && $res['unsubscribe_send_id']) { // they unsubscribed from a send. $send_data = module_newsletter::get_send($res['unsubscribe_send_id']); _e('(unsubscribed %s)', print_date($res['time'])); } else { if (isset($res['reason']) && $res['reason'] == 'no_email') { _e('(do not send)'); } else { if (isset($res['reason']) && $res['reason'] == 'doubleoptin') { _e('(double opt-in incomplete)', print_date($res['time'])); } else { _e('(unsubscribed %s)', print_date($res['time'])); } } }
public static function handle_bulk_delete_double_optin($rows) { $delete = array(); foreach ($rows as $member_to_delete) { $newsletter_member_id = module_newsletter::member_from_email($member_to_delete, false); if ($newsletter_member_id) { if ($res = module_newsletter::is_member_unsubscribed($newsletter_member_id, $member_to_delete)) { if (class_exists('module_subscription', false)) { // check this isn't a member from a subscription or something. $sub = module_subscription::get_subscriptions_by('member', $member_to_delete['member_id']); if (count($sub)) { continue; } } if (isset($res['reason']) && $res['reason'] == 'doubleoptin') { //delete this onee! $delete[] = array('member_id' => $member_to_delete['member_id']); } } } } if (module_form::confirm_delete('bulk_optin_array', "Really delete all " . count($delete) . " failed double-opt-in members?", $_SERVER['REQUEST_URI'])) { foreach ($delete as $member_to_delete) { self::delete_member($member_to_delete['member_id']); } set_message("Selected members deleted successfully"); redirect_browser(self::link_open(false)); } }