#!/bin/bash
# CardDAV client/sync for RoundCube Mail
##########################

source setup/functions.sh # load our functions
source /etc/mailinabox.conf # load global vars
RCMPLUGINDIR=/usr/local/lib/roundcubemail/plugins/
CARDDAVDIR=${RCMPLUGINDIR}carddav/
CARDDAVCONF=${CARDDAVDIR}/config.inc.php
CARDDAVTAR=https://github.com/blind-coder/rcmcarddav/releases/download/v2.0.4/carddav-2.0.4.tar.bz2
RCMCONFIG=/usr/local/lib/roundcubemail/config/config.inc.php
CURRDIR=`pwd`
# get the release and extract it in the right place
wget -q $CARDDAVTAR -O /tmp/rcmcarddav.tar.bz2
tar -xjf /tmp/rcmcarddav.tar.bz2 -C $RCMPLUGINDIR
rm /tmp/rcmcarddav.tar.bz2

cd $CURRDIR

# ### Configure rcmcarddav
cat > $CARDDAVCONF <<EOF;
<?php
\$prefs['ownCloud'] = array(
                   // required attributes
                   'name'         =>  'ownCloud',
                   // will be substituted for the roundcube username
                   'username'     =>  '%u',
                   // will be substituted for the roundcube password
                   'password'     =>  '%p',
                   // %u will be substituted for the CardDAV username
                   'url'          =>  'https://${PRIMARY_HOSTNAME}/cloud/remote.php/carddav/addressbooks/%u/contacts',
                   'active'       =>  true,
                   'readonly'     =>  false,
                   'refresh_time' => '02:00:00',
                   'fixed'        =>  array('username','password'),
                   'preemptive_auth' => '1',
                   'hide'        =>  false,
);
EOF

# Enable plugin
sed -ri "s@'vacation_sieve'\)@'vacation_sieve', 'carddav'\)@" $RCMCONFIG

# Fix permissions.
chmod -R 644 $CARDDAVDIR
chmod -R a+X $CARDDAVDIR
chmod -R 644 $RCMCONFIG
chmod -R a+X $RCMCONFIG

# Make sure ownership is correct
chown -f -R www-data.www-data $CARDDAVDIR
chown -f -R www-data.www-data $RCMCONFIG

# Should be all set after a restart
restart_service nginx