#!/bin/bash
#
#
#################################################################
# Mit diesem Script wird eine Mediaclient-Appliance konfiguriert.
# Das Script ändert 
# - die SnowTV-Instanz in ~/bin/mcdomain.cfg
# - die ID des Mediaclients in ~/bin/mcid.cfg
# und ist via Openbox-Menue aufrufbar
#################################################################
#
#
#
DOMAIN="$(/home/snowtv/bin/getdomain.sh | tr -d "[']")"
ID=$( (grep 'ID' | awk -F'=' '{print $2}') < /home/snowtv/bin/mcid.cfg)
ID_BAK=$( (grep 'ID' | awk -F'=' '{print $2}') < /home/snowtv/bin/mcid.bak)


        printf "\\n-------------------------------------------------\\nBitte die korrekte Instanz für SnowTV auswählen.\\nDie aktuelle Domain: "$DOMAIN"\\n-------------------------------------------------\\n\\n" 

select Instanz in infosnow zbag weiter; do
	case $Instanz in
		infosnow)
			echo "DOMAIN=https://infosnow.ch" > /home/snowtv/bin/mcdomain.cfg && break
			;;
		zbag)
			echo "DOMAIN=https://infosnow.zbag.ch" > /home/snowtv/bin/mcdomain.cfg && break
			;;
		weiter)
			break
			;;
		*)
			echo "ungültige Option: $Instanz"
			;;
	esac
done




if [[ "$ID" == "102" ]] ;then 
        printf "\\n-------------------------------------------------\\nDieser Mediaplayer hat noch keine korrekte ID.\\nBitte die SnowTV-ID auf der Ettikette dieses\\nMediaplayers eingeben.\\n-------------------------------------------------\\n\\n" 
else
        printf "\\n-------------------------------------------------\\nDie akutelle ID ist: "$ID"\\n-------------------------------------------------\\n\\n" 
fi
read -r -p "Bitte die neue ID eingeben:" id_new
if [[ ! "${id_new}" =~ ^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$ ]] ;then 
        echo "ID muss zwischen 1 und 999 liegen" 
else
	echo "ID=$id_new" > /home/snowtv/bin/mcid.cfg
	echo "ID=$id_new" > /home/snowtv/bin/mcid.bak
	# mc.cfg ID-Feld aktualisieren, damit ckmccfg.sh sofort validiert
	sed -i "s/^ID=.*/ID=$id_new/" /home/snowtv/bin/mc.cfg
	# Token leeren → Server sendet beim ersten Poll ein neues Token für diese ID
	# ACHTUNG: Player muss serverseitig (infosnow.ch-Backend) freigeschaltet werden,
	# bevor der Server ein tokenID schickt. Bis dahin zeigt der Player tokenfailure.png.
	> /home/snowtv/bin/token
	echo neue ID "$id_new" ist registriert.

	# LTE-Modem konfigurieren (optional)
	if mmcli -L 2>/dev/null | grep -q 'Modem/'; then
		printf "\n-------------------------------------------------\nLTE-Modem erkannt.\nJetzt konfigurieren? (empfohlen)\n-------------------------------------------------\n\n"
		select lte_choice in "Ja" "Nein"; do
			case $lte_choice in
				Ja)  bash /home/snowtv/bin/simcfg.sh; break ;;
				Nein) break ;;
				*) echo "Ungültige Auswahl" ;;
			esac
		done
		bash /home/snowtv/bin/netprio.sh
	fi

	# GDS-Display Setup (optional)
	printf "\n-------------------------------------------------\nPANELTYPE – Welches Display ist angeschlossen?\n-------------------------------------------------\n\n"
	select panel in "Standard" "GDS"; do
		case $panel in
			Standard) break ;;
			GDS) sudo bash /home/snowtv/bin/gdssetup.sh; break ;;
			*) echo "Ungültige Auswahl" ;;
		esac
	done

	echo Rechner wird neu gestartet in 5 Sekunden:
	echo -ne '<<<<<<<<<<<<<<<<<<<<<<<<<[5]\r'
	sleep 1
	echo -ne '<<<<<<<<<<<<<<<<<<<<-----[4]\r'
	sleep 1
	echo -ne '<<<<<<<<<<<<<<<----------[3]\r'
	sleep 1
	echo -ne '<<<<<<<<<<---------------[2]\r'
	sleep 1
	echo -ne '<<<<<--------------------[1]\r'
	sleep 0.5
	echo "bye bye, see ya............."
	sleep 0.5
	function reboot () {
		sudo shutdown -r now
	}
	reboot
fi
exit 0


