#!/usr/bin/env bash
# info_ru: Программа «Декларация 2024» позволяет автоматически формировать налоговые декларации по форме 3-НДФЛ. В процессе заполнения Вами данных программа автоматически проверяет их корректность, что уменьшает вероятность появления ошибки.
########################################################################
export PROG_URL="https://www.nalog.gov.ru"
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
export WINEPREFIX="declaration"
export PROG_NAME="Декларация"
export PROG_ICON="declarac"
export BASE_PFX="defpfx_x86_v01"
export WINEARCH="win32"
export INSTALL_DLL="msxml3 msxml4 msxml6 corefonts wsh57 vcrun6 jet40 gdiplus"
export WH_WINDOWS_VER="10"

DECL_FILE="${WH_TMP_DIR}/decl.html"
curl -o "$DECL_FILE" -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "https://www.nalog.gov.ru/rn77/program/5961249/"

if [[ ! -f "$DECL_FILE" ]] \
|| grep -q "Forbidden" "$DECL_FILE"
then
    fatal "The site page is unavailable or the request limit has been exceeded."
fi

VER_YEAR=$(grep -oP 'href="\K[^"]*.msi[^"]*' "$DECL_FILE" | awk -F'/' '{print $(NF-2)}' | head -n 1)
YEAR="${VER_YEAR//decl/}"
VER_MSI_SLASH=$(grep -oP 'href="\K[^"]*.msi[^"]*' "$DECL_FILE" | awk -F'/' '{print $(NF-1)}' | head -n 1)
VER_MSI=$(grep -oP 'href="\K[^"]*.msi[^"]*' "$DECL_FILE" | awk -F'/' '{print $(NF)}' | head -n 1)

AUTOINSTALL_MSI="${WH_TMP_DIR}/${VER_MSI}"

prepair_wine
if try_download "https://data.nalog.ru/files/${VER_YEAR}/${VER_MSI_SLASH}/$VER_MSI" "${AUTOINSTALL_MSI}" ; then
    wine_run_install "${AUTOINSTALL_MSI}" "/q"
    try_remove_file "${AUTOINSTALL_MSI}"

    WIN_FILE_EXEC="$DRIVE_C/АО ГНИВЦ/Декларация ${YEAR}/Decl${YEAR}.exe"
    create_desktop "$PROG_NAME $YEAR" "$WIN_FILE_EXEC" "$PROG_ICON"
    remove_desktop "Декларация $((YEAR - 1))"
fi

