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

  1. '! Decompiled with wccNosy version 4.20f (freeware)
  2. '! Input File: in.wcx  14615 bytes  12/30/122  04:14:24pm
  3. '! Code Segment Size  :9938 bytes
  4. '! Data Segment Size  :6406 bytes
  5. '! String Segment Size:4677 bytes
  6. '! Compiled with WCC version 4.10
  7.  
  8.       Type Type27
  9.         s0 As String*70
  10.         s70 As String*8
  11.         i78 As Integer
  12.         i80 As Integer
  13.         s82 As String*1
  14.         s83 As String*1
  15.       End Type
  16.  
  17.       Type Type26
  18.         Filler0(1 To 4) As Byte
  19.         w4 As Word
  20.       End Type
  21.  
  22.       Dim b4463(1 To 70) As Byte
  23.       Dim i4533 As Integer
  24.       Dim l4535 As Long
  25.       Dim l4539 As Long
  26.       Dim s4543 As String
  27.       Dim s4547 As String
  28.       Dim s4551 As String
  29.       Dim i4555 As Integer
  30.       Dim mh5223 As MessageHeader
  31.       Dim s5543 As String*70
  32.       Dim t27_5613 As Type27
  33.       Dim l5705 As Long
  34.       Dim l5709 As Long
  35.       Dim i5713 As Integer
  36.       Dim s5715 As String
  37.       Dim s5719 As String
  38.       Dim i5723 As Integer
  39.       Dim i5725 As Integer
  40.       Dim i5727 As Integer
  41.       Dim i5729 As Integer
  42.       Dim i5731 As Integer
  43.       Dim i5733 As Integer
  44.       Dim d5735 As Date
  45.       Dim t5737 As Time
  46.       Dim i5741 As Integer
  47.       Dim i5743 As Integer
  48.       Dim s5745 As String
  49.       Dim s5749 As String*1
  50.       Dim ur5750 As UserRecord
  51.       Dim i6400 As Integer
  52.       Dim s6402 As String
  53.  
  54.       Dim l65518_ As Long
  55.       Dim i65522_ As Integer
  56.       Dim l65524_ As Long
  57.       Dim i65528_ As Integer
  58.       Dim l65530_ As Long
  59.       Dim i65534_ As Integer
  60.  
  61.       Cls 
  62.       Print "@0F@Listserv "; "v2.35"; " (06/02/95) - by Pete Nelson"
  63.       Print "Terminal One BBS (510) 689-9528"
  64.       Print "Author: pete@terminal-one.com"
  65.       Print
  66.       If Exists("listserv.key") Then
  67.         Open "listserv.key" For Random As 1 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  68.         Get 1, 1, b4463 '! 70 bytes
  69.         Print "@0E@Registered to@07@:@0A@ ";
  70.   162   For i4533 = 1 To 70 Step 1
  71.           Print Chr(b4463(i4533) - 120);
  72.         Next
  73.   276   Locate 7, 19
  74.         Print "@0F@|";
  75.         Delay 0.001
  76.         Locate 7, 19
  77.         Print "@0C@T@0F@\";
  78.         Delay 0.001
  79.         Locate 7, 20
  80.         Print "@0C@h@0F@-";
  81.         Delay 0.001
  82.         Locate 7, 21
  83.         Print "@0C@a@0F@/";
  84.         Delay 0.001
  85.         Locate 7, 22
  86.         Print "@0C@n@0F@|";
  87.         Delay 0.001
  88.         Locate 7, 23
  89.         Print "@0C@k@0F@\";
  90.         Delay 0.001
  91.         Locate 7, 24
  92.         Print "@0C@s@0F@-";
  93.         Delay 0.001
  94.         Locate 7, 25
  95.         Print "@0C@ @0F@/";
  96.         Delay 0.001
  97.         Locate 7, 26
  98.         Print "@0C@f@0F@|";
  99.         Delay 0.001
  100.         Locate 7, 27
  101.         Print "@0C@o@0F@\";
  102.         Delay 0.001
  103.         Locate 7, 28
  104.         Print "@0C@r@0F@-";
  105.         Delay 0.001
  106.         Locate 7, 29
  107.         Print "@0C@ @0F@/";
  108.         Delay 0.001
  109.         Locate 7, 30
  110.         Print "@0C@s@0F@|";
  111.         Delay 0.001
  112.         Locate 7, 31
  113.         Print "@0C@u@0F@\";
  114.         Delay 0.001
  115.         Locate 7, 32
  116.         Print "@0C@p@0F@-";
  117.         Delay 0.001
  118.         Locate 7, 33
  119.         Print "@0C@p@0F@/";
  120.         Delay 0.001
  121.         Locate 7, 34
  122.         Print "@0C@o@0F@|";
  123.         Delay 0.001
  124.         Locate 7, 35
  125.         Print "@0C@r@0F@\";
  126.         Delay 0.001
  127.         Locate 7, 36
  128.         Print "@0C@t@0F@-";
  129.         Delay 0.001
  130.         Locate 7, 37
  131.         Print "@0C@i@0F@/";
  132.         Delay 0.001
  133.         Locate 7, 38
  134.         Print "@0C@n@0F@|";
  135.         Delay 0.001
  136.         Locate 7, 39
  137.         Print "@0C@g@0F@\";
  138.         Delay 0.001
  139.         Locate 7, 40
  140.         Print "@0C@ @0F@-";
  141.         Delay 0.001
  142.         Locate 7, 41
  143.         Print "@0C@L@0F@/";
  144.         Delay 0.001
  145.         Locate 7, 42
  146.         Print "@0C@i@0F@|";
  147.         Delay 0.001
  148.         Locate 7, 43
  149.         Print "@0C@s@0F@\";
  150.         Delay 0.001
  151.         Locate 7, 44
  152.         Print "@0C@t@0F@-";
  153.         Delay 0.001
  154.         Locate 7, 45
  155.         Print "@0C@s@0F@/";
  156.         Delay 0.001
  157.         Locate 7, 46
  158.         Print "@0C@e@0F@|";
  159.         Delay 0.001
  160.         Locate 7, 47
  161.         Print "@0C@r@0F@\";
  162.         Delay 0.001
  163.         Locate 7, 48
  164.         Print "@0C@v@0F@-";
  165.         Delay 0.001
  166.         Locate 7, 49
  167.         Print "@0C@!@0F@ ";
  168.         Delay 0.001
  169.         Locate 7, 50
  170.         Print
  171.         Print
  172.         Close 1
  173.       End If
  174.  1060 Delay 1
  175.       i5723 = 0
  176.       i5725 = 0
  177.       i5727 = 0
  178.       i5729 = 0
  179.       i5731 = 0
  180.       i5733 = 0
  181.       i5743 = 0
  182.       CurrentDate d5735
  183.       CurrentTime t5737
  184.       Open "listserv.log" For Append As 9
  185.       Print #9, "* Listserv started on "; FormatDate(d5735, "mm/dd/yy"); " at "; FormatTime(t5737, "hh:mm:ss te"); " *"
  186.       Close 9
  187.       MorePrompt(0)
  188.       If Not Exists("listserv.cfg") Then
  189.         Print
  190.         Print "@0C@You need to create the LISTSERV.CFG file first!"
  191.         Print
  192.       Else
  193.  1237   Open "listserv.cfg" For Input As 1
  194.         Input #1, l4535
  195.         Reset 
  196.         i4555 = Conference.Number
  197.         Join l4535
  198.         If Not Exists("listserv.dat") Then
  199.           Print
  200.           Print "@0C@You need to run Listutil to create a list of your mailing lists."
  201.         Else
  202.  1324     Open "listserv.ptr" For Input As 1
  203.           Input #1, l4535
  204.           Reset 
  205.           mh5223.Number = l4535
  206.           Do
  207.  1369       Reset 
  208.             If Not GetNextMessage(mh5223) Then
  209.               GoTo 9526
  210.             End If
  211.  1392       l5705 = 1
  212.             l5709 = 1
  213.             s4543 = mh5223.Subject
  214.             l4539 = mh5223.Number
  215.             mh5223.Subject = UCase(mh5223.Subject)
  216.             mh5223.To = UCase(mh5223.To)
  217.             Do
  218.  1480         Reset 
  219.               If mh5223.To = "LISTSERV" Then
  220.                 If (mh5223.Flags And 512) <> 0 Then
  221.                   Delay 0.001
  222.                   Print "@0C@Skipping message to @0F@LISTSERV@0C@ flagged as deleted @0B@(@07@#@0E@"; mh5223.Number; "@0B@)@0C@..."
  223.                   GoTo 1369
  224.                 End If
  225.  1571           GoSub 7922
  226.               End If
  227.  1577         Open "listserv.dat" For Random As 1 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  228.               Get 1, l5705, t27_5613 '! 84 bytes
  229.               If mh5223.To = t27_5613.s0 Then
  230.                 If Exists("listserv.skp") Then
  231.                   i6400 = FreeFile
  232.                   Open "listserv.skp" For Input As i6400
  233.                   Do
  234.  1681               Input #i6400, s6402
  235.                     If UCase(mh5223.From) = Trim(UCase(s6402)) Then
  236.                       Print "@0C@Skipping message from @0F@"; mh5223.From
  237.                       Delay 0.001
  238.                       GoTo 1369
  239.                     End If
  240.  1757             Loop Until EOF(i6400)
  241.                   Close i6400
  242.                 End If
  243.  1779           If (mh5223.Flags And 512) <> 0 Then
  244.                   Delay 0.001
  245.                   Print "@0C@Skipping message to @0F@"; t27_5613.s0; "@0C@ flagged as deleted @0B@(@07@#@0E@"; mh5223.Number; "@0B@)@0C@..."
  246.                   Inc i5727
  247.                   GoTo 1369
  248.                 End If
  249.  1865           If mh5223.Subject = "SUB" Or mh5223.Subject = "SUBSCRIBE" Then
  250.                   If t27_5613.i78 = 1 Or t27_5613.i78 = 2 Or t27_5613.i78 = 5 Then
  251.                     l5709 = 1
  252.                     Open t27_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  253.                     Do
  254.  1995                 Get 2, l5709, s5543 '! 70 bytes
  255.                       If s5543 = mh5223.From Then
  256.                         Delay 0.001
  257.                         Print "@0F@"; s5543; "@0A@ is already subsribed to@0B@ "; t27_5613.s0; "@0A@."
  258.                         GoTo 1369
  259.                       End If
  260.  2087                 Inc l5709
  261.                     Loop Until l5709 > LOF(2)
  262.                     Close 2
  263.                     s5543 = mh5223.From
  264.                     Open t27_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  265.                     Put 2, LOF(2) + 1, s5543 '! 70 bytes
  266.                     Close 2
  267.                     Delay 0.001
  268.                     Print "@0A@Subscribed@0F@ "; mh5223.From; "@0A@ to@0B@ "; t27_5613.s0; "@0A@."
  269.                     Inc i5729
  270.                     If Exists(t27_5613.s70 + ".add") Then
  271.                       Delay 0.001
  272.                       Print "@0D@Sending a thank you response...@0A@"
  273.                       Inc i5725
  274.                       Open "listtmpa.tmp" For Append As 2
  275.                       Open t27_5613.s70 + ".add" For Input As 3
  276.                       Do
  277.  2346                   Input #3, s4551
  278.                         Print #2, s4551
  279.                       Loop Until EOF(3)
  280.                       Print #2, ""
  281.                       Print #2, "-----"
  282.                       Print #2, "Processed with Listserv "; "v2.35"
  283.                       Close 3
  284.                       Close 2
  285.                       mh5223.To = mh5223.From
  286.                       mh5223.From = t27_5613.s0
  287.                       mh5223.Subject = "Thanks for Subscribing!"
  288.                       mh5223.Flags = 3
  289.                       mh5223.Network = ""
  290.                       GetUser(ur5750, mh5223.To)
  291.                       mh5223.ToId = ur5750.UserId
  292.                       GetUser(ur5750, mh5223.From)
  293.                       mh5223.FromId = ur5750.UserId
  294.                       AddMessage(mh5223, "listtmpa.tmp", "", 1213417543)
  295.                       mh5223.Number = l4539
  296.                       Open "listserv.log" For Append As 9
  297.                       Print #9, "     "; t27_5613.s0; ": sent 1 message"
  298.                       Close 9
  299.                       Kill "listtmpa.tmp"
  300.                     End If
  301.  2662               GoTo 1369
  302.                   End If
  303.  2668             Print "@0F@"; mh5223.From; " @0C@tried to subscribed to closed list@0B@ "; t27_5613.s0
  304.                   Inc i5733
  305.                   If Exists(t27_5613.s70 + ".cls") Then
  306.                     Print "@0C@Sending them a notification message..."
  307.                     Inc i5725
  308.                     Delay 0.001
  309.                     Open "listtmpa.tmp" For Append As 2
  310.                     Open t27_5613.s70 + ".cls" For Input As 3
  311.                     Do
  312.  2811                 Input #3, s4551
  313.                       Print #2, s4551
  314.                     Loop Until EOF(3)
  315.                     Print #2, ""
  316.                     Print #2, "-----"
  317.                     Print #2, "Processed with Listserv "; "v2.35"
  318.                     Close 3
  319.                     Close 2
  320.                     mh5223.To = mh5223.From
  321.                     mh5223.From = t27_5613.s0
  322.                     mh5223.Subject = "Your subscription request"
  323.                     mh5223.Flags = 3
  324.                     mh5223.Network = ""
  325.                     GetUser(ur5750, mh5223.To)
  326.                     mh5223.ToId = ur5750.UserId
  327.                     GetUser(ur5750, mh5223.From)
  328.                     mh5223.FromId = ur5750.UserId
  329.                     AddMessage(mh5223, "listtmpa.tmp", "", 1213417543)
  330.                     Open "listserv.log" For Append As 9
  331.                     Print #9, "     "; t27_5613.s0; ": sent 1 message"
  332.                     Close 9
  333.                     mh5223.Number = l4539
  334.                     Kill "listtmpa.tmp"
  335.                   End If
  336.  3127             GoTo 1369
  337.                 End If
  338.  3133           If mh5223.Subject = "UNSUBSCRIBE" Or mh5223.Subject = "UNSUB" Then
  339.                   Open t27_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  340.                   s5543 = " "
  341.                   l5709 = 1
  342.                   Do
  343.  3225               Get 2, l5709, s5543 '! 70 bytes
  344.                     s5543 = UCase(s5543)
  345.                     If s5543 = mh5223.From Then
  346.                       s5543 = " "
  347.                       Put 2, l5709, s5543 '! 70 bytes
  348.                       GoTo 3335
  349.                     End If
  350.  3311               Inc l5709
  351.                   Loop Until l5709 > LOF(2)
  352.  3335             Close 2
  353.                   Delay 0.001
  354.                   Print "@0C@Unsubscribed@0F@ "; mh5223.From; "@0C@ from @0B@"; t27_5613.s0; "@0C@."
  355.                   Inc i5731
  356.                   If Exists(t27_5613.s70 + ".drp") Then
  357.                     Delay 0.001
  358.                     Print "@0D@Sending an unsubscription message..."
  359.                     Inc i5725
  360.                     Open "listtmpu.tmp" For Append As 2
  361.                     Open t27_5613.s70 + ".drp" For Input As 3
  362.                     Do
  363.  3498                 Input #3, s4551
  364.                       Print #2, s4551
  365.                     Loop Until EOF(3)
  366.                     Print #2, ""
  367.                     Print #2, "-----"
  368.                     Print #2, "Processed with Listserv "; "v2.35"
  369.                     Close 2
  370.                     Close 3
  371.                     mh5223.To = mh5223.From
  372.                     mh5223.From = t27_5613.s0
  373.                     mh5223.Subject = "Unsubscription Request"
  374.                     mh5223.Flags = 3
  375.                     mh5223.Network = ""
  376.                     GetUser(ur5750, mh5223.To)
  377.                     mh5223.ToId = ur5750.UserId
  378.                     GetUser(ur5750, mh5223.From)
  379.                     mh5223.FromId = ur5750.UserId
  380.                     AddMessage(mh5223, "listtmpu.tmp", "", 1213417543)
  381.                     Open "listserv.log" For Append As 9
  382.                     Print #9, "     "; t27_5613.s0; ": sent 1 message"
  383.                     Close 9
  384.                     mh5223.Number = l4539
  385.                     Kill "listtmpu.tmp"
  386.                   End If
  387.  3814             GoTo 1369
  388.                 End If
  389.  3820           If t27_5613.i78 = 5 Or t27_5613.i78 = 6 Then
  390.                   If Not Exists(t27_5613.s70 + ".lst") Then
  391.                     Print "@0C@You need to create a @0B@"; t27_5613.s70; ".LST@0C@ for@0F@ "; t27_5613.s0
  392.                   End If
  393.  3918             Open t27_5613.s70 + ".lst" For Input As 5
  394.                   Do
  395.  3950               Input #5, s4551
  396.                     If UCase(Trim(s4551)) = UCase(mh5223.From) Then
  397.                       Close 5
  398.                       GoTo 5130
  399.                     End If
  400.  3999             Loop Until EOF(5)
  401.                   Close 5
  402.                   Print "@0F@"; mh5223.From; " @0C@is not allowed to post on @0B@"; t27_5613.s0
  403.                   Inc i5733
  404.                   If Exists(t27_5613.s70 + ".not") Then
  405.                     Open "listtmpu.tmp" For Append As 2
  406.                     Open t27_5613.s70 + ".not" For Input As 3
  407.                     Do
  408.  4135                 Input #3, s4551
  409.                       Print #2, s4551
  410.                     Loop Until EOF(3)
  411.                     Print #2, ""
  412.                     Print #2, "-----"
  413.                     Print #2, "Processed with Listserv v2.35 for Wildcat v4"
  414.                     Close 2
  415.                     Close 3
  416.                     mh5223.To = mh5223.From
  417.                     mh5223.From = t27_5613.s0
  418.                     mh5223.FromId = 0
  419.                     mh5223.Subject = "Your message to " + t27_5613.s0
  420.                     mh5223.Flags = 3
  421.                     mh5223.Network = ""
  422.                     GetUser(ur5750, mh5223.To)
  423.                     mh5223.ToId = ur5750.UserId
  424.                     GetUser(ur5750, mh5223.From)
  425.                     mh5223.FromId = ur5750.UserId
  426.                     AddMessage(mh5223, "listtmpu.tmp", "", 1213417543)
  427.                     Open "listserv.log" For Append As 9
  428.                     Print #9, "     "; t27_5613.s0; ": sent 1 message"
  429.                     Close 9
  430.                     Kill "listtmpu.tmp"
  431.                     mh5223.Number = l4539
  432.                     Print "@0C@Sending them a notification message..."
  433.                     Inc i5733
  434.                     Delay 0.001
  435.                   End If
  436.  4485             GoTo 1369
  437.                 End If
  438.  4491           If t27_5613.i78 = 2 Or t27_5613.i78 = 4 Then
  439.                   Open t27_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  440.                   Do
  441.  4557               Get 2, l5709, s5543 '! 70 bytes
  442.                     If s5543 = mh5223.From Then
  443.                       Close 2
  444.                       GoTo 5130
  445.                     End If
  446.  4607               Inc l5709
  447.                   Loop Until l5709 > LOF(2)
  448.                   Close 2
  449.                   Delay 0.001
  450.                   Print "@0C@Skipping @0B@(@07@#@0E@"; mh5223.Number; "@0B@)@0C@.  @0F@"; mh5223.From; "@0C@ is not a subscriber."
  451.                   Inc i5727
  452.                   If Exists(t27_5613.s70 + ".not") Then
  453.                     Open "listtmpu.tmp" For Append As 2
  454.                     Open t27_5613.s70 + ".not" For Input As 3
  455.                     Do
  456.  4774                 Input #3, s4551
  457.                       Print #2, s4551
  458.                     Loop Until EOF(3)
  459.                     Print #2, ""
  460.                     Print #2, "-----"
  461.                     Print #2, "Processed with Listserv v2.35 for Wildcat v4"
  462.                     Close 2
  463.                     Close 3
  464.                     mh5223.To = mh5223.From
  465.                     mh5223.From = t27_5613.s0
  466.                     mh5223.FromId = 0
  467.                     mh5223.Subject = "Your message to " + t27_5613.s0
  468.                     mh5223.Flags = 3
  469.                     mh5223.Network = ""
  470.                     GetUser(ur5750, mh5223.To)
  471.                     mh5223.ToId = ur5750.UserId
  472.                     GetUser(ur5750, mh5223.From)
  473.                     mh5223.FromId = ur5750.UserId
  474.                     AddMessage(mh5223, "listtmpu.tmp", "", 1213417543)
  475.                     Open "listserv.log" For Append As 9
  476.                     Print #9, "     "; t27_5613.s0; ": sent 1 message"
  477.                     Close 9
  478.                     Kill "listtmpu.tmp"
  479.                     mh5223.Number = l4539
  480.                     Print "@0C@Sending them a notification message..."
  481.                     Inc i5725
  482.                     Delay 0.001
  483.                   End If
  484.  5124             GoTo 1369
  485.                 End If
  486.  5130           i5741 = 0
  487.                 Kill "listserv.t2"
  488.                 GetMessageText(mh5223.Number, "listserv.t2")
  489.                 If Exists("listserv.flt") Then
  490.                   Delay 0.001
  491.                   Print "@0D@Checking for lines to filter..."
  492.                   Open "listserv.tmp" For Output As 5
  493.                   Open "listserv.t2" For Input As 6
  494.                   Do
  495.  5233               i5713 = 0
  496.                     Input #6, s5719
  497.                     Open "listserv.flt" For Input As 7
  498.                     Do
  499.  5266                 Input #7, s5715
  500.                       If UCase(s5715) = UCase(s5719) And s5715 <> "" Then
  501.                         i5713 = 1
  502.                       End If
  503.  5315               Loop Until i5713 = 1 Or EOF(7)
  504.                     Close 7
  505.                     If i5713 = 0 Then
  506.                       Print #5, s5719
  507.                     End If
  508.  5365             Loop Until EOF(6)
  509.                   Close 5
  510.                   Close 6
  511.                 Else
  512.  5392             CopyFile("listserv.t2", "listserv.tmp")
  513.                 End If
  514.  5406           If Exists(t27_5613.s70 + ".sig") Then
  515.                   Open "listserv.tmp" For Append As 2
  516.                   Open t27_5613.s70 + ".sig" For Input As 3
  517.                   Do
  518.  5484               Input #3, s4551
  519.                     Print #2, s4551
  520.                   Loop Until EOF(3)
  521.                   Close 2
  522.                   Close 3
  523.                 End If
  524.  5521           Open "listserv.tmp" For Append As 2
  525.                 Print #2, ""
  526.                 Print #2, "-----"
  527.                 Print #2, "Processed with Listserv v2.35 for Wildcat v4"
  528.                 Close 2
  529.                 Open t27_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  530.                 l5709 = 1
  531.                 s4547 = mh5223.From
  532.                 Do
  533.  5629             Get 2, l5709, s5543 '! 70 bytes
  534.  5644             Do While s5543 = " "
  535.                     Inc l5709
  536.                     Get 2, l5709, s5543 '! 70 bytes
  537.                     If EOF(2) Then
  538.                       Open "listserv.log" For Append As 9
  539.                       Print #9, "     "; t27_5613.s0; ": sent "; i5741; " messages"
  540.                       Close 9
  541.                       If t27_5613.s83 = "Y" Then
  542.                         mh5223.To = s4547
  543.                         mh5223.Subject = "Your message to " + t27_5613.s0
  544.                         mh5223.Flags = 3
  545.                         mh5223.Network = ""
  546.                         Open "sntlst.msg" For Output As 9
  547.                         CurrentTime t5737
  548.                         Print #9, "Your message '"; s4543; "' was sent out to "
  549.                         Print #9, t27_5613.s0; " on "; FormatDate(d5735, "mm/dd/yy"); " at "; FormatTime(t5737, "hh:mm:ss te"); "."
  550.                         Print #9, ""
  551.                         Print #9, "-----"
  552.                         Print #9, "Processed with Listserv v2.35 for Wildcat v4"
  553.                         Close 9
  554.                         GetUser(ur5750, mh5223.To)
  555.                         mh5223.ToId = ur5750.UserId
  556.                         GetUser(ur5750, mh5223.From)
  557.                         mh5223.FromId = ur5750.UserId
  558.                         AddMessage(mh5223, "sntlst.msg", "", 1213417543)
  559.                         Kill "sntlst.msg"
  560.                         mh5223.Number = l4539
  561.                       End If
  562.  6102                 If t27_5613.i80 = 1 Then
  563.                         CopyFile("listserv.tmp", t27_5613.s70 + ".1")
  564.                         GoTo 1369
  565.                       End If
  566.  6153                 If t27_5613.i80 > 0 Then
  567.                         If Exists(t27_5613.s70 + "." + Str(t27_5613.i80)) Then
  568.  6239                     For i4533 = 2 To t27_5613.i80 Step 1
  569.                             If Exists(t27_5613.s70 + "." + Str(i4533)) Then
  570.                               CopyFile(t27_5613.s70 + "." + Str(i4533), t27_5613.s70 + "." + Str(i4533 - 1))
  571.                             End If
  572.  6387                     Next
  573.                         End If
  574.  6410                   i4533 = 1
  575.                         Do
  576.  6417                     If Not Exists(t27_5613.s70 + "." + Str(i4533)) Then
  577.                             CopyFile("listserv.tmp", t27_5613.s70 + "." + Str(i4533))
  578.                             GoTo 6593
  579.                           End If
  580.  6497                     Inc i4533
  581.                           If i4533 = t27_5613.i80 Then
  582.                             CopyFile("listserv.tmp", t27_5613.s70 + "." + Str(t27_5613.i80))
  583.                             GoTo 6593
  584.                           End If
  585.  6571                   Loop Until i4533 > t27_5613.i80
  586.                       End If
  587.  6593                 GoTo 1369
  588.                     End If
  589.  6599             Loop
  590.  6605             mh5223.From = t27_5613.s0
  591.                   If UCase(s5543) <> UCase(s4547) Then
  592.                     mh5223.To = s5543
  593.                     mh5223.Subject = s4543
  594.                     mh5223.Flags = 3
  595.                     mh5223.Network = ""
  596.                     GetUser(ur5750, mh5223.To)
  597.                     mh5223.ToId = ur5750.UserId
  598.                     GetUser(ur5750, mh5223.From)
  599.                     mh5223.FromId = ur5750.UserId
  600.                     Delay 0.001
  601.                     Print "@0A@Sending '@0F@"; mh5223.Subject; "@0A@' to @0B@"; mh5223.To; " @0A@on@0E@ "; t27_5613.s0
  602.                     Inc i5725
  603.                     Inc i5723
  604.                     Inc i5741
  605.                     AddMessage(mh5223, "listserv.tmp", "", 1213417543)
  606.                     mh5223.Number = l4539
  607.                   End If
  608.  6889             Inc l5709
  609.                 Loop Until l5709 > LOF(2)
  610.                 If t27_5613.s83 = "Y" Then
  611.                   mh5223.To = s4547
  612.                   mh5223.Subject = "Your message to " + t27_5613.s0
  613.                   mh5223.Flags = 3
  614.                   mh5223.Network = ""
  615.                   Open "sntlst.msg" For Output As 9
  616.                   CurrentTime t5737
  617.                   Print #9, "Your message '"; s4543; "' was sent out to "
  618.                   Print #9, t27_5613.s0; " on "; FormatDate(d5735, "mm/dd/yy"); " at "; FormatTime(t5737, "hh:mm:ss te"); "."
  619.                   Print #9, ""
  620.                   Print #9, "-----"
  621.                   Print #9, "Processed with Listserv v2.35 for Wildcat v4"
  622.                   Close 9
  623.                   GetUser(ur5750, mh5223.To)
  624.                   mh5223.ToId = ur5750.UserId
  625.                   GetUser(ur5750, mh5223.From)
  626.                   mh5223.FromId = ur5750.UserId
  627.                   AddMessage(mh5223, "sntlst.msg", "", 1213417543)
  628.                   Kill "sntlst.msg"
  629.                   mh5223.Number = l4539
  630.                 End If
  631.  7256           Open "listserv.log" For Append As 9
  632.                 Print #9, "     "; t27_5613.s0; ": sent "; i5741; " message(s)"
  633.                 Close 9
  634.                 If t27_5613.i80 = 1 Then
  635.                   CopyFile("listserv.tmp", t27_5613.s70 + ".1")
  636.                   GoTo 1369
  637.                 End If
  638.  7371           If t27_5613.i80 > 0 Then
  639.                   If Exists(t27_5613.s70 + "." + Str(t27_5613.i80)) Then
  640.  7457               For i4533 = 2 To t27_5613.i80 Step 1
  641.                       If Exists(t27_5613.s70 + "." + Str(i4533)) Then
  642.                         CopyFile(t27_5613.s70 + "." + Str(i4533), t27_5613.s70 + "." + Str(i4533 - 1))
  643.                       End If
  644.  7605               Next
  645.                   End If
  646.  7628             i4533 = 1
  647.                   Do
  648.  7635               If Not Exists(t27_5613.s70 + "." + Str(i4533)) Then
  649.                       CopyFile("listserv.tmp", t27_5613.s70 + "." + Str(i4533))
  650.                       GoTo 7811
  651.                     End If
  652.  7715               Inc i4533
  653.                     If i4533 = t27_5613.i80 Then
  654.                       CopyFile("listserv.tmp", t27_5613.s70 + "." + Str(t27_5613.i80))
  655.                       GoTo 7811
  656.                     End If
  657.  7789             Loop Until i4533 > t27_5613.i80
  658.                 End If
  659.  7811           GoTo 1369
  660.               End If
  661.  7817         l5705 = l5705 + 1
  662.               If l5705 > LOF(1) Then
  663.                 GoTo 1369
  664.               End If
  665.  7855       Loop
  666.             Delay 0.001
  667.             Print "@0C@Skipping @0F@"; mh5223.Subject; " @0B@(@07@#@0E@"; mh5223.Number; "@0B@)@0C@..."
  668.             Inc i5727
  669.             Return 
  670.  7922       If (UCase(mh5223.Subject) = "HELP" And Exists("listserv.hlp")) = 0 Then GoTo 8185
  671.             Print "@0A@Found Help Request for Listserv"
  672.             Print "@0D@Sending LISTSERV.HLP to @0F@"; mh5223.From
  673.             Delay 0.001
  674.             mh5223.To = mh5223.From
  675.             mh5223.From = "LISTSERV"
  676.             mh5223.Subject = "Auto Response from Listserv"
  677.             mh5223.Flags = 3
  678.             mh5223.Network = ""
  679.             GetUser(ur5750, mh5223.To)
  680.             mh5223.ToId = ur5750.UserId
  681.             GetUser(ur5750, mh5223.From)
  682.             mh5223.FromId = ur5750.UserId
  683.             AddMessage(mh5223, "listserv.hlp", "", 1213417543)
  684.             mh5223.Number = l4539
  685.           Loop
  686.  8185     s4551 = ""
  687.           Kill "templist.sub"
  688.           GetMessageText(mh5223.Number, "templist.sub")
  689.           Open "templist.sub" For Input As 5
  690.           Do
  691.  8240       Input #5, s4551
  692.             s4551 = UCase(s4551)
  693.             i5713 = 0
  694.             i5713 = InStr(s4551, "UNSUBSCRIBE")
  695.             If i5713 = 1 Then
  696.               s4551 = Mid(s4551, 13, 1213417543)
  697.               mh5223.To = s4551
  698.               mh5223.Subject = "UNSUBSCRIBE"
  699.               Return 
  700.             End If
  701.  8344       i5713 = 0
  702.             i5713 = InStr(s4551, "SUBSCRIBE")
  703.             If i5713 = 1 Then
  704.               s4551 = Mid(s4551, 11, 1213417543)
  705.               mh5223.To = s4551
  706.               mh5223.Subject = "SUBSCRIBE"
  707.               Return 
  708.             End If
  709.  8430       If InStr(s4551, "ARCHIVE") = 1 Then
  710.               s4551 = Mid(s4551, 9, 1213417543)
  711.               Open "listserv.dat" For Random As 4 Len = 84 '! This value should probably be replaced with a "SizeOf" expression
  712.               l5709 = 1
  713.               Do
  714.  8497           Get 4, l5709, t27_5613 '! 84 bytes
  715.                 If t27_5613.s0 = s4551 Then
  716.                   Close 4
  717.                   GoTo 8558
  718.                 End If
  719.  8541           Inc l5709
  720.               Loop Until EOF(4)
  721.  8558         Print "@0A@Found Archive Request for Listserv"
  722.               s5749 = "Y"
  723.               If t27_5613.s82 = "N" Then
  724.                 s5749 = "N"
  725.                 Open t27_5613.s70 + ".dat" For Random As 7 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
  726.                 l5709 = 1
  727.                 Do
  728.  8651             Get 7, l5709, s5543 '! 70 bytes
  729.                   If s5543 = mh5223.From Then
  730.                     s5749 = "Y"
  731.                     GoTo 8731
  732.                   End If
  733.  8707             Inc l5709
  734.                 Loop Until l5709 > LOF(7)
  735.               End If
  736.  8731         Reset 
  737.               If s5749 = "N" Then
  738.                 Print "@0F@"; mh5223.From; "@0C@ can not retrieve an archive from @0D@"; t27_5613.s0
  739.                 Delay 0.001
  740.                 If Exists(t27_5613.s70 + ".not") Then
  741.                   Open "listtmpu.tmp" For Append As 2
  742.                   Open t27_5613.s70 + ".not" For Input As 3
  743.                   Do
  744.  8875               Input #3, s4551
  745.                     Print #2, s4551
  746.                   Loop Until EOF(3)
  747.                   Print #2, ""
  748.                   Print #2, "-----"
  749.                   Print #2, "Processed with Listserv v2.35 for Wildcat v4"
  750.                   Close 2
  751.                   Close 3
  752.                   mh5223.To = mh5223.From
  753.                   mh5223.From = t27_5613.s0
  754.                   mh5223.FromId = 0
  755.                   mh5223.Subject = "Your Archive Request"
  756.                   mh5223.Flags = 3
  757.                   mh5223.Network = ""
  758.                   GetUser(ur5750, mh5223.To)
  759.                   mh5223.ToId = ur5750.UserId
  760.                   GetUser(ur5750, mh5223.From)
  761.                   mh5223.FromId = ur5750.UserId
  762.                   AddMessage(mh5223, "listtmpu.tmp", "", 1213417543)
  763.                   Kill "listtmpu.tmp"
  764.                   mh5223.Number = l4539
  765.                   Print "@0C@Sending them a notification message..."
  766.                   Delay 0.001
  767.                 End If
  768.  9161           GoTo 1369
  769.               End If
  770.  9167         If s5749 = "Y" Then
  771.                 Print "@0D@Sending archived messages for @0F@"; t27_5613.s0
  772.                 Delay 0.001
  773.                 i4533 = 1
  774.                 s4547 = mh5223.From
  775.                 Do
  776.  9232             s5745 = t27_5613.s70 + "." + Str(i4533)
  777.                   If Exists(s5745) Then
  778.                     mh5223.To = s4547
  779.                     mh5223.From = "LISTSERV"
  780.                     mh5223.Subject = "Archive Request from Listserv"
  781.                     mh5223.Flags = 3
  782.                     mh5223.Network = ""
  783.                     GetUser(ur5750, mh5223.To)
  784.                     mh5223.ToId = ur5750.UserId
  785.                     GetUser(ur5750, mh5223.From)
  786.                     mh5223.FromId = ur5750.UserId
  787.                     AddMessage(mh5223, s5745, "", 1213417543)
  788.                     mh5223.Number = l4539
  789.                     Inc i5743
  790.                   End If
  791.  9458             Inc i4533
  792.                   If i4533 > t27_5613.i80 Then
  793.                     GoTo 1369
  794.                   End If
  795.  9492           Loop Until i4533 > t27_5613.i80
  796.               End If
  797.             End If
  798.  9514     Loop Until EOF(5)
  799.           Return 
  800.         End If
  801.       End If
  802.  9526 Print
  803.       Delay 0.001
  804.       Print "@0C@Done sending messages @07@-@0C@ Cleaning up..."
  805.       Delay 0.001
  806.       CurrentDate d5735
  807.       CurrentTime t5737
  808.       Open "listserv.log" For Append As 9
  809.       Print #9, "   Mailing List Messages Sent: "; i5723
  810.       Print #9, "          Total Messages Sent: "; i5725
  811.       Print #9, "              New Subscribers: "; i5729
  812.       Print #9, "                Unsubscribers: "; i5731
  813.       Print #9, "             Messages Skipped: "; i5727
  814.       Print #9, "        Unauthorized Messages: "; i5733
  815.       Print #9, "        Archive Messages Sent: "; i5743
  816.       Print #9, "* Listserv finished on "; FormatDate(d5735, "mm/dd/yy"); " at "; FormatTime(t5737, "hh:mm:ss te"); " *"
  817.       Print #9, ""
  818.       Close 9
  819.       Kill "listtemp.tmp"
  820.       Kill "listserv.tmp"
  821.       Kill "listserv.t2"
  822.       Kill "listserv.ptr"
  823.       Kill "templist.sub"
  824.       Open "listserv.ptr" For Output As 3
  825.       Print #3, mh5223.Number
  826.       Reset 
  827.       Delay 0.001
  828.       Print "@0D@Rejoining original conference..."
  829.       Join i4555
  830.       Print
  831.       Print "@1F@ Thanks for using Listserv "; "v2.35"; "! @07@ "
  832.       Print
  833.