home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / n / newsflash / !BBS / BBS / Scripts / MailBox < prev    next >
Encoding:
Text File  |  1996-09-17  |  7.9 KB  |  276 lines

  1. {
  2. |+---------------------------------------------------------------+|
  3. ||                       MailBox script                          ||
  4. ||                 Alex Howarth (March 1996)                     ||
  5. |+---------------------------------------------------------------+|
  6.  
  7. | A good demonstration of the script language
  8.  
  9. DECLARE temp,60
  10. OPENMESSAGEBASE
  11. REPORT "MailBox"
  12. LABEL rescan
  13. CLS
  14. area%=1
  15. IF MESSAGEAREAS<1 THEN
  16.   PRINT "No message areas defined"
  17.   CLOSEMESSAGEBASE
  18.   END
  19. ENDIF
  20. PRINT "Total message areas (" PRINT MESSAGEAREAS+")" NL
  21. CLEARLIST
  22. REPEAT
  23.   READMAREA area%
  24.   PRINT "Scanning area " PRINT MESSAGEAREANAME+" (#"+area%+")" CLL
  25.   SCANAREA area%,usernumber
  26.   area%=area%+1
  27. UNTIL area%>MESSAGEAREAS
  28. x%=5
  29. y%=1
  30. LABEL redraw
  31. STD CLS
  32. IF SCANNEDMESSAGES=0 THEN
  33.   NL PRINT "Your mailbox is empty"
  34.   CLOSEMESSAGEBASE
  35.   END
  36. ENDIF
  37. LOCATE 0,0
  38. message%=1
  39. BATTR 7,4
  40. TAB 0  PRINT "Msg#"
  41. TAB 6  PRINT "From user"
  42. TAB 28 PRINT "Message subject"
  43. TAB 53 PRINT "Time and date"
  44. TAB 74 PRINT "Bytes"
  45. CLL STD NL
  46. REPEAT
  47.   READSCANNED message% TO thismessage%
  48.   READMESSAGE thismessage%
  49.   FORMATNUM thismessage%,0,4 TO messageno
  50.   BFG 7 TAB 0  PRINT messageno
  51.   BFG 6 TAB 6  PRINT MESSAGEAUTHOR
  52.   BFG 3 TAB 28 PRINT MESSAGESUBJECT TAB 52 PRINT" "
  53.   BFG 2 TAB 53 PRINT MESSAGEDATE
  54.   BFG 7 TAB 74 PRINT MESSAGESIZE
  55.   NL
  56.   message%=message%+1
  57. UNTIL message%>SCANNEDMESSAGES
  58. LOCATE 0,DLINES-1 STD CLL
  59. BFG 7 PRINT "[" BFG 3 PRINT "'" BFG 7 PRINT "/" 
  60. BFG 3 PRINT "/"
  61. BFG 7 PRINT "] UP/DOWN - "
  62. BFG 3 PRINT "RETURN" BFG 7 PRINT " to read - "
  63. BFG 3 PRINT "M" BFG 7 PRINT "essage op. - "
  64. BFG 3 PRINT "R" BFG 7 PRINT "escan - "
  65. BFG 3 PRINT "I" BFG 7 PRINT "nfo - "
  66. BFG 3 PRINT "X" BFG 7 PRINT " to exit"
  67. REPEAT
  68.   READSCANNED y%,thisone%
  69.   READMESSAGE thisone%
  70.   READMAREA MESSAGEFROMAREA
  71.   LOCATE x%,y% TAB 5 BATTR 7,1 TAB 6 PRINT MESSAGEAUTHOR TAB 27
  72.   STD
  73.   GETR response,"X/'RMI"
  74.   IF SCANNEDMESSAGES<>1 THEN
  75.     | No need to move if only 1 message!
  76.     IF response="'" THEN
  77.       y%=y%-1
  78.       LOCATE x%,y%+1 BFG 6 TAB 6 PRINT MESSAGEAUTHOR TAB 27
  79.     ENDIF
  80.     IF response="/" THEN
  81.       y%=y%+1
  82.       LOCATE x%,y%-1 BFG 6 TAB 6 PRINT MESSAGEAUTHOR TAB 27
  83.     ENDIF
  84.   ENDIF
  85.   IF response="R" THEN
  86.     JUMP rescan
  87.   ENDIF
  88.   IF response="M" THEN
  89.     LOCATE 0,DLINES-1 STD CLL
  90.     BFG 2 PRINT "D" BFG 7 PRINT "elete message(s) / "
  91.     BFG 2 PRINT "S" BFG 7 PRINT "kritchpad messages (download) / "
  92.     BFG 2 PRINT "C" BFG 7 PRINT "ancel"
  93.     GETD scratch,"CDS"
  94.     IF scratch="S" THEN
  95.       DOOR "Skritch"
  96.       REPORT "MailBox"
  97.       JUMP redraw
  98.     ENDIF
  99.     IF scratch="C" THEN
  100.       JUMP redraw
  101.     ENDIF
  102.     IF scratch="D" THEN
  103.       LOCATE 0,DLINES-1 STD CLL
  104.       BFG 1 PRINT "A" BFG 7 PRINT "ll messages / " BFG 1 PRINT "S"
  105.       BFG 7 PRINT "elected message / " BFG 1 PRINT "C" BFG 7
  106.       PRINT "ancel"
  107.       GETD allorselect,"CSA"
  108.       IF allorselect="S" THEN
  109.         LOCATE 0,23 STD CLL
  110.         READSCANNED y% TO itsme%
  111.         BFG 7 PRINT "Delete message #"+itsme%
  112.         PRINT ", are you sure? [y/" BFG 1 PRINT "N" BFG 7 PRINT"]"
  113.         GETD deletemsg,"NY"
  114.         IF deletemsg="Y" THEN
  115.           BFG 7 PRINT " OK... deleting..."
  116.           READSCANNED y% TO real%
  117.           CLEARSCANNED y%
  118.           DELETEMESSAGE real%
  119.           STD LOCATE 0,SCANNEDMESSAGES+1 CLL
  120.         ENDIF
  121.       ENDIF
  122.       IF allorselect="A" THEN
  123.         LOCATE 0,DLINES-1 STD CLL
  124.         BFG 7 PRINT "Delete all messages"
  125.         PRINT ", are you sure? [y/" BFG 1 PRINT "N" BFG 7 PRINT"]"
  126.         GETD deletemsg,"NY"
  127.         IF deletemsg="Y" THEN
  128.           REPEAT
  129.             READSCANNED 1 TO real%
  130.             CLEARSCANNED 1
  131.             DELETEMESSAGE real%
  132.             LOCATE 0,23 STD CLL PRINT "Deleting..."
  133.           UNTIL SCANNEDMESSAGES<1
  134.         ENDIF
  135.       ENDIF
  136.       JUMP redraw
  137.     ENDIF
  138.   ENDIF
  139.   IF response="" THEN
  140.     CLS
  141.     READSCANNED y% TO real%
  142.     READMESSAGE real%
  143.     LOADMESSAGE real%
  144.     STARTMORE
  145.     IF MESSAGETYPE=0 THEN
  146.       BATTR 7,4
  147.       BFG 6 PRINT "Area   : " BFG 3 PRINT MESSAGEAREANAME CLL NL
  148.       BFG 6 PRINT "Date   : " BFG 3 PRINT MESSAGEDATE CLL NL
  149.       BFG 6 PRINT "From   : " BFG 3 PRINT MESSAGEAUTHOR
  150.       PRINT " (#" PRINT MESSAGEAUTHORNUM PRINT ")" CLL NL
  151.       BFG 6 PRINT "To     : " BFG 3 PRINT MESSAGERECIPIENT
  152.       PRINT " (#" PRINT MESSAGERECIPIENTNUM PRINT ")" CLL NL
  153.       BFG 6 PRINT "Subject: " BFG 3 PRINT MESSAGESUBJECT CLL NL
  154.       STD
  155.     ENDIF
  156.     IF MESSAGETYPE=1 THEN
  157.       BATTR 7,4
  158.       BFG 6 PRINT "Type   : " BFG 3 PRINT "Netmail" CLL NL
  159.       BFG 6 PRINT "Area   : " BFG 3 PRINT MESSAGEAREANAME CLL NL
  160.       BFG 6 PRINT "Sender : " BFG 3 PRINT MESSAGEAUTHOR CLL NL
  161.       BFG 6 PRINT "Subject: " BFG 3 PRINT MESSAGESUBJECT CLL NL
  162.       STD
  163.     ENDIF
  164.     IF MESSAGETYPE=2 THEN
  165.       BATTR 7,4
  166.       READMAREA MESSAGEFROMAREA
  167.       BFG 6 PRINT "Type   : " BFG 3 PRINT "EchoMail" CLL NL
  168.       BFG 6 PRINT "Area   : " BFG 3 PRINT MESSAGEAREANAME CLL NL
  169.       BFG 6 PRINT "To     : " BFG 3 PRINT MESSAGERECIPIENT CLL NL
  170.       BFG 6 PRINT "From   : " BFG 3 PRINT MESSAGEAUTHOR
  171.       PRINT " at " PRINT MESSAGEFROM CLL NL
  172.       BFG 6 PRINT "Subject: " BFG 3 PRINT MESSAGESUBJECT CLL NL
  173.       STD
  174.     ENDIF
  175.     IF MESSAGETYPE=3 THEN
  176.       BATTR 7,4
  177.       BFG 6 PRINT "Type   : " BFG 3 PRINT "Local conference" CLL NL
  178.       BFG 6 PRINT "Area   : " BFG 3 PRINT MESSAGEAREANAME CLL NL
  179.       BFG 6 PRINT "To     : " BFG 3 PRINT MESSAGERECIPIENT
  180.       IF MESSAGERECIPIENT<>"All" THEN
  181.         PRINT " (#"+MESSAGERECIPIENTNUM+")"
  182.         CLL NL
  183.       ENDIF
  184.       BFG 6 PRINT "From   : " BFG 3 PRINT MESSAGEAUTHOR
  185.       PRINT " (#" PRINT MESSAGEAUTHORNUM PRINT ")" CLL NL
  186.       BFG 6 PRINT "Subject: " BFG 3 PRINT MESSAGESUBJECT CLL NL
  187.       STD
  188.     ENDIF
  189.     NL NL
  190.     BATTR 7,0
  191.     SHOWMESSAGE 1
  192.     NL
  193.     BATTR 6,4}R{BFG 7}eply or {BFG 6}RETURN{BFG 7} back to mailbox{
  194.     CLL STD
  195.     ENDMORE
  196.     GETR yourwish,"R"
  197.     IF yourwish="R" THEN
  198.       NL BFG 7
  199.       PRINT "Quote original message? [" BFG 1 PRINT "Y"
  200.       BFG 7 PRINT "/n] "
  201.       GETD replyto,"YN"
  202.       IF replyto="Y" THEN
  203.         BFG 1 PRINT "Yes"
  204.         QUOTEMESSAGE real%
  205.       ELSE
  206.         BFG 1 PRINT "No"
  207.         CLEARQUOTE
  208.       ENDIF
  209.       STD
  210.       CLS
  211.       WRITEMESSAGE 1,ok%
  212.       thesubject=MESSAGESUBJECT
  213.       LEFT temp,thesubject,3
  214.       IF temp<>"Re:" THEN
  215.         thesubject="Re:"+thesubject
  216.       ENDIF
  217.       IF ok% THEN
  218.         POSTMESSAGE MSGAREA,thesubject,USERNUMBER,MESSAGEAUTHORNUM
  219.       ENDIF
  220.     ENDIF
  221.     STD
  222.     CLS
  223.     JUMP redraw
  224.   ENDIF
  225.   IF response="I" THEN
  226.     REPEAT
  227.       LOCATE 0,DLINES-1 STD CLL
  228.       BFG 3 PRINT"D" BFG 7 PRINT"ownload this script - "
  229.       BFG 3 PRINT"H" BFG 7 PRINT"elp - "
  230.       BFG 3 PRINT"B" BFG 7 PRINT"ack to mailbox"
  231.       GETR replyinfo,"DHB"
  232.       IF replyinfo="D" THEN
  233.         LOCATE 0,DLINES-1 STD CLL
  234.         BFG 2 PRINT"Z"
  235.         BFG 7 PRINT"modem / "
  236.         BFG 2 PRINT"Y"
  237.         BFG 7 PRINT"modem / "
  238.         BFG 2 PRINT"B"
  239.         BFG 7 PRINT"Ymodem batch / "
  240.         BFG 2 PRINT"X"
  241.         BFG 7 PRINT"modem / "
  242.         BFG 2 PRINT"1"
  243.         BFG 7 PRINT"Xmodem 1K / "
  244.         BFG 2 PRINT"C"
  245.         BFG 7 PRINT"Xmodem CRC / "
  246.         BFG 2 PRINT"A"
  247.         BFG 7 PRINT"bort"
  248.         GETD dnfer,"AZYBX1C"
  249.         IF dnfer<>"A" THEN
  250.           LOCATE 0,DLINES-1 STD CLL
  251.           IF dnfer="Z" dnpro%=5
  252.           IF dnfer="B" dnpro%=4
  253.           IF dnfer="Y" dnpro%=3
  254.           IF dnfer="1" dnpro%=2
  255.           IF dnfer="C" dnpro%=1
  256.           IF dnfer="X" dnpro%=0
  257.           SENDFILE"<NewsFlash$BBS>Scripts.MailBox",dnpro%,"MailBox"
  258.         ENDIF
  259.       ENDIF
  260.       IF replyinfo="H" THEN
  261.         STD CLS BFG 3
  262.         PRINT"Welcome to MailBox by Alex Howarth" NL
  263.         PRINT"==================================" NL NL BFG 2
  264.         PRINT"This is constantly being improved"NL
  265.         PRINT"Please mail me with any suggestions you may have."NL
  266.         BFG 6 NL PRINT"Alex Howarth"NL NL
  267.         GOSUB anykey
  268.       ENDIF
  269.     UNTIL replyinfo="B"
  270.     JUMP redraw
  271.   ENDIF
  272.   IF y%>SCANNEDMESSAGES THEN y%=1
  273.   IF y%<1 THEN y%=SCANNEDMESSAGES
  274. UNTIL response="X"
  275. CLOSEMESSAGEBASE
  276. }