Fixed The “Illegal mix of collations” Error In My TERRIBL WordPress Plugin

Well, I finally found a server that would reproduce the “Illegal mix of collations” error that MySQL troughs when executing some queries in my TERRIBL Plugin. See, I guess alot of servers use latin1_swedish_ci as the default collation for their MySQL databases. This seems to cause an error in some queries, especially those that use foreign characters. So I have patched  my Plugin by explicitly setting all my database collations to utf8_general_ci. I also added an error handler that looks for this error in database table that may have been created by older versions of the Plugin and the new version will now fix the old tables using an “Alter Table” statement. So upgrade to version 1.1.12.21 now.

My TERRIBL Plugin Just Got Terribler

I released an update a couple of days ago with some more stats and another attempt to work around the whole Search String URL problem with Google’s new SSL Search. However, in the process of changing some field aliases in the database queries I inadvertently broke the Widget. So today I released another update to fix the Widget and it all seems to be working.

I really thought this Plugin has a lot of potential to be very popular but it still has less than 700 downloads and my other Plugin, Related Posts Links and Widget already has more than 2,600 downloads. Oh well, Maybe if I find a solution the the SSL Encrypted Search String issue it will be a great Search Engine Optimization Tool.

Update 1.1.11.17 of My TERRIBL Plugin

A week or so ago I started noticing some “sketchy” sites popping up on my TERRIBL Widget. When I checked them out I found no links to my site at all. After looking at my reports and log files and doing some experiments of my own, I figured out that most of these entries were coming from proxies, Perl scripts, and CURL calls and were completely bogus. So I started working on a way to automatically detect and block these and other invalid Referer’s from showing up on the sidebar widget. What I came up with was to do a callback to their site using the file_get_contents() function and scan their page for a link to the page in question. Then, only if the link was verified would the Referer be approved and added to the widget. After some testing on a few different sites using multiple methods for invoking these entries I felt satisfied that my new filtering technique was ready. So download this new version and let me know how it works for you!

New! version 1.1.11.08 of My TERRIBL Plugin Just Released

I just released a new vertion of my TERRIBL WordPress Plugin today. Thanks to a tip from “Futureproject” at silvercyborg.com I was able to track down I and eliminate a bug that caused the whole site to load lowly after installing my TERRIBL Plugin.

I also add a few handy things to the Admin page like a field to change the default path to your site when sharing you link. And thanks to Anthony at securehostinghawaii.com I discovered a need to block certain sites from showing up on the Widget, which is now possible in the new version. You can also manually add a site to be displayed on the Widget, which is helpful for getting started after your firs install when you haven’t gotten any In-Bound Link yet.

As always, if you like my plugins, don’t forget to rate them with 5 Stars at: http://wordpress.org/extend/plugins/profile/scheeeli

If you don’t like my plugins, just quietly let me know and I’ll see what I can do ;-)

deactivate_plugins not working in my register_activation_hook function

I just figured out for myself, after not being able to get the deactivate_plugins function to work and not finding any helpful documentation on it, how to prevent my plugin from being activated under certain conditions.
My new workaround is to use die() in my register_activation_hook, under the desired condition. Now, I know you are not supposed to put any output in your register_activation_hook function, but it just works perfectly for me. It successfully stopped the activation of my plugin, and it even put the text from my die statement nicely into the box at the top that tells the user that the plugin could not be activated. I had also tried using wp_die() but it really did die with nothing on the screen but my message in a box. I liked it better just using die().
In my install function I put:

global $wp_version;
if (version_compare($wp_version, "2.6", "<"))
	die("This Plugin requires WordPress version 2.6 or higher");

This way people can only install my plugin if they are not running a really old version of WordPress.

Fixed lots of bugs in my TERRIBL Widget

Oooops…  So maybe I released this first version too quickly. There were quite a few bugs in my TERRIBL Widget that resulted in the links being empty (I guess it really was a Terrible Widget ;-). I just released version 1.1.11.02 that fixes all these bugs but not before 30 people downloaded the broken one (I hope they upgrade to the fixed version).

Please leave a comment on this blog if you have any feedback or suggestions. I am now working on a built-in Feedback form which I hope to release in later revisions of all my plugins.

Added My TERRIBL Widget to the WordPress Repository

I added my new TERRIBL Widget to the WordPress Repository yesterday and it was accepted today. It’s a simple plugin that tracks every HTTP_REFERER to your site so that you can see where your traffic is coming from.

There is also a Widget included that will display a list of in-bound links. This is a maintenance-free way for you to link back to those sites that already link to you. It sure make link trading easy!