#!/bin/sh

set_names() {
  case $LANG in
    cs*)
      SOURCE_DOC_DIR="$SOURCE_DOC_DIR/cs-CZ"
      SOURCE_DOC_NAME="new"
      NEW_DOCX_NAME="Nový dokument"
      NEW_XLSX_NAME="Nová tabulka"
      NEW_PPTX_NAME="Nová prezentace"
      NEW_DOCXF_NAME="Nový PDF formulář"
      ;;
    de*)
      SOURCE_DOC_DIR="$SOURCE_DOC_DIR/de-DE"
      SOURCE_DOC_NAME="new"
      NEW_DOCX_NAME="Neues Dokument"
      NEW_XLSX_NAME="Neue Tabelle"
      NEW_PPTX_NAME="Neue Präsentation"
      NEW_DOCXF_NAME="Neues PDF-Formular"
      ;;
    es*)
      SOURCE_DOC_DIR="$SOURCE_DOC_DIR/es-ES"
      SOURCE_DOC_NAME="new"
      NEW_DOCX_NAME="Nuevo documento"
      NEW_XLSX_NAME="Nueva hoja de cálculo"
      NEW_PPTX_NAME="Nueva presentación"
      NEW_DOCXF_NAME="Nuevo formulario PDF"
      ;;
    fr*)
      SOURCE_DOC_DIR="$SOURCE_DOC_DIR/fr-FR"
      SOURCE_DOC_NAME="new"
      NEW_DOCX_NAME="Nouveau document"
      NEW_XLSX_NAME="Nouveau classeur"
      NEW_PPTX_NAME="Nouvelle présentation"
      NEW_DOCXF_NAME="Nouveau formulaire PDF"
      ;;
    it*)
      SOURCE_DOC_DIR="$SOURCE_DOC_DIR/it-IT"
      SOURCE_DOC_NAME="new"
      NEW_DOCX_NAME="Nuovo documento"
      NEW_XLSX_NAME="Nuovo foglio di calcolo"
      NEW_PPTX_NAME="Nuova presentazione"
      NEW_DOCXF_NAME="Nuovo modulo PDF"
      ;;
    pt*)
      SOURCE_DOC_DIR="$SOURCE_DOC_DIR/pt-BR"
      SOURCE_DOC_NAME="new"
      NEW_DOCX_NAME="Novo documento"
      NEW_XLSX_NAME="Nova planilha"
      NEW_PPTX_NAME="Nova apresentação"
      NEW_DOCXF_NAME="Novo formulário PDF"
      ;;
    ru*)
      SOURCE_DOC_DIR="$SOURCE_DOC_DIR/ru-RU"
      SOURCE_DOC_NAME="new"
      NEW_DOCX_NAME="Новый документ"
      NEW_XLSX_NAME="Новая таблица"
      NEW_PPTX_NAME="Новая презентация"
      NEW_DOCXF_NAME="Новая PDF-форма"
      ;;
    *)
      SOURCE_DOC_DIR="$SOURCE_DOC_DIR/en-US"
      SOURCE_DOC_NAME="new"
      NEW_DOCX_NAME="New document"
      NEW_XLSX_NAME="New spreadsheet"
      NEW_PPTX_NAME="New presentation"
      NEW_DOCXF_NAME="New PDF form"
      ;;
  esac
}

check_templates() {
  if [ "$1" != "--new-document-templates" ]; then
    return 0
  fi

  SOURCE_DOC_DIR="/opt/onlyoffice/desktopeditors/converter/empty"

  set_names

  eval TEMPLATE_DIR=$(grep XDG_TEMPLATES_DIR $HOME/.config/user-dirs.dirs | cut -d \" -f2)
  if [ $TEMPLATE_DIR = $HOME ]; then
    echo "system template's folder isn't found"
    return 0
  fi
  
  TEMPLATE_DOCX="$TEMPLATE_DIR/$NEW_DOCX_NAME.docx"
  TEMPLATE_XLSX="$TEMPLATE_DIR/$NEW_XLSX_NAME.xlsx"
  TEMPLATE_PPTX="$TEMPLATE_DIR/$NEW_PPTX_NAME.pptx"
  TEMPLATE_DOCXF="$TEMPLATE_DIR/$NEW_DOCXF_NAME.docxf"

  mkdir -p $TEMPLATE_DIR

  if [ $(ls -A $TEMPLATE_DIR/*.docx 2>/dev/null | wc -l) -eq 0 ]
  then
    cp $SOURCE_DOC_DIR/$SOURCE_DOC_NAME.docx "$TEMPLATE_DOCX"
  fi

  if [ $(ls -A $TEMPLATE_DIR/*.xlsx 2>/dev/null | wc -l) -eq 0 ]
  then
    cp $SOURCE_DOC_DIR/$SOURCE_DOC_NAME.xlsx "$TEMPLATE_XLSX"
  fi

  if [ $(ls -A $TEMPLATE_DIR/*.pptx 2>/dev/null | wc -l) -eq 0 ]
  then
    cp $SOURCE_DOC_DIR/$SOURCE_DOC_NAME.pptx "$TEMPLATE_PPTX"
  fi

  if [ $(ls -A $TEMPLATE_DIR/*.docxf 2>/dev/null | wc -l) -eq 0 ]
  then
    cp $SOURCE_DOC_DIR/$SOURCE_DOC_NAME.docxf "$TEMPLATE_DOCXF"
  fi
}

check_templates "$@"

DIR=/opt/onlyoffice/desktopeditors
if [ ! -z "$LD_LIBRARY_PATH" ]; then
  LDLPATH=:$LD_LIBRARY_PATH
fi
export LD_LIBRARY_PATH=$DIR$LDLPATH
exec $DIR/DesktopEditors "$@"
