Archivo de la etiqueta: google calendar

Insertar un bot贸n en tu web para a帽adir un evento a Google Calendar.

 

Hola a todos:

Si mostramos eventos en una p谩gina web puede ser interesante a帽adir un bot贸n para que el visitante pueda pinchando en el a帽adir el evento a su calendario en google calendar.

He creado una funci贸n en php que nos permite de forma sencilla crear la url necesaria para crear el enlace que nos cree el evento en google calendar:

<?php
/********************************************************************
* Funci贸n getGCalendar (Eduardo Revilla Vaquero)                    *
* Genera url para la creaci贸n de un evento en google calendar.      *
*********************************************************************/

function getGCalendarUrl($event){ $titulo = urlencode($event['titulo']); $descripcion = urlencode($event['descripcion']); $localizacion = urlencode($event['localizacion']); $start=new DateTime($event['fecha_inicio'].' '.$event['hora_inicio'].' '.date_default_timezone_get()); $end=new DateTime($event['fecha_fin'].' '.$event['hora_fin'].' '.date_default_timezone_get()); $dates = urlencode($start->format("Ymd\THis")) . "/" . urlencode($end->format("Ymd\THis")); $name = urlencode($event['nombre']); $url = urlencode($event['url']); $gCalUrl = "http://www.google.com/calendar/event?action=TEMPLATE&amp;text=$titulo&amp;dates=$dates&amp;details=$descripcion&amp;location=$localizacion&amp;trp=false&amp;sprop=$url&amp;sprop=name:$name"; return ($gCalUrl); }

 

La funci贸n recibe como par谩metro un array asociativo con los campos necesarios para crear el evento.

Un ejemplo del array ser铆a este:

$evento = array(
 'titulo' => 'Mi evento de prueba',
 'descripcion' => 'Descripcion del evento de prueba',
 'localizacion' => 'Aqui ponemos la direcci贸n donde se celebra el evento',
 'fecha_inicio' => '2014-04-10', // Fecha de inicio de evento en formato AAAA-MM-DD
 'hora_inicio'=>'17:30', // Hora Inicio del evento
 'fecha_fin'=>'2014-04-12', // Fecha de fin de evento en formato AAAA-MM-DD
 'hora_fin'=>'19:00', // Hora final del evento
 'nombre'=>'ReviBlog', // Nombre del sitio
 'url'=>'www.reviblog.net' // Url de la p谩gina
);

Ahora solo nos queda crear el link en html asignandole la url devuelta por la funci贸n getGCalendarUrl:

<a href="<?php echo getGCalendarUrl($evento); ?>"><img src="http://www.google.com/calendar/images/ext/gc_button6_es.gif" border="0"></a>

Para probarlo puedes crear un archivo php y pegar el siguiente c贸digo donde todo junto quedaria as铆:

<?php
/********************************************************************
* Funci贸n getGCalendar (Eduardo Revilla Vaquero)                    *
* Genera url para la creaci贸n de un evento en google calendar.      *
*********************************************************************/function getGCalendarUrl($event){
$titulo = urlencode($event['titulo']);
$descripcion = urlencode($event['descripcion']);
$localizacion = urlencode($event['localizacion']);
$start=new DateTime($event['fecha_inicio'].' '.$event['hora_inicio'].' '.date_default_timezone_get());
$end=new DateTime($event['fecha_fin'].' '.$event['hora_fin'].' '.date_default_timezone_get()); $dates = urlencode($start->format("Ymd\THis")) . "/" . urlencode($end->format("Ymd\THis"));
$name = urlencode($event['nombre']);
$url = urlencode($event['url']);
$gCalUrl = "http://www.google.com/calendar/event?action=TEMPLATE&amp;text=$titulo&amp;dates=$dates&amp;details=$descripcion&amp;location=$localizacion&amp;trp=false&amp;sprop=$url&amp;sprop=name:$name";
return ($gCalUrl);
}
// array asociativo con los parametros mecesarios.
$evento = array(
  'titulo' => 'Mi evento de prueba',
  'descripcion' => 'Descripcion del evento de prueba',
  'localizacion' => 'Aqui ponemos la direcci贸n donde se celebra el evento',
  'fecha_inicio' => '2014-04-10', // Fecha de inicio de evento en formato AAAA-MM-DD
'hora_inicio'=>'17:30', // Hora Inicio del evento
'fecha_fin'=>'2014-04-12', // Fecha de fin de evento en formato AAAA-MM-DD
'hora_fin'=>'19:00', // Hora final del evento
'nombre'=>'ReviBlog', // Nombre del sitio
'url'=>'www.reviblog.net' // Url de la p谩gina
);
?>
<a href="<?php echo getGCalendarUrl($evento); ?>"><img src="http://www.google.com/calendar/images/ext/gc_button6_es.gif" border="0"></a>

Este c贸digo nos generar谩 un bot贸n como este:

 

Espero que sea de utilidad.