cociweb / calendar
支持 CalDav 的 Roundcube 和 Nextcloud 的日历插件
Requires
- php: >=7.1.0
- cociweb/libcalendaring: 3.5.4
- league/oauth2-client: *
- league/oauth2-google: *
- roundcube/plugin-installer: *
- sabre/dav: *
- texxasrulez/libkolab: *
README
我真的非常 希望 在这个项目上得到一些帮助。只有一个老人要检查大量的代码。
我知道这对我个人和许多其他个人用户来说将是非常大的帮助,因为我真的相信
这个日历可以在我的PHP开发者的帮助下变得非常出色。我自学成才
并且已经做了一些很酷的事情。在我使用过的许多其他GitHub上的日历插件中,我认为这个
是最好的选择,尽管我并不是PHP的最佳人选。这就是为什么我要寻求帮助。如果像我这样的人
只是知道足够的编程知识来做出危险的事情,可以做到这样的事情,那么想象一下一个
受过良好训练的程序员能做什么。
感谢您耐心听这个老人胡言乱语。
以下环境测试通过并正常工作
- Debian 11 (5.15.0-58-generic)
- Apache2 v2.4.54
- Roundcube v1.6.0
- Composer v2.5.1
- Nextcloud v25.0.3
- PHP v8.0.21
- MySQL Server v5.7.31
- Sabre/Dav v4.2.2
- Sabre/Event v5.1.4
- Sabre/Http v5.1.6
- Sabre/Uri v2.3.2
- Sabre/Vobject v4.5.3
- Sabre/Xml v2.2.5
- CardDav v5.0.1
安装
>=PHP7.2
- composer require "cociweb/calendar": "~0.0.8.5"
兼容 RCMCARDDAV ^5.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 必须来自同一域名,不能使用子域名,因为存在跨脚本问题。
如果你擅长服务器管理的方式,你将不会有困难地处理跨脚本问题。
Nextcloud账户必须创建,用户至少需要在Roundcube中登录一次,日历才能在Roundcube中同步。
如果你使用我的Nextcloud插件,只需点击“云”图标,就会触发日历和地址簿的创建。
Nextcloud不会在初始登录之前创建日历,所以Roundcube日历将找不到日历。
您的用户名和密码必须在Nextcloud和Roundcube中相同,才能正常运行。
如果你在Nextcloud中使用登录Roundcube所需的精确用户名和密码创建用户,则不应有任何问题。
在Roundcube配置中,有一些可配置的参数可以更改你的电子邮件,这可能有助于你获得一些不同的效果。
已知问题
- 不会从Roundcube日历GUI创建新日历。
新功能
- 可通过composer安装
- 插件现在使用在安装过程中由Roundcube随机生成的des_key。不再需要在Calendar config.inc.php文件中记住更改密钥。
- utf8mb4支持现在可用。例如,日历标题、描述和位置中的表情符号受到支持。
- 同步日历时,日历将具有随机生成的颜色。
- 现在可以指定同步日历的时间范围(以秒为单位)。
愿望清单
- 在Roundcube日历GUI中添加创建新日历的能力。
- 支持更广泛的日历选择。这是我下一个想要实现的目标,因此我正在努力工作。
- 在左侧列底部添加主邮件标签中的预览/议程列表。
-
在日历初始同步时分配随机颜色。- 感谢 @drlight17 - 添加声音通知。
- 集成Caldav启用任务列表插件。(这是在最后的最后。)
-
添加表情符号支持。@texxasrulez -
移除mcrypt并用openssl替换。感谢 @MAT-WEISS-2017
- 用户功能请求始终欢迎,但我不能保证能否实现它 ... ☺️
提交问题
由于我一直在工作,问题可能不会及时得到解决。我会引入错误、修复,然后再回来。
提交问题绝对欢迎,因为用户提供的详细信息将有助于我 ...
我将始终指定最新的稳定版本供下载和使用。
💰 捐赠 💰
如果你使用此插件,并想通过买我一杯咖啡来表示你的感激,我将非常感激。
一杯普通的咖啡就足够了,但星巴克咖啡会更好 ...
Zelle(Zelle是许多主要银行移动应用的默认集成) - 只需发送到yahoo dot com的texxasrulez
如果你的银行移动应用中没有Zelle,没有问题,只需点击Paypal,我可以跑一趟星巴克 ...
我感谢对这个插件感兴趣,并希望所有人都能得到最好的。