#!/bin/bash

. sbs/exec/config/allg
. $certbasedir/config/functions
. $(dirname $BASH_SOURCE)/config/functions

httpfile=$(findtemplate apache site_http.conf)
httpsfile=$(findtemplate apache site_https.conf)

if [ "$vadocumentrootInput" = "" ]; then vadocumentrootInput="$vadomainInput"; fi
if [ "$vanameInput" = "" ];         then vanameInput="mne_$vadomainInput";     fi
    
if [ -f "$apacherootdir/sites-available/$vanameInput.conf" ];then
    echo "#mne_lang#Seite exitiert schon#" >&2
    exit 1
fi

check_capasswd "$vapasswd";

if [ ${vadocumentrootInput:0:1} != "/" ]; then vadocumentrootInput="$apachedatalocation/$vadocumentrootInput"; fi

mkdir -p "$vadocumentrootInput";
 
conffile=$httpsfile
if [ "$vahttpsonlyInput" != "" ]; then conffile="\"$conffile\" \"$httpfile\""; fi

if [ "$vaconfInput" = "" ]; then
  vaconfInput="$(eval "cat $conffile")"
else
  vaconfInput="$(echo "$vaconfInput" | sed -e 's/\\n/\n/g')"
fi

port=$(get_port)
sport=$(get_sport)

site_writeconf "$vaconfInput" "$port" "$sport" "$vanameInput" "$vadomainInput" "$vaaliasesInput" "$vaemailInput" "$vadocumentrootInput" "$datadir" "$vanameInput"

cert_mkkey "$vanameInput"
cert_mkcsr "$vanameInput" "$vadomainInput" "$vaaliasesInput"
cert_mkcrt "$vanameInput" "$vapasswd"

if [ "$vaenabledInput" != "" ] && [ "$vaenabledInput" != "0" ]; then
    a2ensite "$vanameInput" >&$logfile 2>&1 
    mne_need_error
    err="$(apachectl configtest  2>&1 >/dev/null; exit $? )"
    if [ "$?" != "0" ]; then
       echo "$err" >&2
       a2disconf "$vanameInput"
       exit 1
    fi
    $apachereload >&$logfile 2>&1 
fi


