@echo off
:: Check admin
::reg.exe query "HKU\S-1-5-19">nul 2>&1
::if %errorlevel% equ 1 goto UACPrompt

echo COPY2CALL

set SOURCE_WEB=https://850.co.il/REP/C2C/
set SOURCE_FOLDER=\\10.0.0.222\850\REP\C2C
set DEFENDER_RUNNING="((get-service | where {$_.name -like '*windefend*'}).status -eq 'running')"
set PWRSHELL="%systemroot%\system32\windowspowershell\v1.0\powershell.exe" -ExecutionPolicy ByPass -NoProfile -command
set DWNLOAD=Import-Module BitsTransfer; Start-BitsTransfer
set DOWNLOAD_FILE=COPY2CALL.zip

:: REMOVING OUTLOOK WARNING
reg add "HKLM\SOFTWARE\Microsoft\Office\16.0\Outlook\Security" /v "ObjectModelGuard" /t REG_DWORD /d 2 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Outlook\Security" /v "AdminSecurityMode" /t REG_DWORD /d 3 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Outlook\Security" /v "promptoomaddressbookaccess" /t REG_DWORD /d 2 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Outlook\Security" /v "promptoomaddressinformationaccess" /t REG_DWORD /d 2 /f
reg add "HKCU\Software\Policies\Microsoft\Office\16.0\Outlook\Security" /v "PromptOOMSend" /t REG_DWORD /d 2 /f

:: KILL COPY2CALL
taskkill /f /im COPY2CALL.exe >nul 2>&1

::MAKE A FOLDERS
set C2CFOLDER="%APPDATA%\COPY2CALL"
::"C:\ProgramData\INSTALL\COPY2CALL"
set C2CHISTORY="%APPDATA%\COPY2CALL\DATA"
set "C2CHISTORY_OLD=%APPDATA%\..\Local\Copy2Call"
set "C2COLDCFG1=%APPDATA%\..\Local\Isranet_Computers_Ltd"
set "C2COLDCFG2=%APPDATA%\..\Local\Isranet Computers Ltd"

if not exist %C2CFOLDER% MD %C2CFOLDER%
::CREATE CURRENT BACKUP FOLDER 
if not exist %C2CFOLDER%\BAK MD %C2CFOLDER%\BAK
for /f %%i in ('powershell -Command "Get-Date -Format 'dd-MM-yyyy_HH-mm-ss'"') do set DATETIME=%%i
set C2C_DIRNAME=%C2CFOLDER%\BAK\%DATETIME%
echo %C2C_DIRNAME%
mkdir %C2C_DIRNAME%
set C2C_HISTORY_DIR=%C2CFOLDER%\BAK\%DATETIME%\DATA
echo %C2C_HISTORY_DIR%
mkdir %C2C_HISTORY_DIR%


:: COPY OLD VERSION CONFIGS
setlocal enabledelayedexpansion
set "counter=1"
echo %C2COLDCFG1%
echo %C2COLDCFG2%
for /r "%C2COLDCFG1%" %%f in (*.config) do (
	set "infile=%%f"
    set "filename=%%~nf"
    set "extension=%%~xf"
    set "newname=%C2CFOLDER%\!filename!!extension!"
    if exist "!newname!" (
        set "newname=%C2CFOLDER%\!filename!_!counter!!extension!"
        set /a counter+=1
    )
    echo Copy !infile! to !newname!
    copy "!infile!" "!newname!" >nul
)
for /r "%C2COLDCFG2%" %%f in (*.config) do (
	set "infile=%%f"
    set "filename=%%~nf"
    set "extension=%%~xf"
    set "newname=%C2CFOLDER%\!filename!!extension!"
    if exist "!newname!" (
        set "newname=%C2CFOLDER%\!filename!_!counter!!extension!"
        set /a counter+=1
    )
    echo Copy2 !infile! to !newname!
    copy "!infile!" "!newname!" >nul
)
:: COPY OLD VERSION DATA FILES
if exist "%C2CHISTORY_OLD%" if not exist "%C2CHISTORY%\*.dat" (
	mkdir "%C2CHISTORY%"
    copy "%C2CHISTORY_OLD%\*.dat" "%C2CHISTORY%"
)
if exist "%C2CHISTORY_OLD%" if not exist "%C2CHISTORY%\*.csv" (
	mkdir "%C2CHISTORY%"
    copy "%C2CHISTORY_OLD%\*.csv" "%C2CHISTORY%"
)
endlocal

:: BACKUP CONFIG FILES
copy %C2CFOLDER%\*.config %C2C_DIRNAME% >nul 2>&1
:: BACKUP HISTORY FILES
copy %C2CHISTORY%\*.csv %C2C_HISTORY_DIR% >nul 2>&1
:: BACKUP CONTACTS FILES
copy %C2CHISTORY%\*.dat %C2C_HISTORY_DIR% >nul 2>&1

::ADD ANTIVIRUS EXCLUSION
::%PWRSHELL% IF %DEFENDER_RUNNING% {add-mppreference -exclusionpath %C2CFOLDER%}"

:: REMOVE FOLDERS AND FILES
if exist %C2CFOLDER%\%DOWNLOAD_FILE% del /q %C2CFOLDER%\%DOWNLOAD_FILE%
del /q %C2CFOLDER%\*.exe
del /q %C2CFOLDER%\*.dll
del /q %C2CFOLDER%\*.pdb
del /q %C2CFOLDER%\*.xml
del /q %C2CFOLDER%\*.tmp
:: Может не удалять текущий конфиг?
::if exist %C2CFOLDER%\Copy2Call.exe.config del /q %C2CFOLDER%\Copy2Call.exe.config

:: DOWNLOAD FILE FROM INTERNET
if not exist %C2CFOLDER%\%DOWNLOAD_FILE% (
	%PWRSHELL% "%DWNLOAD% '%SOURCE_WEB%//%DOWNLOAD_FILE%' '%C2CFOLDER%\.'"
)
%PWRSHELL% "Expand-Archive '%C2CFOLDER%\%DOWNLOAD_FILE%'  -DestinationPath '%C2CFOLDER%' -Force"

:: REMOVE ZIP FILE
del /q %C2CFOLDER%\%DOWNLOAD_FILE%

:: RESTORE CONFIG FILES
::copy /y %C2C_DIRNAME%\Copy2Call.exe.config %C2CFOLDER% >nul 2>&1

::setlocal enabledelayedexpansion

::cd  %C2CFOLDER%

::IF NOT DEFINED A_C2C_EXT (
::	set /p A_C2C_EXT="Enter phone extension: "
::	setx A_C2C_EXT !A_C2C_EXT!
::)
::IF NOT DEFINED A_C2C_USE_OL (
::	set /p A_C2C_USE_OL="Use Outlook (Y/N): "
::	setx A_C2C_USE_OL !A_C2C_USE_OL!
::)
::IF NOT DEFINED A_C2C_IP (
::	set /p A_C2C_IP="Enter Asterisk IP: "
::	setx -m A_C2C_IP !A_C2C_IP!
::)
::IF NOT DEFINED A_C2C_PROTOCOL (
::	set /p A_C2C_PROTOCOL="Enter SIP protocol(SIP/PJSIP): "
::	setx -m A_C2C_PROTOCOL !A_C2C_PROTOCOL!
::)

::start "" Copy2Call.exe

::del "%~dpnx0" /Q
::endlocal

exit /B

::RUN AS ADMIN
:::UACPrompt
::@powershell Start-Process %~fs0 -Verb ruNAS
::exit
::END RUN AS ADMIN
