#!/usr/bin/env bash
# info_ru: Программа автоматизации процесса подготовки юридическими и физическими лицами документов для представления в налоговые органы в электронной форме и на бумажном носителе.
########################################################################
export PROG_URL="https://www.nalog.gov.ru"
export WH_WINE_USE="wine-10.18.1-alt1-wow64"
export WINEPREFIX="nalog"
export PROG_NAME="Налогоплательщик ЮЛ"
export PROG_ICON="npul"
export BASE_PFX="nalog_pfx_x64_v01"
export WINEARCH="win64"
export WH_WINDOWS_VER="10"
export WH_XDG_OPEN="doc"
export INSTALL_DLL="msxml4 msxml6 corefonts wsh57 gdiplus"

try_get_page "https://data.nalog.ru/rn77/program/5961229/"
VER_MSI=$(read_page | grep -oP 'NalogUL\d+\.msi' | tail -n 1 | grep -oP '\d+')
VER_MSI_URL="${VER_MSI:0:1}.${VER_MSI:1}"  # 492 → 4.92
VER_EXE=$(read_page | grep -oP 'NalogUL\d+\.exe' | tail -n 1 | grep -oP '\d+')
VER_EXE_URL="${VER_EXE:0:1}.${VER_EXE:1:2}.${VER_EXE:3}"  # 4924 → 4.92.4

AUTOINSTALL_MSI="${WH_TMP_DIR}/NalogUL${VER_MSI}.msi"
AUTOINSTALL_EXE="${WH_TMP_DIR}/NalogUL${VER_EXE}.exe"

prepair_wine
if try_download "https://data.nalog.ru/files/nalul/${VER_MSI_URL}/NalogUL${VER_MSI}.msi" "${AUTOINSTALL_MSI}" ; then
    wine_run_install "${AUTOINSTALL_MSI}" /quiet INSTALLDIR="c:\npul"
    try_remove_file "${AUTOINSTALL_MSI}"

    PRINT_INSTALLER="$(find "$DRIVE_C/npul/INPUTDOC" -name "Печать НД с PDF417*.msi")"
    wine_run_install "${PRINT_INSTALLER}" "/q"

    # Процедуры конвертации, индексация данных. По завершении процедур программа сама закроется. Признаком успешного завершения будет отсутствие в папке с программой файла setupmarker.ini. Если не принять процедуру, .exe файл обновления не установиться.
    wine_run_install "$DRIVE_C/npul/INPUTDOC/inputdoc.exe" go.ini
    #TODO: Сделать запуск процедуры в тихом режиме.
fi

if [[ -n "$VER_EXE" ]] \
&& try_download "https://data.nalog.ru/files/nalul/${VER_EXE_URL}/NalogUL${VER_EXE}.exe" "${AUTOINSTALL_EXE}"
then
    wine_run_install "${AUTOINSTALL_EXE}" "/SILENT"
    try_remove_file "${AUTOINSTALL_EXE}"

    PRINT_INSTALLER="$(find "$DRIVE_C/npul/INPUTDOC" -name "Печать НД с PDF417*.msi" | tail -n 1)"
    wine_run_install "${PRINT_INSTALLER}" "/q"
else
    print_info "Дополнительных обновлений не требуется."
fi

touch "$DRIVE_C/npul/INPUTDOC/linux.txt"
WIN_FILE_EXEC="$DRIVE_C/npul/INPUTDOC/inputdoc.exe"
create_desktop "$PROG_NAME" "$WIN_FILE_EXEC" "$PROG_ICON"
