#!/bin/bash

# author sudodus alias nio-wiklund at launchpad
#
# date        editor   comment
# 2013-11-08  sudodus  upgraded starter (for the obi)
# 2013-11-08  sudodus  added dltbl (download tarball)
# 2014-05-17  sudodus  version for 9w without 'myself - 123456'
# 2014-05-19  sudodus  version for 9w without 'Download tarball'
# 2014-06-18  sudodus  version for 9w focused on OBI level
# 2014-07-10  sudodus  dynamic focus: tarball, OBI level, install
# 2014-07-11  sudodus  dynamic focus: defitem d, s, o, i

LC_ALL=C;LANG=C
psw=123456
obitxt="obi.txt"
hlptxt="/tmp/help-mkusb.txt"
tiptxt="tips.txt"
selected="selected"
obilevel="obilevel"

source functions

if test -f /home/$USER/obi.txt; then dpath=/home/$USER
elif test -f ./obi.txt; then dpath=.
else echo "text not found. Change directory!"
fi
obitxt="$dpath/$obitxt"
prgnam="One Button Installer"
ver_no=$( grep -i 'obi version' "$dpath/change.log"|tail -n1|tr -s ' ' ' '| \
       cut -d ' ' -f 5-6)
version="$prgnam $ver_no"

dialog --backtitle "$version - Splash" \
--timeout 3 --exit-label "OK" --textbox "$obitxt" 0 0

dialog --colors --no-shadow \
--backtitle "$version - Welcome and Warning" --msgbox \
"Welcome: Auto login but user and password for sudo permission\n
         User:     \Z4$USER\Zn\n
         Password: \Z4$psw\Zn\n
\n
WARNING  Copy the data you want to keep to another device, for\n
WARNING  example an external hard disk drive or a cloud service!\n
WARNING\n
WARNING  \Z1When you run this installer, a new operating system will\Zn\n
WARNING  \Z1be installed, so the device will be formatted and\Zn\n
WARNING\n
WARNING  \Z1**********       COMPLETELY OVERWRITTEN       *********\Zn\\n
WARNING\n
WARNING  There will be no easy way to recover any previous data.\n
WARNING  Expensive intelligence services might restore some data." \
0 0
#18 70
#0 0
#read -sn1

if test -f /home/$USER/mkhelp; then dpath=/home/$USER
elif test -f ./mkhelp; then dpath=.
else echo "Script not found. Change directory!"
fi

sudo "$dpath/init-dialog"

tiptxt="$dpath/$tiptxt"
selected="$dpath/$selected"
ans="dummy"

while [ "$ans" != "q" ] && [ "$ans" != "" ] 
do
 ls -1 /tarballs/*.tar.[gx]z > /dev/null 2> /dev/null
 if [ $? -ne 0 ]
 then
  sudo rm "$selected"
  tarball=
  menutitle="No tarball selected"
  defitem=d
 else
  grep tar.[gx]z "$selected" > /dev/null 2> /dev/null
  if [ $? -ne 0 ]
  then
   sudo rm "$selected"
  fi
  if test -s "$selected"
  then
   read tarball < "$selected"
   menutitle="Selected: $tarball"
   if test -s "$obilevel"
   then
    read level < "$obilevel"
    defitem=i
   else
    level=basic
    defitem=o
   fi
  else
   tarball=
   menutitle="No tarball selected"
   defitem=s
  fi
 fi

ans=$(dialog --no-shadow --backtitle "$version - Starter Menu" \
--title "Please select an action with a letter key or the arrow keys" \
--default-item "$defitem" --colors --cancel-label Quit --menu "$menutitle" 18 76 11 \
s " Select   tarball to install" \
i "Install   tarball   \Z1with the $prgnam\Zn" \
d " Download tarball" \
m " Make     tarball" \
o " $level OBI level (select basic or advanced)" \
h " Help to select drive" \
t " Tips" \
c " Check (and repair) the file system /dev/sda1" \
q " Quit from this menu (exit to the bash shell)" \
r " Reboot" \
p " Poweroff" \
  3>&1 1>&2 2>&3 3>&- )

# read -n 1 -s ans
 if [ "$ans" == "s" ]
 then
  sudo "$dpath/select-tarball"
 elif [ "$ans" == "i" ]
 then
  sudo "$dpath/obi"
 elif [ "$ans" == "d" ]
 then
  sudo "$dpath/dltbl"
 elif [ "$ans" == "m" ]
 then
  sudo "$dpath/mktbl"
 elif [ "$ans" == "o" ]
 then
  sudo "$dpath/setlevel"
 elif [ "$ans" == "h" ]
 then
  sudo "$dpath"/mkhelp
 elif [ "$ans" == "t" ]
 then
  dialog --backtitle "$version - Tips (use arrow keys to scroll)" \
  --textbox "$tiptxt" 17 76
 elif [ "$ans" == "c" ]
 then
  sudo umount /dev/sda1
  sudo e2fsck -f /dev/sda1
 elif [ "$ans" == "r" ]
 then
  sudo reboot
 elif [ "$ans" == "p" ]
 then
  sudo poweroff
 fi
done
