\ File: updates.spf \ Dste: 14.04.2003 \ Author: Nicholas Nemtsev, Valery Kondakoff \ Description: Checking http://www.nncron.ru/ for updates and informing \ you if new nnCron, nnCron LITE or nnBackup builds are \ available. In addition, new builds can be downloaded and \ saved to the user specified directories \ New words: NEW-VERSION \ Program names to use: nnCron \ nnCron_LITE \ nnBackup \ Usage: NEW-VERSION \ Examples: \ #( check_for_new_versions \ OnceADay \ WatchConnect \ Action: \ PAUSE: 10000 \ nnCron NEW-VERSION \ nnCron_LITE NEW-VERSION \ nnBackup NEW-VERSION \ )# \ directory to save downloaded files in \ change the path to the directories you want \ (don't forget to add ending backslash \ like this: S" d:\download\nncron\"): : nnCron_sav S" %TEMP%\nncron\" EVAL-SUBST ; : nnBackup_sav S" %TEMP%\nnbackup\" EVAL-SUBST ; : nnCronLT_sav S" %TEMP%\nncronlt\" EVAL-SUBST ; REQUIRE HTTP-CHANGED plugins/http.spf REQUIRE HTTP-GET plugins/http.spf USER download_url USER save_path USER new_build USER prog_name \ URL of a text file with a new version announce: : nnCron_upd Z" http://www.nncron.ru/download/nncron.upd" ; : nnCronLT_upd Z" http://www.nncron.ru/download/nncronlt.upd" ; : nnBackup_upd Z" http://www.nncron.ru/download/nnbackup.upd" ; : DOWNLOAD-NEW-BUILD ( -- ) \ confirmation message: QUERY: "New %prog_name @ ASCIIZ>% build (%QUOTE%%new_build @ ASCIIZ>%%QUOTE%) is available on http://www.nncron.ru/.%crlf%Do you like to download it to %QUOTE%%save_path @ ASCIIZ>%%QUOTE%?" IF new_build @ ASCIIZ> TYPE CR \ creating download URL: S" http://www.nncron.ru/download/" new_build @ ASCIIZ> S+ DROP download_url ! \ downloading the file: download_url @ ASCIIZ> HTTP-GET 0= IF \ creating download path save_path @ ASCIIZ> new_build @ ASCIIZ> S+ DROP save_path ! \ saving downloaded file save_path @ ASCIIZ> FWRITE MSG: "Download complete.%crlf%File saved to %QUOTE%%save_path @ ASCIIZ>%%QUOTE%." ELSE 2DROP ERR-MSG: "Download error!" THEN THEN ; : NEW-VERSION ONLINE? IF \ download_url COUNT HTTP-CHANGED download_url @ ASCIIZ> HTTP-CHANGED IF \ download_url COUNT HTTP-GET 0= download_url @ ASCIIZ> HTTP-GET 0= IF \ saving updated file name: DROP new_build ! \ starting download routine DOWNLOAD-NEW-BUILD ELSE 2DROP THEN THEN THEN ; : nnCron Z" nnCron" prog_name ! nnCron_sav DROP save_path ! nnCron_upd download_url ! ; : nnCron_LITE Z" nnCron LITE" prog_name ! nnCronLT_sav DROP save_path ! nnCronLT_upd download_url ! ; : nnBackup Z" nnBackup" prog_name ! nnBackup_sav DROP save_path ! nnBackup_upd download_url ! ;