# ╭────────────────────────────────────────────────────────╮
# │ Removedor de archivos de licencias, créditos de autor, │
# │     registros de cambios y de compilación o salida     │
# ╰────────────────────────────────────────────────────────╯
#
#          Programado y diseñado por C.C.G. Software
#
#                         Versión 1.0
#

nombre_del_programa="Eliminador"
version="1.0"

# Códigos de escape ANSI para colores

ca="\033[1;33m"  # Color amarillo
cv="\033[0;32m"  # Color verde
cvb="\033[1;32m" # Color verde brillante
cp="\033[0m"     # Color predeterminado

# Códigos de escape ANSI para colores -Fin-

function procedimiento ()

{

	echo "────────────────────────────────────────────────────────────────────────────────"
	echo -e ${ca}

	cat archivos_encontrados.txt

	echo -e ${cp}

	# Contar la cantidad de archivos encontrados registrados en el archivo "archivos_encontrados.txt"
	cantidad_de_archivos=$(wc -l < "archivos_encontrados.txt")

	echo    "────────────────────────────────────────────────────────────────────────────────"
	echo    " Archivos encontrados: $cantidad_de_archivos"
	echo    "────────────────────────────────────────────────────────────────────────────────"

	echo    "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
	echo -e "▒ (${cvb}E${cp})liminar archivos / (${cvb}Q${cp})uitar lectura / (${cvb}G${cp})enerar HTML / (${cvb}O${cp})mitir / (${cvb}S${cp})alir ▒"
	echo    "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒"

	read -sn 1 opcion

	if [ "${opcion^}" = "E" ]; then

		echo " Eliminando archivos..."

		while IFS= read -r nombre_de_archivo; do

			# Eliminar archivo contenido en el listado "archivos_encontrados.txt"
			rm -f "$nombre_de_archivo"

		done < "archivos_encontrados.txt"

		echo " Archivos eliminados."

	elif [ "${opcion^}" = "Q" ]; then

		echo " Quitando permiso de lectura de archivos..."

		while IFS= read -r nombre_de_archivo; do

			# Quitar permiso de lectura de archivo contenido en el listado "archivos_encontrados.txt"
			chmod -r "$nombre_de_archivo"

		done < "archivos_encontrados.txt"

		echo " Permisos de lectura de archivos quitados."

	elif [ "${opcion^}" = "G" ]; then

		echo "Generando archivo HTML..."

		{

		echo    "<!--"
		echo
		echo    "	Generado por $nombre_del_programa $version"
		echo    "	Programado y Diseñado por C.C.G. Software"
		echo
		echo    "	Tipos de archivos: $tipos_de_archivos"
		echo
		echo    "-->"
		echo
		echo    "<html>"
		echo
		echo    "	<head>"
		echo
		echo    "		<meta charset='utf-8'>"
		echo
		echo    "		<title>$nombre_del_programa $version / Tipos de archivos: $tipos_de_archivos</title>"
		echo
		echo    "		<style>"
		echo
		echo    "			body a {"
		echo
		echo    "				text-decoration: none;"
		echo    "				color: #FFD700;"
		echo
		echo    "			}"
		echo
		echo    "			body a:visited {"
		echo
		echo    "				color: #ff0000;"
		echo
		echo    "			}"
		echo
		echo    "		</style>"
		echo
		echo    "	</head>"
		echo
		echo
		echo    "	<body bgcolor='#000000' style='color: #ffffff'>"
		echo
		echo    "		<pre>"
		echo
		echo -n "<hr>"
		echo    " Tipos de archivos: <span style='color: #00FF00'>$tipos_de_archivos</span>"
		echo    "<hr>"

		while IFS= read -r nombre_de_archivo; do

			echo "<a href='$nombre_de_archivo' target='_blank'>$nombre_de_archivo</a>"

		done < "archivos_encontrados.txt"

		echo
		echo -n "<hr>"
		echo    " Archivos encontrados: $cantidad_de_archivos"
		echo -n "<hr>"
		echo    " Generado por: $nombre_del_programa $version"
		echo    " Programado y Diseñado por C.C.G. Software"
		echo    "</pre>"
		echo
		echo    "	</body>"
		echo
		echo    "</html>"

		} >> archivo.html

		echo "Archivo generado"

	elif [ "${opcion^}" = "O" ]; then

		echo " Accion omitida."

	elif [ "${opcion^}" = "S" ]; then

		clear

		# Eliminar archivo de registro
		rm -f "archivos_encontrados.txt"

		exit

	fi

	clear

}

function desplegar_archivos_encontrados ()

{

	echo    "────────────────────────────────────────────────────────────────────────────────"
	echo    " Archivos encontrados: $cantidad_de_archivos"
	echo    "────────────────────────────────────────────────────────────────────────────────"

}

