29Jul/112
Useragent browser and OS detection PHP script
PHP Browser detection made easy Useragent strings are notoriously tricky, but essential for statistic gathering, and PHP scripts to process them are few and far between, often out of date and difficult to update, or plain old inefficient. I set about writing a simple analysis script that was easy to update and had a small footprint. I can live with 99% accuracy for my stats, I dont need to know if28Mar/110
Rockpool App Launches on iTunes
Over the past few weeks weve been working with Sheffield based design agency MM Design developing iPad Apps for the iTunes store. We have a dedicated website for this over at www.fingersnthumbs.com, primarily aimed at producing mobile apps for book publishers. Our first App "Rockpool" launched on iTunes this weekend. This app is a library of childrens books from Rockpool Childrens Books. Rockpool27Apr/100
CP3 – content management system for agencies
CP3 is due to take over our CP2 system later this year. The main improvements focus on the user interface, making it easier to use for end users. All of the functionality from CP2 has been retained with the added improvemtn that modules are now easier to create an integrate. We have even developed a rapid deployment tool that creates an entire module, including corresponding XML configuration file27Apr/100
White label CMS Platform for web and design agencies
With the imminent launch of our CP3 platform, we are opening up the system to make it available to web and design agencies. CP3 incorporates multi-level theming so that agencies can not only apply their own branding to the product, but can re-sell and brand individual parts of the system making this a true white label CMS platform. Small and medium agencies often lack the technical resources to de24Mar/102
Tutorial: TPL Compiler Part 2
Part 1 here More Variables Earlier I discussed system-wide variables (properties) that are available to use directly within within the CMS or templates. Properties such as {$IP} and {$year} are automatically assigned by the system, and you can easily assign other properties in PHP: $theme->assign("Foo", "Bar"); It would be useful then, to be able to assign properties directly within the CMS/TPL9Mar/100
Extending the Lynk CMS – Part One
Dont reinvent the wheel, extend it. This is likely to be a long and ongoing article as theres a lot to cover. In true MVC fashion I start with creating a model (in the form of a single database table for the purposes of this post), creating a working controller and finally describing how the view is defined. Before you begin, you need to understand a little about the framework upon which this syst9Mar/100
Automatic Recurring Invoices
This is new. On our accounts system there is no facility to create reminders or repeating invoices, so today Im writing a new plugin for it to do just that. At the moment there has to be an existing invoice for there to be a repeat invoice. That may sound obvious but theres a not uncommon habit of bundling several jobs onto one invoice, for instance we often include the hosting fee in with the sit5Mar/100
CMS / Templating language a bit like smarty
Ive been developing this for a few months now so I really ought to write some notes on how to actually use it. Having torn apart smarty quite a bit in the past, I had the idea to create a HTML control language that was much simpler to use, and a fraction of the size, albeit with fewer complex features. A lighter alternative to smarty. Our CMS has been built with the principles of optimisation and1Mar/101
Dealing with spam attacks in Plesk and Qmail
If theres loads of spam in the queue, theres a very good chance one of your users has been compromised, or there is a malicious script operating on your hosting server. You need to find one of the messages in the queue and note the email address. cat /usr/local/psa/var/log/maillog | grep 'email@email' where email is an offending address. Note the message ID number, and locate it with locate 1234528Feb/102
Geo locate your IP addresses
Customers of ours may have noticed little flags appearing in their website live feeds. As usual with my experiments, this started as a question from a customer - how do I determine the location of the live feed data? Apart from the usual IP-2-Geo sites or AWStats you mean? a slightly modified variant would be "Can I see this info in real time, without leaving the CMS"?. Given that there are 4 bi184.73.7.143

184.73.7.143