
#!/bin/bash
# File	: cgi-bin/fsod-change-qtree.sh
# By	: MaartenDeBoer.nl, 180202
# Subject	: CGI script to process POST data
#(0.2),180206	: Added check for empty VARs
#(0.3),180207	: Check for CHANGETYPE
#(0.4),180208	: Some mod's in VAR-names
PGM=`/bin/basename $0|cut -d\. -f1`
VER="0.4"
LOG="/var/log/${PGM}.log"
HOSTNAME=`/bin/hostname|cut -d\. -f1`

RCFILE="/tmp/fsod-change.rc"

CHANGETYPE=""
CHANGENUMBER=""
CLUSTERNAME=""
SVMNAME=""
VOLNAME=""
QTREENAME=""
QTREESTYLE=""
QUOTASIZECHANGE=""
QUOTADELTASIZEGB=""
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>"

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

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

  if [ "${CHANGETYPE}" = "qtree-create" ]; then
    SVMNAME=`echo "$POST_STRING" | sed -n 's/^.*C_SVMNAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    VOLNAME=`echo "$POST_STRING" | sed -n 's/^.*C_VOLNAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    QTREENAME=`echo "$POST_STRING" | sed -n 's/^.*C_QTREENAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    QTREESTYLE=`echo "$POST_STRING" | sed -n 's/^.*C_QTREESTYLE=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    QUOTADELTASIZEGB=`echo "$POST_STRING" | sed -n 's/^.*C_QUOTADELTASIZEGB=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
  fi  # CHANGETYPE=C

  if [ "${CHANGETYPE}" = "qtree-modify" ]; then
    SVMNAME=`echo "$POST_STRING" | sed -n 's/^.*M_SVMNAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    VOLNAME=`echo "$POST_STRING" | sed -n 's/^.*M_VOLNAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    QTREENAME=`echo "$POST_STRING" | sed -n 's/^.*M_QTREENAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    QUOTADELTASIZEGB=`echo "$POST_STRING" | sed -n 's/^.*M_QUOTADELTASIZEGB=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    QUOTASIZECHANGE=`echo "$POST_STRING" | sed -n 's/^.*M_QUOTASIZECHANGE=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
  fi  # CHANGETYPE=M

  if [ "${CHANGETYPE}" = "qtree-delete" ]; then
    SVMNAME=`echo "$POST_STRING" | sed -n 's/^.*D_SVMNAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    VOLNAME=`echo "$POST_STRING" | sed -n 's/^.*D_VOLNAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    QTREENAME=`echo "$POST_STRING" | sed -n 's/^.*D_QTREENAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
  fi  # CHANGETYPE=D

  if [ "${CHANGETYPE}" = "qtree-show" ]; then
    SVMNAME=`echo "$POST_STRING" | sed -n 's/^.*S_SVMNAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    VOLNAME=`echo "$POST_STRING" | sed -n 's/^.*S_VOLNAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
    QTREENAME=`echo "$POST_STRING" | sed -n 's/^.*S_QTREENAME=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"|sed "s/\+/ /g"`
  fi  # CHANGETYPE=S

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


# Finding Cluster of SVM
  if [ "${SVMNAME}" != "" ]; then
    /usr/bin/scp nl19471@aoxnlfsd01:/home/aodfm01a/export/fsod-clusters-vservers.csv /tmp/
    /bin/chmod 777 /tmp/fsod-clusters-vservers.csv
    if [ -f /tmp/fsod-clusters-vservers.csv ]; then
      CLUSTERNAME=`/bin/grep ${SVMNAME} /tmp/fsod-clusters-vservers.csv|grep -v '\-dr'|head -1|cut -d\; -f1`
    else
      CLUSTERNAME=""
    fi
  fi  # ${SVMNAME}" != ""

  echo "<B>RC-file: ${RCFILE} </B> <BR>"
  echo "CHANGENUMBER=${CHANGENUMBER}" |tee -a ${RCFILE}
  echo "<BR>"

  echo "CHANGETYPE=${CHANGETYPE}" |tee -a ${RCFILE}
  echo "<BR>"
  echo "CLUSTERNAME=${CLUSTERNAME}" |tee -a ${RCFILE}
  echo "<BR>"
  echo "SVMNAME=${SVMNAME}" |tee -a ${RCFILE}
  echo "<BR>"
  echo "VOLNAME=${VOLNAME}" |tee -a ${RCFILE}
  echo "<BR>"
  echo "QTREENAME=${QTREENAME}" |tee -a ${RCFILE}
  echo "<BR>"
  echo "QTREESTYLE=${QTREESTYLE}" |tee -a ${RCFILE}
  echo "<BR>"
  echo "QUOTADELTASIZEGB=${QUOTADELTASIZEGB}" |tee -a ${RCFILE}
  echo "<BR>"
  echo "QUOTASIZECHANGE=${QUOTASIZECHANGE}" |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="${HOSTNAME}_${PGM}_v${VER}"
  echo "PROCESSEDBY=${PROCESSEDBY}" |tee -a ${RCFILE}
  echo "<BR>"
  echo "<BR>"
  echo "Will be processed in some minutes. And you will be informed at ${MAILADDRESS} <BR>"

else
  echo "no POST"
fi




exit 0

