#!/bin/bash

NEWUSERSFILE=/tmp/support/newusers
OPTION=$1

case $OPTION in
        '')
               ;;
        -v)
               VERBOSE=y
               ;;
        -h)
               echo "Usage: $0 [-h|-v]"
               echo
               exit
               ;;
        *)
               echo "Usage: $0 [-h|-v]"
               echo
               exit 1
               ;;
esac


for ENTRY in $(cat $NEWUSERSFILE); do
	FIRSTNAME=$(echo $ENTRY | cut -d: -f1)
	LASTNAME=$(echo $ENTRY | cut -d: -f2)
	TIER=$(echo $ENTRY | cut -d: -f4)

	FIRSTINITIAL=$(echo $FIRSTNAME | cut -c 1 | tr 'A-Z' 'a-z')
	LOWERLASTNAME=$(echo $LASTNAME | tr 'A-Z' 'a-z');

	ACCTNAME=$FIRSTINITIAL$LOWERLASTNAME
	FULLNAME="$FIRSTNAME $LASTNAME"

        # Test for dups and conflicts
        ACCTEXIST=''
        ACCTEXISTNAME=''

        id $ACCTNAME &> /dev/null

        if [ $? -eq 0 ]; then
                ACCTEXIST=y
                ACCTEXISTNAME="$(grep ^$ACCTNAME: /etc/passwd | cut -d: -f5)"
        fi

        # Test for dups and conflicts
        if [ "$ACCTEXIST" = 'y' ] && [ "$ACCTEXISTNAME" = "$FULLNAME" ]; then
                echo "Skipping $ACCTNAME. Duplicate found."
        elif [ "$ACCTEXIST" = 'y' ]; then
                echo "Skipping $ACCTNAME. Conflict found."
        else
                useradd $ACCTNAME -c "$FULLNAME"

                if [ "$VERBOSE" = 'y' ]; then
                        echo "Added $ACCTNAME."
                fi
        fi
done

# Create report
TOTAL=$(cat $NEWUSERSFILE | wc -l)
TIER1COUNT=$(grep -c :1$ $NEWUSERSFILE)
TIER2COUNT=$(grep -c :2$ $NEWUSERSFILE)
TIER3COUNT=$(grep -c :3$ $NEWUSERSFILE)

TIER1PCT=$[ $TIER1COUNT * 100 / TOTAL ]
TIER2PCT=$[ $TIER2COUNT * 100 / TOTAL ]
TIER3PCT=$[ $TIER3COUNT * 100 / TOTAL ]

# Print report
echo "\"Tier 1\",\"$TIER1COUNT\",\"$TIER1PCT%\""
echo "\"Tier 2\",\"$TIER2COUNT\",\"$TIER2PCT%\""
echo "\"Tier 3\",\"$TIER3COUNT\",\"$TIER3PCT%\""
