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.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

General Questions /

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

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

Mollom has killed the comments page in every SS site


Go to End


21 Posts   5621 Views

Avatar
Bruce B

Community Member, 164 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, 164 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, 1391 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, 1391 Posts

10 August 2009 at 8:26pm

Edited: 10/08/2009 9:28pm

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;

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, 5523 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, 1391 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