Crear calendarios de iCal evento con PHP

Estoy tratando de crear un script PHP que se va a crear un evento de calendario en iCal. He buscado aquí y en Google y sólo vienen con resultados que hablan acerca de la importación de eventos de iCal a un PHP-hizo calendario. Esto es lo contrario de lo que necesito.

Yo no tengo ningún código para incluir debido a que no tengo punto de partida. Alguna sugerencia sobre dónde debo comenzar?

¿Te refieres a iCal, el calendario de Apple de la aplicación, o iCalendar, el formato del archivo? (Aunque, para resolver los primeros probablemente implican el último, de todos modos…)
Gracias por la pregunta de aclaración. Necesito crear una iCal (calendario de Apple).
Encuentra este lib en github: github.com/markuspoerschke/iCal

OriginalEl autor Shattuck | 2011-07-18

3 Kommentare

  1. 3

    Un par de años atrás yo había empezado a escribir un iCalendar de la biblioteca. Es bastante fase alpha (y I ‘ve prácticamente abandonado), en el momento en que no había PHP 5, y no hay una gran cantidad de funcionalidad, pero:

    • Tengo un montón de código que va en el modelado de la iCalendar RFC (es posible que desee mirar en él)
    • No tiene la capacidad para crear mediante programación de eventos y escupir el formato iCal

    Espero que ayude:

    Que sería de ayuda a mirar. Gracias por la respuesta.
    Esto es lo que yo estaba buscando. Gracias

    OriginalEl autor Jon

  2. 2

    Comenzar Aquí. Esto le dará el formato de archivo de icalendar evento. a continuación, puede utilizar php a un archivo de salida como esta con sus datos personalizados:

    http://en.wikipedia.org/wiki/ICalendar

    He usado este como un punto de referencia para los proyectos en el pasado.

    Gracias por el punto de inicio. Esto le ayudará mucho.

    OriginalEl autor Dan

  3. 2

    Probar este (de https://gist.github.com/jakebellacera/635416)

    <?
    //1. Set the correct headers for this file
    header('Content-type: text/calendar; charset=utf-8');
    header('Content-Disposition: attachment; filename=' . $filename);
    
    //2. Define helper functions
    
    //Converts a unix timestamp to an ics-friendly format
    //NOTE: "Z" means that this timestamp is a UTC timestamp. If you need
    //to set a locale, remove the "\Z" and modify DTEND, DTSTAMP and DTSTART
    //with TZID properties (see RFC 5545 section 3.3.5 for info)
    //
    //Also note that we are using "H" instead of "g" because iCalendar's Time format
    //requires 24-hour time (see RFC 5545 section 3.3.12 for info).
    function dateToCal($timestamp) {
      return date('Ymd\THis\Z', $timestamp);
    }
    
    //Escapes a string of characters
    function escapeString($string) {
      return preg_replace('/([\,;])/','\\\$1', $string);
    }
    
    //3. Echo out the ics file's contents
    ?>
    BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//hacksw/handcal//NONSGML v1.0//EN
    CALSCALE:GREGORIAN
    BEGIN:VEVENT
    DTEND:<?= dateToCal($dateend) ?>
    UID:<?= uniqid() ?>
    DTSTAMP:<?= dateToCal(time()) ?>
    LOCATION:<?= escapeString($address) ?>
    DESCRIPTION:<?= escapeString($description) ?>
    URL;VALUE=URI:<?= escapeString($uri) ?>
    SUMMARY:<?= escapeString($summary) ?>
    DTSTART:<?= dateToCal($datestart) ?>
    END:VEVENT
    END:VCALENDAR
    el modo de rellenar la DESCRIPCIÓN de campo no es RFC conformarse y no funciona.

    OriginalEl autor Justin

Kommentieren Sie den Artikel

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

Pruebas en línea