Giter Site home page Giter Site logo

fasterit / roundcube_calendar Goto Github PK

View Code? Open in Web Editor NEW
19.0 14.0 21.0 1.39 MB

A functional version of Kolab's roundcube plugin with CalDAV forked from https://gitlab.awesome-it.de/kolab/roundcube-plugins/tree/feature_caldav

License: GNU Affero General Public License v3.0

PHP 79.29% JavaScript 14.51% CSS 3.85% HTML 2.23% PLpgSQL 0.13%

roundcube_calendar's Introduction

Roundcube Calendar plugin with CalDAV support

Using Kolab-plugins from https://git.kolab.org/ (based on v3.2.9)
Using the CalDAV driver from https://gitlab.awesome-it.de/kolab/roundcube-plugins/tree/feature_caldav (based on v3.2.8)

Hosted at https://git.faster-it.com/roundcube_calendar
Mirrored at https://github.com/fasterit/roundcube_calendar

About

Roundcube is an awesome web mailer and a good platform for calendaring as the work from Kolab Systems AG shows. Their Roundcube plugins (primarily developed to support the Kolab Groupware server) have been extended by "Awesome IT" (a GbR out of Karlsruhe, Germany) to support CalDAV calendars.

Getting this all to work is a bit of a hassle so we - Faster IT GmbH - decided to combine the various parts into a distribution when we were asked to implement this for a nonprofit company. For the public benefit we re-publish the work under the original AGPLv3+ license.

This version is compatible with the rcmcarddav plugin from Benjamin Schieder.
We hacked this by moving the ancient SabreDAV version the WebDAV driver uses into its own OldSabre namespace so it does not collide with rcmcarddav's version.
We updated it to 1.8.12 which is the last version of the 1.x series (SabreDAV is at 3.1 now).

That way you can have both CalDAV and CardDAV supported simultaneously in Roundcube by Free Software.

There is work underway at "Awesome IT" to update SabreDAV to a recent version (see their gitlab) but at the time of writing this (2016-03-07) it has not yet been completed.

Installation

Install the latest 1.1 branch version of Roundcube. This plugin is not compatible with 1.2 and later at this time. See the bottom of this README for where to find some patches in case you want to port this plugin to newer Roundcube releases.

Clone the repository and copy calendar and libcalendaring to the plugins directory of your roundcube installation:

$ git clone git://github.com/fasterit/roundcube_calendar.git
$ cd roundcube_calendar
$ cp -r calendar/ libcalendaring/ /var/www/htdocs/roundcube/plugins/ # adjust as needed

Copy and edit the supplied config.inc.php.dist:

$ cd /var/www/htdocs/roundcube/plugins/
$ cp config.inc.php.dist config.inc.php
$ $EDITOR config.inc.php

Change the driver to include caldav (this is why you use this version of the calendar plugins, right?);

// backend type (database, kolab, caldav, ical)
$config['calendar_driver'] = array('database', 'caldav');
$config['calendar_driver_default'] = 'caldav';

Provide a unique crypt_key. This is used to scramble the passwords for CalDAV calendars before they are stored into the database:

// Crypt key to encrypt passwords for added iCAL/CalDAV calendars
$config['calendar_crypt_key'] = "<run pwgen -sy 32 to get some nice random data for here>";

Now we need to import the database tables for the database driver (these tables are also required for CalDAV!) and the caldav driver. Your database name () will usually be roundcubemail or roundcube. Check with mysql -e 'show databases;'.

$ mysql <db-name> < /var/www/htdocs/roundcube/plugins/calendar/drivers/database/SQL/mysql.initial.sql
$ mysql <db-name> < /var/www/htdocs/roundcube/plugins/calendar/drivers/caldav/SQL/mysql.initial.sql

Finally enable the calendar plugin in your global roundcube config.inc.php:

$ $EDITOR /var/www/htdocs/roundcube/config/config.inc.php

Add 'calendar' to the list of active plugins:

$config['plugins'] = array(
    (...)
    'calendar',
);

Usage

After installation, add a CalDAV Calendar by going to the Calendar view and clicking the [+] in the lower right corner. Select CalDAV Calendar and provide a name, URL and username / password for your calendar.

