home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / new / comm / mail / thor / thor.lha / rexx / MultiUpload.thor < prev    next >
Text File  |  1994-08-06  |  3KB  |  112 lines

  1. /* MultiUpload.thor · by Troels Walsted Hansen
  2. ** $VER: MultiUpload.thor v1.41 (26.02.94)
  3. **
  4. ** An ARexx script that'll make it easier to upload one file to
  5. ** many BBSs. Supports (AmiNet) filename.readme description files.
  6. */
  7.  
  8. options results
  9.  
  10. if(substr(address(),1,4) ~= "THOR") then do
  11.     parse arg portname
  12.     if~(show(p, portname)) then do
  13.         if ~(show(p, "THOR.01")) then do
  14.             say "No THOR port found!"
  15.             exit
  16.         end
  17.         else portname = "THOR.01"
  18.     end
  19. end
  20. else portname = address()
  21.  
  22. address(portname)
  23.  
  24. InfoString = ""
  25. Description = ""
  26.  
  27. /* main stuff */
  28.  
  29. GETGLOBALCONFIG
  30. THORTOFRONT
  31. REQUESTFILE TITLE '"Select file to upload:"' ID '"'GLOBALCONFIG.UPLOADPATH'"' FP PAT '"#?"'
  32. filetoupload = result
  33. lastchar = right(filetoupload,1)
  34.  
  35. if(rc~ = 0|lastchar = "/"|lastchar = ":"|filetoupload = "") then do
  36.     REQUESTNOTIFY TEXT '"No file selected!"' BT '"_Ok"'
  37.     exit
  38. end
  39.  
  40. ReadMeFile = substr(FileToUpload, 1, lastpos(".",FileToUpload))||"readme"
  41.  
  42. if exists(ReadMeFile) then do
  43.     InfoString = INFO '"'ReadMeFile'"'
  44.     open(ReadMe, ReadMeFile)
  45.  
  46.     do while(~EOF(ReadME) & Description = "")
  47.         Line = readln(ReadMe)
  48.         if(upper(substr(Line,1,6)) = "SHORT:") then Description = substr(Line,8)
  49.     end
  50.  
  51.     close(ReadMe)
  52. end
  53.  
  54. if(Description = "") then do
  55.     REQUESTSTRING TITLE '"'||'Enter description for '|| FileToUpload||'"' BT '"_Ok|_Cancel"' MAXCHARS 40
  56.     Description = result
  57.     if(rc ~= 0) then exit
  58. end
  59.  
  60. REQUESTNOTIFY TEXT '"Do you wish to upload to BBSs from a list?"' BT '"_Yes|_No"'
  61.  
  62. if(result = 0) then do
  63.     REQUESTNOTIFY TEXT '"Enable private to conference uploading?"' BT '"_Yes|_No"'
  64.     if(result = 0) then AskForConfname = 0
  65.     else AskForConfname = 1
  66.  
  67.     do forever
  68.         REQUESTLIST BBSLIST
  69.         if(rc ~= 0) then break
  70.         else BBSName = result
  71.  
  72.         ConfString = ""
  73.  
  74.         if(AskForConfname) then do
  75.             REQUESTLIST CONFLIST BBS '"'BBSName'"'
  76.             if(rc = 0) then ConfString = " CONF "||result
  77.         end
  78.  
  79.         ADDEVENT BBS '"'BBSName'"' UPLOAD FILE '"'FileToUpload'"' LFILE '"'FileToUpload'"'||ConfString InfoString DESCR '"'Description'"'
  80.     end
  81. end
  82.  
  83. if(result = 1) then do
  84.     REQUESTFILE TITLE '"Select MultiUpload list file:"' ID '"THOR:Rexx/PostingLists"' FP
  85.     configfile = result
  86.     lastchar = right(configfile,1)
  87.     if(rc~=0|lastchar = "/"|lastchar = ":"|configfile = "") then exit
  88.  
  89.     open(cf, configfile, R)
  90.  
  91.     do forever
  92.         call readln(cf)
  93.         bbsname = substr(readln(cf),6)
  94.         confname = substr(readln(cf),7)
  95.  
  96.         if(bbsname = "") then break
  97.         if(confname = "") then confstring = ""
  98.         else confstring = " CONF "||confname
  99.  
  100.         ADDEVENT BBS '"'BBSName'"' UPLOAD FILE '"'FileToUpload'"' LFILE '"'FileToUpload'"'||ConfString InfoString DESCR '"'Description'"'
  101.         if(rc ~= 0) then REQUESTNOTIFY TEXT '"'||'Failed to upload to: '||bbsname'"' BT '"_Ok"'
  102.     end
  103.  
  104.     close(cf)
  105.     exit
  106. end
  107.  
  108.  
  109. /* bye */
  110.  
  111. exit
  112.