#!/bin/bash
MENUPATH="$(dirname $0)"
eval cd "$MENUPATH"
MENUPATH="$(pwd)"
tmpfile="$MENUPATH/tmp/hd_menu"
#hd=$(fdisk -l |grep '^/dev'|cut -d" " -f1|cut -c 6-8|uniq)
hd=$(hwinfo --disk|grep "Device Files:"|cut -d"/" -f3|cut -d"," -f1|uniq)
#############################
#Hier suchen wir ersmal welches videox das nächste ist.
function watch_video () {
i=0
while [ $i -le 10 ] ; do
 ls /|grep -q "video$i" || {
video="video$i"
break
}
i=$[$i+1]
done
}
##############################
#hier wird nachgesehen welche der /dev/...in der fstab vorkommen.
function watch_hd () {
rm -f $MENUPATH/tmp/hd_tmpfile
for b in $hd ;do
i="/dev/$b"
mount|grep -q "$i"
if [ $? -eq 1 ]; then
echo "$i" >> $MENUPATH/tmp/hd_tmpfile
fi
done
}
####################
function set_menu {
if [ -e $MENUPATH/tmp/hd_tmpfile ] ;then

	echo "#!/bin/bash" > $tmpfile
	echo "dialog --radiolist \"Welches Speichermedium soll fuer $video genommen werden?\" 15 90 9 \\" >> $tmpfile
while read device ;do
txt=$(hwinfo --disk|grep "Device Files:"|grep "$device"|cut -d"-" -f3|cut -d"," -f1)
echo "$device \"$txt\" off \\" >> $tmpfile
done < $MENUPATH/tmp/hd_tmpfile
	chmod 777 $tmpfile
	#Starte das skript mit der ausgabe in datei
	test -e $MENUPATH/tmp/hd_tmpfile2 && rm $MENUPATH/tmp/hd_tmpfile2
	$tmpfile 2> $MENUPATH/tmp/hd_tmpfile2
		if [ $? -eq 1 ]; then
		exit
		fi

else
 dialog --backtitle "Festplatten-Assistent" \
           --msgbox "Kein Installationskandidaten fuer $video gefunden" 10 70
echo 
exit_out="1"
fi
test $exit_out || mk_hd
}
#####################
function mk_hd () {
#test -e /tmp/hd_tmpfile2 && exit
video_device=$(cat $MENUPATH/tmp/hd_tmpfile2)
if [ $video_device ] ;then
#echo "$video_device wird jetzt formatiert und fuer $video eingerichtet"
format_hd
else
set_menu
fi
}
######################
format_hd()
{
	(
	echo "XXX" && echo 0
	echo -e "$video_device wird jetzt partioniert,formatiert und fuer $video eingerichtet"
	echo "XXX"
	sleep 1
	echo "XXX" && echo 20
	echo -e "Starte die Partionierung von "$video_device"1"
	dd if=/dev/zero of="$video_device" count=1 >/dev/null 2>&1
	echo "n" > $MENUPATH/tmp/fdisk_mk
	echo "p" >> $MENUPATH/tmp/fdisk_mk
	echo "1" >> $MENUPATH/tmp/fdisk_mk
	echo "" >> $MENUPATH/tmp/fdisk_mk
	echo "" >> $MENUPATH/tmp/fdisk_mk
	echo "w" >> $MENUPATH/tmp/fdisk_mk
fdisk "$video_device" < $MENUPATH/tmp/fdisk_mk >/dev/null 2>&1
	echo "XXX"
	sleep 1
	echo "XXX" && echo 40
		echo -e "Formatiere "$video_device"1 je nach Festplatte kann es eine weile dauern"
umount "$video_device"1 >/dev/null 2>&1
mkfs.ext3 "$video_device"1 >/dev/null 2>&1
	echo "XXX"	
	sleep 1
	echo "XXX" && echo 60
	echo -e "Erstelle mount point: /$video"
mkdir /$video >/dev/null 2>&1
	echo "XXX"
	sleep 1
	echo "XXX" && echo 80
	echo "mounte $video und mache die noetigen Eintraege in der fstab"
umount "$video_device"1 >/dev/null 2>&1
video_device1="$video_device"1
mount -t ext3 "$video_device"1 /$video && sed -i "\$a\\$video_device1	/$video			ext3		noatime				0 1" /etc/fstab && touch /video0/.update >/dev/null 2>&1
	echo "XXX"
	sleep 1
	echo "XXX" && echo 100
	echo "Fertig..."
	echo "Zusaetzlich sind jetzt $(df -h|grep "$video_device1"|cut -d" " -f19) verfuegbar"
	echo "XXX"
	sleep 3	

) |
	dialog --title " Bereite Festplatte vor " \
		--backtitle "Festplatteneinrichtungs Assistent" \
		--gauge "Festplatte einrichten..." 18 70 0
watch_video
watch_hd
set_menu
}
#################################


watch_video
watch_hd
set_menu