#!/bin/bash

# Global sieve config
SIEVE_GLOBAL_AFTER=/etc/dovecot/sieve_after
SIEVE_GLOBAL_AFTER_SIEVE=${SIEVE_GLOBAL_AFTER}.sieve
SIEVE_GLOBAL_AFTER_BIN=${SIEVE_GLOBAL_AFTER}.svbin
OWNER_ROOT=root.root

# user sieve config converted
BINDIR=/etc/scripts
PROCMAILDIR=~/procmail
SIEVEFILE=~/sieve.new
MAILDIR=/home/vmail
USERNAME=root
OWNER=vmail.vmail
PROCMAILFILES=${PROCMAILDIR}/rc.procmail
# Example:
# PROCMAILFILES="${PROCMAILDIR}/rc.filters ${PROCMAILDIR}/rc.maillists ${PROCMAILDIR}/rc.backupmove"
PERL=/usr/bin/perl
CONFIGFILE=~/.procmail2sieve

# Override config
if [ -f ${CONFIGFILE} ]; then
  . ${CONFIGFILE}
fi

# NO CHANGE FROM HERE
SIEVEDIR=${MAILDIR}/${USERNAME}/sieve
SIEVEFILECOPY=${MAILDIR}/${USERNAME}/sieve/${USERNAME}.sieve
SIEVELINK=${MAILDIR}/${USERNAME}/.dovecot.sieve

chown ${OWNER_ROOT} ${SIEVE_GLOBAL_AFTER_SIEVE}
chmod 750 ${SIEVE_GLOBAL_AFTER_SIEVE}
sievec ${SIEVE_GLOBAL_AFTER_SIEVE}
chmod a+r ${SIEVE_GLOBAL_AFTER_BIN}

${PERL} ${BINDIR}/procmail2sieve.pl <(cat ${PROCMAILFILES}) > ${SIEVEFILE}

if [ -z "${1}" ]; then
  rm -rf ${SIEVEDIR}
  rm -f ${SIEVELINK}
  mkdir -p ${SIEVEDIR}
  cp -p ${SIEVEFILE} ${SIEVEFILECOPY}
  chown -R ${OWNER} ${SIEVEDIR}
  ln -s ${SIEVEFILECOPY} ${SIEVELINK}
fi
