2012-10-08 30 views

Respuesta

5

Puede generar mediante programación un archivo .ics :)

Así es como:

<?php 
    $date  = $_GET['date']; 
    $startTime = $_GET['startTime']; 
    $endTime = $_GET['endTime']; 
    $subject = $_GET['subject']; 
    $desc  = $_GET['desc']; 

    $ical = "BEGIN:VCALENDAR 
    VERSION:2.0 
    PRODID:-//hacksw/handcal//NONSGML v1.0//EN 
    BEGIN:VEVENT 
    UID:" . md5(uniqid(mt_rand(), true)) . "example.com 
    DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z 
    DTSTART:".$date."T".$startTime."00Z 
    DTEND:".$date."T".$endTime."00Z 
    SUMMARY:".$subject." 
    DESCRIPTION:".$desc." 
    END:VEVENT 
    END:VCALENDAR"; 

    //set correct content-type-header 
    header('Content-type: text/calendar; charset=utf-8'); 
    header('Content-Disposition: inline; filename=calendar.ics'); 
    echo $ical; 
    exit; 
?> 
18

aquí es ejemplo de trabajo con múltiples participantes:

<?php 

    $to = '[email protected],[email protected]'; 
    $subject = "Millennium Falcon"; 

    $organizer   = 'Darth Vader'; 
    $organizer_email = '[email protected]'; 

    $participant_name_1 = 'Boushh'; 
    $participant_email_1= '[email protected]'; 

    $participant_name_2 = 'Boba Fett'; 
    $participant_email_2= '[email protected]'; 

    $location   = "Stardestroyer-013"; 
    $date    = '20131026'; 
    $startTime   = '0800'; 
    $endTime   = '0900'; 
    $subject   = 'Millennium Falcon'; 
    $desc    = 'The purpose of the meeting is to discuss the capture of Millennium Falcon and its crew.'; 

    $headers = 'Content-Type:text/calendar; Content-Disposition: inline; charset=utf-8;\r\n'; 
    $headers .= "Content-Type: text/plain;charset=\"utf-8\"\r\n"; #EDIT: TYPO 

    $message = "BEGIN:VCALENDAR\r\n 
    VERSION:2.0\r\n 
    PRODID:-//Deathstar-mailer//theforce/NONSGML v1.0//EN\r\n 
    METHOD:REQUEST\r\n 
    BEGIN:VEVENT\r\n 
    UID:" . md5(uniqid(mt_rand(), true)) . "example.com\r\n 
    DTSTAMP:" . gmdate('Ymd').'T'. gmdate('His') . "Z\r\n 
    DTSTART:".$date."T".$startTime."00Z\r\n 
    DTEND:".$date."T".$endTime."00Z\r\n 
    SUMMARY:".$subject."\r\n 
    ORGANIZER;CN=".$organizer.":mailto:".$organizer_email."\r\n 
    LOCATION:".$location."\r\n 
    DESCRIPTION:".$desc."\r\n 
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN".$participant_name_1.";X-NUM-GUESTS=0:MAILTO:".$participant_email_1."\r\n 
    ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN".$participant_name_2.";X-NUM-GUESTS=0:MAILTO:".$participant_email_2."\r\n 
    END:VEVENT\r\n 
    END:VCALENDAR\r\n"; 

    $headers .= $message; 
    mail($to, $subject, $message, $headers);  
?> 

Aquí publicaron imágenes de cómo se verá esto en Outlook y Gmail: Examples

Si necesita añadir/eliminar opciones aquí es una referencia de VCALENDAR: VCALENDAR on Wikipedia

+4

felicitaciones por mantener el tema va con su nombre de usuario y foto de perfil – ScottC

Cuestiones relacionadas