#!/bin/bash
# last-act: arturo@2020-12-21
# desc: Instalación de la extensión de libreoffice de diccionario en español

# ¡¡Importante!! Para instalar una extensión se podría instalar sin haber
# iniciado nunca previamente libreoffice el usuario a nivel de sistema.
# Al iniciar sesión la adoptaría.  Esto tendría como ventaja que no
# habría fichero de bloque a eliminar, como se hace al final del script.
# En definitiva, si se instala la extensión con una inicialización previa de
# libreoffice (existe $HOME/.config/libreoffice) deberemos asegurarnos
# de eliminar el posible fichero de bloqueo que se genere.

# Instalador de la extensión de Libreoffice Spanish dictionaries: es_ANY.oxt
FICH="/usr/share/vitalinux/conf-centro/libreoffice-extensiones/es_ANY.oxt"
DIR="$(vx-home-usuario-grafico)/.config/libreoffice/4/user"
EXTENSION="$(basename "${FICH}")"

if [[ -d "${DIR}" && -f "${FICH}" ]] ; then
    if ! ( unopkg list --shared 2> /dev/null | grep -q "${EXTENSION}" ) ; then
        unopkg add -f -s --shared "${FICH}" &> /dev/null
        echo "=> Se ha instalado la extensión de Libreoffice: ${EXTENSION}"
    else
        echo "=> Ya esta instalada la extensión de Libreoffice: ${EXTENSION}"
    fi
else
    echo "=> No se puede instalar la extensión ${EXTENSION} ya que $(vx-usuario-grafico) no ha iniciado todavía Libreoffice ..."
    exit 1
fi

# Garantizamos permisos de propietario sobre libreoffice:
for HOMEUSU in $(vx-home-usuarios-graficos) ; do
    if [ -d "${HOMEUSU}/.config/libreoffice" ] ; then
        USU="$(vx-home-usuario-grafico "${HOMEUSU}")"
        if getent passwd "${USU}" > /dev/null 2>&1 ; then
            ! getent group "${USU}" > /dev/null 2>&1 && groupadd "${USU}"
            chown -R "${USU}"."${USU}" "${HOMEUSU}/.config/libreoffice" && \
            echo "=> Asignado como propietario de ${HOMEUSU}/.config/libreoffice: ${USU}:${USU}"
        fi
    fi
done

# Eliminamos el bloque que se haya podido generar al configurar libreoffice:
FICHLOCK="/home/$(vx-usuario-grafico)/.config/libreoffice/4/.lock"
[ -f "${FICHLOCK}" ] && \
echo "=> Existe el archivo de Lock ${FICHLOCK} ... se eliminará" && \
rm -f "${FICHLOCK}"

exit 0