// 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);
Esempio n. 2
0
/**
 * 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);