I love the Joomla content management system but a problem that all open source CMSs face is that security upgrades often introduce breaks in the system. I recently had to solve a bad one and thought I should document it in case anyone else finds this to be useful.
The client’s Joomla 2.5.9 website uses the Kunena forum component (version 3.0.1), and they informed me that a user was experiencing a 500 error. When I went to check the forum, the site was reporting a 403 error and Joomla was not providing any details on that. Unfortunately the client’s host does not make it easy to view error logs, so I made some database backups thinking I would have to restore to a previous version.
Fortunately on a hunch I decided to search the web for “403 error” and “Kunena” and turned up a suggestion to enable Kunena’s debug mode along with Joomla’s debug mode. I put the site offline, then enabled the debug modes. Now the site output all sorts of useful information, and the first error I discovered was that an outdated “j4age” statistics component was causing an error. I disabled that component and voila, now I could see the 500 error that the client reported: “Fatal Error: Class ‘CKunenaLink’ not found in components/com_kunena/template/customTemplate/html/topic/default_message_actions.php on line 61”
This was much easier to resolve. I used TextWrangler to compare my version of that file with the default one provided with Kunena 3.0.1. My template (originally created for the Kunena 2.0 version) was referencing the CKunenaLink class which apparently has been deprecated. I replaced that line with the updated version and that solved everything. I turned off the debug mode, put Joomla back online and away it went.
Lesson learned: use Joomla debug mode before anything else!