home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / LIST235.ZIP / LISTUTIL.WCX (.txt) < prev    next >
Wildcat! WCX  |  1995-06-02  |  15KB  |  867 lines

  1. '! Decompiled with wccNosy version 4.20f (freeware)
  2. '! Input File: in.wcx  15197 bytes  12/30/122  04:14:22pm
  3. '! Code Segment Size  :7750 bytes
  4. '! Data Segment Size  :5832 bytes
  5. '! String Segment Size:7447 bytes
  6. '! Compiled with WCC version 4.10
  7.  
  8.       Type Type27
  9.         Filler0(1 To 4) As Byte
  10.         w4 As Word
  11.       End Type
  12.  
  13.       Type Type26
  14.         s0 As String*70
  15.         s70 As String*8
  16.         i78 As Integer
  17.         i80 As Integer
  18.         s82 As String*1
  19.         s83 As String*1
  20.       End Type
  21.  
  22.       Dim b4463(1 To 70) As Byte
  23.       Dim i4533 As Integer
  24.       Dim s4535 As String*70
  25.       Dim t26_4605 As Type26
  26.       Dim s5425 As String
  27.       Dim s5429 As String
  28.       Dim i5433 As Integer
  29.       Dim i5435 As Integer
  30.       Dim i5437 As Integer
  31.       Dim i5439 As Integer
  32.       Dim mh5441 As MessageHeader
  33.       Dim s5761 As String*20
  34.       Dim s5781 As String*15
  35.       Dim s5796 As String*15
  36.       Dim s5811 As String*15
  37.       Dim w5826 As Word
  38.       Dim i5828 As Integer
  39.       Dim i5830 As Integer
  40.  
  41.       Dim l65518_ As Long
  42.       Dim i65522_ As Integer
  43.       Dim s65524_ As String
  44.       Dim i65528_ As Integer
  45.       Dim i65530_ As Integer
  46.       Dim s65532_ As String
  47.  
  48.       Cls 
  49.       Print "@0F@Listserv Sysop Utility v2.35 (06/02/95) - by Pete Nelson"
  50.       Print "Terminal One BBS (510) 689-9528"
  51.       Print "Author: pete@terminal-one.com"
  52.       Print
  53.       If Exists("listserv.key") Then
  54.         Open "listserv.key" For Random As 1 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  55.         Get 1, 1, b4463 '! 70 bytes
  56.         Print "@0E@Registered to@07@:@0A@ ";
  57.   148   For i4533 = 1 To 70 Step 1
  58.           Print Chr(b4463(i4533) - 120);
  59.         Next
  60.   262   Locate 7, 19
  61.         Print "@0F@|";
  62.         Delay 0.001
  63.         Locate 7, 19
  64.         Print "@0C@T@0F@\";
  65.         Delay 0.001
  66.         Locate 7, 20
  67.         Print "@0C@h@0F@-";
  68.         Delay 0.001
  69.         Locate 7, 21
  70.         Print "@0C@a@0F@/";
  71.         Delay 0.001
  72.         Locate 7, 22
  73.         Print "@0C@n@0F@|";
  74.         Delay 0.001
  75.         Locate 7, 23
  76.         Print "@0C@k@0F@\";
  77.         Delay 0.001
  78.         Locate 7, 24
  79.         Print "@0C@s@0F@-";
  80.         Delay 0.001
  81.         Locate 7, 25
  82.         Print "@0C@ @0F@/";
  83.         Delay 0.001
  84.         Locate 7, 26
  85.         Print "@0C@f@0F@|";
  86.         Delay 0.001
  87.         Locate 7, 27
  88.         Print "@0C@o@0F@\";
  89.         Delay 0.001
  90.         Locate 7, 28
  91.         Print "@0C@r@0F@-";
  92.         Delay 0.001
  93.         Locate 7, 29
  94.         Print "@0C@ @0F@/";
  95.         Delay 0.001
  96.         Locate 7, 30
  97.         Print "@0C@s@0F@|";
  98.         Delay 0.001
  99.         Locate 7, 31
  100.         Print "@0C@u@0F@\";
  101.         Delay 0.001
  102.         Locate 7, 32
  103.         Print "@0C@p@0F@-";
  104.         Delay 0.001
  105.         Locate 7, 33
  106.         Print "@0C@p@0F@/";
  107.         Delay 0.001
  108.         Locate 7, 34
  109.         Print "@0C@o@0F@|";
  110.         Delay 0.001
  111.         Locate 7, 35
  112.         Print "@0C@r@0F@\";
  113.         Delay 0.001
  114.         Locate 7, 36
  115.         Print "@0C@t@0F@-";
  116.         Delay 0.001
  117.         Locate 7, 37
  118.         Print "@0C@i@0F@/";
  119.         Delay 0.001
  120.         Locate 7, 38
  121.         Print "@0C@n@0F@|";
  122.         Delay 0.001
  123.         Locate 7, 39
  124.         Print "@0C@g@0F@\";
  125.         Delay 0.001
  126.         Locate 7, 40
  127.         Print "@0C@ @0F@-";
  128.         Delay 0.001
  129.         Locate 7, 41
  130.         Print "@0C@L@0F@/";
  131.         Delay 0.001
  132.         Locate 7, 42
  133.         Print "@0C@i@0F@|";
  134.         Delay 0.001
  135.         Locate 7, 43
  136.         Print "@0C@s@0F@\";
  137.         Delay 0.001
  138.         Locate 7, 44
  139.         Print "@0C@t@0F@-";
  140.         Delay 0.001
  141.         Locate 7, 45
  142.         Print "@0C@s@0F@/";
  143.         Delay 0.001
  144.         Locate 7, 46
  145.         Print "@0C@e@0F@|";
  146.         Delay 0.001
  147.         Locate 7, 47
  148.         Print "@0C@r@0F@\";
  149.         Delay 0.001
  150.         Locate 7, 48
  151.         Print "@0C@v@0F@-";
  152.         Delay 0.001
  153.         Locate 7, 49
  154.         Print "@0C@!@0F@ ";
  155.         Delay 0.001
  156.         Locate 7, 50
  157.         Print
  158.         Print
  159.         Close 1
  160.       End If
  161.  1046 WaitEnter 
  162.       w5826 = 200
  163.       Do
  164.         Do
  165.           Do
  166.             Do
  167.               Do
  168.                 Do
  169.                   Do
  170.                     Do
  171.                       Do
  172.                         Do
  173.                           Do
  174.                             Do
  175.                               Do
  176.                                 Do
  177.                                   Do
  178.                                     Do
  179.                                       Do
  180.                                         Do
  181.                                           Do
  182.                                             Do
  183.                                               Do
  184.                                                 Do
  185.                                                   Do
  186.                                                     Do
  187.                                                       Do
  188.                                                         Do
  189.                                                           Do
  190.  1056                                                       Reset 
  191.                                                             Cls 
  192.                                                             Print
  193.                                                             Print "  @0B@Listserv Sysop Utility v2.35"
  194.                                                             Print
  195.                                                             Print "  @09@[@0F@C@09@] @0E@- @0A@Create a new Mailing List"
  196.                                                             If Exists("listserv.dat") Then
  197.                                                               Print "  @09@[@0F@R@09@] @0E@- @0A@Remove a Mailing List"
  198.                                                               Print "  @09@[@0F@V@09@] @0E@- @0A@View your Mailing Lists"
  199.                                                               Print "  @09@[@0F@L@09@] @0E@- @0A@List/Search Subscribers for a Mailing List"
  200.                                                               Print "  @09@[@0F@D@09@] @0E@- @0A@Drop a Subscriber from a Mailing List"
  201.                                                               Print "  @09@[@0F@A@09@] @0E@- @0A@Add a Subscriber to a Mailing List"
  202.                                                               Print "  @09@[@0F@P@09@] @0E@- @0A@Change the high message pointer in LISTSERV.PTR"
  203.                                                               Print "  @09@[@0F@M@09@] @0E@- @0A@Moderate your lists - View/Delete unprocessed messages"
  204.                                                               Print "  @09@[@0F@B@09@] @0E@- @0A@Rebuild a Mailing List Data File"
  205.                                                             End If
  206.  1170                                                       Print "  @09@[@0F@E@09@] @0E@- @0A@E-Mail the Author"
  207.                                                             Print "  @09@[@0F@Q@09@] @0E@- @0A@Quit"
  208.                                                             Print
  209.                                                             Print "  @0B@Choice@07@:@0F@ ";
  210.                                                             s5425 = ""
  211.                                                             Do
  212.  1208                                                         s5425 = UCase(InKey(1213417543))
  213.                                                             Loop Until s5425 > ""
  214.                                                             Print "@0D@"; s5425
  215.                                                             s65532_ = s5425
  216.                                                             If s65532_ = "C" Then
  217.                                                               GoTo 1588
  218.                                                               GoTo 1588
  219.                                                             End If
  220.  1292                                                       If s65532_ = "R" Then
  221.                                                               GoTo 2597
  222.                                                               GoTo 1588
  223.                                                             End If
  224.  1321                                                       If s65532_ = "V" Then
  225.                                                               GoTo 2930
  226.                                                               GoTo 1588
  227.                                                             End If
  228.  1350                                                       If s65532_ = "A" Then
  229.                                                               GoTo 3358
  230.                                                               GoTo 1588
  231.                                                             End If
  232.  1379                                                       If s65532_ = "D" Then
  233.                                                               GoTo 3924
  234.                                                               GoTo 1588
  235.                                                             End If
  236.  1408                                                       If s65532_ = "L" Then
  237.                                                               GoTo 4875
  238.                                                               GoTo 1588
  239.                                                             End If
  240.  1437                                                       If s65532_ = "P" Then
  241.                                                               GoTo 4657
  242.                                                               GoTo 1588
  243.                                                             End If
  244.  1466                                                       If s65532_ = "M" Then
  245.                                                               GoTo 5811
  246.                                                               GoTo 1588
  247.                                                             End If
  248.  1495                                                       If s65532_ = "B" Then
  249.                                                               GoTo 6879
  250.                                                               GoTo 1588
  251.                                                             End If
  252.  1524                                                       If s65532_ = "E" Then
  253.                                                               GoTo 7383
  254.                                                               GoTo 1588
  255.                                                             End If
  256.  1553                                                       If s65532_ = "Q" Then
  257.                                                               GoTo 7723
  258.                                                               GoTo 1588
  259.                                                             End If
  260.  1582                                                     Loop
  261.  1588                                                     Cls 
  262.                                                           Print "@0A@Enter the mailing list address of your new list, minus the domain name."
  263.                                                           Print "@0A@Example: WILDCAT-L, NEW-LIST, etc  @03@[@0F@ENTER@03@]@0A@ to abort)"
  264.                                                           t26_4605.s0 = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  265.                                                           If (t26_4605.s0 = "") = 0 Then GoTo 1663
  266.                                                         Loop
  267.  1663                                                   Print
  268.                                                         Print "@0A@Enter the name of the datafile you will use.  A filename such as"
  269.                                                         Print "@0A@ALIENS-L would use the ALIENS-L.DAT, ALIENS-L.ADD, ALIENS-L.DRP, etc,"
  270.                                                         Print "@0A@for the mailing list operations."
  271.                                                         Print "@0B@Filename@07@: "; DefColor;
  272.                                                         t26_4605.s70 = InputMask("", "XXXXXXXX", "", 1213417543)
  273.                                                         If (t26_4605.s70 = "") = 0 Then GoTo 1768
  274.                                                       Loop
  275.  1768                                                 Print
  276.                                                       Print "@0B@Choose the type of list you wish to run@07@:"
  277.                                                       Print
  278.                                                       Print "@09@[@0F@1@09@] @07@-@0E@ Automatic subscription requests, non-subscribers can post"
  279.                                                       Print "@09@[@0F@2@09@] @07@-@0E@ Automatic subscription requests, only subscribers can post"
  280.                                                       Print "@09@[@0F@3@09@] @07@-@0E@ Must e-mail host to subscribe, non-subscibers can post"
  281.                                                       Print "@09@[@0F@4@09@] @07@-@0E@ Must e-mail host to subscribe, only subscribers can post"
  282.                                                       Print "@09@[@0F@5@09@] @07@-@0E@ Automatic subscription requests, must be authorized to post"
  283.                                                       Print "@09@[@0F@6@09@] @07@-@0E@ Must e-mail host to subscribe, must be authorized to post"
  284.                                                       Print
  285.                                                       Print "@03@(@0C@NOTE@03@) @0E@All unsubscription requests will still be handled automatically."
  286.                                                       Print
  287.                                                       Print "@0A@Mailing List Type@07@: "; DefColor;
  288.                                                       t26_4605.i78 = InputNumber("", 1, 6)
  289.                                                       Print
  290.                                                       Print "@0A@Number of archived messages to store on disk@07@: "; DefColor;
  291.                                                       t26_4605.i80 = InputNumber("", 0, 999)
  292.                                                       Print
  293.                                                       Print "@0A@Can non-subscribers requests archived messages? "; DefColor;
  294.                                                       t26_4605.s82 = ""
  295.                                                       Do
  296.  1951                                                   t26_4605.s82 = UCase(InputMask("", "X", "Y", 1213417543))
  297.                                                       Loop Until t26_4605.s82 = "Y" Or t26_4605.s82 = "N"
  298.                                                       Print
  299.                                                       Print "@0A@Should Listserv send a confirmation reply when a message gets posted? "; DefColor;
  300.                                                       t26_4605.s83 = ""
  301.                                                       Do
  302.  2060                                                   t26_4605.s83 = UCase(InputMask("", "X", "Y", 1213417543))
  303.                                                       Loop Until t26_4605.s83 = "Y" Or t26_4605.s83 = "N"
  304.                                                       t26_4605.s0 = UCase(t26_4605.s0)
  305.                                                       t26_4605.s70 = UCase(t26_4605.s70)
  306.                                                       Cls 
  307.                                                       Print "@0A@List Name @07@:@0F@ "; t26_4605.s0
  308.                                                       Print "@0A@List Files@07@:@0F@ "; t26_4605.s70
  309.                                                       Print "@0A@List Type @07@:@0F@ ";
  310.                                                       i65530_ = t26_4605.i78
  311.                                                       If i65530_ = 1 Then
  312.                                                         Print "Automatic subscription requests, non-subscribers can post"
  313.                                                       Else
  314.  2270                                                   If i65530_ = 2 Then
  315.                                                           Print "Automatic subscription requests, only subscribers can post"
  316.                                                         Else
  317.  2300                                                     If i65530_ = 3 Then
  318.                                                             Print "Must e-mail host to subscribe, non-subscibers can post"
  319.                                                           Else
  320.  2330                                                       If i65530_ = 4 Then
  321.                                                               Print "Must e-mail host to subscribe, only subscribers can post"
  322.                                                             Else
  323.  2360                                                         If i65530_ = 5 Then
  324.                                                                 Print "Automatic subscription requests, must be authorized to post"
  325.                                                               Else
  326.  2390                                                           If i65530_ = 6 Then
  327.                                                                   Print "Must e-mail host to subscribe, must be authorized to post"
  328.                                                                   GoTo 2420
  329.                                                                 End If
  330.                                                               End If
  331.                                                             End If
  332.                                                           End If
  333.                                                         End If
  334.                                                       End If
  335.  2420                                                 Print "@0B@Allow Non-Subscribers to retrieve archived messages@07@:@0F@ "; t26_4605.s82
  336.                                                       Print "@0B@Listserv sends confirmation replys@07@: @0F@"; t26_4605.s83
  337.                                                       Print "@0B@Number of archived messages to store@07@:@0F@ "; t26_4605.i80
  338.                                                       Print
  339.                                                       Print "@0A@Is this correct? "; DefColor;
  340.                                                       If InputYesNo("", -1) Then
  341.                                                         Reset 
  342.                                                         Open "listserv.dat" For Random As 1 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  343.                                                         Put 1, LOF(1) + 1, t26_4605 '! 84 bytes
  344.                                                         Close 1
  345.                                                         Print
  346.                                                         Print "@0A@Saving @0F@"; t26_4605.s0; "@0A@ ..."
  347.                                                         WaitEnter 
  348.                                                       End If
  349.  2591                                               Loop
  350.  2597                                               Cls 
  351.                                                     Print "@0A@Enter the name of the mailing list you wish to remove@07@:"
  352.                                                     s5429 = ""
  353.                                                     s5429 = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  354.                                                     If (s5429 = "") = 0 Then GoTo 2668
  355.                                                   Loop
  356.  2668                                             s5429 = UCase(s5429)
  357.                                                   Reset 
  358.                                                   Open "listserv.dat" For Random As 1 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  359.                                                   i5435 = 1
  360.                                                   Do
  361.  2709                                               Get 1, i5435, t26_4605 '! 84 bytes
  362.                                                     i5433 = 0
  363.                                                     i5433 = InStr(t26_4605.s0, s5429)
  364.                                                     If i5433 > 0 Then
  365.                                                       Print
  366.                                                       Print "@0C@Remove mailing list @0F@"; t26_4605.s0; "@0C@ ? "; DefColor;
  367.                                                       If InputYesNo("", 0) Then
  368.                                                         Print "@0C@Are you SURE!? ";
  369.                                                         If InputYesNo("", 0) Then
  370.                                                           t26_4605.s0 = " "
  371.                                                           t26_4605.s70 = " "
  372.                                                           Put 1, i5435, t26_4605 '! 84 bytes
  373.                                                           Close 1
  374.                                                           Print
  375.                                                           Print "@0C@Mailing list removed..."
  376.                                                           Print
  377.                                                           WaitEnter 
  378.                                                           GoTo 1056
  379.                                                         End If
  380.                                                       End If
  381.                                                     End If
  382.  2900                                               Inc i5435
  383.                                                   Loop Until i5435 > LOF(1)
  384.                                                 Loop
  385.  2930                                           Cls 
  386.                                                 Reset 
  387.                                                 Open "listserv.dat" For Random As 1 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  388.                                                 i5435 = 1
  389.                                                 Do
  390.  2963                                             Get 1, i5435, t26_4605 '! 84 bytes
  391.                                                   If t26_4605.s0 <> " " Then
  392.                                                     Delay 0.001
  393.                                                     Print "@0F@"; t26_4605.s0; " @0A@using data files of @0E@"; t26_4605.s70
  394.                                                     Print "@0B@";
  395.                                                     i65528_ = t26_4605.i78
  396.                                                     If i65528_ = 1 Then
  397.                                                       Print "Automatic subscription requests, non-subscribers can post"
  398.                                                     Else
  399.  3094                                                 If i65528_ = 2 Then
  400.                                                         Print "Automatic subscription requests, only subscribers can post"
  401.                                                       Else
  402.  3124                                                   If i65528_ = 3 Then
  403.                                                           Print "Must e-mail host to subscribe, non-subscibers can post"
  404.                                                         Else
  405.  3154                                                     If i65528_ = 4 Then
  406.                                                             Print "Must e-mail host to subscribe, only subscribers can post"
  407.                                                           Else
  408.  3184                                                       If i65528_ = 5 Then
  409.                                                               Print "Automatic subscription requests, must be authorized to post"
  410.                                                             Else
  411.  3214                                                         If i65528_ = 6 Then
  412.                                                                 Print "Must e-mail host to subscribe, must be authorized to post"
  413.                                                                 GoTo 3244
  414.                                                               End If
  415.                                                             End If
  416.                                                           End If
  417.                                                         End If
  418.                                                       End If
  419.                                                     End If
  420.  3244                                               Print "@0B@Allow Non-Subscribers to retrieve Archived Messages@07@:@0F@ "; t26_4605.s82
  421.                                                     Print "@0B@Listserv sends confirmation replys@07@: @0F@"; t26_4605.s83
  422.                                                     Print "@0B@Number of Archived Messages to Store@07@:@0F@ "; t26_4605.i80
  423.                                                     Print
  424.                                                     If DisplayStopped Then
  425.                                                       GoTo 1056
  426.                                                     End If
  427.                                                   End If
  428.  3323                                             Inc i5435
  429.                                                 Loop Until i5435 > LOF(1)
  430.                                                 Print
  431.                                                 WaitEnter 
  432.                                               Loop
  433.  3358                                         Cls 
  434.                                               Print "@0A@Which mailing list to you want to add to?"
  435.                                               s5429 = ""
  436.                                               s5429 = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  437.                                               If (s5429 = "") = 0 Then GoTo 3429
  438.                                             Loop
  439.  3429                                       s5429 = UCase(s5429)
  440.                                             Reset 
  441.                                             Open "listserv.dat" For Random As 1 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  442.                                             i5435 = 1
  443.                                             Do
  444.  3470                                         Get 1, i5435, t26_4605 '! 84 bytes
  445.  3485                                         Do While t26_4605.s0 = " "
  446.                                                 Inc i5435
  447.                                                 If i5435 > LOF(1) Then
  448.                                                   GoTo 1056
  449.                                                 End If
  450.  3534                                           Get 1, i5435, t26_4605 '! 84 bytes
  451.                                               Loop
  452.  3555                                         i5433 = 0
  453.                                               i5433 = InStr(t26_4605.s0, s5429)
  454.                                               If i5433 > 0 Then
  455.                                                 Print
  456.                                                 Print "@0A@Add to @0F@"; t26_4605.s0; "@0A@ ? "; DefColor;
  457.                                                 If InputYesNo("", -1) Then
  458.                                                   Cls 
  459.                                                   Print "@0A@Enter name/e-mail address to add to the mailing list:"
  460.                                                   s4535 = ""
  461.                                                   s4535 = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  462.                                                   s4535 = UCase(s4535)
  463.                                                   If s4535 = "" Then
  464.                                                     Cls 
  465.                                                     GoTo 1056
  466.                                                   End If
  467.  3736                                             Cls 
  468.                                                   Print "@0F@"; s4535
  469.                                                   Print
  470.                                                   Print "@0A@Is this correct? "; DefColor;
  471.                                                   If InputYesNo("", -1) Then
  472.                                                     Reset 
  473.                                                     Open t26_4605.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  474.                                                     Put 2, LOF(2) + 1, s4535 '! 70 bytes
  475.                                                     Close 2
  476.                                                     Print
  477.                                                     Print "@0F@"; s4535; " @0A@has been added."
  478.                                                     Print
  479.                                                     WaitEnter 
  480.                                                     Cls 
  481.                                                     GoTo 1056
  482.                                                   End If
  483.  3888                                             GoTo 1056
  484.                                                 End If
  485.                                               End If
  486.  3894                                         Inc i5435
  487.                                             Loop Until i5435 > LOF(1)
  488.                                           Loop
  489.  3924                                     Cls 
  490.                                           Print "@0A@Drop subscriber from which mailing list?"
  491.                                           s5429 = ""
  492.                                           s5429 = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  493.                                           If (s5429 = "") = 0 Then GoTo 3995
  494.                                         Loop
  495.  3995                                   s5429 = UCase(s5429)
  496.                                         Reset 
  497.                                         Open "listserv.dat" For Random As 1 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  498.                                         i5435 = 1
  499.                                         Do
  500.  4036                                     Get 1, i5435, t26_4605 '! 84 bytes
  501.  4051                                     Do While t26_4605.s0 = " "
  502.                                             Inc i5435
  503.                                             If i5435 > LOF(1) Then
  504.                                               GoTo 1056
  505.                                             End If
  506.  4100                                       Get 1, i5435, t26_4605 '! 84 bytes
  507.                                           Loop
  508.  4121                                     i5433 = 0
  509.                                           i5433 = InStr(t26_4605.s0, s5429)
  510.                                           If i5433 > 0 Then
  511.                                             Print
  512.                                             Print "@0A@Drop from @0F@"; t26_4605.s0; "@0A@ ? "; DefColor;
  513.                                             If InputYesNo("", 0) Then
  514.                                               GoTo 4270
  515.                                             End If
  516.                                           End If
  517.  4211                                     Inc i5435
  518.                                         Loop Until i5435 > LOF(1)
  519.                                         Print
  520.                                         Print "@0C@No lists matching @0F@"; s5429; "@0C@."
  521.                                         Print
  522.                                         WaitEnter 
  523.                                       Loop
  524.  4270                                 Close 1
  525.                                       Print
  526.                                       Print "@0A@Who do you want to drop from @0F@"; t26_4605.s0; "@0A@ ? "; DefColor
  527.                                       s5429 = ""
  528.                                       s5429 = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  529.                                       If (s5429 = "") = 0 Then GoTo 4365
  530.                                     Loop
  531.  4365                               s5429 = UCase(s5429)
  532.                                     Reset 
  533.                                     Open t26_4605.s70 + ".dat" For Random As 1 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  534.                                     i5435 = 1
  535.                                     Do
  536.  4418                                 Get 1, i5435, s4535 '! 70 bytes
  537.                                       i5433 = 0
  538.                                       i5433 = InStr(s4535, s5429)
  539.                                       If i5433 > 0 Then
  540.                                         Print
  541.                                         Print "@0C@Remove @0F@"; s4535; " @0C@? "; DefColor;
  542.                                         If InputYesNo("", 0) Then
  543.                                           s5429 = s4535
  544.                                           s4535 = " "
  545.                                           Put 1, i5435, s4535 '! 70 bytes
  546.                                           Print
  547.                                           Print
  548.                                           Print "@0F@"; s5429; "@0C@ has been removed from @0F@"; t26_4605.s0
  549.                                           Print
  550.                                           WaitEnter 
  551.                                           GoTo 1056
  552.                                         End If
  553.                                       End If
  554.  4598                                 Inc i5435
  555.                                     Loop Until i5435 > LOF(1)
  556.                                     Print
  557.                                     Print "@0C@No addresses matching @0F@"; s5429; "@0C@."
  558.                                     Print
  559.                                     WaitEnter 
  560.                                   Loop
  561.  4657                             Cls 
  562.                                   Print "@0A@This will let you change the high message pointer in LISTSERV.PTR.  Be"
  563.                                   Print "careful when running this, as changing the high message pointer may cause"
  564.                                   Print "Listserv to send out previously sent messages!"
  565.                                   Print
  566.                                   s5429 = ""
  567.                                   Print "@0A@Enter new high message, @03@[@0F@ENTER@03@]@0A@ to abort@07@: "; DefColor;
  568.                                   s5429 = InputMask("", "XXXXXXXXX", "", 1213417543)
  569.                                   If (s5429 = "") = 0 Then GoTo 4762
  570.                                 Loop
  571.  4762                           Print
  572.                                 Print "@0C@Are you sure you want to reset the high message pointer to@0F@ "; s5429; "@0C@ ? "; DefColor;
  573.                                 If InputYesNo("", 0) Then
  574.                                   Open "listserv.ptr" For Output As 5
  575.                                   Print #5, s5429
  576.                                   Close 5
  577.                                   Print
  578.                                   Print "@0B@High message pointer reset to @0F@"; s5429; "@0B@."
  579.                                   Print
  580.                                   WaitEnter 
  581.                                 End If
  582.  4869                         Loop
  583.  4875                         Cls 
  584.                               Print "@0A@List/Search which mailing list?"
  585.                               s5429 = ""
  586.                               s5429 = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  587.                               If (s5429 = "") = 0 Then GoTo 4946
  588.                             Loop
  589.  4946                       s5429 = UCase(s5429)
  590.                             Reset 
  591.                             Open "listserv.dat" For Random As 1 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  592.                             i5435 = 1
  593.                             Do
  594.  4987                         Get 1, i5435, t26_4605 '! 84 bytes
  595.                               i5433 = 0
  596.                               i5433 = InStr(t26_4605.s0, s5429)
  597.                               If i5433 > 0 Then
  598.                                 Print
  599.                                 Print "@0A@List subscribers for @0F@"; t26_4605.s0; "@0A@ ? "; DefColor;
  600.                                 If InputYesNo("", -1) Then
  601.                                   GoTo 5124
  602.                                 End If
  603.                               End If
  604.  5094                         Inc i5435
  605.                             Loop Until i5435 > LOF(1)
  606.                           Loop
  607.  5124                     s5425 = ""
  608.                           Do
  609.  5133                       Print
  610.                             Print "@09@[@0F@L@09@]@0A@ist all Subscribers or @09@[@0F@S@09@]@0A@earch Subscribers@07@: "; DefColor;
  611.                             s5425 = InputMask("", "X", "L", 1213417543)
  612.                             s5425 = UCase(s5425)
  613.                             If s5425 = "S" Then
  614.                               GoTo 5431
  615.                             End If
  616.  5210                     Loop Until s5425 = "L"
  617.                           Cls 
  618.                           Close 1
  619.                           Reset 
  620.                           Open t26_4605.s70 + ".dat" For Random As 1 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  621.                           i5435 = 1
  622.                           i5830 = 0
  623.                           Do
  624.  5283                       Get 1, i5435, s4535 '! 70 bytes
  625.                             If s4535 <> " " Then
  626.                               Inc i5830
  627.                               Delay 0.001
  628.                               Print "@0D@"; t26_4605.s0; "   @0F@"; s4535
  629.                               If DisplayStopped Then
  630.                                 GoTo 1056
  631.                               End If
  632.                             End If
  633.  5378                       Inc i5435
  634.                           Loop Until i5435 > LOF(1)
  635.                           Print
  636.                           Print "@0A@Total Subscribers@07@: @0B@"; i5830
  637.                           Print
  638.                           WaitEnter 
  639.                         Loop
  640.  5431                   Print
  641.                         Print "@0A@Full or partial name to search by?"
  642.                         s5429 = ""
  643.                         s5429 = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  644.                         If (s5429 = "") = 0 Then GoTo 5501
  645.                       Loop
  646.  5501                 s5429 = UCase(s5429)
  647.                       Reset 
  648.                       Open t26_4605.s70 + ".dat" For Random As 1 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  649.                       i5435 = 1
  650.                       Print
  651.                       i5830 = 0
  652.                       Cls 
  653.                       Do
  654.  5565                   Get 1, i5435, s4535 '! 70 bytes
  655.  5580                   Do While t26_4605.s0 = " "
  656.                           Inc i5435
  657.                           If i5435 > LOF(1) Then
  658.                             GoTo 1056
  659.                           End If
  660.  5629                     Get 1, i5435, s4535 '! 70 bytes
  661.                         Loop
  662.  5650                   i5433 = 0
  663.                         i5433 = InStr(s4535, s5429)
  664.                         If i5433 > 0 Then
  665.                           Inc i5830
  666.                           Print "@0D@"; t26_4605.s0; "  @0F@"; s4535
  667.                           Delay 0.001
  668.                         End If
  669.  5734                   Inc i5435
  670.                       Loop Until i5435 > LOF(1)
  671.                       Print
  672.                       Print "@0A@Total Matches@07@:@0B@ "; i5830
  673.                       Print
  674.                       Print "@0C@No more matches on @0F@"; s5429; "@0C@."
  675.                       Print
  676.                       WaitEnter 
  677.                     Loop
  678.  5811               Cls 
  679.                     Reset 
  680.                     Open "listserv.cfg" For Input As 1
  681.                     Input #1, i5437
  682.                     Close 1
  683.                     i5439 = Conference.Number
  684.                     Join i5437
  685.                     Open "listserv.ptr" For Input As 1
  686.                     Input #1, i5437
  687.                     Close 1
  688.                     Print "Checking for messages..."
  689.                     Delay 0.001
  690.                     mh5441.Number = i5437
  691.                     Open "listserv.dat" For Random As 3 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  692.  5957               If (Not GetNextMessage(mh5441)) = 0 Then GoTo 6001
  693.                     Print
  694.                     Print "@0F@No more messages found."
  695.                     Print
  696.                     WaitEnter 
  697.                     Join i5439
  698.                   Loop
  699.  6001             i5435 = 1
  700.                   Do
  701.                     Do
  702.  6008                 Get 3, i5435, t26_4605 '! 84 bytes
  703.                       If i5435 > LOF(3) Then
  704.                         GoTo 5957
  705.                       End If
  706.  6047                 If (t26_4605.s0 = " ") = 0 Then GoTo 6078
  707.                       Inc i5435
  708.                     Loop
  709.                     Do
  710.                       Do
  711.                         Do
  712.                           Do
  713.  6078                       If DisplayStopped Then
  714.                               GoTo 1056
  715.                             End If
  716.  6093                       If (UCase(mh5441.To) = UCase(t26_4605.s0) Or UCase(mh5441.To) = "LISTSERV") = 0 Then GoTo 6859
  717.                             If (mh5441.Flags And 512) <> 0 Then
  718.                               GoTo 5957
  719.                             End If
  720.  6175                       Cls 
  721.                             GetMessageText(mh5441.Number, "listmdrt.tmp")
  722.                             s5781 = Pad(mh5441.To, 15)
  723.                             s5761 = Pad(mh5441.From, 20)
  724.                             s5796 = Pad(mh5441.Subject, 15)
  725.                             s5811 = Pad(Str(mh5441.Number), 7)
  726.                             Print "  @0A@Msg #@07@:@0F@ "; mh5441.Number
  727.                             Print "   @0A@From@07@:@0F@ "; mh5441.From
  728.                             Print "     @0A@To@07@:@0F@ "; mh5441.To
  729.                             Print "@0A@Subject@07@:@0F@ "; mh5441.Subject
  730.                             Print "@0D@[-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-]@0E@"
  731.                             DisplayTextFile("listmdrt.tmp")
  732.                             Print
  733.                             If DisplayStopped Then
  734.                               Print "";
  735.                             End If
  736.  6403                       Print "@09@[@0F@Y@09@]@0A@ Next Message, @09@[@0F@D@09@]@0A@elete Message, @09@[@0F@E@09@]@0A@dit Message or Su@09@[@0F@B@09@]@0A@ject, @09@[@0F@Q@09@]@0A@uit@07@: "; DefColor;
  737.                             s5425 = InputMask("", "X", "Y", 1213417543)
  738.                             s65524_ = UCase(s5425)
  739.                             If s65524_ = "Y" Then
  740.                               Print "@0D@Checking for messages..."
  741.                               Delay 0.001
  742.                               GoTo 5957
  743.                               GoTo 6859
  744.                             End If
  745.  6501                       If (s65524_ = "D") = 0 Then GoTo 6610
  746.                             Print
  747.                             Print "@0A@Delete this message - @0C@Are you sure? "; DefColor;
  748.                             If InputYesNo("", 0) Then
  749.                               FlagSet mh5441.Flags, 512
  750.                               UpdateMessage(mh5441, "")
  751.                               Print "@0C@Message Deleted! @0D@Getting next message..."
  752.                               Delay 1
  753.                               GoTo 5957
  754.                             End If
  755.  6598                     Loop
  756.                           GoTo 6859
  757.  6610                     If (s65524_ = "E") = 0 Then GoTo 6671
  758.                           If EditMessage(mh5441, "listmdrt.tmp", 1024) Then
  759.                             UpdateMessage(mh5441, "listmdrt.tmp")
  760.                           End If
  761.  6659                   Loop
  762.                         GoTo 6859
  763.  6671                   If (s65524_ = "B") = 0 Then GoTo 6816
  764.                         s5796 = mh5441.Subject
  765.                         Print
  766.                         Print "@0A@New Subject@07@ "; DefColor;
  767.                         mh5441.Subject = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  768.                         If mh5441.Subject = "" Then
  769.                           mh5441.Subject = s5796
  770.                         End If
  771.  6792                   UpdateMessage(mh5441, "listmdrt.tmp")
  772.                       Loop
  773.                       GoTo 6859
  774.  6816                 If s65524_ = "Q" Then
  775.                         Join i5439
  776.                         GoTo 1056
  777.                         GoTo 6859
  778.                       End If
  779.  6853               Loop
  780.  6859               Inc i5435
  781.                     Delay 0.001
  782.                   Loop
  783.  6879             i5435 = 1
  784.                   Cls 
  785.                   Print "@0A@Which mailing list do you wish to rebuild?"; DefColor
  786.                   s5429 = InputMask("", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "", 1213417543)
  787.                   If (s5429 = "") = 0 Then GoTo 6953
  788.                 Loop
  789.  6953           Open "listserv.dat" For Random As 1 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  790.                 Do
  791.  6973             Get 1, i5435, t26_4605 '! 84 bytes
  792.                   If t26_4605.s0 <> " " Then
  793.                     If InStr(UCase(t26_4605.s0), UCase(s5429)) > 0 Then
  794.                       Print
  795.                       Print "@0A@Rebuild @0F@"; t26_4605.s0; "@0A@? "; DefColor;
  796.                       If InputYesNo("", -1) Then
  797.                         GoTo 7138
  798.                       End If
  799.                     End If
  800.                   End If
  801.  7089             Inc i5435
  802.                 Loop Until i5435 > LOF(1)
  803.                 Print
  804.                 Print "@0C@No more matches."
  805.                 Delay 2
  806.               Loop
  807.  7138         Reset 
  808.               i5435 = 1
  809.               i5828 = 1
  810.               Open t26_4605.s70 + ".dat" For Random As 1 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  811.               Open "lstutl.tmp" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  812.               Print "@0C@Processing mailing list - Please wait..."
  813.               Delay 0.001
  814.               Do
  815.  7224           Get 1, i5435, s4535 '! 70 bytes
  816.                 If s4535 <> " " Then
  817.                   s4535 = Trim(s4535)
  818.                   Put 2, i5828, s4535 '! 70 bytes
  819.                   Inc i5828
  820.                 End If
  821.  7294           Inc i5435
  822.               Loop Until i5435 > LOF(1)
  823.               Reset 
  824.               CopyFile("lstutl.tmp", t26_4605.s70 + ".dat")
  825.               Kill "listmdrt.tmp"
  826.               Kill "lstutl.tmp"
  827.               Print "@0F@All done!"
  828.               Print
  829.               WaitEnter 
  830.             Loop
  831.  7383       Cls 
  832.             Print "@0A@Have a problem or suggestion for Listserv?  I'll do the best I can to help"
  833.             Print "@0A@you out or include your suggestions in a future version!"
  834.             Print
  835.             Print "@0C@-@0F@Pete Nelson"
  836.             Print
  837.             Print "E-Mail the author for support? "; DefColor;
  838.             If (Not InputYesNo("", -1)) = 0 Then GoTo 7456
  839.           Loop
  840.  7456     If (Not Exists("listserv.cfg")) = 0 Then GoTo 7490
  841.           Print "@0C@You need to create a LISTSERV.CFG first."
  842.           WaitEnter 
  843.         Loop
  844.  7490   Open "listserv.cfg" For Input As 1
  845.         Input #1, i5437
  846.         Close 1
  847.         i5439 = Conference.Number
  848.         Join i5437
  849.         mh5441.To = "pete.nelson@terminal-one.com"
  850.         mh5441.From = User.Name
  851.         mh5441.Subject = "Comment on Listserv"
  852.         mh5441.Flags = 3
  853.         mh5441.Network = ""
  854.         If EditMessage(mh5441, "mailauth.srv", 1213417543) Then
  855.           AddMessage(mh5441, "mailauth.srv", "", 1213417543)
  856.           Print
  857.           Print "@0A@Message @07@#@0D@"; mh5441.Number; "@0A@ saved..."
  858.           Print
  859.           WaitEnter 
  860.         End If
  861.  7701   Join i5439
  862.         Kill "mailauth.srv"
  863.       Loop
  864.  7723 Reset 
  865.       Print
  866.       Print
  867.