In case you want to add calendars that are served with self-signed SSL certificates, be sure to set

// Set to false to allow CURL to connect with SSL hosts that it can't verify the certificates from
// e.g. for self-signed certificates.
// technical note: This sets CURLOPT_SSL_VERIFYPEER _and_ CURLOPT_SSL_VERIFYHOST.
$config['calendar_curl_secure_ssl'] = false;

in calendar/config.inc.php. And know what you are doing.

Debugging

See /var/www/htdocs/roundcube/logs/ for errors.

Support

There is none. Really. This code is not for the faint of heart.
Patches welcome and some for Roundcube 1.2 are available in github issues and pull requests at https://github.com/fasterit/roundcube_calendar .

roundcube_calendar's People

Contributors

fasterit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

roundcube_calendar's Issues

Can't add new calendar

Hi,

I'm using Larry or Classic skin with Rouncube version 1.4.13 and calendar plugin version 3.2.8.
My caldav agendas are syncing well.

However, I'm not able to create new calendars. Nothing happens.
No error log in roundcube, no HTTP traffic when clicking this button

What could I do to debug this?

cannot add new calendar, not pop up the windows

Hi, I cannot ad an new calendar, I install the plugin step by step, I have a fresh install debian 9.0.1 with php 7.0. I receive the next error messages

