Cómo crear un calendario de outlook solicitud de reunión en PHP?

Puede que alguien me apunte en la dirección correcta? Sé que tiene que ver con la fijación de una .archivo ics, pero solo puedo llegar al punto donde un usuario puede descargar y, a continuación, importar el evento en su calendario de outlook? ¿Cómo puedo crear mediante programación estas solicitudes de reunión?

OriginalEl autor blacktie24 | 2012-10-08

2 Kommentare

  1. 22

    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);    
    ?>

    Si necesita agregar o quitar opciones aquí es una referencia de VCALENDAR:
    VCALENDAR en la Wikipedia

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

    OriginalEl autor Artur Kędzior

  2. 6

    Mediante programación puede generar un .ics 🙂

    He aquí cómo:

    <?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;
    ?>

    OriginalEl autor paulsm4

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea