Changeset 4905


Ignore:
Timestamp:
08/05/11 09:27:42 (13 years ago)
Author:
thiagoaos
Message:

Ticket #2194 - Corrigido problema com fuso horário na sincronização de eventos.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • contrib/z-push/backend/BackendCalendarExpresso.php

    r4898 r4905  
    77 * Created   :   06.12.2010 - emerson-faria.nobre@serpro.gov.br 
    88 * 
    9  * ᅵ Zarafa Deutschland GmbH, www.zarafaserver.de 
     9 * Zarafa Deutschland GmbH, www.zarafaserver.de 
    1010 * This file is distributed under GPL v2. 
    1111 * Consult LICENSE file for details 
     
    192192                                        $message->fileas = $id; 
    193193                                        $message->uid = utf8_encode($uid); 
     194 
     195                                        $dateTimeZone = new DateTimeZone( date_default_timezone_get() ); 
     196                                        $dateTime = new DateTime("now", $dateTimeZone); 
     197                                        $timeOffset = $dateTimeZone->getOffset($dateTime); 
     198                                         
    194199                                        if(isset($row[3])) { 
    195                                                 $tz = date_default_timezone_get(); 
    196                                                 date_default_timezone_set('UTC'); 
    197                                                 $message->dtstamp = $row[3]; // phpgw_cal.mdatetime 
    198                                                 date_default_timezone_set($tz); 
     200                                                $message->dtstamp = $row[3] + $timeOffset; // phpgw_cal.mdatetime 
    199201                                        } 
    200202                                        if(isset($row[4])) { 
    201                                                 $tz = date_default_timezone_get(); 
    202                                                 date_default_timezone_set('UTC'); 
    203                                                 $message->starttime =  $row[4]; // phpgw_cal.datetime 
    204                                                 date_default_timezone_set($tz); 
     203                                                $message->starttime =  $row[4] + $timeOffset; // phpgw_cal.datetime 
    205204                                        } 
    206205                                        if(isset($row[5])) { 
    207                                                 $tz = date_default_timezone_get(); 
    208                                                 date_default_timezone_set('UTC'); 
    209                                                 $message->endtime = $row[5]; // phpgw_cal.edatetime 
    210                                                 date_default_timezone_set($tz); 
     206                                                $message->endtime = $row[5] + $timeOffset; // phpgw_cal.edatetime 
    211207                                        } 
    212208                                } 
     
    439435                        } 
    440436 
     437                        $dateTimeZone = new DateTimeZone( date_default_timezone_get() ); 
     438                        $dateTime = new DateTime("now", $dateTimeZone); 
     439                        $timeOffset = $dateTimeZone->getOffset($dateTime); 
     440 
    441441                        //Insere/Atualiza tabela phpgw_cal 
    442442                        if(isset($message->uid)) { 
     
    453453                        } 
    454454                        if(isset($message->dtstamp)) { 
    455                                 $arrayCal["mdatetime"] = $message->dtstamp; 
     455                                $arrayCal["mdatetime"] = $message->dtstamp - $timeOffset; 
    456456                                if (TRACE_UID !== false and (TRACE_TYPE == 'CALENDAR' or TRACE_TYPE == 'ALL')) traceLog('CalendarExpresso::ChangeMessageDAO-> mdatetime: '.$arrayCal["mdatetime"]); 
    457457                        } 
    458458                        if(isset($message->starttime)) { 
    459                                 $arrayCal["datetime"] = $message->starttime; 
     459                                $arrayCal["datetime"] = $message->starttime - $timeOffset; 
    460460                                if (TRACE_UID !== false and (TRACE_TYPE == 'CALENDAR' or TRACE_TYPE == 'ALL')) traceLog('CalendarExpresso::ChangeMessageDAO-> datetime: '.$arrayCal["datetime"]); 
    461461                        } 
    462462                        if(isset($message->endtime)) { 
    463                                 $arrayCal["edatetime"] = $message->endtime; 
     463                                $arrayCal["edatetime"] = $message->endtime - $timeOffset; 
    464464                                if (TRACE_UID !== false and (TRACE_TYPE == 'CALENDAR' or TRACE_TYPE == 'ALL')) traceLog('CalendarExpresso::ChangeMessageDAO-> edatetime: '.$arrayCal["edatetime"]); 
    465465                        } 
Note: See TracChangeset for help on using the changeset viewer.