#!/bin/bash
# desc: script creado pensando en las limpiezas solicitadas a final de curso
# lastact: arturo@2022-6-16

FICHFUNCS="/usr/bin/vx-funcs-bash"
[ -f "${FICHFUNCS}" ] && . "${FICHFUNCS}" "null"

FICHFUNCSUSERS="/usr/bin/vx-funcs-users"
[ -f "${FICHFUNCSUSERS}" ] && . "${FICHFUNCSUSERS}" null

echo_azul="vx-colorear_echo_azul_negrita"
echo_rojo="vx-colorear_echo_rojo_negrita"
echo_verde="vx-colorear_echo_verde_negrita"

# Mostramos la ayuda si se pasa como parámetro -h o --help:
AYUDA="Pasa como parametros alguna de las siguientes acciones:"
AYUDA+="\n1) Resetea los navegadores Web Firefox/Chromium/Chrome."
AYUDA+="\n2) Regenera el Entorno de Escritorio de los usuarios gráficos."
AYUDA+="\n3) Regenera el Perfil de los usuarios gráficos."
AYUDA+="\n4) Regenera directorios concretos del perfil de los usuarios gráficos separados por \":\": 1:Descargas, 2:Documentos, 3:Imágenes, 4:Vídeos, 5:Música, 6:Plantillas, 7:Público"
AYUDA+="\n5) Resetear usuarios del sistema.  Elimina y vuelve a crear los usuarios indicados separados por \":\". Si se pasa \"all\" se regeneran todos los usuarios gráficos."
EJEMPLOS=("${0} \"4:1:2\" \"1\" # Resetea los navegadores Web y Regenera los directorios de Descargas y Documentos")
EJEMPLOS+=("${0} \"1\" \"2\"# Resetea los navegadores Web y Regenera los Entornos de Escritorio")
EJEMPLOS+=("${0} \"1\" \"5:docente:estudiante\"# Resetea los navegadores Web y Resetea los usuarios docente y estudiante")
EJEMPLOS+=("${0} \"5:all\"# Resetea todos los usuarios gráficos existentes")
(vx-check_need_help "${1}" || [[ -z "${1}" ]]) &&
    vx-show_help "${0}" "${AYUDA}" "${EJEMPLOS[@]}" &&
    exit 0

# Preparamos la auditoria referente a la limpieza:
LOG="vx-limpieza.log"
vx-log_xsession -o "${LOG}"

# Ejecutamos las acciones solicitadas por los parámetros recibidos:
until [[ -z "${1}" ]]; do
    # Eliminamos las posibles opciones que acompañen a la acción concreta a realizar: %%:*
    case "${1%%:*}" in
    "1")
        EXE="vx-resetear-navegadores-web"
        "${EXE}" && "${echo_verde}" "OK: ${EXE}" || "${echo_rojo}" "Error: ${EXE}"
        ;;
    "2")
        EXE="vx-regenerar-entorno-escritorio-cli"
        "${EXE}" && "${echo_verde}" "OK: ${EXE}" || "${echo_rojo}" "Error: ${EXE}"
        ;;
    "3")
        EXE="vx-regenerar-perfil-usuarios-cli"
        "${EXE}" && "${echo_verde}" "OK: ${EXE}" || "${echo_rojo}" "Error: ${EXE}"
        ;;
    "4")
        EXE="vx-regenerar-directorios_especificos-cli" # Le mandamos como parametro la lista de directorios separados por :
        "${EXE}" "${1#*:}" && "${echo_verde}" "OK: ${EXE}" || "${echo_rojo}" "Error: ${EXE}"
        ;;
    "5")
        #EXE="vx-reset_users"
        #"${EXE}" "${1#*:}" && "${echo_verde}" "OK: ${EXE}" || "${echo_rojo}" "Error: ${EXE}"
        ;;
    esac
    shift
done
