# $Id: prepatch 1223 2012-01-16 19:42:26Z tschmitt $

echo "### 21_horde3 prepatch"

# do this only if horde3 is installed
if dpkg -L horde3 &> /dev/null; then

  # patch horde config.php with basedn and domainname
  [ "$1" = "--modify" ] && backup_file /etc/horde/horde3/conf.php
  sed -e "s/\$conf\['auth'\]\['admins'\] =.*/\$conf\['auth'\]\['admins'\] = array\('$WWWADMIN'\);/
          s/\$conf\['problems'\]\['email'\] =.*/\$conf\['problems'\]\['email'\] = '$WWWADMIN@$domainname';/
          s/\$conf\['mailer'\]\['params'\]\['localhost'\] =.*/\$conf\['mailer'\]\['params'\]\['localhost'\] = '$domainname';/
          s/\$conf\['problems'\]\['maildomain'\] =.*/\$conf\['problems'\]\['maildomain'\] = '$domainname';/" -i /etc/horde/horde3/conf.php

  # patch kronolith config.php with basedn and domainname
  [ "$1" = "--modify" ] && backup_file /etc/horde/kronolith2/conf.php
  sed -e "s/\$conf\['storage'\]\['default_domain'\] =.*/\$conf\['storage'\]\['default_domain'\] = '$domainname';/
          s/\$conf\['reminder'\]\['server_name'\] =.*/\$conf\['reminder'\]\['server_name'\] = '$servername.$domainname';/
          s/\$conf\['reminder'\]\['from_addr'\] =.*/\$conf\['reminder'\]\['from_addr'\] = '$WWWADMIN@$domainname';/" -i /etc/horde/kronolith2/conf.php

  # create symlink for apache2
  [ ! -L /etc/apache2/conf.d/horde ] && ln -s /etc/horde/apache.conf /etc/apache2/conf.d/horde

  # secure horde configuration
  chown root:www-data /etc/horde -R
  find /etc/horde -type f -exec chmod 440 '{}' \;

  # change maildomain in horde db
  if [ "$1" != "--first" -a "$domainname_old" != "$domainname" ]; then
    mysql <<EOF
USE horde;
UPDATE horde_prefs SET pref_value = '$domainname' WHERE pref_value = '$domainname_old';
EOF
  fi

else

  # prevent targets from being patched
  for tt in *.target; do
    mv $tt $tt.nopatch
  done

fi
