#! /bin/bash
# postinst script for open-xchange-contacts-ldap
#
# see: dh_installdeb(1)

set -e

. /opt/open-xchange/etc/oxfunctions.sh

# summary of how this script can be called:
#        * <postinst> 'configure' <most-recently-configured-version>
#        * <old-postinst> 'abort-upgrade' <new version>
#        * <conflictor's-postinst> 'abort-remove' 'in-favour' <package>
#          <new-version>
#        * <deconfigured's-postinst> 'abort-deconfigure' 'in-favour'
#          <failed-install-package> <version> 'removing'
#          <conflicting-package> <version>
# for details, see /usr/share/doc/packaging-manual/
#
# quoting from the policy:
#     Any necessary prompting should almost always be confined to the
#     post-installation script, and should be protected with a conditional
#     so that unnecessary prompting doesn't happen if a package's
#     installation fails and the 'postinst' is called with 'abort-upgrade',
#     'abort-remove' or 'abort-deconfigure'.

postFix() {
  local version=${1%-*}
  version=${version//[-.]/}

  GLOBIGNORE='*'

  # SoftwareChange_Request-145
  # -----------------------------------------------------------------------
  for i in $(find /opt/open-xchange/etc/groupware/contacts-ldap/ -name "[0-9]*" -type d); do
      if [ -d $i ]; then
	  for prop in $(find $i -name "*.properties"); do
	      ctx=$(basename $i)
	      psname=$(basename $prop .properties)
	      ostr="com.openexchange.contacts.ldap.context${ctx}.${psname}.refreshinterval"
	      if ! grep $ostr $prop > /dev/null; then
		  echo -e "\n${ostr}=10000" >> $prop
	      fi
	  done
      fi
  done
}

case "$1" in
    configure)
        for i in $(find /opt/open-xchange/etc/groupware/contacts-ldap -name "*.example"); do
	    ox_update_permissions "$i" root:open-xchange 640
	done
	ox_update_permissions "/opt/open-xchange/etc/groupware/contacts-ldap" root:open-xchange 750
        test -n "$2" && {
                # we are in update mode, run postFix to apply fixes
                postFix "$2"
                exit 0
        }

    ;;

    abort-upgrade|abort-remove|abort-deconfigure)

    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 0
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
