mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-28 19:03:14 +01:00
TZ support for tracking
This commit is contained in:
parent
a69887122e
commit
031296bf0b
@ -6,7 +6,7 @@
|
|||||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||||
* @package etemplate
|
* @package etemplate
|
||||||
* @subpackage api
|
* @subpackage api
|
||||||
* @copyright (c) 2007-10 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
* @copyright (c) 2007-9 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
@ -157,12 +157,6 @@ abstract class bo_tracking
|
|||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $datetime_format;
|
var $datetime_format;
|
||||||
/**
|
|
||||||
* Offset to server-time of the currently notified user (send_notificaton)
|
|
||||||
*
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
var $tz_offset_s;
|
|
||||||
/**
|
/**
|
||||||
* Should the class allow html content (for notifications)
|
* Should the class allow html content (for notifications)
|
||||||
*
|
*
|
||||||
@ -215,7 +209,7 @@ abstract class bo_tracking
|
|||||||
* @param array $data current entry
|
* @param array $data current entry
|
||||||
* @param array $old=null old/last state of the entry or null for a new entry
|
* @param array $old=null old/last state of the entry or null for a new entry
|
||||||
* @param int $user=null user who made the changes, default to current user
|
* @param int $user=null user who made the changes, default to current user
|
||||||
* @param boolean $deleted=null can be set to true to let the tracking know the item got deleted or undelted
|
* @param boolean $deleted=null can be set to true to let the tracking know the item got deleted or undeleted
|
||||||
* @param array $changed_fields=null changed fields from ealier call to $this->changed_fields($data,$old), to not compute it again
|
* @param array $changed_fields=null changed fields from ealier call to $this->changed_fields($data,$old), to not compute it again
|
||||||
* @param boolean $skip_notification=false do NOT send any notification
|
* @param boolean $skip_notification=false do NOT send any notification
|
||||||
* @return int|boolean false on error, integer number of changes logged or true for new entries ($old == null)
|
* @return int|boolean false on error, integer number of changes logged or true for new entries ($old == null)
|
||||||
@ -531,22 +525,26 @@ abstract class bo_tracking
|
|||||||
/**
|
/**
|
||||||
* Return date+time formatted for the currently notified user (prefs in $GLOBALS['egw_info']['user']['preferences'])
|
* Return date+time formatted for the currently notified user (prefs in $GLOBALS['egw_info']['user']['preferences'])
|
||||||
*
|
*
|
||||||
* @param int $timestamp
|
* @param int|string|DateTime $timestamp in server-time
|
||||||
* @param boolean $do_time=true true=allways (default), false=never print the time, null=print time if != 00:00
|
* @param boolean $do_time=true true=allways (default), false=never print the time, null=print time if != 00:00
|
||||||
* @todo implement timezone handling via 'tz' pref
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function datetime($timestamp,$do_time=true)
|
public function datetime($timestamp,$do_time=true)
|
||||||
{
|
{
|
||||||
|
if (!is_a($timestamp,'DateTime'))
|
||||||
|
{
|
||||||
|
$timestamp = new egw_time($timestamp,egw_time::$server_timezone);
|
||||||
|
}
|
||||||
|
$timestamp->setTimezone(egw_time::$user_timezone);
|
||||||
if (is_null($do_time))
|
if (is_null($do_time))
|
||||||
{
|
{
|
||||||
$do_time = date('H:i',$timestamp+$this->tz_offset_s) != '00:00';
|
$do_time = ($timestamp->format('Hi') != '0000');
|
||||||
}
|
}
|
||||||
$format = $GLOBALS['egw_info']['user']['preferences']['common']['dateformat'];
|
$format = $GLOBALS['egw_info']['user']['preferences']['common']['dateformat'];
|
||||||
if ($do_time) $format .= ' '.($GLOBALS['egw_info']['user']['preferences']['common']['timeformat'] != 12 ? 'H:i' : 'h:i a');
|
if ($do_time) $format .= ' '.($GLOBALS['egw_info']['user']['preferences']['common']['timeformat'] != 12 ? 'H:i' : 'h:i a');
|
||||||
|
|
||||||
//error_log("bo_tracking::datetime($timestamp,$do_time)=date('$format',$timestamp+$this->tz_offset_s)='".date($format,$timestamp+$this->tz_offset_s).'\')');
|
return $timestamp->format($format);
|
||||||
return date($format,$timestamp+3600 * $GLOBALS['egw_info']['user']['preferences']['common']['tz_offset']);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -121,11 +121,11 @@ class timesheet_tracking extends bo_tracking
|
|||||||
if (!$data['ts_modified'] || !$old)
|
if (!$data['ts_modified'] || !$old)
|
||||||
{
|
{
|
||||||
return lang('New timesheet submitted by %1 at %2',
|
return lang('New timesheet submitted by %1 at %2',
|
||||||
$GLOBALS['egw']->common->grab_owner_name($data['ts_creator']),
|
common::grab_owner_name($data['ts_creator']),
|
||||||
$this->datetime($data['ts_created']-$this->tracker->tz_offset_s));
|
$this->datetime($data['ts_created']));
|
||||||
}
|
}
|
||||||
return lang('Timesheet modified by %1 at %2',
|
return lang('Timesheet modified by %1 at %2',
|
||||||
$data['ts_modifier'] ? $GLOBALS['egw']->common->grab_owner_name($data['ts_modifier']) : lang('Timesheet'),
|
$data['ts_modifier'] ? common::grab_owner_name($data['ts_modifier']) : lang('Timesheet'),
|
||||||
$this->datetime($data['ts_modified']-$this->timesheet->tz_offset_s));
|
$this->datetime($data['ts_modified']));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user