Stash classes online

I’ve made my Stash classes (a lightweight ORM / DBAL of sorts) available for download. The simplest way to explain how they work is through some example code:


Read More

Updated logger

I’ve added a zTemplate plugin to my Flexible Logger. This makes logging more flexible than ever as you can render logs in any format the template ranging from CSV to XHTML. The variables for each log entry are date, level and message. Here’s an example of using the zTemplate plugin to create a load of…


Read More

Logger and docs updated

I’ve done some updates to my Flexible Logger, including: XML plugin can output date and level info embedded as attributes instead of tags HTML plugin accepts an option cssClasses to specify classes for table, rows and cells improved buffering for all plugins I have also made the API docs available online using APIGen, my new…


Read More

Filtering Sugar SubPanels

Sugar doesn’t have a means of filtering subpanels built into it. This is a serious drawback if you have subpanels with a lot of data in them. However, it’s possible to create your own filter with a little work. I’ll explain my solution here. First, here’s a screenshot of a notes subpanel for a client…


Read More

CE Teams 1.0.7d patch 5

I’ve done another update to the CE Teams code to better support Sugar 6.1. This patch fixes an issue with the User Management page showing as a blank and updates the Unified Search code. If you’re using CE Teams with SugarCRM 6.1 this is the patch to use. Download Here…


Read More

Secured WebDAV with Office

I’ve recently implemented a technique of making Office applications save to webdav in a secure way by using tokens in conjunction with mod_security in Apache. This means that MS Word opens a document using a URL such as: https://my.server.com/webdav/my_document.doc?token=12345:03cfd743661f07975fa2f1220c5194cbaff48451 While this works fine over HTTP there’s a problem with HTTPS. Word (or Excel) sends several…


Read More

SugarCRM mvc_utils.php

If you see an error such as the following in your php error log:

the source of the problem is in SugarCRM’s mvc_utils.php. This file contains (poorly) obfuscated code which does a variety of checks to supposedly insure that your copy of Sugar is genuine. De-obfuscating the code is trivial though. It’s so pointless…


Read More

Sugar CETeams modifications

I’ve been working on some improvements to the CETeams module for SugarCRM, as follows: make CETeams cache its config to a file instead of storing it in session data. This makes changes to CETeams config affect all users instantly without requiring them to log out and in again. make CETeams work properly with MS SQL…


Read More