#!/bin/bash

# Cabecera CGI para indicar el tipo de contenido
#echo "Content-Type: text/plain"
#echo ""

PASS_BASE="L4V3rd4d3r4R4z0n"
RUTA_LOGS="/var/www/ddns/log/ddns_validacion_usuarios.log"

# Inicializar el log si el archivo no existe
if [ ! -f "$RUTA_LOGS" ]; then
    echo 0 > "$RUTA_LOGS"
fi

# Extraer parámetros
EMAIL=$1

# Decodificar los valores URL si es necesario

#EMAIL=$(echo -e "$(echo "$ID" | sed 's/+/ /g;s/%\([0-9A-Fa-f][0-9A-Fa-f]\)/\\x\1/g')")

#echo $EMAIL >> $RUTA_LOGS

#Buscar si existe el cliente, y en caso positivo generar el token para devolverlo

CLIENTE_QUERY="SELECT idcliente FROM clientes WHERE emailaddress='$EMAIL';"
CLIENTE_RESULT=$(echo "$CLIENTE_QUERY" | mysql -u ddns -p$PASS_BASE ddns -s -N)

#echo $CLIENTE_QUERY
#echo $CLIENTE_RESULT

if [ -z "$CLIENTE_RESULT" ]; then
    echo "$(date) - Error: Cliente $EMAIL no encontrado! Saliendo sin responder nada!" >> $RUTA_LOGS
    #echo "$(date) - Error: Cliente no encontrado! Saliendo sin responder nada!"
    #echo "{\"Resultado\":1,\"Mensaje\":\"NO_ENCONTRADO\"}"
     echo 1
    exit 1
fi


TOKEN=$(date | md5sum | cut -d ' ' -f1)


cat << EOF | ssmtp $EMAIL
To: $EMAIL
From: stonemove@medanodigital.net
Subject: Token de inicio de sesión stonemove

Hola,

     Por favor, copie y pegue esto en su agente de StoneMove para finalizar el proceso de alta de su nombre de host:

                $TOKEN     

 Este token es válido por 15 minutos.



Saludos!

El equipo de StoneMove

EOF

CLIENTE_QUERY="update clientes set token='$TOKEN', validtoken=NOW() WHERE emailaddress='$EMAIL';"
CLIENTE_RESULT=$(echo "$CLIENTE_QUERY" | mysql -u ddns -p$PASS_BASE ddns -s -N)


echo "$(date) - Cliente $EMAIL: token enviado!" >> $RUTA_LOGS
#echo "{\"Resultado\":0,\"Mensaje\":\"OK\"}"
echo 0
