WP Affiliate Manager – Affiliate Plugin for WP e-Commerce

We’re glad to announce the release of WP Affiliate Manager version 1.5.0.  This version initially centered around a bugfix having to do with a namespace conflict in the latest (3.8.9.x) versions of WP e-Commerce.  However in the process, we were able to add several minor enhancements that will enhance WP Affiliate Manager for the future.

gettext translation wrappers

While not all screens have had the gettext translation wrappers applied (notably the settings and paypal pages in wp-admin), everything else has been added.  Expect a 1.5.x release early in 2013 that will be fully translatable.

As such, we’re putting out a call for translators.  We are willing to offer free lifetime use & upgrades of the WP Affiliate Manager to anyone who contributes a full translation in their own language. We have a couple of people already talking to us about certain languages, so if you’re interested, please fill out the form on our translation page and let us know what language you’d like to help us add to WP Affiliate Manager!

money_format() for Windows

money_format() is a native PHP function, but it does not exist on Windows platforms.  We added a simple one for those hosting in Windows environments which should get the job done.

PayPal enhancements

First, the sandbox PayPal URL has been fixed.  This is mostly used for development/testing purposes, but none-the-less is important.

Also, we removed the requirement for needing the PHP cURL module requirement.  Instead, WP Affiliate Manager uses WordPress’ native HTTP request methods.

jQuery UI Tabs + cookies + mod_security bugfix

An interesting sidenote… we discovered a bug where if you went to the 2nd tab on WP Affiliate Manager’s “My Affiliates” screen on our test server, your next navigation point in WordPress would either result in a 404 error, or an endless loop of 302 redirects.

Turns out the bug was caused by a perfect storm of Apache’s mod_security (which is enabled on our test server) and the use of jQuery UI Tabs with a cookie save option.  What was occurring was the cookie name was being saved as “ui-tabs-1″ and if your last visited tab was the 2nd tab (index 1) the cookie was saved as “ui-tabs-1=1″.  This would be passed with each HTTP request as a cookie header.  Since mod_security doesn’t like anything where “1=1″, it was changing the request, causing WordPress to become all sorts of confused.  You can see a bug report about it here: http://bugs.jqueryui.com/ticket/8027

The solution was to name the cookie, so the automatically generated name wasn’t used:

jQuery("#tabs").tabs({

    cookie: {

        name: 'wpam_detail_tab'

    }

});

Enjoy all of the fixes!