#!/bin/sh

set -e

if [ -f /usr/share/debconf/confmodule ]; then
        . /usr/share/debconf/confmodule
fi
if [ -f /usr/share/dbconfig-common/dpkg/postrm ]; then
        . /usr/share/dbconfig-common/dpkg/postrm
        dbc_go smbind $@
fi

# summary of how this script can be called:
#        * <postrm> `remove'
#        * <postrm> `purge'
#        * <old-postrm> `upgrade' <new-version>
#        * <new-postrm> `failed-upgrade' <old-version>
#        * <new-postrm> `abort-install'
#        * <new-postrm> `abort-install' <old-version>
#        * <new-postrm> `abort-upgrade' <old-version>
#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

lighttpd_remove() {
        if [ -f /etc/lighttpd/conf-available/50-smbind.conf ] ; then
                rm -f /etc/lighttpd/conf-available/50-smbind.conf
                if [ ! -x /usr/sbin/lighty-disable-mod ] ; then
                        echo "Lighttpd not installed, skipping"
                else
                        lighty-disable-mod smbind
                fi
                # See bug #448682
                if [ -h /etc/lighttpd/conf-enabled/50-smbind.conf ] ; then
                    echo 'Manually deleting lighttpd/smbind configuration link'
                    rm /etc/lighttpd/conf-enabled/50-smbind.conf
                fi
        fi
}

apache_remove() {
        if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/smbind ]; then
                rm -f /etc/$webserver/conf.d/smbind
        fi
}

case "$1" in
    purge)

        rm -f /etc/smbind/config-db.php
	rm -rf /usr/share/smbind/php/templates_c/*
	rm -f /etc/smbind/zones/*
        ucf --purge /etc/smbind/config-db.php
        rmdir --ignore-fail-on-non-empty /etc/smbind || true

        ;;

    remove)
	# Handling web server reconfiguration
        db_get smbind/reconfigure-webserver
        webservers="$RET"
        restart=""

        for webserver in $webservers; do
            webserver=${webserver%,}

            case "$webserver" in
                apache*)
                    apache_remove $webserver
                    ;;
                lighttpd)
                    lighttpd_remove
                    ;;
                *)
                    echo "Unknown webserver $webserver"
                    ;;
            esac

            test -x /usr/sbin/$webserver || continue
            restart="$restart $webserver"

        done

        db_get smbind/restart-webserver
        res="$RET"
        db_stop || true
        if [ "$res" = "true" ]; then
            for webserver in $restart; do
                webserver=${webserver%,}
                # Redirection of 3 is needed because Debconf uses it and it might
                # be inherited by webserver. See bug #446324.
                if [ -x /usr/sbin/invoke-rc.d ]; then
                    invoke-rc.d $webserver reload 3>/dev/null || true
                else
                    /etc/init.d/$webserver reload 3>/dev/null || true
                fi
            done
        fi

	;;

    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)


        ;;

    *)
        echo "postrm called with unknown argument \`$1'" >&2
        exit 1

esac


#DEBHELPER#

