I just realized that all the sub-menu’s on the site are broken… When I get some free time I suppose I’ll have to fix those.

WP-Slimbox2 Upcoming Release

I’ve been rather sick during the past year, which has put a damper on WP-Slimbox2 development, but I’m pleased to say that I have been working on it, and will hopefully have an updated release soon.

In addition to officially indicating support for the latest versions of WordPress (as you can see on this site, it still works just fine) there are a number of minor fixes to eliminate various PHP notices and some other small bugs and security issues. It will also add the ability to remove lightbox from specific images if you so desire, and also enter custom URLs in image captions. And, as the last post indicated, this release will officially incorporate the Brazilian Portuguese (Português Brasileiro) translation provided by Marcelo!

WP-Slimbox2 in Português Brasileiro

Once again I am both humbled by and in awe of the efforts made by others to expand access to WP-Slimbox2. This time, thanks to the efforts of Marcelo (from Techload Informatica), I present to you the Brazilian Portuguese (Português Brasileiro) translation of WP-Slimbox2.

Currently only the text has been translated, the buttons appear to be untouched, but I’m hoping to remedy this by the next official release of the plugin, which I’m hoping will be soon.

For now, if you really want the Brazilian Portuguese translation, you can download it from here.

I hope people can benefit from this, and as always, if you’d like to contribute a translation, just post here.

Contribution to Google News Widget (& Shortcode) Plugin for WordPress

I’d been looking for a good plugin to feed local news to my condo’s website and wasn’t really finding any that seemed to be doing the trick for me, but then I stumbled on Stefania Marchisio’s Google News Widget (& Shortcode) Plugin for WordPress.

It looked pretty good, but unfortunately the built in options, while supporting “localized news”, weren’t quite as specific as I’d like. I live in the US, and it’s a pretty big country. While some news is relevant all across the country (and as I live near the Capitol, in Washington DC, the most major news likely is somewhat local), I really wanted news that was more specific to the immediate area. Seeing as the plugin was just making use of Google’s own RSS news feeds, I looked into it and discovered that Google actually supports localizing the feeds by zipcode and by city names. I took a look at her code and came up with a way to essentially implement this option, and violà, extremely local news!

I submitted my changes to Stefania, and she graciously approved of them and officially implemented them, so now everyone can benefit!

Go check it out.

WP-Slimbox2 v1.0.3.2 (and v1.0.3.1) Released

So I had to release extremely two minor bug fixes (seems like that’s what usually happens).

Apparently I’d never committed the changes I’d made to handle the updated RTL localization support in the index.php file, so release v1.0.3.1 remedied that.

Then, after I had reports from two people who apparently had some minor issues with the plugin (one of them thankfully providing clarity to the issue) not loading the defaults. As it turns out, the code I’d implemented to help me see the localizations people running the plugin were using involved changes that I believe were initializing the plugin storage variable in such a way that bypassed the actual default initialization process. If you’d already been using the plugin, you didn’t notice a problem, but if you were a new installer you’d get a solid black screen when you tried to use the slimbox effect. Needless to say, that just wouldn’t do, so I tweaked the initialization code, and it should all be fixed now.

While you’re here, why don’t you check out our store and buy a T-Shirt!

Official Transient Monkey Store!

I mentioned it in the previous post, but Transient Monkey now has its own store! You can follow that link, or the link from the drop down menu above!

Currently we’re just selling some Silk-Screened T-Shirts, but we’ll be adding more unique and interesting products to the store over time.

Check it out, buy something, support Transient Monkey!

WP-Slimbox2 v1.0.3 Released!

I’ve been sitting on a number of localizations that have been coming in ever since the previous release. I’d been holding off on an update since I’d hoped to get all the current localizations updated, rather than having several minor releases in a short period of time that only updated localizations. Unfortunately, nv1962, who graciously manages the Spanish and Dutch localizations, had a major computer failure just around the time of the last release. He wasn’t able to get things back in order until just a few weeks ago, which was a bit longer than I’d realized! Laws was also able to provide me with an update to the German/Deutsch localization.

