#!/bin/bash
# lastact: arturo@2023-05-09
# desc: Fuerza una actualización contra Migasfree

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

# 1) Comprobamos que es el usuario root quien quiere ejecutar el programa, sino salimos:
MENSAJE="Necesitas permisos de root para forzar una actualización contra Migasfree"
vx-check_user_root "${MENSAJE}"

# 2) Preparamos la auditoria:
LOG="$(basename "${0}").log"
vx-log_xsession -o "${LOG}"

TEXTO="Forzamos una actualización contra Migasfree"
vx-echo_log_titulo1 "SRV-FORCE-MIGASFREE" "${TEXTO}"

FICHCONFCRON="/etc/default/vx-dga-variables/vx-dga-x-migasfree-launcher-cron.conf"
crudini --set "${FICHCONFCRON}" "Configuration" "FORCEMIGAS" "1"

function actualizar_contra_migasfree() {
    TITULO="Actualización contra Migasfree"
    (
        echo "#> Va a empezar la actualización contra Migasfree ..."
        echo "#> ¡¡No cierres la ventana!! Espera a que se te indique ..."
        echo ""
        echo ""
        migasfree-launcher force-upgrade | sed -r -u 's/'$(echo -e "\033")'\[[0-9]{1,2}(;([0-9]{1,2})?)?[mK]//g'
        echo -e "\n#> Ya puedes cerrar la ventana ..."
    ) | yad --title "${TITULO}" --text-info \
        --window-icon "migasfree" --tail \
        --width="620" --height="200" --center --image "migasfree"

}

if vx-detectar_gui; then
    actualizar_contra_migasfree
else
    migasfree-launcher force-upgrade
fi

crudini --set "${FICHCONFCRON}" "Configuration" "FORCEMIGAS" "0"
## Por último cerramos la ventana de Actualización en el caso de que el usuario no lo haga:
sleep 15
exit 0
