LnBlog 0.5.4 - "No Need for Testing"

This always happens to me - come out with a nice new release with lots of cool features and discover that it has a huge, glaring bug in it that makes it completely unusable for some people. Well, at least I found the bug and squashed it. At work, I occasionally have to fix bugs that have been lurking in software and messing up reports for years before anyone noticed them.

This is a critical bug fix release. This particular bug appears to have been introduced in version 0.5.1 and affects users who are running on web servers without the gettext extension enabled. Users who have gettext enabled (i.e. people who could actually use the software) are not affected by this issue and, hence, do not need to upgrade. Many thanks to Brandon for reporting this problem.

If you are affected by this bug and have PHP's error reporting turned on, you will see a message that says something like:
Fatal error: Call to undefined function: _() in /path/to/lnblog/blogconfig.php on line 133
This is due to an error in the blogconfig.php script. I mistakenly tried to mark a string for internationalization before loading the lib/i18n.php file, which contains the _() ad hoc internationalization function. Users with gettext enabled are not affected because LnBlog only uses the custom version of _() defined in lib/i18n.php if the gettext extension is not loaded. When it is present, the _() function is provided by gettext itself.

If you are affected by this bug, you can download the new release from the download page. Alternatively, you can get the same effect by downloading the fixed blogconfig.php file and apply it as described on this page.

Bug fix for 0.5.3

Oops! I messed up!

Apparently I introduced a bug into the last few releases for people who don't have the gettext extension enabled. I forgot to turn gettext support back off on one of my test systems, so I didn't catch this. My apologies to anyone affected.

Bascially, this bug causes an "undefined function _()" error in the blogconfig.php file. This is caused by an attempt to mark a string for translation before the ad hoc translation code is loaded. This only affects users running on servers without the gettext extension enabled. If gettext is enabled, then it will supply the _() function and there is no problem.

I will upload a new version and update the Freshmeat page later today or tomorrow. In the mean time, you can download the fix here. Just rename this file to "blogconfig.php" and copy it into the root of your LnBlog folder, overwriting the old one.