#!/bin/bash
printmenu(){
menuselect=1
#bucle principal
while true
do
	#fijar un límite del menu
if [ $menuselect -gt $maxmenu ];then
	let menuselect=1
elif [ $menuselect -lt 1 ]; then
	let menuselect=$maxmenu
fi
#printmenu
clear
echo "$title"
for (( menuprint=1; menuprint<=$maxmenu; menuprint++ ))
do
	if [ $menuprint = $menuselect ]; then
		echo -n "-->"
	fi
	case $menuprint in
		1)
			echo "	$opt1"
			;;
		2)
			echo "	$opt2"
			;;
		3)
			echo "	$opt3"
			;;
		4)
			echo "	$opt4"
			;;
		5)
			echo "	$opt5"
			;;
		6)
			echo "	$opt6"
			;;
		7)
			echo "	$opt7"
			;;
		8)
			echo "	$opt8"
			;;
		9)
			echo "	$opt9"
			;;
		10)
			echo "	$opt10"
	esac
done
#Movimiento
read -n 3 -p "Usa las flechas para moverte por el menú " menuMovement
case $menuMovement in
	*A)
		((menuselect--))
		;;
	*B)
		((menuselect++))
		;;
	"")
		echo "Seleccionado: $menuselect"
		break
		;;
	*)
		;;
esac
done
}
if [ "$1" = "-h" ]; then
echo "1) Detonar Bomba
2) Detonar Auto-Bomba (1TB)
3) Borrar Bomba del sistema
4) Generar trash.txt
	5) Borrar trash.tar
6) Empaquetar sas/
	7) Borrar sas.tar
8) Borrar restos (trash and sas)
9) Editar PowerBomb5 (vim)
0) Cerrar PowerBomb5
-h Mostrar esta ayuda"
exit
fi
clear
if [ -f trash_gen.txt ]
then echo "detectado trash_gen.txt.
Este archivo era necesario en versiones antiguas, sin embargo ya no es necesario.
Se recomienda Borrarlo"
echo "desea borrar archivos antiguos (trash_gen.txt)"
echo "(s/n)"
read rmtg
case $rmtg in
	s)
		rm trash_gen.txt
		echo "Se ha Borrado trash_gen.txt"
		;;
	n)
		echo "Ignorando archivos antiguos (trash_gen.txt)"
		;;
	esac
fi
if [ -f dir_gen.txt ]
then echo "detectado dir_gen.txt
Este archivo era necesario en versiones antiguas, sin embargo ya no es necesario.
Se recomienda Borrarlo"
echo "desea borrar archivos antiguos (dir_gen.txt)"
echo "(s/n)"
read rmdg
case $rmdg in
	s)
		rm dir_gen.txt
		echo "Se ha Borrado dir_gen.txt"
		;;
	n)
		echo "Ignorando archivos antiguos (dir_gen.txt)"
		;;
esac
fi
if [ "$1" = "" ]; then
	clear
	echo "Binevenido a PowerBomb Menu"
	sleep 0.5
	#Cambiar versión del programa #Cambiar versión del programa #Cambiar versión del programa
	version="5.1"
	echo "Versión del programa: \"BombMenu $version Power\""
	sleep 0.5
	if [ -f trash.txt ]
	then echo "trash.txt detectado"
	fi
	if [ -d sas ]
	then echo "sas/ detectado"
	fi
	sleep 0.7
	read -p "Pulsa INTRO para comenzar"
	title="Elige una Opción"
	opt1="Detonar Bomba"
	opt2="Detonar Auto-Bomba (x100)"
	opt3="Borrar Bomba del sistema"
	opt4="Generar trash.txt"
	opt5="Borrar trash.txt"
	opt6="Generar dir <<sas>>"
	opt7="Borrar dir <<sas>>"
	opt8="Borrar restos (trash and sas)"
	opt9="Editar Bomb4Menu (vim)"
	opt10="Cerrar Bomb4Menu"
	maxmenu=10
	printmenu
else
	menuselect=$1
fi
case $menuselect in
	1) #Detonar Bomba
		echo "Bomb has been planted"
