
#!/bin/bash
# File	: cgi-bin/preset_htaccess.sh
# By	: MaartenDeBoer.nl, 190130
# Subject	: CGI script to process a htaccess reset
PGM=`/bin/basename $0|cut -d\. -f1`
PGM="preset_htaccess"
VER="0.1"
LOG="/var/log/${PGM}.log"
HOSTNAME=`/bin/hostname|cut -d\. -f1`

RCFILE="/tmp/${PGM}.rc"

CSVFILE="/home/maarten/e-bladmuziek/name2mail-addresses.csv"
PWDFILE="/home/maarten/etc/.htpasswd"
PWDFILE="/home/maarten/e-bladmuziek/.htpasswd-vijos-trompet"

USERNAME=""
MAILADDRESS=""
DATETIMESTAMP=""
PROCESSEDBY=""

# MAIN
/bin/touch ${LOG} ${RCFILE}
/bin/chmod 777 ${LOG} ${RCFILE}
echo "`date` ${PGM} v${VER} started." >> ${LOG}
echo "# `date` ${PGM} v${VER} at ${HOSTNAME}" > ${RCFILE}

echo "Content-type: text/html"
echo ""
echo "`date`"
echo "<BR>" 
echo "<BR>" 

if [ ${REQUEST_METHOD}="POST" ]; then
  read POST_STRING
#  echo "POST_STRING=${POST_STRING} <BR> <BR>"

  USERNAME=`echo "$POST_STRING" | sed -n 's/^.*USERNAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`

  if [ -f ${CSVFILE} ];then
    MAILADDRESS="`grep ${USERNAME} ${CSVFILE}|awk -F\; '{print $2}'`"
  else
    MAILADDRESS="NO ${CSVFILE}"
  fi

  echo "USERNAME=|${USERNAME}|" |tee -a ${RCFILE}
  echo "<BR>"
  echo "MAILADDRESS=|${MAILADDRESS}|" |tee -a ${RCFILE}
  echo "<BR>"

  DATETIMESTAMP=`/bin/date +%Y-%m-%d-%H-%M-%S`
  echo "DATETIMESTAMP=${DATETIMESTAMP}" |tee -a ${RCFILE}
  echo "<BR>"
  PROCESSEDBY="${PGM}_v${VER}_at_${HOSTNAME}"
  echo "<BR>"
  echo "Will be processed in some minutes. <BR>"
  echo "And you will be informed at ${MAILADDRESS} <BR>"
  echo "<BR>"
  echo "PROCESSEDBY=${PROCESSEDBY}" |tee -a ${RCFILE}
  echo "<BR>"
  echo "<BR>"

# pw=$(tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c 8)
  PWD="`tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c 8`"
  /usr/bin/htpasswd -b ${PWDFILE} ${USERNAME} ${PWD}
  ls -l ${PWDFILE}
  echo "|${USERNAME}|${PWD}|"

else
  echo "no POST"
fi

exit 0