[11-Sep-2017 15:46:18 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 15:46:18 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:46:18 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 15:46:18 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 15:46:18 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 15:46:19 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:46:36 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 15:46:36 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:46:36 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 15:46:36 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 15:46:36 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 15:46:37 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:47:02 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:47:06 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:47:27 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 15:47:27 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 15:47:49 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Personal'
WHERE categories='Personal'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 15:47:49 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Work'
WHERE categories='Work'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 15:47:49 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Family'
WHERE categories='Family'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 15:47:49 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Holiday'
WHERE categories='Holiday'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 15:47:49 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 15:47:49 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 15:47:55 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 15:47:55 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:47:55 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 15:47:55 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 15:47:55 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 15:47:57 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:48:04 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 15:48:04 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:48:04 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 15:48:04 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 15:48:04 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 15:48:05 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:49:05 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:51:06 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 15:51:06 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:51:06 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 15:51:06 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 15:51:06 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 15:51:08 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:51:22 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 15:51:22 +0200]: PHP Error: No driver name found in GPC. (GET /webmail/?_task=calendar&action=load_events&source=1&start=1505080800&end=1505685600&=1505137882258)
[11-Sep-2017 16:00:08 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:02:08 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:05:56 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 16:05:56 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:05:56 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 16:05:56 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:05:56 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:05:59 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:06:12 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:06:12 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:06:50 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 16:06:50 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:06:50 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 16:06:50 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:06:50 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:06:51 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:07:11 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:07:11 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:07:14 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:07:51 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:08:16 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:08:16 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:08:26 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Personal'
WHERE categories='Personal'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:08:26 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Work'
WHERE categories='Work'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:08:26 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Family'
WHERE categories='Family'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:08:26 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Holiday'
WHERE categories='Holiday'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:08:26 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:08:26 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:08:32 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Personal'
WHERE categories='Personal'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:08:32 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Work'
WHERE categories='Work'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:08:32 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Family'
WHERE categories='Family'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:08:32 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Holiday'
WHERE categories='Holiday'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:08:32 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:08:32 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:08:37 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 16:08:37 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:08:37 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 16:08:37 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:08:37 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:08:38 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:08:38 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:18:51 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:18:51 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:19:02 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Personal'
WHERE categories='Personal'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:19:02 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Work'
WHERE categories='Work'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:19:02 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Family'
WHERE categories='Family'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:19:02 +0200]: DB Error: [1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 4 (SQL Query: UPDATE caldav_events
SET categories='Holiday'
WHERE categories='Holiday'
AND calendar_id IN ()) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 540 (POST /webmail/?_task=settings&_action=save-prefs)
[11-Sep-2017 16:19:02 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:19:02 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:19:06 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 16:19:06 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:19:06 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 16:19:06 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:19:06 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:19:07 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:21:07 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:22:45 Europe/Berlin] PHP Parse error: syntax error, unexpected '?>', expecting ')' in /usr/share/roundcube/plugins/calendar/config.inc.php on line 198
[11-Sep-2017 16:23:03 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to undefined method caldav_driver::insert_default_calendar() in /usr/share/roundcube/plugins/calendar/calendar.php:182
Stack trace:
#0 /usr/share/roundcube/program/lib/Roundcube/rcube_plugin_api.php(439): calendar->startup(Array)
#1 /usr/share/roundcube/index.php(87): rcube_plugin_api->exec_hook('startup', Array)
#2 {main}
thrown in /usr/share/roundcube/plugins/calendar/calendar.php on line 182
[11-Sep-2017 16:23:19 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to undefined method caldav_driver::insert_default_calendar() in /usr/share/roundcube/plugins/calendar/calendar.php:182
Stack trace:
#0 /usr/share/roundcube/program/lib/Roundcube/rcube_plugin_api.php(439): calendar->startup(Array)
#1 /usr/share/roundcube/index.php(87): rcube_plugin_api->exec_hook('startup', Array)
#2 {main}
thrown in /usr/share/roundcube/plugins/calendar/calendar.php on line 182
[11-Sep-2017 16:23:34 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 16:23:34 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:23:34 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 16:23:34 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:23:34 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:23:36 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:24:32 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to undefined method caldav_driver::insert_default_calendar() in /usr/share/roundcube/plugins/calendar/calendar.php:182
Stack trace:
#0 /usr/share/roundcube/program/lib/Roundcube/rcube_plugin_api.php(439): calendar->startup(Array)
#1 /usr/share/roundcube/index.php(87): rcube_plugin_api->exec_hook('startup', Array)
#2 {main}
thrown in /usr/share/roundcube/plugins/calendar/calendar.php on line 182
[11-Sep-2017 16:24:55 Europe/Berlin] PHP Parse error: syntax error, unexpected '?>', expecting ')' in /usr/share/roundcube/plugins/calendar/config.inc.php on line 198
[11-Sep-2017 16:25:20 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to undefined method caldav_driver::insert_default_calendar() in /usr/share/roundcube/plugins/calendar/calendar.php:182
Stack trace:
#0 /usr/share/roundcube/program/lib/Roundcube/rcube_plugin_api.php(439): calendar->startup(Array)
#1 /usr/share/roundcube/index.php(87): rcube_plugin_api->exec_hook('startup', Array)
#2 {main}
thrown in /usr/share/roundcube/plugins/calendar/calendar.php on line 182
[11-Sep-2017 16:25:25 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to undefined method caldav_driver::insert_default_calendar() in /usr/share/roundcube/plugins/calendar/calendar.php:182
Stack trace:
#0 /usr/share/roundcube/program/lib/Roundcube/rcube_plugin_api.php(439): calendar->startup(Array)
#1 /usr/share/roundcube/index.php(87): rcube_plugin_api->exec_hook('startup', Array)
#2 {main}
thrown in /usr/share/roundcube/plugins/calendar/calendar.php on line 182
[11-Sep-2017 16:25:52 +0200]: Warning: Call to deprecated function rcube_autocomplete_init(); See bc.inc for replacement
[11-Sep-2017 16:25:52 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement
[11-Sep-2017 16:25:52 +0200]: Warning: Call to deprecated function rcube_upload_init(); See bc.inc for replacement
[11-Sep-2017 16:25:52 +0200]: Warning: Call to deprecated function rcube_label(); See bc.inc for replacement
[11-Sep-2017 16:25:52 +0200]: Warning: Call to deprecated function Q(); See bc.inc for replacement
[11-Sep-2017 16:25:54 +0200]: Warning: Call to deprecated function get_input_value(); See bc.inc for replacement

not working, roundcube 1.3.6, empty settings page, empty calendar page, Call to undefined function rcube_autocomplete_init(), need patch from another repo

  1. I have done everything according to installation guide:
  • clone the repo
  • copied calendar and libcalendaring to plugins
  • edited config.inc.php in plugins/calendar
  • run two sql scripts against mysql
  • enabled plugin in config/config.inc.php
  1. After I enter roundcube
  • there is an icon for calendar in menu, but when I click it empty page displays
  • there is an calendar options is settings, but when I choose it it says "loading" but nothing displays eventually
  • on the list of emails, emails with calendar invitations are marked with calendar icon but clicking it does nothing - no preview
  • no error in apache error log

Error accepting/declining an event

Hi,
when I receive an event invitation and I click on accept, I get the following stacktrace in the error log.

16-Oct-2016 19:38:57 UTC] PHP Fatal error: Uncaught Error: Call to undefined method rcube_imap::set_mailbox() in /var/www/vhosts/xyz.de/httpdocs/roundcube/plugins/libcalendaring/libcalendaring.php:1364
Stack trace:

0 /var/www/vhosts/xyz.de/httpdocs/roundcube/plugins/calendar/calendar.php(3039): libcalendaring->mail_get_itip_object('INBOX', '8410', '3:0', 'event')

1 /var/www/vhosts/xyz.de/httpdocs/roundcube/program/lib/Roundcube/rcube_plugin_api.php(491): calendar->mail_import_itip()

2 /var/www/vhosts/jprior.de/httpdocs/roundcube/index.php(283): rcube_plugin_api->exec_action('calendar.mailim...')

3 {main}

thrown in /var/www/vhosts/xyz.de/httpdocs/roundcube/plugins/libcalendaring/libcalendaring.php on line 1364

I am using the latest Roundcube 1.2.2 on a PHP7 backend.
Any ideas to solve this error?

calendar invitation message reject as UNDELIVERABLE due InvalidCharsetException, Character set name (RCMAIL+AF8-CHARSET), roundcuebe 1.3.x

While creating event in calendar with attendee email after event is send the remote sender answers with undeliverable status.

Sample rejected message info:
Delivery has failed to these recipients or groups:
[email protected]
The email system had a problem processing this message. It won't try to deliver this message again.
Diagnostic information for administrators:
Generating server: --------------------------

[email protected]
Remote Server returned '550 5.6.0 CAT.InvalidContent.Exception: InvalidCharsetException, Character set name (RCMAIL+AF8-CHARSET) is invalid or not installed.; cannot handle content of message with InternalId 107335527701685, InternetMessageId [email protected].'

Original message headers:

JS Error during calendar adding

When you enable plugin, you can't add new calendar, because parameter "driver" is not passed into props attribute of button command. JS expect json there and got empty string => crash. So, I found function which add this props (calendar_ui.php, method calendar_create_menu), but this method is never called during render. If I uderstand it right, reason is that in template, you used roundcube:button, not roundcube:object. And here, I got stuck because I don't know roundcube. For a hot-fix, I filed props with json manually and it works. Maybe you know what to do...

Error adding new event

Hi

I'm using (or trying) your adaptor in a Sabredav (inside a tine 2.0 app), and received a mail with an invitation inside, and RC got correctly the option to import this invitation, but when i try, clicking in the "accept" button (Aceitar in portuguese), return a error in the log file:

[29-Mar-2016 09:04:35 -0300]: <v73rc932> DAV Error: Forbidden in /var/www/webmail/plugins/calendar/lib/SabreDAV/lib/OldSabre/DAV/Client.
php on line 429 (POST /webmail/?_task=calendar&_framed=1&_action=mailimportitip?_task=&_action=)

And this is some screenshots:

image

image

Here say (at final): Fail to import this event.

Any suggestion or tip, i thanks in advanced.

Best regards,
Claudio Ferreira

Calendar Plugin with direct access to SabreDAV DB possible?

I don't know if this is a stupid idea, but i think it is...

Is it possible, that someone with enough knowledge could please develop a Calendar Plugin which does not sync via CalDAV, but instead uses the SabreDAV DB directly? Is this possible?

At least in my case, both (SabreDAV and Roundcube) uses the same DB Server on the same Machine. If i would rename all the tables and i change them to use some prefix, they could use also the same Database. So i think, such a combination could be a lot faster and more stable, as syncing via CalDAV.

Using default calender configuration not working

It looks like the Roundcube API changed.

This is tested with Roundcube 1.2.4 (using the complete package, if it has any importance) and todays HEAD of master (aka creating a fresh clone from the repository).

Once I add this to the plugins config.inc.php, it blows:

$config['calendar_preinstalled_calendars'] = array(
    'Caldav' => array(
                    'driver'      => 'caldav',
                    'caldav_user' => '%u',
                    'caldav_pass' => '%p',
                    'caldav_url'  => 'https:/cloud.mydomain.example/',
                    'color'       => 'cccc00',
                    'showAlarms'  => 1),
);

The error from Roundcubes error log is:

[31-Mar-2017 09:20:12 +0200]: PHP Error: Failed to load plugin file /var/www/htdocs/plugins/carddav/carddav.php in /var/www//htdocs/program/lib/Roundcube/rcube_plugin_api.php on line 173 (GET /?_task=calendar)
[31-Mar-2017 09:20:12 +0200]: PHP Error: Failed to load plugin file /var/www/htdocs/plugins/contextmenu/contextmenu.php in /var/www/htdocs/program/lib/Roundcube/rcube_plugin_api.php on line 173 (GET /?_task=calendar)
[31-Mar-2017 09:20:12 Europe/Berlin] PHP Fatal error:  Call to undefined method caldav_driver::insert_default_calendar() in /var/www/htdocs/plugins/calendar/calendar.php on line 182

And, more or less the short version, from the apache error log:

[Fri Mar 31 09:16:59.888865 2017] [:error] [pid 4478] [client 213.205.198.198:45818] PHP Fatal error:  Call to undefined method caldav_driver::insert_default_calendar() in /var/www/htdocs/plugins/calendar/calendar.php on line 182

Searching through the code base shows that there is no caldav_driver::insert_default_calendar() function indeed.

No new agenda

Hello,
I did the installation with a diary "database" but I can not manage to have a new agenda. When I click on the bottom left on the + nothing happens.
Do you have an idea ?
Thank you

SERVICE CURRENTLY NOT AVAILABLE! when trying to add calendar

I have latest version installed and when I try to add a calendar (database or caldav) a white screen comes up where I should be able to add calendar url with a 500 Error SERVICE CURRENTLY NOT AVAILABLE!. The only error I get in log is "PHP Error: No driver name found in GPC. (GET /mail/?_task=calendar&action=calendar&action=form-new&="

PostgreSQL init script do not have `caldav_calendars` DDLs

I ran into a weird issue while trying out the installation of this plugin (alongside carddav).
Roundcube's error log show me these lines whenever I try to add a calendar:

[28-Mar-2017 21:06:53 +0000]: <5gprk9u8> DB Error: [7] ERROR:  relation "caldav_calendars" does not exist
LINE 2:                 FROM caldav_calendars
                             ^ (SQL Query: SELECT *, calendar_id AS id
                FROM caldav_calendars
                WHERE user_id='1'
                ORDER BY name) in /var/www//htdocs/program/lib/Roundcube/rcube_db.php on line 539 (POST /?_task=calendar&_action=refresh)

Doing a quick grep for this table reveals the issue, the MySQL init scripts to have, the PHP code references it, but Postgres has no idea of what we are talking about:

htdocs $  grep -ir caldav_calendars | grep -v ^logs
plugins/calendar/drivers/caldav/SQL/mysql.initial.sql:CREATE TABLE IF NOT EXISTS `caldav_calendars` (
plugins/calendar/drivers/caldav/SQL/mysql.initial.sql:  CONSTRAINT `fk_caldav_calendars_user_id` FOREIGN KEY (`user_id`)
plugins/calendar/drivers/caldav/SQL/mysql.initial.sql:  REFERENCES `caldav_calendars`(`calendar_id`) ON DELETE CASCADE ON UPDATE CASCADE
plugins/calendar/drivers/caldav/SQL/mysql/2015022500.sql:CREATE TABLE IF NOT EXISTS `caldav_calendars` (
plugins/calendar/drivers/caldav/SQL/mysql/2015022500.sql:  CONSTRAINT `fk_caldav_calendars_user_id` FOREIGN KEY (`user_id`)
plugins/calendar/drivers/caldav/SQL/mysql/2015022500.sql:INSERT INTO caldav_calendars SELECT calendar_id, user_id, `name`, color, showalarms, url as caldav_url,
plugins/calendar/drivers/caldav/caldav_driver.php:    private $db_calendars = 'caldav_calendars';
plugins/calendar/drivers/caldav/caldav_driver.php:        $this->db_calendars = $this->rc->config->get('db_table_caldav_calendars', $db->table_name($this->db_calendars));
plugins/calendar/drivers/caldav/caldav_driver.php:        $hidden = array_filter(explode(',', $this->rc->config->get('hidden_caldav_calendars', '')));
plugins/calendar/drivers/caldav/caldav_driver.php:        $hidden = array_flip(explode(',', $this->rc->config->get('hidden_caldav_calendars', '')));
plugins/calendar/drivers/caldav/caldav_driver.php:        return $this->rc->user->save_prefs(array('hidden_caldav_calendars' => join(',', array_keys($hidden))));

Looks like this needs to be copied over to PostgreSQL as well?

setting error http 500

this is log error Nov 7 08:52:32 mail roundcube: DB Error: [7] ERROR: permission denied for relation calendars (SQL Query: SELECT *, calendar_id AS id FROM calendars#012 WHERE user_id='4'#12 ORDER BY name) in /var/www/roundcubemail-1.3.6/program/lib/Roundcube/rcube_db.php on line 543 (POST /mail/?_task=addressbook&_action=refresh)
Nov 7 08:53:32 mail roundcube: PHP Error: Failed to load plugin file /var/www/roundcubemail/plugins/libkolab/libkolab.php in /var/www/roundcubemail-1.3.6/program/lib/Roundcube/rcube_plugin_api.php on line 173 (POST /mail/?_task=addressbook&_action=refresh)
Nov 7 08:53:32 mail roundcube: DB Error: [7] ERROR: permission denied for relation calendars (SQL Query: SELECT *, calendar_id AS id FROM calendars#012 WHERE user_id='4'#12 ORDER BY name) in /var/www/roundcubemail-1.3.6/program/lib/Roundcube/rcube_db.php on line 543 (POST /mail/?_task=addressbook&_action=refresh)
Nov 7 08:53:51 mail roundcube: IMAP Error: Login failed for hermawan from 158.140.187.254. LOGIN: Authentication failed. in /var/www/roundcubemail-1.3.6/program/lib/Roundcube/rcube_imap.php on line 196 (POST /mail/?_task=login&_action=login)
Nov 7 08:54:02 mail roundcube: PHP Error: Failed to load plugin file /var/www/roundcubemail/plugins/libkolab/libkolab.php in /var/www/roundcubemail-1.3.6/program/lib/Roundcube/rcube_plugin_api.php on line 173 (GET /mail/?_task=mail&_token=6CftyJAdpG1WJt4k6d3NO4SaHLJ6fcK0)

Events can't be moved from one calendar to another

If you wan to move event in webgui from one calendar to another, system report Could not update event: Unexpected CalDAV error.. It took me for a while to find solution for that, But I failed.

One note, I found, that Thunderbird makes 11 requests to dav server during calendar edit (create same event in new calendar / delete old event in old calendar / lot of checks between that). But Roundcube driver makes only three requests. Create new and some checks. Maybe, you know what to do with that...

roundcube 1.3.x, calendar invitation, event could not be imported, service not available, bad request

Sometimes it happens that after receiving calendar invitation in email if:

  • I choose calendar check it opens a browser windows with error "SERVICE CURRENTLY NOT AVAILABLE! Error No. [500]""
  • if I click accept it shows error "Event could not be imported"

There are errors in public_html/roundcubemail/logs/errors respectively:

  • PHP Error: No driver found for calendar "--invitation--itip". (GET /?_task=calendar&view=agendaDay&date=1530795600&itip=INBOX/13418%232%3A0&_extwin=1)
  • [02-Jul-2018 04:33:22 +0200]: <bltae9ov> DAV Error: Bad request in /home/poczta/public_html/roundcubemail/plugins/calendar/lib/SabreDAV/lib/OldSabre/DAV/Client.php on line 423 (POST /?_task=calendar&_framed=1&_action=mailimportitip)

Event agenda in email invitation is displayed properly.

not working, roundcube 1.3.6, empty settings page and calendar page - using dotplex repository

After using this repo https://github.com/dotplex/roundcube_calendar (as it was referred to us in #21, I get this message (roundcube being in debug mode):

Warning: require_once(/var/www/html/roundcube/plugins/calendar/drivers/databse/databse_driver.php): failed to open stream: Aucun fichier ou dossier de ce type in /var/www/html/roundcube/plugins/calendar/calendar.php on line 249

Fatal error: require_once(): Failed opening required '/var/www/html/roundcube/plugins/calendar/drivers/databse/databse_driver.php' (include_path='/var/www/html/roundcube/vendor/pear/auth_sasl:/var/www/html/roundcube/vendor/pear/console_commandline:/var/www/html/roundcube/vendor/pear/console_getopt:/var/www/html/roundcube/vendor/pear/crypt_gpg:/var/www/html/roundcube/vendor/pear/mail_mime:/var/www/html/roundcube/vendor/pear/net_idna2:/var/www/html/roundcube/vendor/pear/net_ldap2:/var/www/html/roundcube/vendor/pear/net_smtp:/var/www/html/roundcube/vendor/pear/net_socket:/var/www/html/roundcube/vendor/pear/pear-core-minimal/src:/var/www/html/roundcube/vendor/pear/pear_exception:/var/www/html/roundcube/program/lib:.:/usr/share/php') in /var/www/html/roundcube/plugins/calendar/calendar.php on line 249

I notice that there is a typo on databse/databse_driver. After checking the directory on my server, I read databAse/databAse_driver.
I am however unable to find any reference to this typo in the php file calendar.php line 249, as mentioned in the error message.

Could anyone point me to where this typo might actually be located, so I can correct it? I am not a programmer, so I don't know if line 249 is an indirect reference.
Thanks.

Uncaught SyntaxError: Unexpected end of JSON input

Hi

I got your pck this week and started a strange error. In server side, I haven't any error, but in the dev console of browser, I find the follow error in to javascript.

I followed all instructions, as I did some months ago, and when I enter in the calendar, and I try to add a new CalDAV entry, I have nothing. I attached two pics, one with old version and other with new version of calendar.

Can you give me some light about the problem?

image
Javascript error when click in "+", in the left bottom corner.

image
Old version of fasterit/roundcube_calendar working.

Uncaught Error: Call to undefined function Q() in /var/www/html/mailtest/plugins/calendar/calendar.php:565

After enabling the Plugin in Roundcube 1.3.0 i get the following error, if i try to access the calendar settings in the setting area of Roundcube:

Fatal error: Uncaught Error: Call to undefined function Q() in /var/www/html/mailtest/plugins/calendar/calendar.php:565 Stack trace: #0 /var/www/html/mailtest/program/lib/Roundcube/rcube_plugin_api.php(439): calendar->preferences_list(Array) #1 /var/www/rc-1.3.0/program/steps/settings/func.inc(1247): rcube_plugin_api->exec_hook('preferences_lis...', Array) #2 /var/www/rc-1.3.0/program/steps/settings/edit_prefs.inc(28): rcmail_user_prefs('calendar') #3 /var/www/rc-1.3.0/index.php(303): include_once('/var/www/rc-...') #4 {main} thrown in /var/www/html/mailtest/plugins/calendar/calendar.php on line 565

db_prefix not mentioned in installation instruction

It would be good to have a script for populating the DB, which would take into account db_prefix.

In the meantime, it may be worth mentioning in README.md / Installation so that the user can prefix the sql scripts manually.

Creates recurring events twice randomly

When a new CalDAV calendar is added, some recurring events are synced (?) and created twice randomly, but not all of them. For example, in the first sync, event 1 was created twice and event 2 was OK. After deleting the two events from the roundcube calendar (not from the CalDAV server), another sync can create event 2 twice and maybe event 1 as well. I'm not sure what triggers sync of these duplicate events twice. What's more interesting is that it's not all events in one calendar. Only some of them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.