<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Worst Offenders for WordPress 2.5 &#8211; Pre-Alpha</title>
	<atom:link href="http://boakes.org/worst-offenders-for-wordpress-25/feed/" rel="self" type="application/rss+xml" />
	<link>http://boakes.org/worst-offenders-for-wordpress-25/</link>
	<description>A place for words and data that I publish (for the benefit of persons unknown).</description>
	<lastBuildDate>Mon, 30 Jan 2012 17:00:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>By: Alan</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5542</link>
		<dc:creator>Alan</dc:creator>
		<pubDate>Wed, 04 Jun 2008 19:10:45 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5542</guid>
		<description>am i right in thinking that as you are using abstract class code, that this is now PHP5 only?

;_;</description>
		<content:encoded><![CDATA[<p>am i right in thinking that as you are using abstract class code, that this is now PHP5 only?</p>
<p>;_;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AJ</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5541</link>
		<dc:creator>AJ</dc:creator>
		<pubDate>Sun, 25 May 2008 15:21:34 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5541</guid>
		<description>Hey Rich,

Any updates on the defensio integration with worst offenders?</description>
		<content:encoded><![CDATA[<p>Hey Rich,</p>
<p>Any updates on the defensio integration with worst offenders?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AJ</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5538</link>
		<dc:creator>AJ</dc:creator>
		<pubDate>Fri, 11 Apr 2008 10:59:15 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5538</guid>
		<description>Awesome.. I&#039;ll be waiting for it :)</description>
		<content:encoded><![CDATA[<p>Awesome.. I&#8217;ll be waiting for it <img src='http://boakes.org/x/wp/live/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5539</link>
		<dc:creator>Rich</dc:creator>
		<pubDate>Fri, 11 Apr 2008 10:36:53 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5539</guid>
		<description>Sounds interesting... It should be fairly easy to write a defensio litmus test for Worst Offenders.  If nobody else has a crack at it, I&#039;ll take a look.</description>
		<content:encoded><![CDATA[<p>Sounds interesting&#8230; It should be fairly easy to write a defensio litmus test for Worst Offenders.  If nobody else has a crack at it, I&#8217;ll take a look.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AJ</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5540</link>
		<dc:creator>AJ</dc:creator>
		<pubDate>Fri, 11 Apr 2008 10:33:34 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5540</guid>
		<description>Hey Rich,

I&#039;ve been using Worst Offenders since forever and love it.
I have recently switched to Defensio and was wondering if you could make this work with Defensio too (defensio.com)

I would love to start using this plugin again. Thanks a ton for the plugin :)</description>
		<content:encoded><![CDATA[<p>Hey Rich,</p>
<p>I&#8217;ve been using Worst Offenders since forever and love it.<br />
I have recently switched to Defensio and was wondering if you could make this work with Defensio too (defensio.com)</p>
<p>I would love to start using this plugin again. Thanks a ton for the plugin <img src='http://boakes.org/x/wp/live/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5536</link>
		<dc:creator>Rich</dc:creator>
		<pubDate>Tue, 08 Apr 2008 04:48:46 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5536</guid>
		<description>Thanks for the report ovizii.  I&#039;ve just checked in a modified version which may should help.</description>
		<content:encoded><![CDATA[<p>Thanks for the report ovizii.  I&#8217;ve just checked in a modified version which may should help.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ovizii</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5537</link>
		<dc:creator>ovizii</dc:creator>
		<pubDate>Tue, 08 Apr 2008 00:03:38 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5537</guid>
		<description>Plugin could not be activated because it triggered a fatal error.
Parse error: syntax error, unexpected T_CLASS in /var/www/web6/web/wordpress/wp-content/plugins/worst-offenders/classes/litmus.php on line 3

using wp 2.5</description>
		<content:encoded><![CDATA[<p>Plugin could not be activated because it triggered a fatal error.<br />
Parse error: syntax error, unexpected T_CLASS in /var/www/web6/web/wordpress/wp-content/plugins/worst-offenders/classes/litmus.php on line 3</p>
<p>using wp 2.5</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Samuel</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5523</link>
		<dc:creator>Chris Samuel</dc:creator>
		<pubDate>Sat, 22 Mar 2008 22:01:53 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5523</guid>
		<description>Hi Rich,

I&#039;ve emailed you a patch for the current devel version that fixes all those MySQL bugs and results in all the indexes getting created correctly.

I&#039;ve gone from it finding 2 messages to finding 49 that it can deal with as it&#039;s now picking up 46 in the MultiLink category it wasn&#039;t seeing before.

All 49
IP 0
MultiLink 46
Domain 0
Email 0
MD5 0
Name Length 2
ObviousName 1</description>
		<content:encoded><![CDATA[<p>Hi Rich,</p>
<p>I&#8217;ve emailed you a patch for the current devel version that fixes all those MySQL bugs and results in all the indexes getting created correctly.</p>
<p>I&#8217;ve gone from it finding 2 messages to finding 49 that it can deal with as it&#8217;s now picking up 46 in the MultiLink category it wasn&#8217;t seeing before.</p>
<p>All 49<br />
IP 0<br />
MultiLink 46<br />
Domain 0<br />
Email 0<br />
MD5 0<br />
Name Length 2<br />
ObviousName 1</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5527</link>
		<dc:creator>Rich</dc:creator>
		<pubDate>Sat, 22 Mar 2008 15:04:41 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5527</guid>
		<description>I&#039;ve removed references to roll_call (I need to find a better way of setting configs, probably within the &quot;content&quot; method).</description>
		<content:encoded><![CDATA[<p>I&#8217;ve removed references to roll_call (I need to find a better way of setting configs, probably within the &#8220;content&#8221; method).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Samuel</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5533</link>
		<dc:creator>Chris Samuel</dc:creator>
		<pubDate>Sat, 22 Mar 2008 13:18:00 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5533</guid>
		<description>More information - I&#039;ve noticed that there are SQL errors being generated by the attempts to create indexes, they&#039;re not being picked up by your code but are getting reported in the Apache error log.

Here you go, these are all from just clicking on the &quot;Update Options&quot; button on the WorstOffenders Config page:

[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error FUNCTION wp2.wordcount2 does not exist for query SELECT wordcount2(comment_content, &#039;http://&#039;) as num, group_concat(comment_id separator &#039;,&#039;) as comment_id_list FROM wp_comments where comment_approved=&#039;spam&#039; group by num having num &gt;= 10 order by num desc; made by runCachedMatchesQuery
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#039;&#039;wp_comments&#039; ADD INDEX &#039;ip_spotter&#039;(&#039;comment_author_IP&#039;)&#039; at line 1 for query ALTER TABLE &#039;wp_comments&#039; ADD INDEX &#039;ip_spotter&#039;(&#039;comment_author_IP&#039;); made by addIndex
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#039;&#039;wp_comments&#039; ENGINE = MyISAM ROW_FORMAT = DYNAMIC;
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#039;wp_comment&#039; at line 1 for query
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#039;wp_comments&#039; ENGINE = MyISAM ROW_FORMAT = DYNAMIC;
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#039;wp_comments&#039; ADD FULLTEXT INDEX &#039;content_fulltext&#039;(&#039;comment_content&#039;);
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tCREATE FUNCTION wordcount2 ( a text, b VARCHAR(255) )
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tRETURNS INTEGER
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tCONTAINS SQL DETERMINISTIC
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tRETURN (CHAR_LENGTH(a)-CHAR_LENGTH(REPLACE(a, b, &#039;&#039;)))/CHAR_LENGTH(b);
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t made by addIndex
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#039;if exists url_spotter&#039; at line 1 for query drop index if exists url_spotter; made by addIndex
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#039;&#039;wp_comments&#039; ADD INDEX &#039;url_spotter&#039;(&#039;comment_author_url&#039;)&#039; at line 1 for query ALTER TABLE &#039;wp_comments&#039; ADD INDEX &#039;url_spotter&#039;(&#039;comment_author_url&#039;); made by addIndex
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#039;&#039;wp_comments&#039; ADD INDEX email_spotter&#039;(&#039;comment_author_email&#039;)&#039; at line 1 for query ALTER TABLE &#039;wp_comments&#039; ADD INDEX email_spotter&#039;(&#039;comment_author_email&#039;); made by addIndex
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#039;&#039;wp_comments&#039; ENGINE = MyISAM ROW_FORMAT = DYNAMIC;
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#039;wp_comment&#039; at line 1 for query
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#039;wp_comments&#039; ENGINE = MyISAM ROW_FORMAT = DYNAMIC;
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#039;wp_comments&#039; ADD FULLTEXT INDEX &#039;content_fulltext&#039;(&#039;comment_content&#039;);
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tCREATE FUNCTION wordcount2 ( a text, b VARCHAR(255) )
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tRETURNS INTEGER
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tCONTAINS SQL DETERMINISTIC
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tRETURN (CHAR_LENGTH(a)-CHAR_LENGTH(REPLACE(a, b, &#039;&#039;)))/CHAR_LENGTH(b);
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t made by addIndex
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#039;&#039;author_fulltext&#039; (comment_author)&#039; at line 1 for query ALTER TABLE wp_comments ADD FULLTEXT INDEX &#039;author_fulltext&#039; (comment_author); made by addIndex</description>
		<content:encoded><![CDATA[<p>More information &#8211; I&#8217;ve noticed that there are SQL errors being generated by the attempts to create indexes, they&#8217;re not being picked up by your code but are getting reported in the Apache error log.</p>
<p>Here you go, these are all from just clicking on the &#8220;Update Options&#8221; button on the WorstOffenders Config page:</p>
<p>[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error FUNCTION wp2.wordcount2 does not exist for query SELECT wordcount2(comment_content, &#8216;http://&#8217;) as num, group_concat(comment_id separator &#8216;,&#8217;) as comment_id_list FROM wp_comments where comment_approved=&#8217;spam&#8217; group by num having num &gt;= 10 order by num desc; made by runCachedMatchesQuery<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#8221;wp_comments&#8217; ADD INDEX &#8216;ip_spotter&#8217;(&#8216;comment_author_IP&#8217;)&#8217; at line 1 for query ALTER TABLE &#8216;wp_comments&#8217; ADD INDEX &#8216;ip_spotter&#8217;(&#8216;comment_author_IP&#8217;); made by addIndex<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#8221;wp_comments&#8217; ENGINE = MyISAM ROW_FORMAT = DYNAMIC;<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#8216;wp_comment&#8217; at line 1 for query<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#8216;wp_comments&#8217; ENGINE = MyISAM ROW_FORMAT = DYNAMIC;<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#8216;wp_comments&#8217; ADD FULLTEXT INDEX &#8216;content_fulltext&#8217;(&#8216;comment_content&#8217;);<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tCREATE FUNCTION wordcount2 ( a text, b VARCHAR(255) )<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tRETURNS INTEGER<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tCONTAINS SQL DETERMINISTIC<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tRETURN (CHAR_LENGTH(a)-CHAR_LENGTH(REPLACE(a, b, &#8221;)))/CHAR_LENGTH(b);<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t made by addIndex<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#8216;if exists url_spotter&#8217; at line 1 for query drop index if exists url_spotter; made by addIndex<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#8221;wp_comments&#8217; ADD INDEX &#8216;url_spotter&#8217;(&#8216;comment_author_url&#8217;)&#8217; at line 1 for query ALTER TABLE &#8216;wp_comments&#8217; ADD INDEX &#8216;url_spotter&#8217;(&#8216;comment_author_url&#8217;); made by addIndex<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#8221;wp_comments&#8217; ADD INDEX email_spotter&#8217;(&#8216;comment_author_email&#8217;)&#8217; at line 1 for query ALTER TABLE &#8216;wp_comments&#8217; ADD INDEX email_spotter&#8217;(&#8216;comment_author_email&#8217;); made by addIndex<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#8221;wp_comments&#8217; ENGINE = MyISAM ROW_FORMAT = DYNAMIC;<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#8216;wp_comment&#8217; at line 1 for query<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#8216;wp_comments&#8217; ENGINE = MyISAM ROW_FORMAT = DYNAMIC;<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tALTER TABLE &#8216;wp_comments&#8217; ADD FULLTEXT INDEX &#8216;content_fulltext&#8217;(&#8216;comment_content&#8217;);<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tCREATE FUNCTION wordcount2 ( a text, b VARCHAR(255) )<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tRETURNS INTEGER<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tCONTAINS SQL DETERMINISTIC<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t\tRETURN (CHAR_LENGTH(a)-CHAR_LENGTH(REPLACE(a, b, &#8221;)))/CHAR_LENGTH(b);<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: \t\t\t made by addIndex<br />
[Sun Mar 23 00:14:23 2008] [warn] mod_fcgid: stderr: WordPress database error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#8221;author_fulltext&#8217; (comment_author)&#8217; at line 1 for query ALTER TABLE wp_comments ADD FULLTEXT INDEX &#8216;author_fulltext&#8217; (comment_author); made by addIndex</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Samuel</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5532</link>
		<dc:creator>Chris Samuel</dc:creator>
		<pubDate>Sat, 22 Mar 2008 13:00:35 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5532</guid>
		<description>Forgot to say - that&#039;s the current development version (you need to look under &quot;&lt;a href=&quot;http://wordpress.org/extend/plugins/worst-offenders/download/&quot; rel=&quot;nofollow&quot;&gt;Other Versions&lt;/a&gt;&quot; link from the download page.</description>
		<content:encoded><![CDATA[<p>Forgot to say &#8211; that&#8217;s the current development version (you need to look under &#8220;<a href="http://wordpress.org/extend/plugins/worst-offenders/download/" rel="nofollow">Other Versions</a>&#8221; link from the download page.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Samuel</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5531</link>
		<dc:creator>Chris Samuel</dc:creator>
		<pubDate>Sat, 22 Mar 2008 12:59:26 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5531</guid>
		<description>Bore da Rich,

The current version gives me this error on the WO options screen:

Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, &#039;AllLitmus::rollCall&#039; was given in $BLOG/wp-includes/plugin.php on line 311

Two other points:

1. You need to tell people they must use MyISAM for their comments table in MySQL as you rely on FULLTEXT queries.   I was using InnoDB and was getting errors about FULLTEXT not being supported on that table.

2. You need to tell people to update their indexes when they install the plugin (or do it for them), otherwise you get errors like:

[Sat Mar 22 23:53:49 2008] [warn] mod_fcgid: stderr: WordPress database error FUNCTION wp2.wordcount2 does not exist for query SELECT wordcount2(comment_content, &#039;http://&#039;) as num, group_concat(comment_id separator &#039;,&#039;) as comment_id_list FROM wp_comments where comment_approved=&#039;spam&#039; group by num having num &gt;= 10 order by num desc; made by runCachedMatchesQuery

Actually, I&#039;m still getting that, is that because the first error stops the FUNCTION being created ?

cheers,
Chris</description>
		<content:encoded><![CDATA[<p>Bore da Rich,</p>
<p>The current version gives me this error on the WO options screen:</p>
<p>Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, &#8216;AllLitmus::rollCall&#8217; was given in $BLOG/wp-includes/plugin.php on line 311</p>
<p>Two other points:</p>
<p>1. You need to tell people they must use MyISAM for their comments table in MySQL as you rely on FULLTEXT queries.   I was using InnoDB and was getting errors about FULLTEXT not being supported on that table.</p>
<p>2. You need to tell people to update their indexes when they install the plugin (or do it for them), otherwise you get errors like:</p>
<p>[Sat Mar 22 23:53:49 2008] [warn] mod_fcgid: stderr: WordPress database error FUNCTION wp2.wordcount2 does not exist for query SELECT wordcount2(comment_content, &#8216;http://&#8217;) as num, group_concat(comment_id separator &#8216;,&#8217;) as comment_id_list FROM wp_comments where comment_approved=&#8217;spam&#8217; group by num having num &gt;= 10 order by num desc; made by runCachedMatchesQuery</p>
<p>Actually, I&#8217;m still getting that, is that because the first error stops the FUNCTION being created ?</p>
<p>cheers,<br />
Chris</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5534</link>
		<dc:creator>Rich</dc:creator>
		<pubDate>Fri, 21 Mar 2008 13:53:36 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5534</guid>
		<description>No idea... perhaps I should probably start tagging the check-ins.</description>
		<content:encoded><![CDATA[<p>No idea&#8230; perhaps I should probably start tagging the check-ins.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Samuel</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5530</link>
		<dc:creator>Chris Samuel</dc:creator>
		<pubDate>Fri, 21 Mar 2008 13:01:10 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5530</guid>
		<description>Do you need to bump the version number for it to notice the change ?

Or do they only update daily ?</description>
		<content:encoded><![CDATA[<p>Do you need to bump the version number for it to notice the change ?</p>
<p>Or do they only update daily ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5535</link>
		<dc:creator>Rich</dc:creator>
		<pubDate>Fri, 21 Mar 2008 11:42:36 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5535</guid>
		<description>I&#039;ve checked in an update that:
&lt;ol&gt;&lt;li&gt;Uses wp_cache wherever possible to reduce DB overhead.&lt;/li&gt;
&lt;li&gt;Modifies all getCount functions so they refer to the cached - reducing overall queries.&lt;/li&gt;
&lt;li&gt;Gives an accurate total count which allows for overlap of different litmus tests.&lt;/li&gt;
&lt;li&gt;Hopefully fixes the percentage calculation issue. (Thanks for the pointer Chris)&lt;/li&gt;
&lt;ol&gt;</description>
		<content:encoded><![CDATA[<p>I&#8217;ve checked in an update that:</p>
<ol>
<li>Uses wp_cache wherever possible to reduce DB overhead.</li>
<li>Modifies all getCount functions so they refer to the cached &#8211; reducing overall queries.</li>
<li>Gives an accurate total count which allows for overlap of different litmus tests.</li>
<li>Hopefully fixes the percentage calculation issue. (Thanks for the pointer Chris)</li>
</ol>
<ol></ol>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Samuel</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5529</link>
		<dc:creator>Chris Samuel</dc:creator>
		<pubDate>Fri, 21 Mar 2008 04:25:18 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5529</guid>
		<description>Just noticed that it claims &quot;Worst Offenders has has removed 10,264% of spam automatically&quot; - whiter than white ? :-)</description>
		<content:encoded><![CDATA[<p>Just noticed that it claims &#8220;Worst Offenders has has removed 10,264% of spam automatically&#8221; &#8211; whiter than white ? <img src='http://boakes.org/x/wp/live/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Samuel</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5528</link>
		<dc:creator>Chris Samuel</dc:creator>
		<pubDate>Fri, 21 Mar 2008 03:52:09 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5528</guid>
		<description>Interestingly, now I&#039;ve migrated my main blog to 2.5-RC1 I&#039;m not seeing the same problem, possibly because I&#039;ve had a couple of spam comments arrive since the migration.

Still, well worth checking before a possible divide that something bad isn&#039;t about to happen..

Diolch yn fawr!</description>
		<content:encoded><![CDATA[<p>Interestingly, now I&#8217;ve migrated my main blog to 2.5-RC1 I&#8217;m not seeing the same problem, possibly because I&#8217;ve had a couple of spam comments arrive since the migration.</p>
<p>Still, well worth checking before a possible divide that something bad isn&#8217;t about to happen..</p>
<p>Diolch yn fawr!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Samuel</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5522</link>
		<dc:creator>Chris Samuel</dc:creator>
		<pubDate>Thu, 20 Mar 2008 13:05:42 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5522</guid>
		<description>Bore da Rich, dw&#039;in hoffi clep fawr! ;-)

OK - just upgraded a test version of my blog to 2.5, so I gave your WO 3.0 a quick go, and find I get a divide by zero error:

Warning: Division by zero in [..]/worst-offenders/classes/all_litmus.php on line 67

Line 67 in the version I have is:

$average = $counter / $denominator;

so it&#039;s not handling where $denominator is 0.

Pob lwc!
Chris</description>
		<content:encoded><![CDATA[<p>Bore da Rich, dw&#8217;in hoffi clep fawr! <img src='http://boakes.org/x/wp/live/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>OK &#8211; just upgraded a test version of my blog to 2.5, so I gave your WO 3.0 a quick go, and find I get a divide by zero error:</p>
<p>Warning: Division by zero in [..]/worst-offenders/classes/all_litmus.php on line 67</p>
<p>Line 67 in the version I have is:</p>
<p>$average = $counter / $denominator;</p>
<p>so it&#8217;s not handling where $denominator is 0.</p>
<p>Pob lwc!<br />
Chris</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5525</link>
		<dc:creator>Rich</dc:creator>
		<pubDate>Tue, 18 Mar 2008 21:03:43 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5525</guid>
		<description>I&#039;ve just checked in a basic dashboard link which cuts the number of clicks down to 2 (one click to select the worst offenders page and one click to press the delete button.  I&#039;ll have a look at adding a button to the dashboard later.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve just checked in a basic dashboard link which cuts the number of clicks down to 2 (one click to select the worst offenders page and one click to press the delete button.  I&#8217;ll have a look at adding a button to the dashboard later.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich</title>
		<link>http://boakes.org/worst-offenders-for-wordpress-25/comment-page-1/#comment-5526</link>
		<dc:creator>Rich</dc:creator>
		<pubDate>Tue, 18 Mar 2008 06:22:39 +0000</pubDate>
		<guid isPermaLink="false">http://boakes.org/?p=738#comment-5526</guid>
		<description>great input there Shahab, thanks.

As I see it there&#039;s a bunch of stuff to be done before the first release candidate, the list is...

&lt;ol&gt;
&lt;li&gt;Sort out the spam counting system.  Currently each Litmus test returns a count of the number of messages it can detect.  The downside of this is that if a comment is detected by more than one litmus test, it gets counted twice.  The solutions are to either to avoid counting altogether and just return and merge the display results, or, as you&#039;ve suggested use a temporary table to store the count.&lt;/li&gt;

&lt;li&gt;Simplify access. Dashboard inclusion with a quick delete button is definitely a good idea.  I&#039;ve been looking into that and also into getting a simplified clone of the &quot;All&quot; tab within Akismet itself (its tabs are extensible).&lt;/li&gt;

&lt;li&gt;Comment Viewing.  The dead link is a surprise, but it&#039;s good that it&#039;s highlighted the issue.  I&#039;m torn between a popup or a static iframe that would contain the detail, what I definitely want to avoid is returning and using all the detail unless it&#039;s necessary, so whether popup or iframe, it would need to be a dynamic comment lookup.&lt;/li&gt;

&lt;li&gt;Litmus test detection.  Currently the litmus tests are manually included.  I&#039;d like this to be automated so new tests can be added without any change to the core.  This will either be through sticking tests in a single folder, or making tests standard plugins that register with WO upon initialisation.&lt;/li&gt;
&lt;li&gt;Once discovered (exactly like the plugin system) each litmus test should initially be un-activated - it should be up to the user to decide what gets used.&lt;/li&gt;

&lt;li&gt;Clean up Index creation and deletion in each litmus test.&lt;/li&gt;

&lt;/ul&gt;</description>
		<content:encoded><![CDATA[<p>great input there Shahab, thanks.</p>
<p>As I see it there&#8217;s a bunch of stuff to be done before the first release candidate, the list is&#8230;</p>
<ol>
<li>Sort out the spam counting system.  Currently each Litmus test returns a count of the number of messages it can detect.  The downside of this is that if a comment is detected by more than one litmus test, it gets counted twice.  The solutions are to either to avoid counting altogether and just return and merge the display results, or, as you&#8217;ve suggested use a temporary table to store the count.</li>
<li>Simplify access. Dashboard inclusion with a quick delete button is definitely a good idea.  I&#8217;ve been looking into that and also into getting a simplified clone of the &#8220;All&#8221; tab within Akismet itself (its tabs are extensible).</li>
<li>Comment Viewing.  The dead link is a surprise, but it&#8217;s good that it&#8217;s highlighted the issue.  I&#8217;m torn between a popup or a static iframe that would contain the detail, what I definitely want to avoid is returning and using all the detail unless it&#8217;s necessary, so whether popup or iframe, it would need to be a dynamic comment lookup.</li>
<li>Litmus test detection.  Currently the litmus tests are manually included.  I&#8217;d like this to be automated so new tests can be added without any change to the core.  This will either be through sticking tests in a single folder, or making tests standard plugins that register with WO upon initialisation.</li>
<li>Once discovered (exactly like the plugin system) each litmus test should initially be un-activated &#8211; it should be up to the user to decide what gets used.</li>
<li>Clean up Index creation and deletion in each litmus test.</li>
</ol>
]]></content:encoded>
	</item>
</channel>
</rss>

