#!/bin/sh

trap "" 0 1 2 15

tput clear

# Find the non-local logins, probably on ttyp etc. Or on pts/N.
# grep -E is equivalent to egrep but does not exist everywhere
LOG="`w -s | egrep -v 'tty[0-9]' | tail +2`"
count=`echo "$LOG" | wc -l`

dont_panic() {
 dialog --infobox "

               THE SYSTEM IS SHUTTING DOWN

                   !!!!!!!WAIT!!!!!!

            !!!!DON'T POWER DOWN YET!!!!!!!!

             wait for this message to clear.
             $*

 " 15 60 &
}

if [ $count -lt 2 ]; then
 dont_panic "
              The system is shutting down"
 /sbin/shutdown -r now "sistema esta en shutdown"
else
 dialog --yesno "
There are the following users in
the machine:

`echo "$LOG"`

Shutdown will be delayed by 2 minutes
in order to warn the users.

Do you still want to start the shutdown?

" `expr 14 + $count` 70


if [ $? = 0 ];then
  dont_panic "
               Shutting down in 2 minutes"
  /sbin/shutdown -r +2 "sistema esta en shutdown"
else 
  sleep 1
  dialog --infobox "

        The shutdown has been aborted

  " 7 50 &
 sleep 5
 tput clear
fi
fi
