Changeset 5845


Ignore:
Timestamp:
03/28/12 18:01:34 (12 years ago)
Author:
acoutinho
Message:

Ticket #2434 - Erro ao importar um novo evento agenda antiga

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/calendar/inc/class.bocalendar.inc.php

    r5399 r5845  
    29392939                        $importAccount['mail'] = $GLOBALS['phpgw_info']['user']['email']; 
    29402940 
    2941             if(!is_array($event_arrays)) 
     2941                    if(!is_array($event_arrays)) 
    29422942                                return null; 
    29432943 
     
    29492949 
    29502950                    //$offset = ((int)substr(date('O',$GLOBALS['phpgw']->datetime->users_localtime), 0, 3)); 
    2951                     $offset = (($GLOBALS['phpgw']->datetime->tz_offset)/60)/60; 
    2952          
     2951                     
     2952                    //Recupera o offset do cliente com base na diferenca entre o horario do cliente (timezone da preferencia) 
     2953                    //e o unixtime 
     2954                    //$offset = ((($GLOBALS['phpgw']->datetime->users_localtime) -  ($GLOBALS['phpgw']->datetime->gmtnow))/60)/60; 
     2955                     
     2956                        $timezone = date('e'); 
     2957 
    29532958                        foreach ($event_arrays as $event_array) 
    29542959                        { 
     
    29562961                            $sm = $event_array['start']['month']; 
    29572962                            $sd = $event_array['start']['mday']; 
    2958                             $sh = $event_array['start']['hour'] -= $offset; 
     2963                            $sh = $event_array['start']['hour']; 
    29592964                            $sn = $event_array['start']['min']; 
    2960                             $dtstart = sprintf("%04d%02d%02dT%02d%02d00Z", $sy, $sm, $sd, $sh, $sn); 
     2965                            $dtstart = sprintf("%04d%02d%02dT%02d%02d00", $sy, $sm, $sd, $sh, $sn); 
    29612966 
    29622967                            $ey = $event_array['end']['year']; 
    29632968                            $em = $event_array['end']['month']; 
    29642969                            $ed = $event_array['end']['mday']; 
    2965                             $eh = $event_array['end']['hour'] -= $offset; 
     2970                            $eh = $event_array['end']['hour']; 
    29662971                            $en = $event_array['end']['min']; 
    2967                             $dtend = sprintf("%04d%02d%02dT%02d%02d00Z", $ey, $em, $ed, $eh, $en); 
     2972                            $dtend = sprintf("%04d%02d%02dT%02d%02d00", $ey, $em, $ed, $eh, $en); 
    29682973 
    29692974                            // Necessário espaços após quebra-de-linha, na descrição, caso contrário 
     
    29722977                            $tmpattach.="BEGIN:VEVENT\r\n"; 
    29732978                                                         
    2974                                                         if(isset($event_array['organizer']) && $event_array['owner'] != -2) 
    2975                                                         { 
     2979                            if(isset($event_array['organizer']) && $event_array['owner'] != -2) 
     2980                            { 
    29762981                                $ldap = $this->getLdap();   
    29772982                                $justthese = array("mail","cn"); 
     
    29792984                                $search = ldap_search($ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
    29802985                                $entry = ldap_get_entries($ldap, $search);                                         
    2981                                                                 $organizer = 'ORGANIZER;CN='.$entry[0]['cn'][0].':mailto:'.$entry[0]['mail'][0]."\r\n"; 
    2982                                                         }    
    2983                                                         else{    
    2984                                                                 $email = explode('<', $event_array['organizer']); 
    2985                                                                 $email2 = explode('>', $email[1]); 
     2986                                        $organizer = 'ORGANIZER;CN='.$entry[0]['cn'][0].':mailto:'.$entry[0]['mail'][0]."\r\n"; 
     2987                                }    
     2988                                else{    
     2989                                        $email = explode('<', $event_array['organizer']); 
     2990                                        $email2 = explode('>', $email[1]); 
    29862991                                $organizer = 'ORGANIZER;CN='.rtrim($email[0]).':mailto:'.$email2[0]."\r\n"; 
    29872992                                                        } 
     
    29892994                            if(!$externo) 
    29902995                            { 
    2991                                                             $tmpattach.= 
    2992                                 "DTSTART:".$dtstart."\r\n" 
    2993                                 ."DTEND:".$dtend."\r\n" 
     2996                                $tmpattach.= 
     2997                                "DTSTART;TZID=".$timezone.":".$dtstart."\r\n" 
     2998                                ."DTEND;TZID=".$timezone.":".$dtend."\r\n" 
    29942999                                ."LAST-MODIFIED:".gmdate("Ymd\THis\Z")."\r\n" //Hora no formato UTC 
    29953000                                                                .$organizer 
    29963001                                ."UID:".$event_array['uid']."\r\n" 
    2997                                                                 .$this->mb_wordwrap($this->getvCalendarParticipants($event_array['participants'],$event_array['id']),74,"\r\n ") 
    2998                                                                 .$this->mb_wordwrap($this->getvCalendarExternalParticipants($event_array['id']),74,"\r\n ") 
     3002                                .$this->mb_wordwrap($this->getvCalendarParticipants($event_array['participants'],$event_array['id']),74,"\r\n ") 
     3003                                .$this->mb_wordwrap($this->getvCalendarExternalParticipants($event_array['id']),74,"\r\n ") 
    29993004                                ."DESCRIPTION:".$description."\r\n" 
    30003005                                ."SUMMARY:".$event_array['title']."\r\n" 
     
    30043009                             else 
    30053010                            { 
    3006                                                                 $tmpattach.= 
    3007                                 "DTSTART:".$dtstart."\r\n" 
    3008                                 ."DTEND:".$dtend."\r\n" 
     3011                                $tmpattach.= 
     3012                                "DTSTART;TZID=".$timezone.":".$dtstart."\r\n" 
     3013                                ."DTEND;TZID=".$timezone.":".$dtend."\r\n" 
    30093014                                ."DTSTAMP:".gmdate("Ymd\THis\Z")."\r\n" //Hora no formato UTC 
    30103015                                .$organizer 
     
    30423047                             
    30433048                        } 
    3044                     $tmpattach.="END:VCALENDAR\r\n\r\n\r\n"; 
     3049                    $tmpattach.="END:VCALENDAR\r\n\r\n\r\n";     
    30453050                    return $tmpattach; 
    30463051                } 
Note: See TracChangeset for help on using the changeset viewer.