带有重复活动的PHP日历

Jam*_*ell 8 php calendar zend-framework

有没有人知道处理存储,检索和删除事件的开源PHP日历类.

我到处寻找,我能找到的所有类都将为日历创建HMTL输出,但不管理实际的日历事件.

我不能使用谷歌日历作为我正在处理的项目不允许我公开访问日历,它也需要脱机工作.

我知道这个问题已被问过一千次,但我从未遇到过完整的答案.

更新::此日历将用于商业应用程序,但遗憾的是,我们目前没有资金购买软件许可证,因此所有第三方脚本都需要在商业应用程序中免费分发

谢谢

Ric*_*ick 5

在我目前正在进行的项目中,我们遇到了类似的挑战.我们还希望显示非持续日历项目的事件,以及来自行动计划的项目.

我们使用了Full Calander,结合了提供JSON feed的PHP编程.完整日历还提供了许多事件挂钩,在我们的例子中触发了一个编写数据库的PHP编程的Ajax帖子.

更详细一点:

我们将完整日历称为:

$('#calendar').fullCalendar({
  events: '/pl_feed.php'
});
Run Code Online (Sandbox Code Playgroud)

完整日历然后访问,例如:

/pl_feed.php?start=1262332800&end=1265011200&_=1263178646
Run Code Online (Sandbox Code Playgroud)

(额外参数用于防止缓存)

pl_feed.php生成日历中显示的事件.

顺便说一句:我发现David Powers Date Class(阅读他的书:它很好)是一种乐趣.您可以在出版商的网站上下载:http://www.apress.com/9781430210115

当它完成生成请求的事件时,pl_feed.php将它们放在一个多维数组中并用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);
Run Code Online (Sandbox Code Playgroud)

完整日历将显示/pl_feed.php生成的事件.

希望这可以帮助.