SquirrelMail CardDAV Address book backend plugin
Go to file
2021-06-03 23:04:43 +02:00
build add mstilkerich/carddavclient with deps 2021-05-28 18:10:43 +02:00
locale import abook_backend_template 2021-05-28 17:49:42 +02:00
patch import abook_backend_template 2021-05-28 17:49:42 +02:00
po import abook_backend_template 2021-05-28 17:49:42 +02:00
vendor add mstilkerich/carddavclient with deps 2021-05-28 18:10:43 +02:00
.gitignore move quickstart.php config to separate file 2021-05-28 18:22:09 +02:00
abook_class.php properly return empty array if nothing was found in lookup 2021-06-03 21:14:46 +02:00
build.sh add mstilkerich/carddavclient with deps 2021-05-28 18:10:43 +02:00
COPYING update copyright 2021-05-28 18:01:42 +02:00
discover.php cleanup discover text 2021-05-30 23:37:41 +02:00
functions.php update copyright 2021-05-28 18:01:42 +02:00
index.php update copyright 2021-05-28 18:01:42 +02:00
INSTALL import abook_backend_template 2021-05-28 17:49:42 +02:00
quickstart.php move quickstart.php config to separate file 2021-05-28 18:22:09 +02:00
README import abook_backend_template 2021-05-28 17:49:42 +02:00
README.md add readme 2021-05-31 00:30:19 +02:00
setup.php add other options to store carddav password 2021-06-03 23:04:43 +02:00
version import abook_backend_template 2021-05-28 17:49:42 +02:00

abook_carddav

SquirrelMail CardDAV Address book backend

Based on carddavclient.

Requirements

Basically, same as carddavclient:

  • PHP 7.1 (TODO: exact version? - tested with 7.4.17) with the following extensions: json, iconv, openssl (only to connect to https backends), mbstring, xmlreader, xmlwriter. On most distros they're likely to be installed by default, on Alpine you need to install relevant php7-* packages.

  • SquirrelMail 1.4.22 (TODO: exact version? - tested with 1.4.23 SVN), most likely NOT compatible with SquirrelMail 1.5.

Installation

  • (optional) build carddavclient (vendor directory). There's a build.sh script which uses Dockerfile.build in build directory.

  • Copy everything to a abook_carddav subdirectory in plugins directory of your SquirrelMail installation.

  • Open {your.squirrelmail.installation}/plugins/abook_carddav/discover.php - it should show you "Loading... ...ok! Config... ...ok!" on top. If not - check your web server's error log.

Configuration

Each user configures the plugin for themselves separately.

  • Open {your.squirrelmail.installation}/plugins/abook_carddav/discover.php, provide hostname, URL, or whatever you know about your CardDAV server, together with your username and password. Press "Submit" button.

  • After a second you will get to a page with a hopefully huge log - scroll to the very bottom and look for line "Addressbooks discovered".

  • If you see a number greater than 0 - success! - copy any pair of "Addressbook URI" and "Base URL" values, and paste them in the SquirrelMail options, "Display Preferences" page, "CardDAV Address Book" section - together with your username and password.

Usage

  • If listing is allowed in settings, "Addresses" shows all contacts in your CardDAV address book, who have an email address.

Gotchas

  • SquirrelMail uses "Nickname" field as "primary key" when editing and deleting contacts. Hence, when addressbook is in "writeable" state, it presents URI (CardDAV internal unique identifier) to SquirrelMail in "nickname" field, and company name in "Info"/label field. When "writeable" state is disabled, then "nickname" field is used for company name, and "Info" field shows some phone numbers. Also, in non-writeable state, each contact is repeated as many times as many email addresses it has.

  • "Address Autocompletion" plugin has an option to pre-load Contacts. Note that this option is not compatible with addressbook plugins which have listing disabled.