it does look as if the only option till we get a fix is to switch off Mollom by commenting out the SpamProtectorManager line in _config.php.
It looks as though the entries in the MollomServer table are updated dynamically. I just checked: I now have an 88. IP address as my first entry again after deleting these entries previously.
EDIT: sorry, I missed the previous message, reported the same table refresh happening on my sites...
Thanks to Jamie Neil in this thread...
[EDIT] And of course I was too quick again posting code :-( But this might be it:[/EDIT]
In the following code the counter is updated in the call to doCall(), but the next ServerURL to try is still the same failing url, as it is retreived with the old counter. Incrementing the counter first will fix this.
/lib/Mollom.php - 444
// code 1200 (Server too busy) case 1200: if(self::$serverList === null) self::getServerList(); // do call again return self::doCall($method, $parameters, self::$serverList[$counter], $counter++); break;
// code 1200 (Server too busy) case 1200: if(self::$serverList === null) self::getServerList(); // increment counter $counter++; // do call again return self::doCall($method, $parameters, self::$serverList[$counter], $counter); break;
I have just commited a couple changes to Mollom trunk to prevent this from happening so would be great if you could try that out and let me know if you have any issues.
thanks willr, downloaded rev 84159 and it works fine for me now, loop above has also been fixed - in a different better way then I did :-).
One more thought: supposing the server ip in the datatable cache somehow gets corrupted or the server is no longer available - could this happen in real life? I just tried this with a 'imaginary' ip and this made the page exit with an error:
[User Error] Uncaught Exception: Something went wrong. Maybe the following message can be handy.couldn't connect to host ... Line 104 in /xxx/mollom/code/MollomServer.php
Hi willr and martimiz
thanks for your work both of you. While the fix of martimiz does work, the new build does not. I get an error:
Fatal error: Class 'SpamProtectorField' not found in /homepages/123/htdocs/abc/mollom/code/MollomField.php on line 8
Is it because I am still on 2.3.1?
thnx & Regards
im trying out your newest trunk here to run with my user defined forms (using stable recent release).
after creating a form and adding "spam protection" field and publishing i get this error when trying to view page:
[User Error] Uncaught Exception: Something went wrong. Maybe the following message can be handy. malformed GET /ztm/new-userdefinedform/ Line 104 in /home/2eur/www/ztm/mollom/code/MollomServer.php Source 95 // if the cached serverlist is outdated 96 case 1100: 97 // delete cached server list first - in database 98 singleton('MollomServer')->clearCachedServerList(); 99 // use default server list 100 Mollom::setServerList(Mollom::getServerList()); 101 break; 102 103 default: 104 throw new Exception( $e->getMessage() , $errCode); 105 } 106 107 } 108 } 109 110 } Trace * MollomServer::doCall(getImageCaptcha,Array) Line 66 of MollomServer.php * MollomServer::getImageCaptcha() Line 57 of MollomField.php * MollomField->Field() Line 408 of ViewableData.php * ViewableData->XML_val(Array,Array) Line 370 of FormField.php * FormField->FieldHolder(Field) Line 87 of MollomField.php * MollomField->FieldHolder() Line 408 of ViewableData.php * ViewableData->XML_val() Line 70 of .cache.home.2eur.www.ztm.sapphire.templates.Includes.Form.ss * include(/tmp/silverstripe-cache-home-2eur-www-ztm/.cache.home.2eur.www.ztm.sapphire.templates.Includes.Form.ss) Line 354 of SSViewer.php * SSViewer->process(Array,Array) Line 773 of ViewableData.php * ViewableData->renderWith(FieldHolder,,1) Line 980 of Form.php * Form->forTemplate(Object id #39) Line 171 of UserDefinedForm.php * UserDefinedForm_Controller->index(Array) Line 162 of Controller.php * Controller->handleAction() Line 129 of RequestHandler.php * RequestHandler->handleRequest(Object id #15) Line 122 of Controller.php * Controller->handleRequest(Object id #15) Line 29 of ModelAsController.php * ModelAsController->handleRequest(Object id #15) Line 277 of Director.php * Director::handleRequest(Object id #15) Line 121 of Director.php * Director::direct(Object id #15) Line 118 of main.php
any ideas on what could be wrong ?
i have previously deleted those two entries in the MollomServer table.
I manually added both URLs to MollomServer and my Mollom seems to work now !
One question though, upon load, FF indicates a missing plugin, which cant be found to handle: audio/mp3 ?
Mollom only displays the characters which need to be typed in and doesnt display the audio element at all.