home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PWAULTP3.ZIP / PWAPRGMS.A02 / PWA95 / PWAPCP01.ZIP / BMAIL11 / MAILUU.PPX < prev   
Text File  |  1995-09-03  |  14KB  |  421 lines

  1. ;------------------------------------------------------------------------------
  2. ; PPLX 1.3O                              (C)1995 - Lone Runner / AEGiS CoRP'95
  3. ;------------------------------------------------------------------------------
  4. ; PPE 2.OO (plain) - Analysis OFF
  5. ;------------------------------------------------------------------------------
  6.  
  7.     Integer  INTEGER001
  8.     Integer  INTEGER002
  9.     Integer  INTEGER003
  10.     Integer  INTEGER004
  11.     Integer  INTEGER005
  12.     Integer  INTEGER006
  13.     String   STRING001
  14.     String   STRING002
  15.     String   STRING003
  16.     String   STRING004
  17.     String   STRING005
  18.     String   STRING006
  19.     String   STRING007
  20.     String   STRING008
  21.     String   STRING009
  22.     String   STRING010
  23.     String   STRING011
  24.     String   STRING012
  25.     String   STRING013
  26.     String   STRING014
  27.     String   STRING015
  28.     String   TABLESTRING016(100)
  29.     String   STRING017
  30.     String   STRING018
  31.     String   STRING019
  32.     String   STRING020
  33.     String   STRING021
  34.     String   STRING022
  35.     String   STRING023
  36.     String   STRING024
  37.     String   STRING025
  38.     String   STRING026
  39.     String   STRING027
  40.     String   TABLESTRING028(8)
  41.     String   STRING029
  42.     String   TABLESTRING030(8)
  43.     String   STRING031
  44.  
  45. ;------------------------------------------------------------------------------
  46.  
  47.     FDefIn 7
  48.     GetUser
  49.     U_FSE = 1
  50.     U_FSEP = 0
  51.     PutUser
  52.     STRING001 = "1.00"
  53.     STRING022 = Chr(And(212, 127)) + Chr(And(232, 127)) + Chr(And(233, 127)) + Chr(And(243, 127)) + Chr(And(160, 127)) + Chr(And(243, 127))
  54.     STRING023 = Chr(And(239, 127)) + Chr(And(230, 127)) + Chr(And(244, 127)) + Chr(And(247, 127)) + Chr(And(225, 127)) + Chr(And(242, 127))
  55.     STRING024 = Chr(And(229, 127)) + Chr(And(160, 127)) + Chr(And(233, 127)) + Chr(And(243, 127)) + Chr(And(160, 127)) + Chr(And(213, 127))
  56.     STRING025 = Chr(And(206, 127)) + Chr(And(210, 127)) + Chr(And(197, 127)) + Chr(And(199, 127)) + Chr(And(201, 127)) + Chr(And(211, 127))
  57.     STRING026 = Chr(And(212, 127)) + Chr(And(197, 127)) + Chr(And(210, 127)) + Chr(And(197, 127)) + Chr(And(196, 127)) + Chr(And(161, 127))
  58.     STRING027 = STRING022 + STRING023 + STRING024 + STRING025 + STRING026
  59.     INTEGER003 = PcbNode()
  60.     INTEGER001 = 0
  61.     FOpen 1, PpePath() + "MAILUU.CFG", 0, 0
  62.     FGet 1, STRING007
  63.     FGet 1, STRING010
  64.     FGet 1, STRING011
  65.     FGet 1, STRING005
  66.     FGet 1, STRING008
  67.     FGet 1, STRING012
  68.     FGet 1, STRING013
  69.     FGet 1, STRING014
  70.     If (!Ferr(1)) Goto LABEL000
  71.     Goto LABEL001
  72. :LABEL000
  73.     FClose 1
  74.     If (!(CurSec() < STRING013)) Goto LABEL002
  75.     Cls
  76.     PrintLn
  77.     PrintLn
  78.     PrintLn "     You do not have high enough security to use NETMAIL"
  79.     Delay 36
  80.     End
  81. :LABEL002
  82.     If (!(Len(Strip(STRING010, " ") + Strip(STRING011, " ")) < 8)) Goto LABEL003
  83.     Goto LABEL004
  84. :LABEL003
  85.     STRING029 = ""
  86.     INTEGER005 = 1
  87. :LABEL006
  88.     If (!(((1 < 0) && (INTEGER005 >= 4)) || ((1 >= 0) && (INTEGER005 <= 4)))) Goto LABEL005
  89.     TABLESTRING028(INTEGER005) = Mid(Strip(STRING010, " "), Len(STRING010) - INTEGER005 + 1, 1) + Mid(Strip(STRING011, " "), Len(STRING011) - INTEGER005 + 1, 1)
  90.     STRING029 = STRING029 + TABLESTRING028(INTEGER005)
  91.     INTEGER005 = INTEGER005 + 1
  92.     Goto LABEL006
  93. :LABEL005
  94.     TABLESTRING030(1) = Asc(Mid(STRING029, 1, 1)) % 6
  95.     TABLESTRING030(2) = Asc(Mid(STRING029, 2, 1)) % 7
  96.     TABLESTRING030(3) = Asc(Mid(STRING029, 3, 1)) % 8
  97.     TABLESTRING030(4) = Asc(Mid(STRING029, 4, 1)) % 9
  98.     TABLESTRING030(5) = Asc(Mid(STRING029, 5, 1)) % 7
  99.     TABLESTRING030(6) = Asc(Mid(STRING029, 6, 1)) % 5
  100.     TABLESTRING030(7) = Asc(Mid(STRING029, 7, 1)) % 9
  101.     TABLESTRING030(8) = Asc(Mid(STRING029, 8, 1)) % 4
  102.     STRING029 = ""
  103.     INTEGER005 = 1
  104. :LABEL008
  105.     If (!(((1 < 0) && (INTEGER005 >= 8)) || ((1 >= 0) && (INTEGER005 <= 8)))) Goto LABEL007
  106.     STRING029 = STRING029 + TABLESTRING030(INTEGER005)
  107.     INTEGER005 = INTEGER005 + 1
  108.     Goto LABEL008
  109. :LABEL007
  110.     If (!(STRING029 <> STRING012)) Goto LABEL009
  111.     STRING031 = "Y"
  112.     Goto LABEL010
  113. :LABEL009
  114.     STRING031 = "N"
  115. :LABEL010
  116.     Join STRING014
  117.     If (!(Upper(STRING008) <> "NONE")) Goto LABEL011
  118.     If (!(Right(STRING008, 1) <> "\")) Goto LABEL012
  119.     STRING008 = STRING008 + "\"
  120. :LABEL012
  121.     If (!(Mid(STRING008, 2, 2) <> ":\")) Goto LABEL011
  122.     Goto LABEL013
  123. :LABEL011
  124.     Cls
  125.     DispFile STRING007, 1
  126.     If (!(STRING031 == "Y")) Goto LABEL014
  127.     Goto LABEL014
  128. :LABEL014
  129.     PrintLn "@X1FBaseMail v" + STRING001 + Space(55 - Len(STRING001) - Len(STRING011)) + "Registered to " + STRING011
  130. :LABEL015
  131. :LABEL016
  132.     If (!(Upper(STRING008) <> "NONE")) Goto LABEL017
  133.     InputStr "Choose option 1, 2 or 3: ", INTEGER002, 14, 1, "123", 128 + 64
  134.     Goto LABEL018
  135. :LABEL017
  136.     InputStr "Choose option 1 or 2: ", INTEGER002, 14, 1, "12", 128 + 64
  137. :LABEL018
  138.     Cls
  139. :LABEL050
  140.     If (!(INTEGER002 == 1)) Goto LABEL019
  141.     PrintLn
  142.     Input "Type in person's name, or hit Enter to abort:", STRING002
  143.     If (!(Len(STRING002) <= 1)) Goto LABEL020
  144.     Goto LABEL011
  145. :LABEL020
  146.     If (!(Len(Trim(STRING002, " ")) < 4)) Goto LABEL021
  147.     Goto LABEL022
  148. :LABEL021
  149.     PrintLn
  150.     Input "Subject: ", STRING003
  151.     If (!(Len(Trim(STRING003, " ")) < 1)) Goto LABEL023
  152.     Goto LABEL022
  153. :LABEL023
  154.     PrintLn
  155.     If (!(INTEGER001 <> 1)) Goto LABEL024
  156.     Input "Fido Address (example 1:330/205)", STRING004
  157.     Goto LABEL025
  158. :LABEL024
  159.     INTEGER001 = 0
  160. :LABEL025
  161.     If (!(Len(Trim(STRING004, " ")) < 5)) Goto LABEL026
  162.     Goto LABEL022
  163. :LABEL026
  164.     PrintLn
  165.     KbdStuff "E" + Chr(13) + STRING002 + Chr(13)
  166.     KbdStuff STRING003 + Chr(13)
  167.     KbdStuff "(" + STRING004 + ")" + Chr(13)
  168.     KbdStuff "(HOLD)"
  169.     KbdStuff Chr(13) + Chr(13)
  170.     KbdStuff "BaseMail v1.0" + Chr(13)
  171.     KbdStuff Chr(13) + Chr(13)
  172.     Goto LABEL027
  173. :LABEL019
  174.     If (!(INTEGER002 == 2)) Goto LABEL028
  175.     PrintLn "Enter FULL Internet Address (example: steve.keith@swcbbs.com)"
  176.     Input Chr(13), STRING006
  177.     PrintLn Chr(13)
  178.     If (!(Len(Trim(STRING006, " ")) < 7)) Goto LABEL029
  179.     Goto LABEL022
  180. :LABEL029
  181.     PrintLn "Enter the SUBJECT on the next line"
  182.     Input Chr(13), STRING003
  183.     PrintLn
  184.     KbdStuff "E" + Chr(13) + "UUCP" + Chr(13)
  185.     KbdStuff STRING003 + Chr(13)
  186.     KbdStuff "(" + STRING005 + ")"
  187.     KbdStuff Chr(13)
  188.     KbdStuff "To: " + STRING006
  189.     KbdStuff Chr(13) + Chr(13)
  190.     KbdStuff "BaseMail v1.0" + Chr(13)
  191.     Goto LABEL027
  192. :LABEL028
  193.     If (!(INTEGER002 == 3)) Goto LABEL030
  194.     INTEGER005 = 0
  195.     StartDisp 1
  196.     Input "Enter Sysop's LAST name, or address to search for", STRING009
  197.     PrintLn
  198.     Input "How many matches do you want? (Max/Default = 100)", STRING015
  199.     If (!((STRING015 == 0) || (STRING015 > 100))) Goto LABEL031
  200.     STRING015 = 100
  201. :LABEL031
  202.     FCreate 2, PpePath() + "NLS" + String(INTEGER003) + ".BAT", 2, 3
  203.     If (!Ferr(2)) Goto LABEL032
  204.     Goto LABEL033
  205. :LABEL032
  206.     FPutLn 2, "@ECHO OFF"
  207.     FPutLn 2, Left(STRING008, 3)
  208.     FPutLn 2, "CD " + Left(STRING008, Len(STRING008) - 1)
  209.     FPutLn 2, "QFRONT /MAX:" + STRING015 + " /SEARCH:" + STRING009 + " /NODE:" + String(INTEGER003)
  210.     FPutLn 2, "IF EXIST QSRCH" + String(INTEGER003) + ".DAT GOTO END"
  211.     FPutLn 2, "REM>QSRCH" + String(INTEGER003) + ".DAT"
  212.     FPutLn 2, "ECHO NO MATCHES! > QSRCH" + String(INTEGER003) + ".DAT"
  213.     FPutLn 2, ":END"
  214.     If (!Ferr(2)) Goto LABEL034
  215.     Goto LABEL033
  216. :LABEL034
  217.     FClose 2
  218.     Shell 1, INTEGER004, PpePath() + "NLS" + String(INTEGER003) + ".BAT", STRING009
  219.     FOpen 7, STRING008 + "QSRCH" + String(INTEGER003) + ".DAT", 0, 3
  220.     FDefIn 7
  221. :LABEL048
  222.     If (Ferr(7)) Goto LABEL035
  223.     Inc INTEGER005
  224.     If (!(INTEGER005 < 10)) Goto LABEL036
  225.     STRING021 = "  "
  226.     Goto LABEL037
  227. :LABEL036
  228.     If (!(INTEGER005 < 100)) Goto LABEL038
  229.     STRING021 = " "
  230.     Goto LABEL037
  231. :LABEL038
  232.     STRING021 = ""
  233. :LABEL037
  234.     FDGet TABLESTRING016(INTEGER005)
  235.     If (!(Strip(TABLESTRING016(INTEGER005), " ") == "NOMATCHES!")) Goto LABEL039
  236.     Cls
  237.     PrintLn
  238.     PrintLn
  239.     PrintLn "The specified string could not be found"
  240.     PrintLn
  241.     PrintLn
  242.     More
  243.     Goto LABEL035
  244. :LABEL039
  245.     If (!Ferr(7)) Goto LABEL040
  246.     INTEGER005 = INTEGER005 - 1
  247.     If (!(INTEGER005 % 4 == 0)) Goto LABEL041
  248.     Goto LABEL035
  249.     Goto LABEL040
  250. :LABEL041
  251.     Input "Choose a number: ", INTEGER006
  252.     If (!(INTEGER006 > INTEGER005)) Goto LABEL042
  253.     Goto LABEL041
  254.     Goto LABEL040
  255. :LABEL042
  256.     If (!(INTEGER006 < 1)) Goto LABEL043
  257.     Goto LABEL035
  258.     Goto LABEL040
  259. :LABEL043
  260.     STRING004 = Trim(TABLESTRING016(INTEGER006), " ")
  261.     INTEGER001 = 1
  262.     Goto LABEL035
  263. :LABEL040
  264.     FDGet STRING017
  265.     FDGet STRING018
  266.     FDGet STRING019
  267.     FDGet STRING020
  268.     TABLESTRING016(INTEGER005) = Left(TABLESTRING016(INTEGER005), 12)
  269.     STRING017 = Left(STRING017, 30)
  270.     STRING018 = Left(STRING018, 30)
  271.     STRING019 = Left(STRING019, 30)
  272.     STRING020 = Left(STRING020, 30)
  273.     PrintLn
  274.     PrintLn "@X09[" + STRING021 + String(INTEGER005) + "]  -  @X0A" + TABLESTRING016(INTEGER005) + " @X0E" + STRING020
  275.     PrintLn "                     @X09Name: " + STRING017
  276.     PrintLn "                     @X09City: " + STRING018
  277.     PrintLn "                     @X09System: " + STRING019
  278.     PrintLn "_________________________________________________________"
  279.     If (!(INTEGER005 % 4 == 0)) Goto LABEL044
  280. :LABEL046
  281.     Input "Choose a number: ", INTEGER006
  282.     If (!(INTEGER006 > INTEGER005)) Goto LABEL045
  283.     Goto LABEL046
  284.     Goto LABEL044
  285. :LABEL045
  286.     If (!(INTEGER006 < 1)) Goto LABEL047
  287.     Cls
  288.     PrintLn
  289.     PrintLn "@X09[" + STRING021 + String(INTEGER005) + "]  -  @X0A" + TABLESTRING016(INTEGER005) + " @X0E" + STRING020
  290.     PrintLn "                     @X09Name: " + STRING017
  291.     PrintLn "                     @X09City: " + STRING018
  292.     PrintLn "                     @X09System: " + STRING019
  293.     PrintLn "_________________________________________________________"
  294.     Goto LABEL044
  295. :LABEL047
  296.     STRING004 = Trim(TABLESTRING016(INTEGER006), " ")
  297.     INTEGER001 = 1
  298.     Goto LABEL035
  299. :LABEL044
  300.     Goto LABEL048
  301. :LABEL035
  302.     FClose 7
  303.     Cls
  304.     Delete PpePath() + "NLS" + String(INTEGER003) + ".BAT"
  305.     INTEGER002 = 1
  306.     If (!(INTEGER001 == 1)) Goto LABEL049
  307.     Goto LABEL050
  308.     Goto LABEL051
  309. :LABEL049
  310.     Goto LABEL011
  311. :LABEL051
  312.     Goto LABEL027
  313. :LABEL030
  314.     If (!(INTEGER002 < 1)) Goto LABEL052
  315.     End
  316.     Goto LABEL027
  317. :LABEL052
  318.     Goto LABEL011
  319. :LABEL027
  320.     Goto LABEL053
  321. :LABEL001
  322.     PrintLn
  323.     PrintLn "Error reading CFG file"
  324.     PrintLn
  325.     Goto LABEL053
  326. :LABEL022
  327.     PrintLn Chr(13)
  328.     PrintLn "Input appears to be too short" + Chr(13)
  329.     Goto LABEL053
  330. :LABEL013
  331.     PrintLn Chr(13)
  332.     PrintLn "ERROR IN CFG FILE"
  333.     Goto LABEL053
  334. :LABEL033
  335.     PrintLn Chr(13)
  336.     PrintLn "ERROR OPENING OR CREATING FILE"
  337.     Goto LABEL053
  338. :LABEL004
  339.     PrintLn Chr(13)
  340.     PrintLn "ERROR: BBSNAME AND USERNAME IN CFG ARE TOO SHORT"
  341.     PrintLn "Must be greater than 8 characters total"
  342. :LABEL053
  343.  
  344. ;------------------------------------------------------------------------------
  345. ;
  346. ; Statements used :
  347. ;
  348. ;    2       End
  349. ;    6       Cls
  350. ;    1       More
  351. ;    81      Goto
  352. ;    48      Let
  353. ;    47      PrintLn
  354. ;    37      If
  355. ;    1       DispFile
  356. ;    9       Input
  357. ;    1       FCreate
  358. ;    2       FOpen
  359. ;    3       FClose
  360. ;    8       FGet
  361. ;    8       FPutLn
  362. ;    1       StartDisp
  363. ;    1       GetUser
  364. ;    1       PutUser
  365. ;    1       Delete
  366. ;    2       InputStr
  367. ;    2       Delay
  368. ;    1       Inc
  369. ;    1       Shell
  370. ;    14      KbdStuff
  371. ;    1       Join
  372. ;    2       FDefIn
  373. ;    5       FDGet
  374. ;
  375. ;
  376. ; Functions used :
  377. ;
  378. ;    10      %
  379. ;    111     +
  380. ;    6       -
  381. ;    10      ==
  382. ;    6       <>
  383. ;    13      <
  384. ;    3       <=
  385. ;    3       >
  386. ;    4       >=
  387. ;    37      !
  388. ;    4       &&
  389. ;    3       ||
  390. ;    11      Len(
  391. ;    2       Upper()
  392. ;    11      Mid()
  393. ;    7       Left()
  394. ;    1       Right()
  395. ;    1       Space()
  396. ;    5       Ferr()
  397. ;    54      Chr()
  398. ;    8       Asc()
  399. ;    6       Trim()
  400. ;    5       Strip()
  401. ;    10      String()
  402. ;    4       PpePath()
  403. ;    1       PcbNode()
  404. ;    1       CurSec()
  405. ;    30      And()
  406. ;
  407. ;-----------------------------------------------------------------------------;
  408. ; (C)1995 AEGiS CoRP       - Main Code by Lone Runner -      Parts by The doC ;
  409. ;-----------------------------------------------------------------------------;
  410. ;        ___________      _______________________        _____________        ;
  411. ;[=======\          \====/          /           /_____  /            /=======];
  412. ; ::::::::\  ______  \::/  \_____  /  _______  /______)/  \_______  /:::::::: ;
  413. ; ::kL!:::_\/    _/   \/   ___)__\/   \      \/        \_________ \/::::::::: ;
  414. ; ::::::::\     __     \_  \      \_   \_     \_        \_      /  \_:::::::: ;
  415. ;[=========\_____/______/__________/___________/_________/__________/========];
  416. ;                                                                             ;
  417. ;                      C          O          R          P                     ;
  418. ;-----------------------------------------------------------------------------;
  419. ;                        Dedicated to pure anarchists all around the world... ;
  420. ;-----------------------------------------------------------------------------;
  421.