home *** CD-ROM | disk | FTP | other *** search
/ GCW Games & More & Wacky Windows Companion / gcw.iso / win / util / comit / host.msl < prev    next >
Text File  |  1994-03-02  |  11KB  |  427 lines

  1. ' Host mode script
  2. ' Access levels are:    3 - Sysop
  3. '                       2 - user can access any directory
  4. '                       1 - user can access only current directory
  5. PUSH
  6. SET ECHO ON
  7. SET TEXTWRAP ON
  8. SET HOSTECHO ON
  9. SET INCRLF ON
  10. SET OUTCRLF ON
  11. SET CARRIERDETECT ON
  12.  
  13. upload_dir$ = uploaddirectory
  14. default_dir$ = defaultdirectory
  15. file_spec$ = filespec
  16.  
  17.  
  18. cr$ = "^M"
  19. cr2$ = "^M^M"
  20. cr3$ = "^M^M^M"
  21. cr4$ = "^M^M^M^M"
  22. cr5$ = "^M^M^M^M^M"
  23. newpage$ = cr5$+cr5$+cr5$+cr5$+cr5$
  24.  
  25. Header$   = "                   Host Mode"
  26.  
  27. welcome1$ = "                 ***********************************"+cr$
  28. welcome2$ = "                 *        COMit Host Mode          *"+cr$
  29. welcome3$ = "                 *      Press ENTER to Continue    *"+cr$
  30. welcome4$ = "                 ***********************************"+cr5$
  31.  
  32. continue = 1
  33. max_lines = 20
  34.  
  35.  
  36. WHILE continue=1
  37.     if ChangeDirectory(default_dir$) > 0 then
  38.       mprint "Invalid default directory"
  39.       beep
  40.       sleep 5
  41.       continue = 0
  42.       GOTO force_hangup
  43.     endif
  44.  
  45.     current_dir$ = default_dir$
  46.  
  47.     ONERROR force_hangup
  48.     AUTOANSWER
  49.  
  50.     ONDISCONNECT force_hangup
  51.     ' Computer answered phone
  52.  
  53.     sleep 5
  54.     RPRINT newpage$
  55.     RPRINT welcome1$
  56.     RPRINT welcome2$
  57.     RPRINT welcome3$
  58.     RINPUT welcome4$,temp$
  59.     Rprint cr4$
  60.  
  61.     ' Prompts to enter password
  62.     logon_ok = 0
  63.     set error off
  64.     FOR i = 1 TO 3
  65.         onerror skipsignon
  66.         RINPUT cr$+"Enter FIRST name: ", first$
  67.     RINPUT cr$+"Enter LAST name: ", last$
  68.     SET HOSTECHO OFF
  69.         RINPUT cr$+"Enter PASSWORD: ", password$
  70.         set error off
  71.     SET HOSTECHO ON
  72.     logon_ok = VerifyUser(first$, last$, password$)
  73.         IF logon_ok > 1  THEN
  74.             IF OPENHOST = 1 THEN
  75.                 onerror skipnew
  76.                 rprint cr2$+"              N E W   U S E R"+cr2$
  77.         Rprint cr$+"First Name: "+first$
  78.                 Rprint cr$+"Last Name: "+last$
  79.             RINPUT cr$+"Correct? ", Temp$
  80.                 logon_ok = 0
  81.                 IF upper(Temp$) = "Y" THEN
  82.                     IF Adduser(first$, last$, password$, 1) > 0 THEN
  83.                         RPRINT cr2$+"Unable To Add User At This Time"
  84.                         logon_ok = 1
  85.                     ENDIF
  86.                     EXIT
  87.                 ENDIF
  88.                 skipnew:
  89.         ELSE
  90.             RPRINT cr2$+"Invalid logon attempt!"
  91.             IF i < 3 THEN
  92.              RPRINT cr$+"There are " + String(3 - i) + " attempts left."
  93.         ENDIF
  94.         ENDIF
  95.         ELSE
  96.          IF logon_ok = 1  THEN
  97.             RPRINT cr$+"Invalid logon attempt!"
  98.             IF i < 3 THEN
  99.               RPRINT cr$+"There are " + String(3 - i) + " attempts left." + cr$
  100.             ENDIF
  101.          ELSE
  102.            EXIT
  103.          ENDIF
  104.         ENDIF
  105.         skipsignon:
  106.     NEXT
  107.  
  108.     IF logon_ok > 0 THEN
  109.     RPRINT cr2$+"Unable to validate user!"
  110.         RPRINT cr2$+"Hanging up!"
  111.         goto force_hangup
  112.     else
  113.     continue_commands = 1
  114.     access_level = ExtractUserLevel(first$, last$)
  115.     rprint cr4$
  116.     endif
  117.     WHILE continue_commands = 1
  118.         RPRINT cr2$+"         Host Mode Processor"+cr2$
  119.     RPRINT cr$ + "[F]File Directory    [D]Download    [U]Upload    [C]Chat"
  120.          ' Level 2 or 3
  121.     IF access_level > 1  THEN
  122.         RPRINT cr$ + "[CD]Change Directory [FS]File Specification"
  123.     ENDIF
  124.  
  125.     ' Level 3 only
  126.     IF access_level > 2 then
  127.         RPRINT cr$ + "[AU]Add User         [CU]Change User"
  128.         RPRINT cr$ + "[DU]Delete User      [S]ShutDown"
  129.     ENDIF
  130.  
  131.     RPRINT cr$ + "[G]Goodbye"
  132.  
  133.     ' Wait for command
  134.         RINPUT cr2$+current_dir$ + "> ", tempcommand$
  135.         command$ = upper(tempcommand$)
  136.  
  137.     ' Exit System
  138.     if len(command$) = 1 then
  139.         IF command$ = "G"  THEN
  140.         RPRINT cr$ + "Thanks for calling " + first$ + "!" + cr$
  141.         continue_commands = 0
  142.         SLEEP 2
  143.         ENDIF
  144.  
  145.             ' List Files
  146.         IF command$ = "F" THEN
  147.                 RPRINT cr4$
  148.         RPRINT "Directory listing of: " + current_dir$ + cr2$
  149.         ChangeDirectory(current_dir$)
  150.         filename$ = GetFirstDirEntry(current_dir$, file_spec$)
  151.         WHILE Len(filename$) > 0
  152.             FOR i = 1 to max_lines
  153.             RPRINT filename$ + cr$
  154.             filename$ = GetNextDirEntry()
  155.                     IF Len(filename$) = 0 THEN
  156.                     EXIT
  157.             ENDIF
  158.             NEXT
  159.             IF LEN(filename$) > 0 THEN
  160.                 Rinput cr$+"List paused.  Press ENTER to continue.",temp$
  161.                 IF "C" = upper(temp$) THEN
  162.                            exit
  163.                         ENDIF
  164.                     rprint cr4$
  165.             ENDIF
  166.         WEND
  167.  
  168.         RINPUT cr$+"End of List.   Press ENTER to Continue",temp$
  169.         rprint cr4$
  170.         ENDIF
  171.  
  172.         ' Download a File
  173.         IF command$ = "D" THEN
  174.             rprint cr4$
  175.         WHILE 1 = 1
  176.             RPRINT cr$+Header$+cr3$
  177.             RPRINT cr$+"Available download file transfer protocols:" + cr2$
  178.             RPRINT "[X]..XMODEM Checksum" + cr$
  179.             RPRINT "[C]..XMODEM CRC" + cr$
  180.                     RPRINT "[Y]..YMODEM 1K" + cr$
  181.             RPRINT "[YB].YMODEM Batch" + cr$
  182.             RPRINT "[YG].YMODEM G" + cr$
  183.             RPRINT "[Z]..ZMODEM" + cr$
  184.             RPRINT "[E]..Cancel" + cr$
  185.             RINPUT "Select protocol: ", tempchoice$
  186.             choice$ = upper(tempchoice$)
  187.                     if len(choice$) = 1 then
  188.                 IF choice$ = "E" THEN
  189.                             EXIT
  190.                 ENDIF
  191.                 IF choice$ = "X" THEN
  192.                             set protocol XMODEM
  193.                             EXIT
  194.                 ENDIF
  195.                 IF choice$ = "C" THEN
  196.                             set protocol XMODEMCRC
  197.                             EXIT
  198.                 ENDIF
  199.             IF choice$ = "Y" THEN
  200.                             set protocol YMODEM
  201.                             EXIT
  202.                 ENDIF
  203.                 IF choice$ = "Z" THEN
  204.                             set protocol ZMODEM
  205.                             EXIT
  206.                 ENDIF
  207.             endif
  208.                     if len(choice$) = 2 then
  209.                 IF choice$ = "YB" THEN
  210.                             set protocol YMODEMB
  211.                             EXIT
  212.                 ENDIF
  213.                 IF choice$ = "YG" THEN
  214.                             set protocol YMODEMG
  215.                             EXIT
  216.                 ENDIF
  217.             ENDIF
  218.             rprint cr2$+"Invalid Selection"+cr2$
  219.         WEND
  220.                 IF choice$ = "E" THEN
  221.             rprint "Canceled!"+cr$
  222.                 ELSE
  223.                     ChangeDirectory(current_dir$)
  224.                     RINPUT cr2$+"Enter Filename: ", transfer_file$
  225.                     is_ok = DoesFileExist(transfer_file$)
  226.                     IF is_ok = 1 THEN
  227.                         RPRINT cr$+"File " + transfer_file$ + " was not found." + cr$
  228.                         RPRINT "File transfer canceled!" + cr$
  229.                     ELSE
  230.                         RPRINT cr$+"Downloading " + transfer_file$ + cr$
  231.                         ONERROR snderr
  232.                         SEND transfer_file$
  233.                         sleep 3
  234.                         rprint cr$+"File Transfer Successful"
  235.                         goto sndok
  236.                         snderr:
  237.                         rprint cr2$+"Error Downloading File"
  238.                         rinput cr$+"Hit ENTER to Continue",temp$
  239.                         sndok:
  240.                         set error off
  241.                     ENDIF
  242.                 ENDIF
  243.             ENDIF
  244.     ' Receive a File
  245.         IF command$ = "U" THEN
  246.             rprint cr4$
  247.             WHILE 1 = 1
  248.             RPRINT cr$+Header$+cr3$
  249.             RPRINT "Available Upload file transfer protocols:" + cr2$
  250.             RPRINT "[X]..XMODEM Checksum" + cr$
  251.             RPRINT "[C]..XMODEM CRC" + cr$
  252.             RPRINT "[Y]..YMODEM 1K" + cr$
  253.             RPRINT "[YB].YMODEM Batch" + cr$
  254.             RPRINT "[YG].YMODEM G" + cr$
  255.             RPRINT "[Z]..ZMODEM" + cr$
  256.             RPRINT "[E]..Exit" + cr$
  257.             RINPUT "Select protocol: ", tempchoice$
  258.             choice$ = upper(tempchoice$)
  259.                     if len(choice$) = 1 then
  260.                 IF choice$ = "E" THEN
  261.                             EXIT
  262.                 ENDIF
  263.                 IF choice$ = "X" THEN
  264.                 set protocol XMODEM
  265.                 RINPUT cr$+"Enter Filename: ", transfer_file$
  266.                 is_ok = ValidFileName(transfer_file$)
  267.                         EXIT
  268.                 ENDIF
  269.                 IF choice$ = "C" THEN
  270.                         set protocol XMODEMCRC
  271.                 RINPUT cr$+"Enter Filename: ", transfer_file$
  272.                 is_ok = ValidFileName(transfer_file$)
  273.                         EXIT
  274.                 ENDIF
  275.                 IF choice$ = "Y" THEN
  276.                         set protocol YMODEM
  277.                 RINPUT cr$+"Enter Filename: ", transfer_file$
  278.                 is_ok = ValidFileName(transfer_file$)
  279.                         EXIT
  280.                 ENDIF
  281.                 IF choice$ = "Z" THEN
  282.                 set protocol ZMODEM
  283.                 transfer_file$ = ""
  284.                 is_ok = 1
  285.                         EXIT
  286.                 ENDIF
  287.             ENDIF
  288.             if len(choice$) = 2 then
  289.                 IF choice$ = "YB" THEN
  290.                 set protocol YMODEMB
  291.                 transfer_file$ = ""
  292.                 is_ok = 1
  293.                         EXIT
  294.                 ENDIF
  295.                 IF choice$ = "YG" THEN
  296.                         set protocol YMODEMG
  297.                 transfer_file$ = ""
  298.                 is_ok = 1
  299.                         EXIT
  300.                 ENDIF
  301.             ENDIF
  302.             rprint cr2$+"Invalid Selection"+cr2$
  303.         WEND
  304.                 IF choice$ = "E" THEN
  305.                 rprint cr$+"Canceled"+cr$
  306.             ELSE
  307.             IF is_ok = 0 THEN
  308.                         RPRINT "File " + transfer_file$ + " was not valid." + cr$
  309.                         RPRINT "File transfer canceled!" + cr$
  310.                     ELSE
  311.  
  312.                         ChangeDirectory(upload_dir$)
  313.                         ONERROR rcverr
  314.                         RPRINT cr2$+"Uploading " + transfer_file$ +cr$
  315.                         RPRINT cr$+"Start Your File Transfer"+cr$
  316.                         RECEIVE transfer_file$
  317.                         sleep 3
  318.                         RPRINT cr$+"File Transfer Successful"+cr$
  319.                         GOTO rcvok
  320.                         rcverr:
  321.                         Rprint "Error Uploading File - "+transfer_file$+cr$
  322.                         rinput "Hit Enter to Continue",temp$
  323.                         rcvok:
  324.                         ChangeDirectory(current_dir$)
  325.                         set error off
  326.             ENDIF
  327.             ENDIF
  328.         ENDIF
  329.         IF command$ = "S" THEN
  330.                 RPRINT cr$+"Shutdown Initiated"
  331.                 continue = 0
  332.                 continue_commands = 0
  333.         ENDIF
  334.         IF command$ = "C"  THEN 
  335.             rprint cr3$+"Chat Mode Started"+cr$   
  336.             rprint "Enter '*' to Terminate"+cr2$   
  337.             chat
  338.             rprint cr2$+"Chat Mode Terminated"+cr3$        
  339.         ENDIF
  340.  
  341.     ' Change Directory
  342.     ENDIF
  343.     if len(command$) = 2 then
  344.         IF command$ = "CD" THEN
  345.         IF access_level > 1 THEN
  346.             RINPUT cr$+"Enter New Directory: ", new_dir$
  347.                     is_ok = ChangeDirectory(new_dir$)
  348.                     if is_ok = 0 then
  349.                         current_dir$ = new_dir$
  350.             ELSE
  351.                 RPRINT cr2$+"Unable to change to directory!"
  352.             ENDIF
  353.             ENDIF
  354.         ENDIF
  355.  
  356.         IF command$ = "FS" Then
  357.                 RPRINT cr2$+"Current File Specification is "+file_spec$+cr$
  358.             RINPUT cr$+"Enter New File Specification: ", file_spec$
  359.             IF LEN(file_spec$) = 0 THEN
  360.             file_spec$ = filespec
  361.                 ENDIF
  362.         ENDIF
  363.     ' Add a New User
  364.         IF command$ = "AU" THEN
  365.             IF access_level > 2 THEN
  366.                     rprint cr4$
  367.                     RPRINT cr$+Header$+cr$
  368.             RPRINT  "Add a new user." + cr$
  369.             RINPUT cr$+"Enter new user's First name: ", new_first$
  370.             RINPUT cr$+"Enter new user's Last name: ", new_last$
  371.             RINPUT cr$+"Enter new user's Password: ", new_password$
  372.                     RINPUT cr$+"Enter new user's Access level: ", new_level$
  373.                     iLevel = val(new_level$)
  374.                     is_ok = AddUser(new_first$, new_last$, new_password$, iLevel)
  375.             IF is_ok > 0 THEN
  376.             RPRINT cr$+"Unable to add user record!" + cr$
  377.             ELSE
  378.             RPRINT cr$+new_first$+" "+new_last$+" added to datafile." + cr$
  379.             ENDIF
  380.         ENDIF
  381.         ENDIF
  382.  
  383.     ' Change an Existing User
  384.         IF command$ = "CU" THEN
  385.             IF access_level > 2 THEN
  386.                 rprint cr4$
  387.                 RPRINT cr$+Header$+cr$
  388.                 RPRINT  "Change an existing user." + cr$
  389.                 RINPUT cr$+"Enter user's First name: ", new_first$
  390.                 RINPUT cr$+"Enter user's Last name: ", new_last$
  391.                 RINPUT cr$+"Enter user's new Password or blank to skip: ", new_password$
  392.                 RINPUT cr$+"Enter new Access Level: ", new_level$
  393.                 iLevel = val(new_level$)
  394.                 is_ok = ChangeUser(new_first$, new_last$, new_password$, iLevel)
  395.                 IF is_ok > 0 THEN
  396.                     RPRINT cr$+"Unable to change user record!" + cr$
  397.                 ELSE
  398.                     RPRINT cr$+new_first$+" "+new_last$+ " access level changed."+cr$
  399.                 ENDIF
  400.             ENDIF
  401.         ENDIF
  402.  
  403.     ' Delete an Existing User
  404.         IF command$ = "DU" THEN
  405.  
  406.             IF access_level > 2 THEN
  407.                 rprint cr4$
  408.                 RPRINT cr$+Header$+cr$
  409.                 RPRINT  "Delete an existing user." + cr$
  410.                 RINPUT cr$+"Enter user's First name: ", new_first$
  411.                 RINPUT cr$+"Enter user's Last name: ", new_last$
  412.                 is_ok = DeleteUser(new_first$, new_last$)
  413.                 IF is_ok > 0 THEN
  414.                     RPRINT cr$+"Unable to delete user record!" + cr$
  415.                 ELSE
  416.                     RPRINT cr$+new_first$+" "+new_last$+" deleted." + cr$
  417.                 ENDIF
  418.             ENDIF
  419.         ENDIF
  420.     ENDIF
  421.     WEND
  422.     force_hangup:
  423.     HANGUP
  424. WEND
  425. Mprint "Script Terminated"
  426. END
  427.