In that time, however, I was also contacted by Marcis G. who provided me with a Belarusian/Беларускі localization, and later by easespot with a Chinese (Simplified)/中文 localization (and before I had a chance to release it FunDo provided a second Chinese (Simplified) localization).

Once all of the localizations were in and up to date I had to do some tweaking, plus my curiosity had been piqued by the number of localizations I was getting in, and I wanted to do something that would help me track just how many people are using WP-Slimbox2 in a language other than English, so I threw together a little tracking script, statTrack.php that would transmit that information to me upon activation of the plugin. The only information that’s transmitted is the locale, and it’s only ever done once. Since I know some people are a bit touchy about anything that “phones home” I implemented it in such a way that it can easily be deactivated by deleting the statTrack.php file, without effecting the functionality of the plugin.

Now, just as I was about to wrap all of that up, Christophe Beyls, the creator of Slimbox, posted a comment on the last release letting me know that he’d just released version 2.0.4 of Slimbox, so of course I had to tack that on to the list of things to implement! The main thing he’d implemented that would effect the WordPress community was increased support for RTL languages, though I still don’t have any RTL localizations. He also fixed a few issues with jQuery 1.4 and Flash (currently WordPress only uses 1.3.2, but some users may implement 1.4, and eventually WordPress will likely upgrade. He also trimmed the script down a bit by removing some compatibility code, which was no longer needed after he switched the jQuery requirement to 1.3.

Ok, so I finally got all of that taken care of, but there was still one more thing to do! My brother and I have been hoping to start marketing some custom art type projects, and he’d finally gotten around to getting some of them off the ground, so we’ve added a store! Currently we’re just selling some silk-screen shirt designs, but it’s still cool. Check it out and support Transient Monkey!

Official Logo, Site Redesign

If you’ve been to the site before, you’ve likely noticed we’ve got a new banner, and a new logo!

We’d originally intended to have them be one and the same, but the best looking logo turned out a bit more square, which doesn’t really work so well as a banner. Luckily, some of the earlier designs were more amenable to a banner, so we tweaked those to create our banner, and everything else will use the official logo, which I’m posting here:

Transient Monkey LogoPlease let me know what you think!

In addition, the site is going to be undergoing a bit of a redesign as it transitions more towards a business oriented site. Everything already here should stay here, but Transient Monkey will start to offer various services for those who are interested, so stay tuned!

WP-Slimbox2 v1.0.2 Released!

I’m a bit late writing this post, but it seems like every time I make major changes to my plugin, I get hammered with a bunch of little glitches that effect a bunch of people other than me. I suppose that’s the downside of not having a group of people to do beta testing for you. On the plus side, I’ve been doing my best to stay apprised of problems as they arise in the support forums (and even those from people who….irritatingly…fail to read about posting problems in the support forums and post them in comments or on the WP site).

I think, and hope, that I’ve finally ironed out all the little glitches. The only problem I’m still aware of is actually not a problem with the plugin so much as it is a problem with other plugins and themes that fail to properly load jQuery by using wp_enqueue_script(). It always bugs me when people have problems with my plugin because of someone else’s poor coding practice. It bugs me when people have problems with my own poor coding, but at least I have only myself to blame for that!

For those of you curious as to what was done in the 1.0.2 release, I patched a rather glaring error related to Internet Explorer, a potential XSS vulnerability, and an obscure updating issue. I also added a Turkish/Türkçe Translation, graciously provided by Serhat Yolaçan and an updated French/Français Translation again provided by Jandry.

For those of you who are curious, the XSS vulnerability was due to an issue discussed here, by Mark Jaquith. While I understand how one could trigger the exploits, I don’t fully understand how those exploits do any damage, but whatever the case, it’s been resolved. I don’t actually think this was a real security issue for most people, since you have to be logged into the admin options to access it, but in WordPress MU installs it could have been an issue. Either way, upgrade! Fixing this issue also had the added bonus of fixing an issue where one user was unable to update their Slimbox settings because somehow the form was submitting the server directory path, and not the url path. I don’t really know what caused that in the first place, nor do I know why it wasn’t a problem in previous versions of the plugin, but it’s fixed, so I won’t complain.

The issue with Internet Explorer likely effected more people, given the prevalence of IE users out there, and unfortunately was tied into my transition from dynamic JS files to static JS files. Essentially I was trying to convert a string array of numbers into an integer array of numbers, so I used a function I’d found, .map(Number). Unfortunately, I failed to then test the script in IE, since I would have discovered that apparently that function isn’t supported by IE. There’s likely a much better way to do it, but ultimately I wound up manually writing a loop to create the integer array and allow the script to work correctly in IE.

I’m hoping to have version 1.0.3 out later this week, but this update should only interest people who use the Spanish/Español, Dutch/Nederlandse, and German/Deutsch translations, or would like to use the plugin in Simplified Chinese! That’s right, the next release will include Simplified Chinese thanks to easespot.

Hopefully I’m done with major updates to the plugin, and future releases will be limited to simply adding translations, but if you have good ideas feel free to post them to our support forums and I’ll see what I can do.

WP-Slimbox2 v1.0.1 Released!

That’s right, another update already! Unfortunately, this one was to fix an issue some users were reporting regarding an error after installing the plugin that sadly made their sites unusable. I hope everyone who was experiencing that issue has since upgraded and can get back to enjoying the benefits of the plugin.

Several users reported errors similar to the following:

Fatal error: Call to a member function get_option() on a non-object in /var/wordpress/wp-content/plugins/wp-slimbox2

In each case, it appeared that for some reason the $options variable, which was declared as a global variable, was not being properly recognized as an object. I don’t know why this is, though I suspect it’s tied into either the version or the settings of PHP being used on the host. This would explain why several users had no problems, and several others did. In one case someone had no problems on one site, but on another site they did.

If anybody can explain to me why this is, I’d appreciate it. Either way, I was able to resolve the issue by just recreating the variable in each function. This seems to me like it would be less than ideal, but someone else informed me that WP already caches options after fetching them, to minimize calls to the database, and so by recreating the object, I’m just pulling from the cache, or something like that. It works, that’s the important thing!

While attempting to diagnose the problem I also discovered a tiny glitch resulting from one of the new features I’d added. The grouping of autoloaded images wasn’t correctly grouping my images by post anymore. The original code was written as follows:

slimbox2_options.selector = "div.entry-content,, div.entry,, div#page, body";
return (this==el) || ($(this).parents(slimbox2_options.selector)[0] && ($(this).parents(slimbox2_options.selector)[0]==$(el).parents(slimbox2_options.selector)[0]))

I misunderstood this to mean that it would search through the parent elements for each image, and progressively search for an element that matched the selector. In this case it would look for a div of class entry-content, gallery, entry, or post, as well as a div with an id of “page” and if that all failed the body element. In actuality, while this would do that, it would also sort the results, which screwed them up. I revised the code as follows:

slimbox2_options.selector = "div.entry-content,, div.entry,, div#page, body";
return (this==el) || ($(this).closest(slimbox2_options.selector)[0] && ($(this).closest(slimbox2_options.selector)[0]==$(el).closest(slimbox2_options.selector)[0]))

I could even drop the [0] as closest only returns a single element anyway. This function actually searches for the first parent element that matches the selector, not all of them. If it finds a gallery first, that’s what it returns, if it finds entry-content, that’s what it returns, etc. This would allow a bit more granularity in the selection, and also better enable out-of-the-box support for more users and themes.

The downside to this change is that closest was introduced in version 1.3 of jQuery, which WordPress didn’t include until version 2.8. I’d hope most people aren’t hanging around updating their plugins and not their WordPress install, but you never know. If someone actually did want to do that, they could change closest back to parents, and just be more specific with the selector.

As translations are updated, or added I plan to make a few more minor releases, but hopefully I’ve got all the main things in now.