Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Mollom has killed the comments page in every SS site


Reply


21 Posts   3815 Views

Avatar
Bruce B

Community Member, 145 Posts

10 August 2009 at 7:09pm

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.

Avatar
Bruce B

Community Member, 145 Posts

10 August 2009 at 7:17pm

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.

Avatar
martimiz

Forum Moderator, 1097 Posts

10 August 2009 at 7:42pm

Edited: 10/08/2009 7:45pm

EDIT: sorry, I missed the previous message, reported the same table refresh happening on my sites...

Avatar
martimiz

Forum Moderator, 1097 Posts

10 August 2009 at 8:26pm

Edited: 10/08/2009 9:28pm

Thanks to Jamie Neil [url=http://groups.google.com/group/silverstripe-dev/browse_thread/thread/827543801d029669]in this thread[/url]...

[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;

Replace with:

            // 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;

Avatar
Willr

Forum Moderator, 5513 Posts

11 August 2009 at 3:37pm

Hey All!

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.

Download http://www.silverstripe.org/mollom-module/TrunkDownload/generate

Cheers,

Avatar
martimiz

Forum Moderator, 1097 Posts

11 August 2009 at 7:26pm

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

Avatar
keepassmobile

Community Member, 5 Posts

11 August 2009 at 8:08pm

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

Avatar
qlex

Community Member, 68 Posts

12 August 2009 at 3:18am

Edited: 12/08/2009 3:24am

hi willr,
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.

EDIT:
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.

qlex