#!/bin/bash
# desc: Configura en /usr/share/vitalinux/postrun.d un script de limpieza basado en vx-regenerar-directorios_especificos-cli
# Como primer parámetro se pasa que directorios limpiar separados por dos puntos ":": 1:Descargas, 2:Documentos, 3:Imágenes, 4:Vídeos, 5:Música, 6:Plantillas, 7:Público
# Como segundo parámetro se puede pasar opcionalmente los días que hacer la limpieza separados por "|": "1|3|5"
FICHFUNCS="/usr/bin/vx-funcs-bash"
[ -f "${FICHFUNCS}" ] && . "${FICHFUNCS}" "null"

# 0) Comprobamos que como primer parámetro se indican los directorios específicos a regenerar
# Mostramos la ayuda si se pasa como parámetro -h o --help:
AYUDA="${0}: Configura en /usr/share/vitalinux/postrun.d un script de limpieza basado en vx-regenerar-directorios_especificos-cli."
AYUDA+="\nDebes pasar al menos un parámetro: La lista de directorios a regenerar."
AYUDA+="\nLa lista debe separarse por \":\": 1:Descargas, 2:Documentos, 3:Imágenes, 4:Vídeos, 5:Música, 6:Plantillas, 7:Público"
AYUDA+="\nSe puede pasar como parámetro el día o días de la semana en que hacer la limpieza separados por \"|\": 1:Lunes, 2:Martes, 3:Miércoles, 4:Jueves, 5:Viernes, 6:Sábado, 7:Domingo"
AYUDA+="\nEn el caso de pasar como parámetro un cero, 0, ésto eliminará la limpieza programada."
EJEMPLOS=("${0} \"1:2\" # Regenera los directorios de Descargas y Documentos al apagar el equipo todos los días")
EJEMPLOS+=("${0} \"5:6:7\" \"1|3|5\" # Regenera los directorios Música, Plantillas y Público al apagar el equipo los lunes, miércoles y viernes")
(vx-check_need_help "${1}" || [[ -z "${1}" ]]) &&
    vx-show_help "${0}" "${AYUDA}" "${EJEMPLOS[@]}" &&
    exit 0

DIR="/usr/share/vitalinux/postrun.d"
FICH="69-vx-limpieza-al-apagar.sh"
if (( "${1}" == 0 )) ; then
    echo "#> Eliminamos la limpieza programa en el caso de que exista y salimos."
    [[ -f "${DIR}/${FICH}" ]] && \
    rm -Rf "${DIR}/${FICH}"
    exit 0
fi

DIRECTORIOS_LIMPIEZA="${1}"
[[ "${2}" ]] && DIAS_LIMPIEZA="${2}" || DIAS_LIMPIEZA="null"
if [[ ! -f "${DIR}/${FICH}" ]] ; then

cat <<EOF> "${DIR}/${FICH}"
#!/bin/bash
# desc: Eliminamos el contenido de los directorios especificados al cerrar sesión
if [[ $(date +'%w') == ${DIAS_LIMPIEZA} || "${DIAS_LIMPIEZA}" == "null" ]]; then
    vx-regenerar-directorios_especificos-cli "${DIRECTORIOS_LIMPIEZA}"
fi
EOF

chmod +x "${DIR}/${FICH}"
fi

exit 0
