Unfortunately -- and I don't know if this is a recent development, or not -- the Mailchimp module will always report that users were not subscribed to mailing lists (and probably other things), even though it goes through.

In the event that a user subscription is successful, the "/includes/mailchimp.inc" file will send the data to Mailchimp and pass along, if there are no errors, the $response->data value. If a user is successfully subscribed, the $response->data will be the string "true".

mailchimp.inc passes that response through drupal_json_decode() which passes it to json_decode(), which prior to PHP 5.2.1 will return a blank response instead of the integer "1". I've simply hacked my file to read:

if ($response->data == 'true') {
  $return = 1;
else {
  $return = drupal_json_decode($response->data);

And I think that might be a fine way to do it to ensure backwards compatibility.


gcb’s picture

Status:Needs review» Closed (works as designed)

since Drupal itself requires 5.2.5 we're not going to mess with this. https://drupal.org/requirements

Offlein’s picture

Well I'll be hornswaggled! OK! Thank you!