clear

echo
echo    "           ╭────────────────────────────────────────────────────────╮"
echo    "           │ Removedor de archivos de licencias, créditos de autor, │"
echo    "           │     registros de cambios y de compilación o salida     │"
echo    "           ╰────────────────────────────────────────────────────────╯"
echo    "                    Programado y diseñado por C.C.G. Software"
echo
echo    "                                   Versión $version"
echo
echo    "--------------------------------------------------------------------------------"
echo -e " Directorio raíz: ${ca}$PWD${cp}"
echo    "--------------------------------------------------------------------------------"
echo    "────────────────────────────────────────────────────────────────────────────────"
echo -e " Buscando archivos de ${cv}registros de cambios${cp}..."

find . -iname "*changelog.html" -o -iname "*changelog.md" -o -iname "*changelog.txt" > archivos_encontrados.txt

tipos_de_archivos="Registros de cambios"

procedimiento

registros_de_cambios=$cantidad_de_archivos

echo    "────────────────────────────────────────────────────────────────────────────────"
echo -e " Buscando archivos ${cv}léame${cp}..."

find . -iname "*readme.html" -o -iname "*readme.md" -o -iname "*readme.txt" > archivos_encontrados.txt

tipos_de_archivos="Léame"

procedimiento

leame=$cantidad_de_archivos

echo    "────────────────────────────────────────────────────────────────────────────────"
echo -e " Buscando archivos de ${cv}licencias de uso${cp}..."

find . -iname "*license*.html" -o -iname "*license*.md" -o -iname "*license*.txt" > archivos_encontrados.txt

tipos_de_archivos="Licencias de uso"

procedimiento

licencias_de_uso=$cantidad_de_archivos

echo    "────────────────────────────────────────────────────────────────────────────────"
echo -e " Buscando archivos de ${cv}compilación o salida${cp}..."

find . -iname "build.html" -o -iname "build.md" -o -iname "build.txt" > archivos_encontrados.txt

tipos_de_archivos="Compilación o salida"

procedimiento

compilacion_o_salida=$cantidad_de_archivos

echo    "────────────────────────────────────────────────────────────────────────────────"
echo -e " Buscando archivos de ${cv}créditos de autores${cp}..."

find . -iname "*credit*.html" -o -iname "*credit*.md" -o -iname "*credit*.txt" > archivos_encontrados.txt

tipos_de_archivos="Créditos de autores"

procedimiento

creditos_de_autores=$cantidad_de_archivos

echo    "────────────────────────────────────────────────────────────────────────────────"
echo -e " Buscando archivos de ${cv}información${cp}..."

find . -iname "*info.html" -o -iname "*info.md" -o -iname "*info.txt" > archivos_encontrados.txt

tipos_de_archivos="Información"

procedimiento

informacion=$cantidad_de_archivos

echo    "────────────────────────────────────────────────────────────────────────────────"
echo -e " Buscando archivos ${cv}PHP${cp} que contengan la cadena ${cv}phpinfo${cp}..."

find . -type f -name "*.php" -exec grep -l "phpinfo" {} + > archivos_encontrados.txt

tipos_de_archivos="PHP con cadena phpinfo"

procedimiento

php_con_cadena_phpinfo=$cantidad_de_archivos

echo
echo    " Revisión terminada."
echo
echo    "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
echo    "────────────────────────────────────────────────────────────────────────────────"
echo -e " Directorio raíz: ${ca}$PWD${cp}"
echo    "────────────────────────────────────────────────────────────────────────────────"
echo    " ---------------------------------"
echo    " Archivos encontrados	| Cantidad"
echo    " ---------------------------------"
echo -e " ${cv}Licencias de uso${cp}	| $licencias_de_uso"
echo -e " ${cv}Léame${cp}			| $leame"
echo -e " ${cv}Información${cp}		| $informacion"
echo -e " ${cv}Créditos de autores${cp}	| $creditos_de_autores"
echo -e " ${cv}Registros de cambios${cp}	| $registros_de_cambios"
echo -e " ${cv}Compilación o salida${cp}	| $compilacion_o_salida"
echo -e " ${cv}PHP con cadena phpinfo${cp}	| $php_con_cadena_phpinfo"
echo    " ---------------------------------"

# Calcular total de archivos encontrados
let total_archivos_encontrados=licencias_de_uso+leame+$informacion+creditos_de_autores+registros_de_cambios+compilacion_o_salida+php_con_cadena_phpinfo

echo -e " Total de archivos	| $total_archivos_encontrados"
echo    " ---------------------------------"
echo    "▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
echo

# Eliminar archivo de registro
rm -f "archivos_encontrados.txt"
