diff --git a/infolog/inc/class.boinfolog.inc.php b/infolog/inc/class.boinfolog.inc.php
index 5858d80716..65a7638ecc 100644
--- a/infolog/inc/class.boinfolog.inc.php
+++ b/infolog/inc/class.boinfolog.inc.php
@@ -106,6 +106,8 @@
$this->customfields = $this->config->config_data['customfields'];
}
}
+ $this->tz_offset = $GLOBALS['phpgw_info']['user']['preferences']['common']['tz_offset'];
+ $this->tz_offset_sec = 60*60*$this->tz_offset;
$this->read( $info_id);
}
@@ -296,12 +298,13 @@
$start = 0;
$to_include = array();
$date_wanted = sprintf('%04d/%02d/%02d',$args['year'],$args['month'],$args['day']);
- while ($infos = $this->search('info_startdate','',"user$user".($do_events?'date':'opentoday').$date_wanted,'','','','','',$start,$total))
+ while ($infos = $this->search('info_startdate'.($do_events?'':' DESC'),'',
+ "user$user".($do_events?'date':'opentoday').$date_wanted,'','','','','',$start,$total))
{
foreach($infos as $info)
{
- $time = intval(date('Hi',$info['info_startdate']));
- $date = date('Y/m/d',$info['info_startdate']);
+ $time = intval(date('Hi',$info['info_startdate']+$this->tz_offset_sec));
+ $date = date('Y/m/d',$info['info_startdate']+$this->tz_offset_sec);
if ($do_events && !$time ||
!$do_events && $time && $date == $date_wanted)
{
@@ -312,7 +315,7 @@
$GLOBALS['phpgw']->html = CreateObject('etemplate.html');
$GLOBALS['phpgw']->translation->add_app('infolog');
}
- $title = ($do_events?$GLOBALS['phpgw']->common->formattime(date('H',$info['info_startdate']),date('i',$info['info_startdate'])).' ':'').
+ $title = ($do_events?$GLOBALS['phpgw']->common->formattime(date('H',$info['info_startdate']+$this->tz_offset_sec),date('i',$info['info_startdate']+$this->tz_offset_sec)).' ':'').
$info['info_subject'];
$view = $this->link->view('infolog',$info['info_id']);
$content = '';
@@ -326,8 +329,8 @@
$content = $GLOBALS['phpgw']->html->a_href($content.' '.$title,$view).'
';
$to_include[] = array(
- 'starttime' => $info['info_startdate'],
- 'endtime' => $info['info_enddate'] ? $info['info_enddate'] : $info['info_startdate'],
+ 'starttime' => $info['info_startdate']+$this->tz_offset_sec,
+ 'endtime' => ($info['info_enddate'] ? $info['info_enddate'] : $info['info_startdate'])+$this->tz_offset_sec,
'title' => $title,
'view' => $view,
'icons' => $icons,
diff --git a/infolog/inc/class.soinfolog.inc.php b/infolog/inc/class.soinfolog.inc.php
index 01a3deb5ec..dd1f8a7a22 100644
--- a/infolog/inc/class.soinfolog.inc.php
+++ b/infolog/inc/class.soinfolog.inc.php
@@ -41,6 +41,8 @@
$this->links = CreateObject('infolog.solink');
+ $this->tz_offset = $GLOBALS['phpgw_info']['user']['preferences']['common']['tz_offset'];
+
$this->read( $info_id );
}
@@ -183,13 +185,13 @@
if (isset($vars[2]) && !empty($vars[2]) && ($date = split('[-/.]',$vars[2])))
{
- $today = mktime(0,0,0,intval($date[1]),intval($date[2]),intval($date[0]));
- $tomorrow = mktime(0,0,0,intval($date[1]),intval($date[2])+1,intval($date[0]));
+ $today = mktime(-$this->tz_offset,0,0,intval($date[1]),intval($date[2]),intval($date[0]));
+ $tomorrow = mktime(-$this->tz_offset,0,0,intval($date[1]),intval($date[2])+1,intval($date[0]));
}
else
{
- $now = getdate(time());
- $tomorrow = mktime(0,0,0,$now['mon'],$now['mday']+1,$now['year']);
+ $now = getdate(time()-60*60*$this->tz_offset);
+ $tomorrow = mktime(-$this->tz_offset,0,0,$now['mon'],$now['mday']+1,$now['year']);
}
switch ($filter)
{
@@ -305,7 +307,7 @@
}
}
// set parent_id to 0 for all not deleted children
- $this->db->query("UPDATA phpgw_infolog SET info_parent_id=0 WHERE info_parent_id=$info_id",__LINE__,__FILE__);
+ $this->db->query("UPDATE phpgw_infolog SET info_parent_id=0 WHERE info_parent_id=$info_id",__LINE__,__FILE__);
}
/*!
diff --git a/infolog/inc/class.uiinfolog.inc.php b/infolog/inc/class.uiinfolog.inc.php
index c6d5e5c5ab..15b93bc7b6 100644
--- a/infolog/inc/class.uiinfolog.inc.php
+++ b/infolog/inc/class.uiinfolog.inc.php
@@ -77,6 +77,8 @@
$this->tmpl = CreateObject('etemplate.etemplate');
$this->html = &$this->tmpl->html;
+
+ $this->tz_offset = $GLOBALS['phpgw_info']['user']['preferences']['common']['tz_offset'];
}
function get_info($info,&$readonlys,$action='',$action_id='')
@@ -88,7 +90,7 @@
$id = $info['info_id'];
$done = $info['info_status'] == 'done' || $info['info_status'] == 'billed';
$info['sub_class'] = $info['info_pri'] . ($done ? '_done' : '');
- if (!$done && $info['info_enddate'] < time()+(60*60)*$GLOBALS['phpgw_info']['user']['preferences']['common']['tz_offset'])
+ if (!$done && $info['info_enddate'] < time()+60*60*$this->tz_offset)
{
$info['end_class'] = 'overdue';
}
@@ -346,13 +348,14 @@
$action_id = $action_id ? $action_id : get_var('action_id',array('POST','GET'));
$info_id = $content ? $content : get_var('info_id', array('POST','GET'));
$type = $type ? $type : get_var('type', array('POST','GET'));
- $referer = $referer !== '' ? $referer :
+ $referer = $referer !== '' ? $referer :
ereg_replace('^.*'.$GLOBALS['phpgw_info']['server']['webserver_url'],'',
get_var('HTTP_REFERER',Array('SERVER')));
//echo "
uiinfolog::edit: info_id=$info_id, action='$action', action_id='$action_id', type='$type', referer='$referer'
\n"; - + $this->bo->read( $info_id || $action != 'sp' ? $info_id : $action_id ); $content = $this->bo->so->data; + $today = mktime(-$this->tz_offset,0,0,date('m'),date('d'),date('Y')); // time=00:00 if (intval($content['info_link_id']) > 0 && !$this->link->get_link($content['info_link_id'])) { @@ -383,7 +386,7 @@ $content['info_lastmodified'] = ''; if ($content['info_startdate'] < time()) // parent-startdate is in the past => today { - $content['info_startdate'] = time(); + $content['info_startdate'] = $today; } if ($content['info_enddate'] < time()) // parent-enddate is in the past => empty { @@ -408,7 +411,7 @@ foreach($links as $link) { $link_id = $this->link->link('infolog',$content['link_to']['to_id'],$link['app'],$link['id'],$link['remark']); - + if ($parent['info_link_id'] == $link['link_id']) { $content['info_link_id'] = $link_id; @@ -421,13 +424,15 @@ case 'calendar': default: // to allow other apps to participate $content['info_link_id'] = $this->link->link('infolog',$content['link_to']['to_id'],$action,$action_id); + $content['blur_title'] = $this->link->title($action,$action_id); + case '': if ($info_id) { break; // normal edit } case 'new': // new entry - $content['info_startdate'] = time(); + $content['info_startdate'] = $today; if ($type != '') { $content['info_type'] = $type; @@ -435,7 +440,7 @@ break; } $content['link_to']['primary'] = $content['info_link_id'] ? $content['info_link_id'] : True; - + if (!isset($this->bo->enums['type'][$content['info_type']])) { $content['info_type'] = 'note';