#!/bin/bash

# last-act: [arturo@2021-4-27 arturo@2020-2-28]
# desc: Evitamos que se inicie migasfree cuando no deseamos, permitiendo simpre el force upgrade

FICHFIRST="/var/tmp/migasfree/first-tags.conf"

# 1) Comprobamos que el usuario root es el que trata de ejecutar este script:
# Se lanza vía sudo desde /etc/xdg/autostart/migasfree-indicator.desktop
MENSAJE="Debes ser el root para ejecutar este script de configuración de centro"
[[ "$(whoami)" != "root" ]] && \
{
    echo "$(date) - ${MENSAJE}" && exit 1 ;
} || \
echo "# Comprobamos la frecuencia de sincronización con Migasfree ..."

# 2) Preparamos la auditoria. Importamos las funciones Bash para generar el LOG:
FICHFUNCS="/usr/bin/vx-funcs-bash"
[ -f "${FICHFUNCS}" ] && . "${FICHFUNCS}"
echo_azul="vx-colorear_echo_azul_negrita"
[[ "$(LC_ALL=C type -t "vx-log_xsession")" == "function" ]] && \
FICHLOG="vx-migasfree-launcher-inicio.log" && \
vx-log_xsession -o "${FICHLOG}" && \
"${echo_azul}" "## $(date) ##\nAuditoria de Inicio del Migasfree Launcher: ${FICHLOG}\n##"

# 3) Comprobamos a través de la variable MIGASFREE si toca una actualización contra Migasfree.
# Para ello hacemos uso de nuestro propio mycron: vx-migasfree-launcher-check-mycron
FICHCONFCRON="/etc/default/vx-dga-variables/vx-dga-x-migasfree-launcher-cron.conf"

# Ejecutamos el script de python que decidirá el valor de la variable MIGASFREE:
if ! vx-migasfree-launcher-check-mycron ; then
    MIGASFREE=1
else
    # Comprobamos si Migasfree Launcher debe lanzarse en este inicio de sesión para
    # continuar con el arranque normal de Migasfree o matar el proceso
    MIGASFREE="$(crudini --get "${FICHCONFCRON}" "Configuration" "MIGASFREE")"
fi

# Comprobamos el valor devuelto por la última sincronización contra Migasfree:
RET_MIGASFREE_ACTUALIZACION="$(crudini --get "${FICHCONFCRON}" "Configuration" "RET_MIGASFREE_ACTUALIZACION" 2> /dev/null)"
[[ ! "${RET_MIGASFREE_ACTUALIZACION}" ]] && RET_MIGASFREE_ACTUALIZACION="0"

# Comprobamos si el usuario ha indicado que quiere fozar una actualización contra Migasfree:
## FORCEMIGAS="$(crudini --get "${FICHCONFCRON}" "Configuration" "FORCEMIGAS")"

# Si MIGASFREE=1 actualizaremos contra Migasfree, en caso contrario son los scripts
## if (( MIGASFREE == 1 )) || [ -f "${FICHFIRST}" ] || (( FORCEMIGAS == 1 )) ; then
if (( MIGASFREE == 1 )) || [ -f "${FICHFIRST}" ] || (( RET_MIGASFREE_ACTUALIZACION != 0 )) ; then
    # Devolvemos un 0 indicando que le toca iniciarse la sincronización con Migasfree:
    echo "# $(date) - Toca actulizarse contra Migasfree"
    if (( RET_MIGASFREE_ACTUALIZACION != 0 )) ; then
        echo "#> La última sincronización contra Migasfree devolvió errores: _RET=${RET_MIGASFREE_ACTUALIZACION}."
        echo "#> Sincronizamos de nuevo con la finalidad de corregir los últimos errores de sincronización."
    fi
    exit 0
else
    # Devolvemos un 1 indicando que NO toca iniciarse la sincronización con Migasfree:
    echo "# $(date) - No toca actualizarse contra Migasfree.  Lanzamos únicamente los scripts de inicio y apagado:"
    exit 1
fi

