#!/bin/bash
# based on an example of
# https://funprojects.blog/2022/04/06/text-interfaces-with-whiptail-and-dialog/
#
# minidlna-invocation.sh - Bash Dialog Menu for minidlna commands:
# start, stop, restart, enable, disable, status
# status of sundtek
#
# 250514
#
 
# testing for root
if [ ! $( id -u) -eq 0 ]; then
   echo "only root can invoke this program"
   exit
fi
# path to bash-scripts
BPATH="/home/gerd/bin/"
if [ ! -d $BPATH ] ; then
   echo "$BPATH does not exist, abort"; exit
fi

# Display menu results in a msgbox
display_result() {
  dialog --title "$1" \
    --backtitle "Result of minidlna system command" \
    --no-collapse \
    --msgbox "$result" 0 0
}
 
while true; do
  selection=$(dialog --stdout \
    --backtitle "minidlna Invocation" \
    --title "Key Features" \
    --clear \
    --cancel-label "Exit" \
    --menu "Please select:" 0 0 4 \
    "1" "Start minidlna" \
    "2" "Stop minidlna" \
    "3" "Restart minidlna" \
    "4" "Enable minidlna" \
    "5" "Disable minidlna" \
    "6" "Status minidlna" \
    "7" "Status Sundtek" \
     )
  exit_status=$?
  if [ $exit_status == 1 ] ; then
      clear
      exit
  fi
  case $selection in
    1 )
      result=$(${BPATH}minidlna-start.sh)
      display_result "Started minidlna"
      ;;
    2 )
      result=$(${BPATH}minidlna-stop.sh)
      display_result "Stopped minidlna"
      ;;
    3 )
      result=$(${BPATH}minidlna-restart.sh)
      display_result "Restarted minidlna"
      ;;
    4 )
      result=$(${BPATH}minidlna-enable-start.sh)
      display_result "Enabled minidlna"
      ;;
    5 )
      result=$(${BPATH}minidlna-disable-stop.sh)
      display_result "Disabled minidlna"
      ;;
    6 )
      result=$(systemctl status minidlna)
      display_result "Status minidlna"
      ;;
    7 )
      result=$(systemctl status sundtek)
      display_result "Status Sundtek"
      ;;
  esac
done