#!/bin/bash

#  Permite saber si el archivo o directorio pasado como parámetro esta en
## algunos de los directorios del perfil congelado:
# .config/user-dirs.dirs
# XDG_DESKTOP_DIR="$HOME/Escritorio"
# XDG_DOWNLOAD_DIR="$HOME/Descargas"
# XDG_TEMPLATES_DIR="$HOME/Plantillas"
# XDG_PUBLICSHARE_DIR="$HOME/Público"
# XDG_DOCUMENTS_DIR="$HOME/Documentos"
# XDG_MUSIC_DIR="$HOME/Música"
# XDG_PICTURES_DIR="$HOME/Imágenes"
# XDG_VIDEOS_DIR="$HOME/Vídeos"

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

function salir() {
    TITULO="Error en la Llamada al Programa"
    TEXTO="${1:-"Debes introducir al menos un parámetro: la ruta de un Directorio o Archivo"}"
    vx-mensaje_y_salir "${TITULO}" "${TEXTO}" "1" "info" "salir"
}

[ -z "${1}" ] && salir

HOMEUSU="$(vx-home-usuario-grafico)"
## Obtenemos el directorio que hace de Escritorio en el usuario:
# DIRDESKTOP=$(xdg-user-dir DESKTOP)
if [ -f "${HOMEUSU}/.config/user-dirs.dirs" ] ; then
    . "${HOMEUSU}/.config/user-dirs.dirs"
else
    salir "Problema: El usuario no tiene Directorios básicos en su perfíl ..."
fi

#DIRDESKTOP="${HOMEUSU}/$(basename "${XDG_DESKTOP_DIR}")"
#echo "=> DESKTOR DIR de $(vx-usuario-grafico): \"${DIRDESKTOP}\""
DIRDOWNLOAD="${HOMEUSU}/$(basename "${XDG_DOWNLOAD_DIR}")"
DIRTEMPLATES="${HOMEUSU}/$(basename "${XDG_TEMPLATES_DIR}")"
DIRPUBLICSHARE="${HOMEUSU}/$(basename "${XDG_PUBLICSHARE_DIR}")"
DIRDOCUMENTS="${HOMEUSU}/$(basename "${XDG_DOCUMENTS_DIR}")"
DIRMUSIC="${HOMEUSU}/$(basename "${XDG_MUSIC_DIR}")"
DIRPICTURES="${HOMEUSU}/$(basename "${XDG_PICTURES_DIR}")"
DIRVIDEOS="${HOMEUSU}/$(basename "${XDG_VIDEOS_DIR}")"

ISINPROFILEDIRS=1
until [ -z "${1}" ] ; do
    # Comprobamos si la ruta es relativa o comienza por ~:
    # [[ "hola que tal" =~ ^([^/]|~) ]] && echo ... || echo ...
    [[ "${1}" =~ ^[^/] ]] && RUTA="$(pwd)/${1}"
    [[ "${1}" =~ ^~ ]] && RUTA="${1//\~/$(vx-home-usuario-grafico)}"
    [[ "${1}" =~ ^/ ]] && RUTA="${1}"
    ! ( [ -d "${RUTA}" ] || [ -f "${RUTA}" ] || [[ "${RUTA}" =~ trash:/// ]] ) && salir
    #echo "=> DIR BASE de ${1}: \"$(dirname "${RUTA}")\""
    if ! ( [[ "${DIRDOWNLOAD}" == "$(dirname "${RUTA}")" ]] || \
        [[ "${DIRTEMPLATES}" == "$(dirname "${RUTA}")" ]] || \
        [[ "${DIRPUBLICSHARE}" == "$(dirname "${RUTA}")" ]] || \
        [[ "${DIRDOCUMENTS}" == "$(dirname "${RUTA}")" ]] || \
        [[ "${DIRMUSIC}" == "$(dirname "${RUTA}")" ]] || \
        [[ "${DIRPICTURES}" == "$(dirname "${RUTA}")" ]] || \
        [[ "${DIRVIDEOS}" == "$(dirname "${RUTA}")" ]] ) ; then
        #echo "=> ${1} esta en el DESKTOP DIR de $(vx-usuario-grafico)"
        ISINPROFILEDIRS=0
        break
    fi
    shift
done
[[ "${ISINPROFILEDIRS}" == "1" ]] && ( echo True && exit 0 ) || (echo False && exit 1)

