Email-Users v4.4.1-beta-5 now available

This morning I updated the beta version of Email Users 4.4.1 to beta-5.  This version updates a number of the links within the plugin which referred to the old plugin home page on MarvinLabs.com which are no longer in existance.

I hope this is the final beta release before 4.4.1 goes out.  All I am waiting for is some updates to language translation files.

Email Users Custom List (6305 downloads )

Please download and test the beta release.  Report back any issues and I’ll do what I can to fix them quickly.

Email Users Beta (8063 downloads )

Odd behavior with PHP’s method_exists() function

I recently had a report from a user that many of the pages within the wp-SwimTeam plugin were blank.  This is odd and incorrect behavior but I have seen it before.  When I last chased it down I found that the way various versions of PHP 5.2.x and 5.3.x handled Constructors was different and in some versions Constructors in parent classes would be called and in some versions they wouldn’t.

I assumed this new report of blank pages meant that I had missed one of these Constructor issues somewhere.  It turns out that wasn’t the case.  This time I found that PHP’s method_exists() function behaves differently between different versions of PHP on different platforms.

The report came in from a site running PHP 5.3.13 which is the same as what I am running in my development area.  The only difference I can see between the two servers is mine is running on Windows under IIS where as the problematic site is running Apache under Linux.

When a page is rendered for wp-SwimTeam, the objects on the page are traversed and HTML code is generated.  The objects which comprise the page content can either be strings (HTML code) or objects themselves which then traversed recursively until all of the leaf HTML is assembled.  This is core functionality in phpHtmlLib that I have been using for years without any issues until now.

What I found was that if the variable passed to method_exists() was a string instead of an object, PHP goes out in the weeds and never returns which ultimately results in the blank page.  This is the code that has been rendering objects in phpHtmlLib for 10+ years:

