// Do some HTML homework if needed //-- if ($mail_format == 'html') { $mail_content = wpautop($mail_content); } ?> <div class="wrap"> <?php // Fetch users // -- //$recipients = mailusers_get_recipients_from_roles($send_roles, $exclude_id, MAILUSERS_ACCEPT_MASS_EMAIL_USER_META); if (!empty($send_users)) { $recipients = mailusers_get_recipients_from_custom_meta_filter($send_users, $exclude_id, $mailusers_mf, $mailusers_mv, $mailusers_mc); } else { if (!empty($send_roles)) { $recipients = mailusers_get_recipients_from_custom_meta_filter($send_roles, $exclude_id, $mailusers_mf, $mailusers_mv, $mailusers_mc); } else { $recipients = array(); } } if (empty($recipients)) { ?> <p><strong><?php _e('No recipients were found.', MAILUSERS_I18N_DOMAIN); ?> </strong></p> <?php } else { $useheader = mailusers_get_header_usage() != 'notification'; $usefooter = mailusers_get_footer_usage() != 'notification'; $num_sent = mailusers_send_mail($recipients, $subject, $mail_content, $mail_format, $from_name, $from_address, $useheader, $usefooter);
/** * Get the users given a filter or an array of filters. * $meta_filter can be '', MAILUSERS_ACCEPT_NOTIFICATION_USER_META, or MAILUSERS_ACCEPT_MASS_EMAIL_USER_META */ function mailusers_get_recipients_from_custom_meta_filters($filters, $exclude_id = '', $meta_filter = '') { global $mailusers_group_custom_meta_filters; $users = mailusers_get_users($exclude_id, $meta_filter); $ids = array(); foreach ($users as $user) { $ids[] = $user->ID; } $users = array(); foreach ($filters as $filter) { $mf =& $mailusers_group_custom_meta_filters[$filter]; $users = array_merge($users, mailusers_get_recipients_from_custom_meta_filter($ids, $exclude_id, $mf['meta_filter'], $mf['meta_value'], $mf['meta_compare'])); } return $users; }
_e('You can select multiple users by pressing the CTRL key. When selecting multiple users, any user who should not receive Mass Email will be filtered from the recipient list.', MAILUSERS_I18N_DOMAIN); } ?> </small></label></th> <td> <select id="send_users" name="send_users[]" size="8" style="width: 654px; height: 250px;" <?php if (current_user_can(MAILUSERS_EMAIL_MULTIPLE_USERS_CAP)) { echo 'multiple="multiple"'; } ?> > <?php // Display of users is based on plugin setting $na = __('N/A', MAILUSERS_I18N_DOMAIN); $sortby = mailusers_get_default_sort_users_by(); $users = mailusers_get_recipients_from_custom_meta_filter(null, '', $mailusers_mf, $mailusers_mv, $mailusers_mc); foreach ($users as $user) { switch ($sortby) { case 'fl': // First Last $name = sprintf('%s %s', is_null($user->first_name) ? $na : $user->first_name, is_null($user->last_name) ? $na : $user->last_name); break; case 'flul': // First Last User Login $name = sprintf('%s %s (%s)', is_null($user->first_name) ? $na : $user->first_name, is_null($user->last_name) ? $na : $user->last_name, $user->user_login); break; case 'lf': $name = sprintf('%s, %s', is_null($user->last_name) ? $na : $user->last_name, is_null($user->first_name) ? $na : $user->first_name); break; case 'lful': $name = sprintf('%s, %s (%s)', is_null($user->last_name) ? $na : $user->last_name, is_null($user->first_name) ? $na : $user->first_name, $user->user_login);