2011-06-28 15 views
8

¿Alguien sabe de clase de calendario PHP de código abierto que maneja el almacenamiento, recuperación y eliminación de eventos.Calendario de PHP con eventos recurrentes

He buscado en todas partes y todo lo que puedo encontrar son clases que crearán la salida HMTL para un calendario pero no administran los eventos de calendario reales.

No puedo usar el calendario de google porque el proyecto en el que estoy trabajando no me permite hacer que el calendario sea de acceso público y también necesita trabajar fuera de línea.

Sé que esta pregunta se ha realizado miles de veces antes, pero nunca he encontrado una respuesta completa.

ACTUALIZACIÓN :: Este calendario se utilizará en una aplicación comercial, pero desafortunadamente no contamos con los fondos para comprar licencias de software en el momento actual, por lo que todos los scripts de terceros tendrían que ser gratuitos para distribuir en un aplicación comercial

Gracias

+0

calendarios de Google puede poner a disposición del público – Alex

+0

sentimos que quería decir es que no puedo utilizar el calendario de Google como el calendario que estoy trabajando no debe ser visibles públicamente –

Respuesta

5

En el proyecto que estoy trabajando en la actualidad, hemos tenido un problema similar. También queríamos mostrar eventos que no son elementos del calendario, sino elementos que surgieron de los planes de acción.

Hemos usado Full Calander, combinado con la programación de PHP que suministra la alimentación JSON. El Calendario completo también proporciona muchos ganchos para eventos, lo que en nuestro caso activa una publicación de Ajax en PHP Programming que edita la base de datos.

Un poco más detallada:

Llamamos Calendario Completo con:

$('#calendar').fullCalendar({ 
    events: '/pl_feed.php' 
}); 

Calendario completo a continuación, visitas, por ejemplo:

/pl_feed.php?start=1262332800&end=1265011200&_=1263178646 

(el parámetro adicional se utiliza para prevenir el almacenamiento en caché)

pl_feed.php genera los eventos que se muestran en la Calend Arkansas.

Por cierto: me pareció que la Fecha Clase David Powers (leer su libro: es bueno) es un placer trabajar con ella. Puede descargarlo en el sitio de la editorial: http://www.apress.com/9781430210115

Cuando se hace la generación de los eventos solicitados, pl_feed.php los coloca en una matriz multi-dimensional y se hace eco de la matriz con json_encode:

foreach ($array_events as $array_event) { 

     $array_feed_item['id'] = $array_event['id']; 
     $array_feed_item['title'] = //Whatever you like to be the title; 
     $array_feed_item['start'] = $array_event['start']; //Y-m-d H:i:s format 
     $array_feed_item['end'] = $array_event['end']; //Y-m-d H:i:s format 
     $array_feed_item['allDay'] = 0; 
     $array_feed_item['color'] = 'blue'; //Whatever you like, of course 
     $array_feed_item['borderColor'] = 'blue'; 
     //You can also a CSS class: 
     $array_feed_item['className'] = 'pl_act_rood'; 

     //Add this event to the full list of events: 
     $array_feed_items[] = $array_feed_item; 
    } 

    echo json_encode($array_feed_items); 

completa Calendar le mostrará los eventos generados por /pl_feed.php.

Espero que esto ayude.

+0

También estoy buscando a utilizar FullCalendar pero no puede obtener los eventos periódicos de funcionar correctamente. ¿El guión lo has acomodado? El –

+0

JSON-alimentación que he creado con PHP genera los eventos recurrentes, no FullCalandar sí. Y es fácil dar a estos eventos una pequeña diferencia en apariencia, para que el usuario tenga claro que se trata de un evento recurrente. – Rick

+0

¿Hay alguna posibilidad de que puedas compartir el script que creaste? –

0

Puede utilizar la API de Google gdata para gestionar sus eventos. Tiene soporte para grandes eventos recurrentes.

También tienen función de eventos privados, lo que hace que sus eventos no sean visibles para el público. también es compatible con Zend Framework - http://framework.zend.com/manual/en/zend.gdata.calendar.html

+0

Gracias por su comentario aporat pero por desgracia no es Google Calendar una opción para este proyecto. ¿Conoces alguna otra biblioteca de calendario de código abierto? –

1

Le sugiero que haga que su aplicación simplemente funcione con un protocolo como CalDAV. Luego, simplemente puede dejar que los usuarios de su aplicación suministren su propio almacenamiento de calendario. Algunos usuarios pueden optar por usar Google Calendar. Algunos usuarios pueden tener un servidor Apple iCal existente. Algunos usuarios pueden configurar su propio servidor para esto.

Para completar (y para facilitar el inicio de nuevos usuarios) puede incluir, p. DAViCal (PHP, código abierto) como una solución predeterminada para aquellos que todavía no tienen un servicio de calendario.

hay bibliotecas de PHP que le permiten conectar fácilmente a un servidor CalDAV tales como iCalCreator y iCal Maker

+0

vivo la flexibilidad de este enfoque, pero parece que davical sólo funciona con PostgreSQL. ¿Conoces una variante de mysql? –

+0

@ James: davical está ocupado en movimiento a una capa de acceso a la base de datos basada en la DOP, lo que permitiría a MySQL, SQLite y otros backends de bases de datos. Quizás puedas ayudar? –

Cuestiones relacionadas