#!/bin/sh -e

SYSCONFDIR='/etc/httpd2/conf'

if [ -z $1 ]; then
	echo "Which module would you like to enable?"
	echo -n "Your choices are: "
	ls $SYSCONFDIR/mods-available/*.load | \
	sed -e "s,$SYSCONFDIR/mods-available/,,g" | sed -e 's/\.load$//g;' | xargs echo
	echo -n "Module name? "
	read MODNAME
else
	MODNAME=$1
fi

#figure out if we're on a prefork or threaded mpm
if [ -x /usr/sbin/httpd2 ]; then
	PREFORK=`/usr/sbin/httpd2 -l | grep prefork || true`
fi

if [ $MODNAME = "cgi" ] && [ -z $PREFORK ]; then
	MODNAME="cgid"
fi

if [ -e $SYSCONFDIR/mods-enabled/$MODNAME.load ]; then
	echo "This module is already enabled!"
	exit 0
fi

if ! [ -e $SYSCONFDIR/mods-available/$MODNAME.load ]; then
	echo "This module does not exist!"
	exit 1
fi

DEPENDS=`grep "# Depends:" $SYSCONFDIR/mods-available/$MODNAME.load|cut -f2 -d:`
if [ ! -z "$DEPENDS" ]; then
        for i in $DEPENDS; do
                echo "Enabling $i as a dependency"
                /usr/sbin/a2enmod "$i";
        done
fi

for i in conf load; do
        if [ -e $SYSCONFDIR/mods-available/$MODNAME.$i -a ! -e $SYSCONFDIR/mods-enabled/$MODNAME.$i ]; then
        cd $SYSCONFDIR/mods-enabled;
        ln -sf ../mods-available/$MODNAME.$i $MODNAME.$i;
        fi
done

echo "Module $MODNAME installed;"
echo "	run service httpd2 condreload to fully enable."
