I only have a local installation of TF so all the UTC and timezone stuff isnt needed.. I am doing some reporting on the tasks comments etc.. but the dates are stored in UTC in the database... Instead of changing the reporting to adjust the returned timestamp, I decided just to take all the timezone stuff out of the equation.
It is a relatively simple procedure.. I searched the tree for the gmdate() routine calls and replaced them with date() calls.. gmdate was found in these files:
./include/classes/tzn_generic.php
./include/classes/pkg_project.php
./xajax.task.php
./public.php
./index.php
./xajax/xajax.inc.php
./print_list.php
I also set the timezone offset to be zero in config.php - define('TZN_TZDEFAULT','0');
I also modified all of my existing datestamps in the database to be local times.. (I am GMT -6 hours):
update frk_itemComment set postDate=date_sub(postDate, interval 6 hour)
update frk_itemComment set lastChangeDate=date_sub(lastChangeDate, interval 6 hour) where DATE(lastChangeDate) > '2009-01-01'
update frk_itemFile set postDate=date_sub(postDate, interval 6 hour)
update frk_itemStatus set statusDate=date_sub(statusDate, interval 6 hour)
update frk_member set lastLoginDate=date_sub(lastLoginDate, interval 6 hour) where DATE(lastLoginDate) > '2009-01-01'
update frk_member set creationDate=date_sub(creationDate, interval 6 hour)
update frk_member set lastChangeDate=date_sub(lastChangeDate, interval 6 hour) where DATE(lastChangeDate) > '2009-01-01'
update frk_projectStatus set statusDate=date_sub(statusDate, interval 6 hour)
Seems to work great..
Hope this helps..