@echo off
rem nodejs is required for some functions of the minify system.
rem Check minify.bat for more information.
set ztmp_ftpuser=example
set ztmp_ftphost=example.com
set ztmp_ftpskey=example.ppk
set ztmp_ftproot=/home/example/public_html
set jquery_version=3.7.1
if NOT "%1" == "" ( goto %1 ) else ( goto all )
:jquery_version
echo %jquery_version%
goto :eof
:audio
if NOT "%ztmp_ftplogin%" == "1" call :ftplogin
if "%2" == "" goto cleanup
echo cd %ztmp_ftproot%/audio>> ztmp_ftpcmd.dat
if EXIST "audio\out\%~n2.webm" echo put audio\out\%~n2.webm %~n2.webm>> ztmp_ftpcmd.dat
if EXIST "audio\out\%~n2.opus" echo put audio\out\%~n2.opus %~n2.opus>> ztmp_ftpcmd.dat
if EXIST "audio\out\%~n2.m4a" echo put audio\out\%~n2.m4a %~n2.m4a>> ztmp_ftpcmd.dat
if EXIST "audio\out\%~n2.mp3" echo put audio\out\%~n2.mp3 %~n2.mp3>> ztmp_ftpcmd.dat
if EXIST "audio\out\%~n2.flac" echo put audio\out\%~n2.flac %~n2.flac>> ztmp_ftpcmd.dat
if EXIST "audio\out\%~n2.wav" echo put audio\out\%~n2.wav %~n2.wav>> ztmp_ftpcmd.dat
if "%1" == "audio" goto finish_ftp
:orig
if NOT "%ztmp_ftplogin%" == "1" call :ftplogin
echo cd %ztmp_ftproot%/source/js>> ztmp_ftpcmd.dat
echo put howler.orig.js>> ztmp_ftpcmd.dat
echo put wavesurfer.orig.js>> ztmp_ftpcmd.dat
if "%1" == "orig" goto finish_ftp
:all
:css
if NOT "%ztmp_ftplogin%" == "1" call :ftplogin
if NOT EXIST "style.common.min.css" (
call minify.bat css
if errorlevel 1 (
echo Failed to minify, therefore not uploading...
goto cleanup
)
)
echo cd %ztmp_ftproot%/core/css>> ztmp_ftpcmd.dat
echo put style.common.min.css>> ztmp_ftpcmd.dat
echo put style.desktop.min.css>> ztmp_ftpcmd.dat
echo put style.mobile.min.css>> ztmp_ftpcmd.dat
echo put jquery-ui.min.css>> ztmp_ftpcmd.dat
echo put jquery-ui.structure.min.css>> ztmp_ftpcmd.dat
echo put jquery-ui.theme.min.css>> ztmp_ftpcmd.dat
echo cd %ztmp_ftproot%/geshi>> ztmp_ftpcmd.dat
echo put geshi.min.css>> ztmp_ftpcmd.dat
if "%1" == "css" goto finish_ftp
:conf
:config
if NOT EXIST "audio.conf.min.js" (
call minify.bat conf
if errorlevel 1 (
echo Failed to minify, therefore not uploading...
goto cleanup
)
)
if NOT "%ztmp_ftplogin%" == "1" call :ftplogin
echo cd %ztmp_ftproot%>> ztmp_ftpcmd.dat
echo put audio.conf.min.js audio.conf.js >> ztmp_ftpcmd.dat
echo put audiosecret.conf.min.js secret.conf.js>> ztmp_ftpcmd.dat
if "%1" == "conf" goto finish_ftp
if "%1" == "config" goto finish_ftp
:prod
:production
:js
:javascript
if NOT "%ztmp_ftplogin%" == "1" call :ftplogin
echo cd %ztmp_ftproot%/testing>> ztmp_ftpcmd.dat
echo Generating unique version string for loopplayer.html5.core.js...
call versioner.bat loopplayer.html5.core.work.js > loopplayer.html5.core.js
echo put loopplayer.html5.core.js>> ztmp_ftpcmd.dat
echo put howler.js>> ztmp_ftpcmd.dat
if NOT EXIST "loopplayer.html5.core.min.js" (
call minify.bat javascript
if errorlevel 1 (
echo Failed to minify, therefore not uploading...
goto cleanup
)
)
if NOT "%ztmp_ftplogin%" == "1" call :ftplogin
echo cd %ztmp_ftproot%/core/js>> ztmp_ftpcmd.dat
echo put loopplayer.html5.core.min.js>> ztmp_ftpcmd.dat
echo put howler.min.js>> ztmp_ftpcmd.dat
call loadersec.bat loader.js
call minify.bat loader
echo put loader.out.min.js loader.js>> ztmp_ftpcmd.dat
echo put wavesurfer.min.js>> ztmp_ftpcmd.dat
echo put jquery-%jquery_version%.min.js>> ztmp_ftpcmd.dat
echo put jquery-ui.min.js>> ztmp_ftpcmd.dat
echo put jquery.ui.touch-punch.js jquery.ui.touch-punch.min.js>> ztmp_ftpcmd.dat
echo cd %ztmp_ftproot%/source/js>> ztmp_ftpcmd.dat
echo put offline.js>> ztmp_ftpcmd.dat
echo put loopplayer.html5.core.js>> ztmp_ftpcmd.dat
call loadersec.bat index.desktop.html
call loadersec.bat index.mobile.html
if NOT EXIST "index.desktop.out.min.html" (
call minify.bat html
if errorlevel 1 (
echo Failed to minify, therefore not uploading...
goto cleanup
)
)
echo cd %ztmp_ftproot%/core>> ztmp_ftpcmd.dat
echo put index.desktop.out.min.html index.desktop.min.html>> ztmp_ftpcmd.dat
echo put index.mobile.out.min.html index.mobile.min.html>> ztmp_ftpcmd.dat
if "%1" == "javascript" goto finish_ftp
if "%1" == "js" goto finish_ftp
if "%1" == "production" goto finish_ftp
if "%1" == "prod" goto finish_ftp
:img
:imgs
:images
if NOT "%ztmp_ftplogin%" == "1" call :ftplogin
echo cd %ztmp_ftproot%/core/css/images>> ztmp_ftpcmd.dat
for /F "tokens=* USEBACKQ" %%a in (`dir /b /a-d images`) do (
echo put images/%%a %%a>> ztmp_ftpcmd.dat
)
if "%1" == "img" goto finish_ftp
if "%1" == "imgs" goto finish_ftp
if "%1" == "images" goto finish_ftp
:src
:source
:stuff
if NOT "%ztmp_ftplogin%" == "1" call :ftplogin
echo cd %ztmp_ftproot%/source>> ztmp_ftpcmd.dat
echo put index.desktop.html>> ztmp_ftpcmd.dat
echo put index.mobile.html>> ztmp_ftpcmd.dat
echo cd %ztmp_ftproot%/source/css>> ztmp_ftpcmd.dat
echo put style.common.css>> ztmp_ftpcmd.dat
echo put style.desktop.css>> ztmp_ftpcmd.dat
echo put style.mobile.css>> ztmp_ftpcmd.dat
echo put jquery-ui.css>> ztmp_ftpcmd.dat
echo put jquery-ui.structure.css>> ztmp_ftpcmd.dat
echo put jquery-ui.theme.css>> ztmp_ftpcmd.dat
echo put geshi.css>> ztmp_ftpcmd.dat
echo cd %ztmp_ftproot%/source/js>> ztmp_ftpcmd.dat
echo put jquery-%jquery_version%.js>> ztmp_ftpcmd.dat
echo put jquery-ui.js>> ztmp_ftpcmd.dat
echo put loader.js>> ztmp_ftpcmd.dat
echo put howler.js>> ztmp_ftpcmd.dat
echo put wavesurfer.js>> ztmp_ftpcmd.dat
echo put audio.conf.js>> ztmp_ftpcmd.dat
echo put audio.conf.readme.txt>> ztmp_ftpcmd.dat
if NOT EXIST "howler.diff.txt" (
call minify.bat patch_howler
if errorlevel 1 (
echo Failed to create howler diff file, therefore not uploading...
goto cleanup
)
)
echo put howler.diff.txt>> ztmp_ftpcmd.dat
if NOT EXIST "wavesurfer.diff.txt" (
call minify.bat patch_wavesurfer
if errorlevel 1 (
echo Failed to create wavesurfer diff file, therefore not uploading...
goto cleanup
)
)
echo put wavesurfer.diff.txt>> ztmp_ftpcmd.dat
echo cd %ztmp_ftproot%/source/tools>> ztmp_ftpcmd.dat
echo put minify.bat>> ztmp_ftpcmd.dat
echo put versioner.bat>> ztmp_ftpcmd.dat
echo put loadersec.bat>> ztmp_ftpcmd.dat
echo put sri-hash.bat>> ztmp_ftpcmd.dat
echo put audio\encode_wav.bat encode_wav.bat>> ztmp_ftpcmd.dat
sed -e "s#%ztmp_ftproot%#/home/example/public_html#" sync_sftp.bat | sed -e "s/%ztmp_ftpskey%/example.ppk/" | sed -e "s/%ztmp_ftpuser%/example/" | sed -e "s/%ztmp_ftphost%/example.com/" > sync_sftp.pub.bat
echo put sync_sftp.pub.bat sync_sftp.bat>> ztmp_ftpcmd.dat
if "%1" == "src" goto finish_ftp
if "%1" == "source" goto finish_ftp
if "%1" == "stuff" goto finish_ftp
:finish_ftp
if NOT "%ztmp_ftplogin%" == "1" goto cleanup
echo quit>> ztmp_ftpcmd.dat
echo Uploading files to FTP
echo y | psftp -l "%ztmp_ftpuser%" -i "%ztmp_ftpskey%" -b ztmp_ftpcmd.dat "%ztmp_ftphost%"
:cleanup
if exist "ztmp_ftpcmd.dat" del ztmp_ftpcmd.dat
if exist "howler.diff.txt" del howler.diff.txt
if exist "wavesurfer.diff.txt" del wavesurfer.diff.txt
if exist "sync_ftp.pub.bat" del sync_ftp.pub.bat
if exist "sync_sftp.pub.bat" del sync_sftp.pub.bat
if exist "loopplayer.html5.core.js" del loopplayer.html5.core.js
if exist "jquery-%jquery_version%.min.js" move "jquery-%jquery_version%.min.js" "temp.js" > NUL
if exist "*.min.*" del *.min.*
if exist "*.out.*" del *.out.*
if exist "temp.js" move "temp.js" "jquery-%jquery_version%.min.js" > NUL
set "ztmp_ftplogin="
set "ztmp_ftpuser="
set "ztmp_ftppass="
set "ztmp_ftphost="
set "ztmp_ftproot="
exit /B 0
:ftplogin
del /Q ztmp_ftpcmd.dat 2> nul
set ztmp_ftplogin=1
goto :eof