if (method_exists($item, "render") ) {

It was fairly simple to fix it.  By checking to see if the item is an object prior to checking for it’s render method, the problem is resolves and the page renders correctly.

if (is_object($item) && method_exists($item, "render") ) {

I will be updating phpHtmlLib with this fix shortly.

Email-Users 4.4.1-beta-3 available

This afternoon I updated the beta version of Email Users 4.4.1 to beta-3.  This version improves the Custom Group filter options by introducing a new Custom Group Meta Key filter.  It builds on the Custom Group Meta Filter but eliminates a lot of the work required if a filter on a Meta Key is desired instead of a Meta Key and Value pair.

For example the following code will yield a Send to Group Form with selections based on any possible value of a User Meta Key by the name of ‘department’:

add_action( 'mailusers_group_custom_meta_key_filter', 'send_to_departments', 5 );
function send_to_departments()
{
mailusers_register_group_custom_meta_key_filter('department', null, 'send_to_departments_label');
}
function send_to_departments_label($mk, $mv)
{
return(ucwords($mk) . ' = ' . ucwords($mv)) ;
}

The only required argument is the first one, which is the name of the Meta Key.  The second argument is an optional Meta Value and the third argument is an optional callback which accepts two strings, Meta Key and Meta Value, and returns a string which is used as the selection text on the form.

EU_SS_07

I have updated the example plugin again to create the filter which results in the image above, the examples I have done previously are still in the file however are commented out.  You can download it and drop it into  your plugins directory to see menus like shown in the beta-1 post.

Email Users Custom List (6305 downloads )

Please download and test the beta release.  Report back any issues and I’ll do what I can to fix them quickly.

Email Users Beta (8063 downloads )

Email-Users 4.4.1-beta-2 available

I have uploaded v4.4.1. beta-2 for Email Users.  This version changes the custom filters previously defined to be a “user” filter and introduces a “group” filter.  If you have used the “Send to Group” feature, you can now define a series of filters that you can send to.   There are examples of sending to the “Police” and “Fire” departments in the example filter plugin (see below).

EU_SS_06

I have updated the example plugin to create the filters, you download it and drop it into  your plugins directory to see menus like shown in the beta-1 post.

There is also a new option on the plugin settings page to control where bounced emails are sent.

Email Users Custom List (6305 downloads )

Please download and test the beta release.  Report back any issues and I’ll do what I can to fix them quickly.

Email Users Beta (8063 downloads )

Work-Around for Google Forms problem

It is no longer necessary to use this work-around, the WordPress Google Forms plugin now supports the new version of Google Forms.  This post remains here are part of the development history of the plugin.

Thanks to a tip form Kevin Dillon, a work-around to the problem with new Google Forms has been identified!  Legacy Google Forms are still available IF you start creating the form by opening a SpreadSheet first.  Once the spreadsheet is open, select “Create a legacy Form” from the “Tools” menu.  The form editor and published URL will be the same as those that had worked prior to the Google Forms update.

wpGForm_SS-002wpGForm_SS-003

Google change to breaks WordPress Google Form

Last week Google introduced a significant update to Google Forms.  In addition to a very different UI, the format of the public URL has changed AND more importantly, it has broken my WordPress Google Form plugin.

The change only seems to affect forms created from scratch using the new version of Google Forms.  My plugin is dependent on the WordPress HTTP API to retrieve the form from Google and with the new URL format, the API is returning an error.  I am trying to figure out what Google doesn’t like.

What is odd is I am able to successfully retrieve the form using the wget utility (a Unix command line tool for retrieving remote content) however wp_remote_get() doesn’t work.

I wish had some better news to report but right now I am stumped as to why this isn’t working.

If anyone has any ideas, I have posted some of the low level debug stuff on PastBin.

Email-Users 4.4.1-beta-1 available

I have fixed a couple of minor bugs, added German Language support and introduced new functionality to send email to a custom list of users based on meta data.  The ability to target a specific list of users based on user meta data is a feature that was requested a while back on the WordPress support form.

The new Customer Meta Filter List functionality allows the the site to create a custom list of users by adding an action in either the theme’s functions.php file or in a stand-alone plugin.

EU_SS_04 EU_SS_05

Unfortunately I ran into a WordPress limitation while working on this functionality.  The  ability to match user meta data through the WordPress get_users() API doesn’t work as expected with the LIKE and NOT LIKE comparisons.  In an effort to protect the SQL, WordPress wraps the value being compared with wildcards to the match is either too permissive (matches too much) or too restrictive (matches to little).

I have opened a WordPress Trac ticket and submitted a patch for this problem but until it gets fixed (or the patch in the Trac ticket is applied), only standard comparisons work.  The “Last Name: M” example won’t work without the patch nor will the “First Name: Not D”.

I have written an example plugin to create the above filters, you download it and drop it into  your plugins directory to see menus like shown above:

Email Users Custom List (6305 downloads )

Please download and test the beta release.  Report back any issues and I’ll do what I can to fix them quickly.

Email Users Beta (8063 downloads )

What is holding up the next wpGForm update?

I’ve had a couple questions about the next version of WordPress Google Form.  I have had a beta version of the next release of WordPress Google Form available for a number of weeks.  So what is holding up the release?  This is a pretty busy time of year for me at work (my real job) and combined with the holidays, I just haven’t had a lot of time to work on it.

This next update really changes how I recommend using the plugin and I want to make sure my Help and Support form can support it and right now it doesn’t.  So until I can find a few minutes to update the Help and Support form, I am going to hold off on the release.

WordPress Google Form v0.46 beta 9 available

I’ve updated the beta version of WordPress Google Form v0.46 this morning to beta-9. This beta update adds a significant new feature and one that has been requested a number of times: The ability to require an email address from the person filling out the form is now possible through a setting on the Google Form custom post type (this is not available through the old gform short code).

I would encourage migrating to the new short code and defining forms with the Google Forms Custom Post Type UI as that is where I am adding new functionality.  The way I added the User Email option should also allow me to allow form specific validation rules (e.g. URL required).

Download the beta release and please let me know if you run into any issues.

Google Forms Beta (11900 downloads )

WordPress Google Form v0.46 beta 8 available

I’ve updated the beta version of WordPress Google Form v0.46 one more time to beta-8 and made it available for download from this site. This beta update fixes a redirect problem when using the original “gform” short code. It was not present when using the new “wpgform” short code. I would encourage migrating to the new short code and defining forms with the Google Forms Custom Post Type UI.

Download the beta release and please let me know if you run into any issues.

Google Forms Beta (11900 downloads )