Email Users 4.7.2 released

Late last week there was a request on the WordPress Support Forum to add a filter to allow control over the HTML which wraps email content (post/page notifications or email to users/groups).

email_users_html_wrapper

This seemed like a reasonable request so I decided to look into it.  Adding a filter was fairly easy.  If the mailusers_html_wrapper filter exists, the default, and very basic, HTML wrapper is ignored and the filter is expected to properly construct the necessary HTML to wrap around email content.

This is the result of a email using the example filter now supplied as part of the plugin as viewed on my iPhone.

You can find the update in the WordPress plugin repository or an an update on your Dashboard.


/**
* To customize the look of HTML email or to integrate with other
* plugins which enhance wp_mail() (e.g. WP Better Emails), use this
* hook to wrap the email content with whatever HTML is desired - or
* in some cases, none at all if another plugin will be adding the
* necessary HTML.
*
* This example wraps an "Urgent" message and table around the email
* content so the background can be styled. A table is the best way
* to do this because not all mail clients will recognize styling
* elements such as BODY and DIV like a traditional web page.
*
* Drop this code snippet and modify to suit your needs into your
* theme's functions.php file.
*
* @see https://wordpress.org/plugins/wp-better-emails/
* @see https://litmus.com/blog/background-colors-html-email
*
*/
function mailusers_sample_html_wrapper($subject, $message, $footer)
{
// Wrap the HTML in proper header and body tags
// add some CSS styling to make the email look good.

$mailtext = sprintf('
<html>
<head>
<title>%s</title>
<style>
table { border: 1px solid black; width: 800px; background-color: #c5f6c0; }
td { background-color: #c5f6c0 }
</style>
</head>
<body>
<table class="content">
<tr>
<td class="content">
<div class="content">
<h1>This is an Urgent Message from Email Users!</h1>
%s
</div>
<div class="footer">
%s
</div>
</td>
</tr>
</table>
</body>
</html>', $subject, $message, $footer) ;

return $mailtext ;
}

add_filter('mailusers_html_wrapper', 'mailusers_sample_html_wrapper', 10, 3) ;

Google Forms v0.77-beta-1 available

This morning I uploaded beta-1 of Google Forms v0.77.  This release would only be of interest to users who are using the deprecated gform shortcode and ware worried about PHP warnings in the log file (see this post on the WordPress Support Forum).

The warnings were a result of the plugin looking for meta data which is stored with the Custom Post Type (recommended) usage of Google Forms.  The fix skips the check when using the gform shortcode thus eliminating the PHP warnings in the log file.

Unless there is a significant bug reported I will likely release this update fairly quickly as I view the changes made as very low risk.

Google Forms Beta (67)

More wp-SwimTeam bugs

Swim Team season must be approaching because I’ve had a couple more bugs reports and found two more myself while looking into other issues.  A couple these are limited to running under WordPress Multi-Site so most people / teams won’t run into them but there are some issues with report generation as well.  I am looking into these and will issue an update as quickly as I can.

wp-SwimTeam v1.44 released

This morning I released a minor update to wp-SwimTeam.  Unless you are running under WordPress multi-site, you will not see a difference.  Under Multi-Site there was a bug in the database query that pulls the list of users from the WordPress database.  Because not all users stored in the user table should be visible to a particular site, the list of users needs to be filtered and limited to just those who have access to the site.  It was this filter portion of the query which was wrong.

You can find the update on your Dashboard or in the WordPress plugin repository.

wp-SwimTeam User bug with Multi-Site

Today I learned of a bug with wp-SwimTeam where the list of Users associated with the site doesn’t get populated when running under WordPress multi-site.  This problem does not happen on standard installations of WordPress.

I am looking into the problem but it isn’t a simple solution as the query references the explicit users table which isn’t the same under WordPress multi-site.

I thought I had a quick solution but it didn’t work so I will need to sit down for an hour or two and sort this out over the next couple of days.

Google Forms v0.75-beta-1 available

This evening I posted beta-1 of Google Forms v0.75.  This beta release contains a new option to turn off the HTML filter which has been part of Google Forms since the very early iterations of the plugin.  In the early days of the Google Forms plugin, the HTML Google generated was full of unnecessary stuff and as a result, it tended to mess up the rendering of the form within WordPress.  Over the years Google has iterated on forms a number of times and the HTML is much cleaner and includes new attributes for things like accessibility.

Based on a user request to support the accessibility attributes I decided to offer an option to turn off filtering completely.  The disable HTML filtering option is located on the Advanced Tab of the plugin settings.

GForm_SS_73

Google Forms Beta (67)

The Most Wonderful Time of the Year

The NCAA basketball tournament starts Thursday (well, technically tonight with the 1st Four).  This is the Most Wonderful Time of the Year (I have that Christmas carol running through my head which Staples also uses for very funny, if you are a parent, Back to School shopping commercial) – I love college basketball and the week of conference tournaments and the NCAA tournament is one of my favorite times of the year.  It is also one of my most least productive times of the year.

BigEastReligionI graduated from Villanova (hence the VU logo for my avatar) and am bullish on the Wildcats this year.  I think they can play with anyone in the country save Kentucky.  Living in North Carolina, I am particularly intrigued by the potential match up on Saturday with NC State.  VU has not done well in the tournament since their 2009 Final 4 run.  I am hoping the recent string of early exits ends this year.

If you’re wondering why updates to Email Users and Google Forms are so slow coming out, it is because I am a bit preoccupied and wasting lots of time reading the analysis from all of the college hoop pundits.  I am also going over my brackets for the various pools I am in.  Once the tournament is over, particularly after Villanova loses, my attention will return to my various projects and updates will become a bit more predictable.

 

Email Users v4.7.1-beta-2 available

This evening I released beta-2 of Email Users v4.7.1.  This build addresses a couple of issues and introduces a new filter which allows manipulation of portions of the generated email headers.

The Dashboard Widget can now be disabled.  It is on by default but can be turned off with a setting (Dashboard > Settings > Email Users).

There have been several requests to support wpMandrill.  It wasn’t until recently that I learned that in addition to overloading wp_mail(), Mandrill requires the recipient addresses to be in the TO header where as Email Users uses the BCC header to send email.

I didn’t want to make it simple to use the TO header instead of the BCC header as I view it as risky.  Exposing the recipients of a mass mailing is a no-no.  However, Mandrill is widely used and with several requests, I needed a safe yet viable solution.

The new mailusers_manipulate_headers allows the user to modify the headers so they’ll work with Mandrill while not making it too easy to do so.  Here is an example of how the headers could/would be modified to have the recipients in the TO header instead of the BCC header.

/**
 * wpMandrill needs the recipients in the TO header instead
 * of the BCC header which Email Users uses by default. This
 * filter will move all of the recipients from the BCC header
 * into the TO header and clean up any formatting and then nuke
 * the BCC header.
 *
 */
function mailusers_mandrill_headers($to, $headers, $bcc)
{
    // Copy the BCC headers to the TO header without the "Bcc:" prefix
    $to = preg_replace('/^Bcc:\s+/', '', $bcc) ;

    // Empty out the BCC header
    $bcc = array() ;

    return array($to, $headers, $bcc) ;
}

add_filter('mailusers_manipulate_headers', 'mailusers_mandrill_headers', 10, 3) ;

This code would be placed in the functions.php file.  More details can found in the ReadMe.txt file.  The example above is now included with the plugin, you can find it in the examples directory.

Email Users Beta (190)

Google Forms v0.73-beta-4

This evening I released beta-4 of Google Forms v0.73.  This builds add support for Right to Left (RTL) languages by adding a column order option when using multiple columns.  This functionality was requested earlier today on the Support Forum and was very easy to implement as the jQuery Columnizer plugin already supported RTL.  The only other change is an update of the language translation files.

Google Forms Beta (67)