#Troy Espiritu
#cs23 proj1 january 5, 2005
#final draft


if test "$(whoami)" != 'root'; then
	echo "$0: you must be root to use this command."
	exit
elif test $# -gt 1 || test $# -lt 1; then 
	echo "$0: wrong argument usage"
	exit
fi

username=$1

vcheck=$(grep -c "$username" /etc/passwd)

if test $vcheck -eq 0; then
	echo "No user"
	exit
fi


vlogin=$(grep "$username" /etc/passwd|cut -d: -f1)
vuserid=$(grep "$username" /etc/passwd|cut -d: -f4)
vname=$(grep "$username" /etc/passwd|cut -d: -f5|cut -d',' -f1)
voffice=$(grep "$username" /etc/passwd|cut -d: -f5|cut -d',' -f2)
vofficenumber=$(grep "$username" /etc/passwd|cut -d: -f5|cut -d',' -f3)
vnumber=$(grep "$username" /etc/passwd|cut -d: -f5|cut -d',' -f4)
vhomedir=$(grep "$username" /etc/passwd|cut -d: -f6)
vshell=$(grep "$username" /etc/passwd|cut -d: -f7)



echo "<html>" #> $username.html
echo "<head><title> information about $1 </title></head>" #>> $username.html
echo "<body>" #>> $username.html
echo "<p> BASIC INFORMATION </p>" #>> $username.html
echo "<p> login name: $vlogin </p>" #>> $username.html
echo "<p> userid: $vuserid </p>" #>> $username.html
echo "<p> name: $vname </p>" #>> $username.html
echo "<p> office: $voffice </p>" #>> $username.html
echo "<p> office#: $vofficenumber </p>" #>> $username.html
echo "<p> home#: $vnumber </p>" #>> $username.html
echo "<p> home directory: $vhomedir </p>" #>> $username.html
echo "<p> shell: $vshell </p>" #>> $username.html

vpass=$(grep "$username" /etc/shadow|cut -d: -f2)
vlastchanged=$(grep "$username" /etc/shadow|cut -d: -f3 | date)
vdaysuntil=$(grep "$username" /etc/shadow|cut -d: -f4)
vdaysbefore=$(grep "$username" /etc/shadow|cut -d: -f5)
vdayswarning=$(grep "$username" /etc/shadow|cut -d: -f6)

echo "<p> PASSWORD INFORMATION: </p>" #>> $username.html
echo "<p> Encrypted Password: $vpass </p>" #>> $username.html
echo "<p> Last Password Change: $vlastchanged </p>" #>> $username.html
echo "<p> Days Until Change Allowed: $vdaysuntil </p>" #>> $username.html
echo "<p> Days Before Change required: $vdaysbefore </p>" #>> $username.html
echo "<p> Days Warning For Expiration: $vdayswarning </p>" #>> $username.html


echo "</ul></p>" #>> $username.html
grep "$username" /etc/group > group.temp

vgroupcount=$(cat group.temp|grep -c ":")
echo "<p> GROUP MEMBERSHIP INFORMATION </p>" #>> $username.html
echo "memberships: $vgroupcount" #>> $username.html
echo "<p><ul>" #>> $username.html

index3=1

while [ "$index3" -le "$vgroupcount" ]
do
	echo "<li>$(cat group.temp|head -$index3|tail -1|cut -d':' -f1) " #>> $username.html
	index3=`expr $index3 + 1` 
done
echo "</ul></p>" #>> $username.html

rm group.temp


vmailcount=$(cat /var/mail/$username|grep -c "From:")
(grep "From:" /var/mail/$username) > from.temp
(grep "Date:" /var/mail/$username) > date.temp
(grep "Subject:" /var/mail/$username) > subject.temp

index=1

echo "<p> MAIL INFORMATION: </p>" #>> $username.html
echo "<p> mail count: $vmailcount </p>" #>> $username.html
echo "<p><ul>" #>> $username.html
while [ "$index" -le "$vmailcount" ]
do
	echo -n "<li>$(cat date.temp|head -$index|tail -1), " #>> $username.html
	echo -n "$(cat from.temp|head -$index|tail -1), " #>> $username.html
	echo "$(cat subject.temp|head -$index|tail -1)" #>> $username.html
	index=`expr $index + 1` 
done

rm date.temp
rm from.temp
rm subject.temp

echo "</ul></p>" #>> $username.html
./showwtmp $username > login.temp

vlogincount=$(cat login.temp|grep -c ";")
echo "<p> LOGIN INFORMATION </p>" #>> $username.html
echo "login count: $vlogincount" #>> $username.html
echo "<p><ul>" #>> $username.html

index2=1

while [ "$index2" -le "$vlogincount" ]
do
	#echo "<li>$(cat login.temp|head -$index2|tail -1), " >> $username.html
	echo -n "<li>" #>> $username.html
	echo -n "type: $(cat login.temp|head -$index2|tail -1|cut -d';' -f1), " #>> $username.html
	echo -n "line: $(cat login.temp|head -$index2|tail -1|cut -d';' -f2), "#>> $username.html
	echo -n "termination status: $(cat login.temp|head -$index2|tail -1|cut -d';' -f3), " #>> $username.html
	echo -n "exit status: $(cat login.temp|head -$index2|tail -1|cut -d';' -f4), " #>> $username.html
	echo "entry time: $(cat login.temp|head -$index2|tail -1|cut -d';' -f5) " #>> $username.html
	index2=`expr $index2 + 1` 
done
echo "</ul></p>" #>> $username.html

rm login.temp


echo -n "<p> $1 signature: " #>> $username.html
if [ -e "/home/$1/.signature" ]; then
	echo "$(cat /home/$1/.signature) </p>" #>> $username.html
else
	echo "no signature </p>" #>> $username.html
fi

echo -n "<p> $1 plan: " #>> $username.html
if [ -e "/home/$1/.plan" ]; then
	echo " $(cat /home/$1/.plan) </p>" #>> $username.html
else
	echo "no plan </p>" #>> $username.html
fi



echo "</html>" #>> $username.html
