有没有人知道处理存储,检索和删除事件的开源PHP日历类。
我到处寻找,我能找到的是为日历创建HMTL输出但不管理实际日历事件的类。
我无法使用谷歌日历作为我正在处理的项目,不允许我公开日历,也需要离线工作。
我知道这个问题之前已被问过一千次,但我从来没有得到完整的答案。
UPDATE :: 此日历将用于商业应用程序,但遗憾的是,我们目前没有资金购买软件许可证,因此所有第三方脚本都需要在商业应用程序中免费分发
由于
答案 0 :(得分:5)
在我目前正在进行的项目中,我们遇到了类似的挑战。我们还希望显示不是本身日历项目的事件,而是显示来自行动计划的项目。
我们使用Full Calender,结合提供JSON提要的PHP编程。完整日历还提供了许多事件挂钩,在我们的例子中触发了一个编写数据库的PHP编程的Ajax帖子。
更详细一点:
我们将完整日历称为:
$('#calendar').fullCalendar({
events: '/pl_feed.php'
});
完整日历然后访问,例如:
/pl_feed.php?start=1262332800&end=1265011200&_=1263178646
(额外参数用于防止缓存)
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);
完整日历将显示/pl_feed.php生成的事件。
答案 1 :(得分:2)
答案 2 :(得分:1)
我建议你让自己的应用只使用像CalDAV这样的协议。然后,您只需让应用程序的用户提供自己的日历存储即可。有些用户可能会选择使用Google日历。某些用户可能拥有现有的Apple iCal服务器。有些用户可能会为此设置自己的服务器。
为了完成(并且为了让新用户轻松上手),您可以包含以下内容: DAViCal(PHP,开源)作为那些还没有日历服务的人的默认解决方案。
有一些PHP库可以让您轻松连接到iCalCreator和iCal Maker
等CalDAV服务器答案 3 :(得分:0)
您可以使用google gdata api来管理您的活动。它有很好的重复活动支持。
他们还拥有私人活动功能,这使您的活动对公众不可见。它也受到zend框架的支持 - http://framework.zend.com/manual/en/zend.gdata.calendar.html