#!/bin/bash

#INSTALLATION INSTRUCTIONS:
# customize email addresses and sending scheme
# apt-get install s-nail
# apt-get install mailutils

#NOTE: log goes into /tmp/systemd-private-*/tmp/groovix-ticket-submitter.log


#hardcode for now
VERSION=lcplin
#MYEMAIL='.test.lcplin.org@groovix.com'
MYEMAIL='@lcplin.org'
#SENDADDR='ticket-test@groovix.com'
SENDADDR='helpdesk@lcplin.org'


#defaults
ATTACHARG1=""
ATTACHARG2=""
MYBARCODE='missing'

DATE=$(date +'%Y%m%d-%H%M%S')

######################################################################################
#parse command line arguments
until [ -z "$1" ]
do
  CURARG=$1
  case "$CURARG" in
    "--restart")        MYRESTART=1  ;;
    "--submitter="* )        MYSUBMITTER="${CURARG#*=}" ;;
    "--submitter"   ) shift; MYSUBMITTER="$1" ;;
    "--description="* )        MYDESCRIPTION="${CURARG#*=}" ;;
    "--description"   ) shift; MYDESCRIPTION="$1" ;;
    "--label="* )        MYLABEL="${CURARG#*=}" ;;
    "--label"   ) shift; MYLABEL="$1" ;;
  esac
  shift
done
#handle undefined variables
#for booleans, undefined or "" is the only boolean false, test using: if [ $MYFLAG ]
if [ -z "$MYFILE" ] ; then MYFILE="default" ;fi
######################################################################################


# sleep for 10 seconds to simulate wait for ssh commands - will need spinner or something in page after submit, grey out submit button to avoid duplicates
# OR USE AMPERSAND/nohup  TO RUN IN BACKGROUND!
#sleep 10
date >> /tmp/groovix-ticket-submitter.log

#set variables
MYAGENCY=$(echo ${MYLABEL:0:2})
MYSITE=$(groovix-label-to-site $MYLABEL)
MYBARCODE=$(groovix-label-to-username $MYLABEL)
MYIP=$(groovix-label-to-ip $MYLABEL)


mkdir -p /var/log/groovix/debug/$MYLABEL/

#ssh to machine and run bash script
ssh -o "StrictHostKeyChecking=no" -o ConnectTimeout=5 $MYIP groovix-capture-debug-files >> /tmp/groovix-ticket-submitter.log 2>&1
if [ $? -eq 0 ] ; then
        #echo "attaching tar file"
	#copy .tar.gz file to server
	scp -o "StrictHostKeyChecking=no" $MYIP:/var/log/groovix/debug/last.tar.gz /var/log/groovix/debug/$MYLABEL/$MYLABEL-$DATE.tar.gz >> /tmp/groovix-ticket-submitter.log 2>&1
	ATTACHARG1=" -a "
	ATTACHARG2=" /var/log/groovix/debug/$MYLABEL/$MYLABEL-$DATE.tar.gz "

	#extract current user from tar file: 
	#cd /var/log/groovix/debug/$MYLABEL/
	#tar xf /var/log/groovix/debug/$MYLABEL/$MYLABEL-$DATE.tar.gz ./session-info/current-user
	#if [ $? -eq 0 ] ; then
	#	MYBARCODE=$(cat ./session-info/current-user)
	#	rm -rf ./session-info
	#fi
else
        echo "<br>NOT attaching tar file<br>"
fi



#Set email address based on location
if [ "$MYAGENCY" = 'CL' ] ; then
        MYEMAIL=cedarlake$MYEMAIL
elif [ "$MYAGENCY" = 'DY' ] ; then
        MYEMAIL=dysc$MYEMAIL
elif [ "$MYAGENCY" = 'GC' ] ; then
        MYEMAIL=griffith$MYEMAIL
elif [ "$MYAGENCY" = 'HI' ] ; then
        MYEMAIL=highland$MYEMAIL
elif [ "$MYAGENCY" = 'HO' ] ; then
        MYEMAIL=hobart$MYEMAIL
elif [ "$MYAGENCY" = 'LS' ] ; then
        MYEMAIL=lstation$MYEMAIL
elif [ "$MYAGENCY" = 'MU' ] ; then
        MYEMAIL=munster$MYEMAIL
elif [ "$MYAGENCY" = 'SJ' ] ; then
        MYEMAIL=stjohn$MYEMAIL
elif [ "$MYAGENCY" = 'CH' ] ; then
        MYEMAIL=juvenile$MYEMAIL
elif [ "$MYAGENCY" = 'ME' ] ; then
        MYEMAIL=reference$MYEMAIL
elif [ "$MYAGENCY" = 'UL' ] ; then
        MYEMAIL=reference$MYEMAIL
elif [ "$MYAGENCY" = 'TR' ] ; then
        MYEMAIL=reference$MYEMAIL
elif [ "$MYAGENCY" = 'PL' ] ; then
        #get third octet of ip address
        MYIP=$(echo ${MYIP} | cut -c 6-8)

        #assign location based on octet
        if [ "$MYIP" = '102' ] ; then
                MYEMAIL=cedarlake$MYEMAIL
        elif [ "$MYIP" = '103' ] ; then
                MYEMAIL=dysc$MYEMAIL
        elif [ "$MYIP" = '109' ] ; then
                MYEMAIL=griffith$MYEMAIL
        elif [ "$MYIP" = '106' ] ; then
                MYEMAIL=highland$MYEMAIL
        elif [ "$MYIP" = '200' ] ; then
                MYEMAIL=hobart$MYEMAIL
        elif [ "$MYIP" = '203' ] ; then
                MYEMAIL=lstation$MYEMAIL
        elif [ "$MYIP" = '107' ] ; then
                MYEMAIL=munster$MYEMAIL
        elif [ "$MYIP" = '108' ] ; then
                MYEMAIL=stjohn$MYEMAIL
        elif [ "$MYIP" = '75' ] ; then
                MYEMAIL=reference$MYEMAIL
        elif [ "$MYIP" = '100' ] ; then
                MYEMAIL=reference$MYEMAIL
        fi
fi

#send email
set mta="smtp://merlot.lcplin.org:25"
echo echo -e \"[Name]:\n$MYSUBMITTER\n\n[Workstation]:\n$MYLABEL\n\n[Agency]:\n$MYSITE\n\n[Barcode]:\n$MYBARCODE\n\n[Description]:\n$MYDESCRIPTION\" \| s-nail -v -r \"$MYEMAIL\" -s \"$MYLABEL - New IT Support Ticket Submission\"  -S ssl-verify=ignore $ATTACHARG1 $ATTACHARG2 $SENDADDR >> /tmp/groovix-ticket-submitter.log 2>&1
echo -e "[Name]:\n$MYSUBMITTER\n\n[Workstation]:\n$MYLABEL\n\n[Agency]:\n$MYSITE\n\n[Barcode]:\n$MYBARCODE\n\n[Description]:\n$MYDESCRIPTION"  | s-nail -v -r "$MYEMAIL" -s "$MYLABEL - New IT Support Ticket Submission" -S ssl-verify=ignore $ATTACHARG1 $ATTACHARG2 $SENDADDR >> /tmp/groovix-ticket-submitter.log 2>&1

##delete tar
#rm /var/log/groovix/debug/$MYLABEL/$MYLABEL-$DATE.tar.gz
