#!/bin/sh

# Ryan's quick script to check for accounts no longer on server.

cp /dev/null /root/.usersFinal
cp /dev/null /root/.usersFinal1
cp /dev/null /root/.validDomain
cp /dev/null /root/.invalidDomain
cp /dev/null /root/.validDomainChecked

if [ `uname -s` = FreeBSD ] ;
	then
		# For FreeBSD
		ifconfig |grep -E "inet [0-9]" |awk '{print $2}' > /root/.ips
	else
		# For Linux
		ifconfig |grep -E "addr:[0-9]" |awk -F ":" '{print $2}' | awk '{print $1}' > /root/.ips
fi

echo "Creating Domain list..."

ls -al /home/ |grep drwx |awk '{print $3}' |xargs /usr/local/afribin/cpaneluser  |grep DNS |awk -F '=' '{print $2}' > /root/.domains

# For Debug
#/usr/local/afribin/cpaneluser alittleb |grep DNS |awk -F '=' '{print $2}' > /root/.domains
#/usr/local/afribin/cpaneluser isconsui |grep DNS |awk -F '=' '{print $2}' >> /root/.domains
#/usr/local/afribin/cpaneluser accountx |grep DNS |awk -F '=' '{print $2}' >> /root/.domains

echo "Checking Users for Valid domains ...."

for e in `cat /root/.domains` ; do

	host $e > /root/.host 2>/dev/null
	host -t a www.$e >> /root/.host 2>/dev/null
	cat /root/.host |grep "has address" 2>/dev/null > /root/.host1
	
	if [ -s /root/.host1 ] ;
		then 
			echo $e >> /root/.validDomain
		else
			echo $e >> /root/.invalidDomain
	fi
done

rm -rf /root/.host

echo "Tesing Domains ...."

for b in `cat /root/.validDomain` ; do
	
	echo "Testing $b "
        www=`host $b |awk '{print $4}'`
        mxHost=`host -t mx $b |awk '{print $7}'`

	if [ -z "$mxHost" ] ;
		then
			#echo $mxHost
			echo -n
		else
			#echo $mxHost
			mxIp=`host $mxHost |awk '{print $4}'`
			#echo "host $mxHost |awk '{print $4}'"
			
	fi
	
        cat /root/.ips |grep $www 2>/dev/null > /root/.www
        cat /root/.ips |grep $mxIp 2>/dev/null > /root/.mx

	echo -n $b" " >> /root/.validDomainChecked
	
        if [ -s /root/.www ];
                then
                        #echo "$b Website Not Hosted Here"
                        echo -n 1 >> /root/.validDomainChecked
                else
                        #echo "$b Website Hosted Here"
                        echo -n 0 >> /root/.validDomainChecked
        fi

	if [ -z "$mxIp" ];
	then
		echo -n 0 >> /root/.validDomainChecked
	else	
		echo $mxIp |grep "196.33.227.30" 2>/dev/null > /root/.mx
        	if [ -s /root/.mx ];
                	then
				echo -n 2 >> /root/.validDomainChecked
                	else
                        	if [ -s /root/.mx ];
                                	then
                                        	echo -n 1 >> /root/.validDomainChecked
                                        	#echo "no MX"
                                	else
                                        	echo -n 0 >> /root/.validDomainChecked
                                        	#echo "has mx here"
                       		fi
        	fi
	fi

        echo "" >> /root/.validDomainChecked
        
done

echo "Check Dead Accounts ..."

echo "Check Complete "
echo "Please See /root/.usersFinal1 for details"
for c in `cat /root/.validDomainChecked |grep 11 |awk '{print $1}'` ; do
/usr/local/afribin/cpanelsite $c >> /root/.usersFinal 
done

for c in `cat /root/.invalidDomain` ; do
/usr/local/afribin/cpanelsite $c >> /root/.usersFinal
done

for i in `cat /root/.usersFinal` ; do 
/usr/local/afribin/cpaneluser $i |grep DNS |sed s/DNS=/$i:/g >> /root/.usersFinal1 
done



rm -f /root/.validDomainChecked
rm -f /root/.ips 
rm -f /root/.www 
rm -f /root/.mx
rm -f /root/.validDomain
rm -f /root/.invalidDomain
rm -f /root/.domains
