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.
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.
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.
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.
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.
This afternoon I posted beta-1 of Email Users v4.7.1. This release addresses a warning related to the max_input_vars setting when the server doesn’t have the configuration variable defined. This happens on some older server configurations, notably, those running PHP 5.3.8 and earlier.
After submission, Google Forms show, unless hidden with CSS, a “Submit another response” link which links back to the Google Docs version of the form. This link is now replaced with the proper link to URL where the form appears on the WordPress site.
Please do some testing with this beta version and report any problems. I will do my best to fix them quickly as I would like to get this version released as soon as possible.
This evening I posted beta-1 of Email Users v4.7.0. This build addresses, or at least recognizes, an issue recently reported in the WordPress Support forum where email was not being sent when a large number of users were being selected.
The crux of this problem is the PHP max_input_vars configuration setting which by default, is set to 1000.
Every user selected on the form plus the other form fields are submitted as “input vars”. If ~990 or more users were selected, the input vars would be exhausted and the form submit would be missing required fields. The result was no email sent and the form being redisplayed for the user.
While I can’t change the setting of PHP’s max_input_vars setting, I can detect when the scenario, I can detect when it might be a problem and warn the user.
The warning shown above will now be displayed whenever the number of users which could be selected approaches or exceeds the current setting of max_input_vars.
Hopefully this will alleviate the confusion around this issue. Please report back on any bugs or odd behavior.
Yesterday afternoon I released v4.6.11 of Email Users. In addition to the additions to Dashboard to report the status of various filters, this release contains a fix to address a problem with using the Post Excerpt as the email content instead of the post itself and more importantly, a duplicate mail header problem.