Add custom fonts to WordPress TinyMCE editor with @font-face

The list of fonts in the WordPress visual editor is quite short. There are plugins available to increase it, but I wanted to add my own custom font to the select dropdown. There’s no plugin hook for this, so it needs a little lateral thinking. Firstly, generate your webfont @font-face in… Continue reading

Process email bounces with PHP

This is a quick script to process email bounces, for example from a mailing list so that users can be flagged up or unsubscribed when they have too many failures. The actual bounce identification will be done by Chris Fortune’s Bounce Handler, which you can download from: http://anti-spam-man.com/php_bouncehandler/ We require… Continue reading

PHP Recursive File Copy Function

I couldn’t find a function online that copies folders recursively in PHP and actually works, so I wrote my own: function recursiveCopy($src, $dest) { if (is_dir($src)) $dir = opendir($src); while ($file = readdir($dir)) { if ($file != ‘.’ && $file != ‘..’) { if (!is_dir($src.’/’.$file)) copy($src.’/’.$file, $dest.’/’.$file); else { @mkdir($dest.’/’.$file,… Continue reading

Javascript (JQuery): Social networking feeds – new Facebook authentication

After my previous post, Javascript (JQuery): Social networking feeds all in one place, Facebook went and added authentication to the feed retrieval. After much head-scratching, this is how to enable the Facebook feed under the new OAuth system. You need an access token to get to the data, so what… Continue reading

Javascript (JQuery): Social networking feeds all in one place

Today we are going to get feeds from Twitter, Facebook, Youtube and Flickr all in one place for your website using JSON and the JQuery library: Be careful on this page with wrapped lines! Firstly we declare the jquery library in our head section (obviously download it first and change… Continue reading

Matrox RT.X100 project in Adobe Premiere RT.X2

If you open an old Matrox RT.X100 project using an RT.X2 installation, it opens as a standard Adobe Premiere project – without using any hardware acceleration, thus losing the entire point of the system. The answer is simple, but not documented anywhere: Step 1: Create a new Matrox-based Project as… Continue reading