#!/bin/bash

function mostrar-salida {
	CONTADOR=1
	LINEAS=$(cat /tmp/salida-mandar-email | wc -l)
	SALIDA="# Resultado del envío:\n"
	while test $CONTADOR -le $LINEAS ; do
	  LINEA=$(head -$CONTADOR /tmp/salida-mandar-email | tail -1)
	  SALIDA="$SALIDA\n$LINEA"
	  let CONTADOR+=1
	done
	echo $SALIDA
}

function salir {
yad --title "Herramienta de Envío de Archivos vía GMAIL" \
	--window-icon vitalinux \
	--image mandar-por-email \
	--width 500 \
	--center --text-align center \
	--text "  $1  " \
	--button="Salir":1
exit 1
}
# Obtenemos el número de parámetros recibidos: %F son el número de rutas absolutas de los archivos seleccionados
NUMPARAM=$#
# yad --text "Se han seleccionado $# archivos y sus rutas son $*"
# Creamos una lista con los parámetros recibidos $@.  El primer parametro es el ${PARAM[0]} ...  ${PARAM[*]} sería todos
# La mitad de los parametros recibidos son las rutas absolutas de los archivos, y la otra mitad son sus extensiones
declare -a PARAM
PARAM=($@)
RESULTADO=""
DIRECTORIOBASE=$(dirname "$1")

INCREMENTO=$(echo 100/$NUMPARAM | bc)
CONTADOR=0

if ! test -f /tmp/salida-mandar-email ; then
	touch /tmp/salida-mandar-email
	chmod 666 /tmp/salida-mandar-email
fi

if ! test -d $HOME/.vx-dga.d/mandar-correo ; then
	mkdir -p $HOME/.vx-dga.d/mandar-correo
fi

if test -f $HOME/.vx-dga.d/mandar-correo/misdestinatarios-email.txt && test $(cat $HOME/.vx-dga.d/mandar-correo/misdestinatarios-email.txt | grep "@" | wc -l) -ge 1 ; then
	LISTAEMAILS=$(cat $HOME/.vx-dga.d/mandar-correo/misdestinatarios-email.txt | tr -s '\n' '!')
else
	LISTAEMAILS="No hay todavía ..."
fi

if test -f $HOME/.vx-dga.d/mandar-correo/remitente-email.txt ; then
	REMITENTE=$(cat $HOME/.vx-dga.d/mandar-correo/remitente-email.txt | grep "@")
else
	REMITENTE="emisor@gmail.com"
fi

if RESPUESTA=$(yad \
	--title "Mandar Archivos vía Gmail" \
	--window-icon vitalinux \
	--image mandar-por-email \
	--width 700 \
	--center --text-align center \
	--text "Para enviar vía GMAIL los $# Archivos seleccionados debes indicar <b>tu dirección de Gmail, tu password y el Email del destinatario</b> (<i>Si son más de un destinatario sepáralos por espacios en blanco</i>):" \
	--form \
	--field="Tu Cuenta GMAIL: " "$REMITENTE" \
	--field="Tu password GMAIL: ":H ""\
	--field="Emails Destinatarios: " "destinatario1@gmail.com destinatario2@educa.aragon.es ..." \
	--field="Sugerencias: ":CBE "$LISTAEMAILS" \
	--button="Continuar con el Envío":0 --button="Abortar":1) ; then

	REMITENTE=$(echo $RESPUESTA | cut -d"|" -f1 | tee $HOME/.vx-dga.d/mandar-correo/remitente-email.txt)
	if ! test -f $HOME/.vx-dga.d/mandar-correo/misdestinatarios-email.txt ; then
		echo "$REMITENTE" > $HOME/.vx-dga.d/mandar-correo/misdestinatarios-email.txt
	fi
	PASSWORD=$(echo $RESPUESTA | cut -d"|" -f2)
	#PASSWORD=$(echo $RESPUESTA | cut -d"|" -f2 | tee $HOME/.vx-dga.d/mandar-correo/password-remitente-email.txt)
	#chmod 600 $HOME/.vx-dga.d/mandar-correo/password-remitente-email.txt

	DESTINATARIOS=$(echo $RESPUESTA | cut -d"|" -f3 | tr -s " " " ")
	echo $DESTINATARIOS | tr -s " " "\n" | tee $HOME/.vx-dga.d/mandar-correo/destinatarios-email.txt
	cat $HOME/.vx-dga.d/mandar-correo/destinatarios-email.txt | grep -v "$(cat $HOME/.vx-dga.d/mandar-correo/misdestinatarios-email.txt)" > /tmp/auxiliar-emails
	cat /tmp/auxiliar-emails | grep "@" >> $HOME/.vx-dga.d/mandar-correo/misdestinatarios-email.txt

	ASUNTO="Envio de $# Archivos desde Vitalinux - $(date)"

	(
	echo "0"
	echo "#Se va a tratar de Enviar los Archivos Seleccionados ...\nTen paciencia, dependiendo del tamaño puede costar un rato ..."
	/usr/bin/vx-mandar-por-email "$REMITENTE" "$PASSWORD" "$ASUNTO" "$@"
	mostrar-salida
	echo "100"
	) | yad --title "Herramienta de Envío de Archivos vía GMAIL" \
		--window-icon vitalinux \
		--image mandar-por-email \
		--width 720 \
		--center \
		--progress --pulsate --button="Cerrar":0
else
	salir "El envío ha sido cancelado por el usuario ..."
fi

exit 0