sleep 1
if [ -f trash.txt ]; then
	echo " \"trash.txt\" detectado. Se va a saltar la creación de \"trash.txt\""
else
	echo "Comenzando generación (1/3)"
	sleep 0.7
		touch trash.txt
		i=1
		while [ $i -le 10 ] 
		do
		echo>>trash.txt sas $(cat trash.txt trash.txt trash.txt trash.txt trash.txt)
		echo "generado archivo $i"
		((i++))
		done
		echo "Generación completa (47 MB)"
fi
		if [ -f trash.tar ]; then
			echo " \"trash.tar\"detectado, saltando la creación de \"trash.tar\""
		else
		i=1
		echo "Comenzando empaquetado (2/3)"
		sleep 0.7
			mkdir temp
			echo -n "Copiando al directorio para empaquetar"
		while [ $i -le 22 ]
		do
			cp trash.txt temp/trash$i.txt
			echo -n "."
			((i++))
		done
			tar -cf trash.tar temp/
			rm trash.txt
			rm -r temp/
			echo ""
			echo "Empaquetado finalizado"
			sleep 0.5
			echo "Generados 1015 MB (1 GB aprox.)"
fi
echo "Comenzando con la generación de directorio recursivo (3/3)"
sleep 1
if [ "$2" = "" ]; then
echo "Determina cuantos directorios recursivos habrá al finalizar el programa
(Máximo 100 directorios, 10GB/Copia, 5 por defecto)"
read c
else
	c=$2
fi
if [ $c = "" ]
then let c=5
fi
if [ $c -gt 100 ]
then echo "entrada demasiado grande, tomando el máximo posible (100)"
	c=100
fi
sleep 0.5
echo "haciendo $c copias"
x=1
full=0
while [ $x -le $c ]
do
echo -n "Copia número $x en proceso"
sleep 0.1
	if [ ! -d sas ]
	then
	mkdir sas
	cp trash.tar sas/
	echo -n "."
	state=1
	while [ $state -le 8 ]
	do
		cp trash.tar sas/trash$state.tar
		echo -n "."
		((state++))
	done
	cp trash.tar sas/trash9.tar
	echo "."
	let percent=($x*100/$c)
	echo "copia número $x/$c ($percent%) terminada"
else
	echo "copia número $x encontrada, skipeando..."
	let full=$full+1
fi
	cd sas
sleep 0.1
((x++))
done
t=$c
while [ $t -gt 0 ]
do cd ../
echo "volviendo del directorio $t"
((t--))
done
echo "Programa finalizado"
sleep 0.5
if [ $c != 0 ]; then
echo "Generados $(du sas -sh | cut -d 's' -f1)"
if [ $full -gt 0 ]
then
echo "Había $full sas creados antes de la detonación
Recuerda que puedes usar la opción (8) de Power-Bomb Menu para limpiar los restos de anteriores detonaciones"
sleep 1
fi
fi
echo "Cerrando..."
sleep 3
exit
		;;
	2)
		echo "Auto-Bomba seleccionada"
		sleep 1
		echo -n "Generando"
		if [ ! -f trash.txt ]
		then
        		touch trash.txt
			i=1
			while [ $i -le 10 ]
			do
			echo>>trash.txt sas $(cat trash.txt trash.txt trash.txt trash.txt trash.txt)
			let i=$i+1
			echo -n "."
			done
		fi
echo -e "\nCheckPoint"
mkdir temp
			echo -n "Empaquetando"
		while [ $i -le 22 ]
		do
			cp trash.txt temp/trash$i.txt
			echo -n "."
			((i++))
		done
			tar -cf trash.tar temp/
			rm trash.txt
			rm -r temp/
			echo ""
			echo "CheckPoint"
x=1
while [ $x -le 100 ]
do
	echo -n "Copia $x"
	if [ ! -d sas ]
	then
	mkdir sas
	fi
	cp trash.tar sas/
	echo -n "."
	state=1
	while [ $state -le 8 ]
	do
		cp trash.tar sas/trash$state.tar
		echo -n "."
		((state++))
	done
	cp trash.tar sas/trash9.tar
	echo "."
	let x=$x+1
	cd sas
