roundcubemail-plugins-kolab/plugins/calendar
Christian Mollekopf 817fbf738c Static properties cannot be accessed via the object operator
https://www.php.net/manual/en/language.oop5.static.php

Fixes:
Undefined property: kolab_storage::$last_error in /usr/share/roundcubemail/plugins/calendar/drivers/kolab/kolab_driver.php on line 397
2024-04-12 10:57:41 +02:00
..
drivers Static properties cannot be accessed via the object operator 2024-04-12 10:57:41 +02:00
helpdocs Update localization, fix bugs in some localization files 2022-12-01 12:41:13 +01:00
lib ACL management for DAV folders 2024-04-02 15:46:33 +02:00
localization Use consistent PHP code style 2024-01-24 11:24:41 +01:00
skins Multi-folder support for CardDAV and CalDAV drivers 2022-11-04 12:08:22 +01:00
calendar.php event can be null if parsing failed 2024-04-04 12:07:33 +02:00
calendar_base.js Fix code indentation 2018-04-05 13:21:43 +00:00
calendar_ui.js ACL management for DAV folders 2024-04-02 15:46:33 +02:00
composer.json Try to support PHP >= 7.2, small refactoring 2022-11-30 12:54:29 +01:00
config.inc.php.dist Use consistent PHP code style 2024-01-24 11:24:41 +01:00
LICENSE Changed license to AGPL 2011-10-27 10:20:46 +02:00
print.js Fix various calendar regressions 2019-02-06 09:45:58 +01:00
README Add missing link 2019-10-20 09:40:51 +02:00
UPGRADING Update database version strings 2015-03-01 19:00:27 +01:00

A calendar module for Roundcube
-------------------------------

This plugin currently supports a local database as well as a Kolab groupware
server as backends for calendar and event storage. For both drivers, some
initialization of the local database is necessary. To do so, execute the
SQL commands in drivers/<yourchoice>/SQL/<yourdatabase>.initial.sql

For some general calendar-based operations such as alarms handling or iCal
parsing/exporting and UI widgets/style this plugins requires the `libcalendaring`
and `libkolab` plugins which are also part of the Kolab Roundcube Plugins repository.
Make sure these plugins are installed and configured correctly.

For recurring event computation, some utility classes from the Horde project
are used. They are packaged in a slightly modified version with this plugin.


REQUIREMENTS
------------

Some functions are shared with other plugins and therefore being moved to
library plugins. Thus in order to run the calendar plugin, you also need the
following plugins installed:

* kolab/libcalendaring [1]
* kolab/libkolab [1]


INSTALLATION
------------

For a manual installation of the calendar plugin (and its dependencies),
execute the following steps. This will set it up with the database backend
driver.

1. Get the source from git

  $ cd /tmp
  $ git clone https://git.kolab.org/diffusion/RPK/roundcubemail-plugins-kolab.git
  $ cd /<path-to-roundcube>/plugins
  $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/calendar .
  $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libcalendaring .
  $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libkolab .

2. Create calendar plugin configuration

  $ cd calendar/
  $ cp config.inc.php.dist config.inc.php
  $ edit config.inc.php

3. Initialize the calendar database tables

  $ cd ../../
  $ bin/initdb.sh --dir=plugins/calendar/drivers/database/SQL

4. Build css styles for the Elastic skin

  $ lessc --relative-urls -x plugins/libkolab/skins/elastic/libkolab.less > plugins/libkolab/skins/elastic/libkolab.min.css

5. Enable the calendar plugin

  $ edit config/config.inc.php

Add 'calendar' to the list of active plugins:

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


IMPORTANT
---------

This plugin doesn't work with the Classic skin of Roundcube because no
templates are available for that skin.

Use Roundcube `skins_allowed` option to limit skins available to the user
or remove incompatible skins from the skins folder.

[1] https://git.kolab.org/diffusion/RPK/