#!/bin/sh
# REBOOT-PLUGIN BY MM - powered by UMP
# VERSION   1.0     2004/11/24  Final

#***********************************************************
# START USER SETUP *****************************************

# EMU path
EMU_PATH="/var/bin/emu"

# Maximum time before sending the KILL command (seconds)
MAX_WAIT_TIME=5

# Menu timeout (seconds)
MENU_TIMEOUT=5

# Font size
FSIZE=16

# Linespace
LSPACE=3


# END USER SETUP *******************************************
#***********************************************************

#***********************************************************
fKill() {
  if pidof $1 > /dev/null; then
    echo "Sende TERM-Signal an $1"
    killall $1
    i=$MAX_WAIT_TIME
    while expr $i != 0 > /dev/null; do
      if pidof $1 > /dev/null; then
        echo "Warte auf $1 (max. $i Sekunden)"
       else
         break
       fi
       i=`expr $i - 1`
       sleep 1
     done
     if pidof $1 > /dev/null; then
       echo "Sende KILL-Signal an $1"
       killall -9 $1
       sleep 1
     fi
  else
    echo $1" ist nicht aktiv"
  fi
}

fShutDownEmu() {
  for f in `ls -AR $EMU_PATH`; do
    if pidof $f > /dev/null && [ "$f" != "reboot_menu" ]; then
      fKill $f
    fi
  done
}

fShutDownProcesses() {
  fShutDownEmu
  pzapit -kill
  fKill timerd
  fKill controld
  fKill nhttpd
  fKill sectionsd
  busybox -reboot
}

# LCD MENU **************************************************
MENU="font_size="$FSIZE"\n"
MENU=$MENU"line_spacing="$LSPACE"\n"
MENU=$MENU"default_entry=0\n"
MENU=$MENU"text_align=0\n"
MENU=$MENU"show_numbers=false\n"
MENU=$MENU"menu_items=Reboot ,Abbrechen\n"
MENU=$MENU"timeout="$MENU_TIMEOUT"\n"
MENU=$MENU"visible_entries=2"

if [ ! -e /var/tuxbox/config/lcdmenu.conf ]; then
  touch /var/tuxbox/config/lcdmenu.conf
fi

cp -f /var/tuxbox/config/lcdmenu.conf /var/tuxbox/config/lcdmenu.ori
echo $MENU >/var/tuxbox/config/lcdmenu.conf
lcdmenu
RC=$?
cp -f /var/tuxbox/config/lcdmenu.ori /var/tuxbox/config/lcdmenu.conf

if [ $RC -eq 0 ]; then
  fShutDownProcesses
fi

exit 0;
