miércoles, 5 de enero de 2011

PHP: Descargar convocatorias a outlook desde una web

Buscando interacción entre páginas web y convocatorias a eventos de outlook, di con éste código.

Si en tu web pones un evento y te gustaría que la gente pudiera descargarlo en su MS Outlook, aquí dejo un código que funciona muy bien.

Ojo!: Este código descarga de la web un archivo .ics (calendario.ics) que, al ejecutarlo abre automáticamente la cita de outlook en formato "Convocatoria" (con los botones de Aceptar, Rechazar, Provisorio). En este otro post publiqué una función en php que genera un mail con la convocatoria y que probé sin problemas en Outlook y Gmail (calendar).

Pero volviendo a este código aquí va, sólo tenes que ponerlo dentro de un php, personalizarle los parametros de fecha de inicio, titulo y descripción y tus visitantes podrán guardarse la cita en su propio calendar para estar avisados del evento.

Acá va el código:



-----------------------------------------------------------------------------------------------------


Si querés descargar el código fuente acá te dejo un  link para descargar el archivo .php
-----------------------------------------------------------------------------------------------------


header("Content-Type: text/Calendar"); //tipo de objeto
header("Content-Disposition: inline; filename=calendar.ics"); //datos del archivo .ics
//datos de la convocatoria en formato vcard
echo "BEGIN:VCALENDAR\n"; 
echo "VERSION:2.0\n";
echo "PRODID:-//El Pezojo!//elpezojo.blogspot.com//EN\n";
echo "METHOD:REQUEST\n"; // Dato que pide el outlook para el tipo de objeto
echo "BEGIN:VEVENT\n";
echo "UID:".date('Ymd').'T'.date('His')."-".rand()."-elpezojo.blogspot.com\n"; // Identificador único randómico, que utiliza Outlook
echo "DTSTAMP:".date('Ymd').'T'.date('His')."\n"; // No sé apra qué es, pero lo usa Outlook
echo "DTSTART:20080413T000000\n"; //Fecha de inicio del evento, en formato UTF
echo "SUMMARY:TEST\n";
echo "DESCRIPTION: elpezojo.blogspot.com\n"; //Descripción del evento
echo "END:VEVENT\n";
echo "END:VCALENDAR\n";
?>

Por ahora nada más. Si tenes problemas copiando este código, podes descargar acá el archivo .php
-----------------------------------------------------------------------------------------------------
Nota: Si este artículo te pareció interesante, por favor, visitá los enlaces patrocinados donde seguramente encontrarás más cosas útiles.

1 comentario:

Gokear dijo...

Tengo un problema con el codigo ya cree mia rchivo pero cuando lo abro en un outllok la hora sale desfasada por digamos una hora, y en el outlook de otro pc la hora se descuadra por unas 5 horas.