Ejemplo n.º 1
0
     }
     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']));
                         }
                     }
                 }
Ejemplo n.º 2
0
 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));
     }
 }