texxasrulez / calendar
支持CalDav的Roundcube和Nextcloud日历插件
Requires
- php: >=7.1.0
- league/oauth2-client: *
- league/oauth2-google: *
- roundcube/plugin-installer: ~0.1.6
- sabre/dav: 4.1.1
- texxasrulez/libcalendaring: 3.5.2
- texxasrulez/libkolab: 3.5.4
README
我非常需要这个项目的一点点帮助。只有一个老人要处理大量的代码。
我知道这对我个人和许多其他个人用户将是非常大的帮助,因为我真的相信
这个日历可以在有几位有技能的PHP开发者支持的情况下变得非常出色。我自学
了我的工作,并且完成了一些相当酷的事情。在使用Github上托管的其他许多日历插件
中,我认为这个是最好的选择,尽管我在PHP方面并不擅长。这就是为什么我需要帮助
的原因。如果我这样的人,只知道足够多的编程知识来造成危险,可以做到
这样的事情,那么想想一个受过良好训练的程序员能做什么。
感谢您倾听这个老人的胡言乱语。
使用以下环境测试并通过
- Debian 9.13
- Apache2 v2.4.25
- Roundcube v1.4.8
- Composer v1.10.9
- Nextcloud v19.0
- PHP v7.2.32
- MySQL Server v5.7.31
- Sabre/Dav v4.1.1
- Sabre/Event v5.1.0
- Sabre/Http v5.1.0
- Sabre/Uri v2.2.0
- Sabre/Vobject v4.3.1
- Sabre/Xml v2.2.1
安装
<=PHP7.1
- composer require "texxasrulez/calendar": "~0.0.6.0"
兼容RCMCARDDAV ~3.0.3
>=PHP7.2
- composer require "texxasrulez/calendar": "~0.0.7.0"
兼容RCMCARDDAV ^4.0
这将下载最新版本。
它将注入与该插件相关的所有SQL模式,但Kolab和LDAP除外。
我已经将那些模式保留在原始目录drivers//SQL中,如果您愿意,可以手动安装
Composer完成后,更改到plugins/calendar目录,并输入
composer run-script post-install-cmd
这将复制一个文件,以修复全天重复事件提前一天显示的bug。
请记得编辑您的config.inc.php文件以设置URL,然后您就可以开始了。
现在支持多种数据库
- MSSQL
- MySQL(我只使用过这个)
- Postgres
- Oracle
- SQLite
我仅亲自测试了MySQL模式,然后将其转换为其他应该可以正常工作的SQL服务器
如果你们中有谁在其他数据库上有已知可正常工作的日历,或者可以帮助添加更多,请让我们都知道。
现在支持弹性皮肤
我分支这个项目是为了创建一个可以开箱即用的、支持CalDav的日历,专门用于Nextcloud。
我将尽可能维护这个仓库。
目前,此插件仅打算与Nexcloud一起使用。日历插件将同步Nextcloud中已存在的日历。
如果您想要更多默认设置之外的内容,您必须在Nextcloud日历GUI中添加日历,然后返回到Roundcube。
在刷新(F5)后,它将神奇地出现在您的Roundcube日历GUI中。
从Roundcube日历GUI,您可以添加、编辑、删除、下载、复制事件,并添加附件。
当邀请与会者时,iTip邀请将成功发送、接受、拒绝等...
非常重要
由于@MAT-WEISS-2017贡献了他的时间和一些代码来帮助解决已删除的要求,所以其中一些现在可能已经不再重要。
我尚未测试过此功能,但这位用户过去曾贡献过代码,并且每次都做得很好。
您的roundcube和nextcloud必须运行在同一域名下,因为存在跨脚本问题,不允许使用子域名。
如果您擅长服务器管理员之道,您应该不会在解决跨脚本问题时遇到任何麻烦。
在Roundcube中同步日历之前,必须创建Nextcloud账户,并且用户至少需要在Nextcloud中登录一次。
如果您使用我的Nextcloud插件,用户只需点击“云”图标,就会触发日历和地址簿的创建。
Nextcloud在初始登录之前不会创建日历,因此Roundcube日历将找不到任何日历。
您的用户名和密码必须在Nextcloud和Roundcube中相同,以便它们能正常工作。
如果您使用与登录Roundcube所需的完全相同的用户名和密码在Nextcloud中创建用户,则不应有任何问题。
在Roundcube配置中,有一些可配置的参数可以修改您的电子邮件以供登录,这可能有助于您实现一些不同的需求。
已知问题
- 不会从Roundcube日历GUI创建新日历。
新功能
- 可通过composer安装
- 插件现在使用在安装时由Roundcube随机生成的des_key。不再需要在Calendar config.inc.php文件中记住更改密钥。
- 现在提供utf8mb4支持。例如,日历标题、描述和位置中的表情符号得到支持。
- 同步时随机生成日历颜色。
- 现在可以指定时间间隔(以秒为单位)来同步您的日历。
愿望清单
- 在Roundcube日历GUI中添加创建新日历的功能。
- 对更广泛的日历选项提供OAuth支持。(这是我想要实现的下一步,所以我正在努力。)
- 在左侧列底部的主邮件选项卡中添加预览/议程列表。
-
在日历的初始同步中分配随机颜色。- 感谢 @drlight17 - 添加声音通知。
- 集成启用了CalDav的任务列表插件。(这是最后的考虑。)
-
添加表情符号支持。@texxasrulez -
删除mcrypt并用openssl替换。感谢 @MAT-WEISS-2017
- 用户功能请求始终欢迎,但我无法保证是否能实现……☺️
提交问题
由于我一直在努力工作,问题可能或可能不会被及时处理。我会引入错误、修复它们,然后再回来。
提交问题在所有意义上都是完全欢迎的,因为用户提供的信息将帮助我……
我将始终指定最新的稳定版本以供下载和使用。
💰 捐赠 💰
如果您使用此插件,并想通过买我一杯咖啡来表达您的感激之情,我将非常感激。
一杯普通的咖啡就足够了,但一杯星巴克咖啡会更好……
Zelle(Zelle是许多主要银行移动应用默认集成的) - 只需发送到texxasrulez at yahoo dot com
如果您银行的移动应用中没有Zelle,没问题,只需点击Paypal,我可以去星巴克。
我感谢对这款插件的兴趣,并祝愿所有人都能取得最好的结果……