Changeset 3429 for branches/2.2/calendar/inc/class.bocalendar.inc.php
- Timestamp:
- 10/28/10 15:16:29 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/calendar/inc/class.bocalendar.inc.php
r3419 r3429 2738 2738 function create_vcard($event_arrays) 2739 2739 { 2740 if(!is_array($event_arrays)) 2741 return null; 2742 $tmpattach="BEGIN:VCALENDAR\n" 2743 ."PRODID:-//Expresso Livre//Calendar//EN\n" 2744 ."VERSION:1.0\n"; 2745 foreach ($event_arrays as $event_array) 2746 { 2747 $sy = $event_array['start']['year']; 2748 $sm = $event_array['start']['month']; 2749 $sd = $event_array['start']['mday']; 2750 $sh = $event_array['start']['hour']; 2751 $sn = $event_array['start']['min']; 2752 $dtstart = sprintf("%04d%02d%02dT%02d%02d00Z", $sy, $sm, $sd, $sh, $sn); 2753 2754 $ey = $event_array['end']['year']; 2755 $em = $event_array['end']['month']; 2756 $ed = $event_array['end']['mday']; 2757 $eh = $event_array['end']['hour']; 2758 $en = $event_array['end']['min']; 2759 $dtend = sprintf("%04d%02d%02dT%02d%02d00Z", $ey, $em, $ed, $eh, $en); 2760 2761 // Necessário espaços após quebra-de-linha, na descrição, caso contrário 2762 // ocorrerá erro ao importar o agendamento no Outlook (erro lunar). 2763 $description = str_replace("\n","\n ", $event_array['description']); 2764 2765 $tmpattach.="BEGIN:VEVENT\r\n" 2766 ."DTSTART:".$dtstart."\r\n" 2767 ."DTEND:".$dtend."\r\n" 2768 ."LAST-MODIFIED:".gmdate("Ymd\THis\Z")."\r\n" //Hora no formato UTC 2769 ."UID:Expresso-".$event_array['id'].$event_array['uid']."\r\n" 2770 ."DESCRIPTION:".$description."\r\n" 2771 ."SUMMARY:".$event_array['title']."\r\n" 2772 ."LOCATION:".$event_array['location']."\r\n" 2773 ."END:VEVENT\r\n"; 2774 } 2740 if(!is_array($event_arrays)) 2741 return null; 2742 2743 $tmpattach="BEGIN:VCALENDAR\n" 2744 ."PRODID:-//Expresso Livre//Calendar//EN\n" 2745 ."VERSION:1.0\n"; 2746 foreach ($event_arrays as $event) 2747 { 2748 // It translates int to string 2749 if (!is_object($event) && !is_array($event) || !array_key_exists ('end', $event)) 2750 $event = $event_arrays; 2751 2752 //set to GMT 2753 //Aqui estou pegando o horário do evento e setando para GMT de acordo com o fuso horário estabelecido nas configurações do expresso. 2754 $start_time = mktime($event['start']['hour'],$event['start']['min'],$event['start']['sec'],$event['start']['month'],$event['start']['mday'],$event['start']['year']) - $GLOBALS['phpgw']->datetime->tz_offset; 2755 $end_time = mktime($event['end']['hour'],$event['end']['min'],$event['end']['sec'],$event['end']['month'],$event['end']['mday'],$event['end']['year']) - $GLOBALS['phpgw']->datetime->tz_offset; 2756 2757 $start_time = date("Ymd\THis\Z", $start_time); 2758 $end_time = date("Ymd\THis\Z", $end_time); 2759 2760 // Necessário espaços após quebra-de-linha, na descrição, caso contrário 2761 // ocorrerá erro ao importar o agendamento no Outlook (erro lunar). 2762 $description = str_replace("\n","\n ", $event['description']); 2763 2764 $tmpattach.="BEGIN:VEVENT\r\n" 2765 ."DTSTART:".$start_time."\r\n" 2766 ."DTEND:".$end_time."\r\n" 2767 ."LAST-MODIFIED:".gmdate("Ymd\THis\Z")."\r\n" //Hora no formato UTC 2768 ."UID:Expresso-".$event['id'].$event['uid']."\r\n" 2769 ."DESCRIPTION:".$description."\r\n" 2770 ."SUMMARY:".$event['title']."\r\n" 2771 ."LOCATION:".$event['location']."\r\n" 2772 ."END:VEVENT\r\n"; 2773 } 2775 2774 $tmpattach.="END:VCALENDAR\r\n"; 2776 2775 return $tmpattach;
Note: See TracChangeset
for help on using the changeset viewer.