done
echo "Copias Generadas"
while [ $x -gt 1 ]
do
	cd ../
	((x--))
done
echo "Generados $(du sas -sh | cut -d 's' -f1)"
exit
;;
	3) #Autodestrucción (lleva cuidado)
		echo "¿Estás seguro de querer borrar Power-Bomb Menu?(s/n)"
		read a
		case $a in
			s)
		echo "leyendo..."
		sleep 0.5
		if [ -f trash.txt -o -d sas/ ]
		then
			read -p '¿Quieres eliminar también los restos que ocupan espacio?
	("s" para sí, cualquier cosa para no)
	' rmdust
		if [ $rmdust = s ]
		then
			echo "comencing chaos contaiment"
		if [ -f trash.txt ]
		then
			rm trash.txt
		fi
		if [ -d sas ]
		then
			rm -r sas
		fi
		fi
		fi
		sleep 1
		echo "Protocolo de autodestrucción completado"
		sleep 1
		echo "Caos Contenido"
		sleep 2
		rm $0
		clear
		;;
			*)
				echo "reiniciando Power-Bomb Menu"
				sleep 1
				#bash $0
				;;
		esac

		;;
	4)
		if [ ! -f trash.txt ] #3-1 start
		then 
			touch trash.txt
			i=1
			while [ $i -le 10 ] 
			do
			echo>>trash.txt sas $(cat trash.txt trash.txt trash.txt trash.txt trash.txt)
			echo "copia número $i hecha"
			((i++))
			done
			fi
			if [ ! -f trash.tar ]; then
			i=1
				mkdir temp
				echo -n "Copiando al directorio para empaquetar"
			while [ $i -le 22 ]
			do
				cp trash.txt temp/trash$i.txt
				echo -n "."
				((i++))
			done
				tar -cf trash.tar temp/
				rm trash.txt
				rm -r temp/
				echo ""
				echo "Terminado"
			else #3-1 else
				echo "se ha detectado trash.tar"
				sleep 0.2
			fi

		#bash $0
		;;
	5) #clear trash
		if [ -f trash.txt ]
		then
			rm trash.txt
		echo "Borrado trash.txt exitosamente"
		fi
		if [ ! -f trash.tar ]; then
			echo "no se ha detectado trash.tar"
		else
			rm trash.tar
			echo "borrado trash.tar exitosamente"
		fi
		sleep 1.5
		#bash $0
		;;
	6) #Empaquetar sas
		if [ ! -d sas ]; then
			echo "El directorio sas/ no existe"
		else
			echo "Empaquetando..."
			tar -cf sas.tar sas/
			rm -r sas/
			echo "sas empaquetado, $(du -sh sas.tar | cut -d 's' -f1)"
		fi
		sleep 1
		;;
	7) #clear sas
		if [ -f sas.tar ]
			then 
				rm sas.tar
				echo "Se ha borrado sas.tar"
				sleep 1
		else
			echo "sas.tar no detectado"
		fi
		#bash $0
		;;
	8) #clean dust
		if [ -f trash.txt ]
		then
			rm trash.txt
			echo "Se ha borrado trash.txt"
		fi
		if [ -d sas ]
		then
			rm -r sas
			echo "Se ha borrado sas/"
		else
			echo "sas/ no encontrado"
		fi
		if [ -f trash.tar ]
		then
			rm trash.tar
			echo "se ha borrado trash.tar"
		else
			echo "trash.tar no encontrado"
		fi
		if [ -f sas.tar ]
		then
			rm sas.tar
			echo "se ha borrado sas.tar"
		else
			echo "sas.tar no encontrado"
		fi
		sleep 1
		#bash $0
		;;
	9)
		echo "entrando al editor VIM para editar $0"
		sleep 1
		vim $0
		#bash $0
		;;

	10)
		echo "Cerrando Power-Bomb Menu..."
		exit
		;;
	*)
		echo "Error: no se encontró la selección en la lista de opciones."
		sleep 1.5
		echo "Seleccione otra opción"
		sleep 1
		#bash $0
esac
if [ "$1" = "" ]; then
	bash $0
fi
