
 ===============
 PMStatsCL V1.2o 30.06.96 by LoRay@Timewarp.insider.org
 ===============
 Armin Schmidhuber, Max-Humpl Str. 7, 83361 Kienberg, Germany
 
 VORABBEMERKUNG:
 ---------------
 Achtung, bevor Ihr dieses Tool ausprobiert, UNBEDINGT
 die komplette Anleitung hier lesen, da Ihr sonst keinen
 Plan habt, was Ihr überhaupt macht :-)))
 
 Der Aufruf des Programmes kann je nach Länge der pmstatscl.cfg
 eine Zeit lang dauern (abhängig von Länge der CLMSortin etc...)
 
 das Auswerten von Texten geschieht nicht via REXX (Gott bewahre :-)
 sondern mit dem extrem schnellen Tool namens FLASHFIND
 (schafft ca. 1,2 MB/sec. wenn Datei auf Festplatte) - nur
 die Auswertung der speziellen Texte für die Suchstrings
 geschieht in Rexx...

 Kurzinfo:
 ---------
 PMStatsCL wertet die CLMSortin Datei aus, die von 
 Splitlog-Mui (von Ralf Ramge) im connectline:log/sublogs/ 
 angelegt wird, und gibt Auskunft über versandte, empfangene
 PMs etc..., sendet SysOp auf Wunsch PM Kosteninfo über
 Points und berechnet evtl. auch die Kosten (für jeden
 Point individuell einstellbar)
  
 Voraussetzung:
 ==============
 - wie gesagt muss vor Aufruf von PMStatsCL Splitlog-MUI
   aufgerufen werden, damit in clmsortin die neuesten
   PMs liegen etc...

 Installation & Erklärung:
 =========================

 Update:
 -------
 - da sich seit der V1.o8 wesentliche Sachen geändert haben,
   empfehle ich das Durchlesen von Abschnitt AUSWERTUNG
   (paar Zeilen tiefer :-)
   
 Updateinstallation:
 
 - einfach das PMStatsCL mit dem alten austauschen
 - evtl. die PMStatsCL.cfg im connectline:prefs auf
   die jetzigen Möglichkeiten anpassen (siehe Abschnitt AUSWERTUNG)
 - FERTIG! :)

 Neuinstallation:
 ----------------
 1. PMStatsCL dort hinkopieren wo man will
 
    - PMStatsCL erzeugt automatisch ein Verzeichnis
      namens PM im connectline:log/PM Verzeichnis,
      wo alle PM Dateien der einzelnen Points etc...
      und die gesamte Auswertungsdatei namens PMs.txt
      abgelegt wird.
    
 2. das Programm flashfind ins c: kopieren   
    
 3. in die Datei connectline:prefs/pmstatscl.cfg einfach
    diejenigen Points, Boxen, Suchstrings etc... eintragen,
    dessen PMs ausgewertet werden sollen - siehe 4 Zeilen
    weiter unten unter AUSWERTUNG:    
    
 3. das wars eigentlich schon :-)
 
 AUSWERTUNG:
 ==========
 Auswerten kann man mit PMStatsCL theoretisch alles was man 
 will, sprich je nach Suchstring...

 Ausgewertet wird eine Zeile immer nach folgendem Muster:
 
 <Name/Suchstring> <evtl. PM-Freiraum> <Betrag/100KB>
 
 gibt man <evtl. PM-Freiraum> UND <Betrag/100KB> mit an,
 so bekommt man falls der PM-Freiraum überschritten wurde
 eine kleine Mail zugesandt, wo eine genaue Kostenabrechnung
 des Points drinsteht (Mail wird IMMER an User SYSOP gesendet!!!)
  
   Name/Suchstring: hier den Suchstring, Pointname etc... eintragen
                    - muss eindeutig sein siehe weiter unten
                 
 evtl. PM-Freiraum: hier kann man den PM Freiraum für die externen
                    PMs bestimmen, d. h. die Bytes, die der
                    Point KOSTENLOS versenden darf
                    - wenn evtl. PM-Freiraum aktiviert ist,
                    MUSS auch bei Betrag ein Betrag eingetragen
                    sein, sonst klappt es nicht!
                    
 Betrag/100 KB:     hier den Betrag in PFENNIGE (!) eintragen,
                    der pro 100 KB berechnet wird, wenn man
                    den PM-Freiraum überschreitet - berechnet
                    wird in so einem Falle natürlich nur die
                    Differenz zwischen PM-Freiraum und versandte
                    Bytes
                    
                    Bsp: Freiraum 400000 Bytes
                         versandt 600000 Bytes
                      => berechnet werden 200000 Bytes zu dem
                         eingestellten Betrag
                         
                    - der Betrag ist PRO 100 KB!!!

 nun wirds einwenig spezieller :)
 
 Eingabebeispiele für die pmstatscl.cfg (ohne Klammernkommentar
 und Bemerkungen wie Suchsting, PM-Freiraum etc...)
 (siehe auch beigelegte pmstatscl.cfg)

 Suchstring      PM-Freiraum
   |              |
 Loray@timewarp 500000 8	 (Point Time Warp)
                       |
                       bei Überschreitung des PM-Freiraums
                       Pfennigpreis/100 KB hier angeben
                       für jeden Point extra konfigurierbar

 Suchsting      PM-Freiraum
   |                |
 anti-g@timewarp 1500000 15	 (Point Time Warp)
                         |
                          15 Pf/100 KB Zuschlag etc...
               

 schollum@timewarp  
 
 bei Points/Suchstrings, wo man keine Extra Abrechnung gepostet
 bekommen möchte bei Überschreitung des PM Freiraums, lässt man
 einfach die 2 Parameter weg, also nur Suchstring angeben,
 das wars schon
 
 weitere Beispiele:
 
 Suchstring   PM-Freiraum
    |             |
 locutus@timewarp 0 0
                    |
                    dient z. B. dazu, dass man IMMER eine PM-Abrechnung
                    bekommt, allerdins nichts berechnet :-) - also
                    dass man immer automatisch ne Info bekommt was 
                    so von dem durchgeht, ohne dass man immer im
                    PMs.txt nachsehen muss...
  
 @another.gun.de  			 (Alle Mails von Box: Another empfangen)
 @highvolt.gun.de 			 (Alle Mails von Box: Highvolt empfangen)
 .gun.de          			 (Alle Mails der gun.de) 
 .de              			 (Alle Mails aus deutschen .de)
 
 usw...
 
 - die Länge der PMStatsCL.cfg ist UNBEDEUTEND!!! - kann
 also so lang sein, wie man lustig ist...        
 nur JEDER Suchstring benötigt eine NEUE Zeile! 
 
 1. externe PMs der Points:
 --------------------------
 Man gibt einfach alle Points der eigenen Box nacheinander ein

 LoRay@timewarp
 Locutus@timewarp 5000 5
 Vader@timewarp
 usw...
 
 - mit oder ohne Gebührenabrechnung
 - dabei spielt Gross oder Kleinschreibung KEINE Rolle

 - es würde evtl. LoRay alleine auch genügen FALLS keine PM
 von irgendeiner andern Box kommt mit ABS: LORAY - sonst
 würden diese Bytes addiert! - also immer darauf achten,
 dass die Angaben in der pmstatscl.cfg EINDEUTIG sind!
 
 - Ihr könnte Euere Angaben, die immer ZEILE für ZEILE
 stattfinden müssen auch als *<Suchstring>* ansehen - 
 Loray alleine würde heissen, man such nach dem Vorkommen
 von *Loray* - 
 
 - loray@timewarp ist dagegen EINDEUTIG, da es NUR in
 der Time Warp jemanden geben kann, der Point ist UND LoRay
 heisst, also hat darauf *loray@timewarp* keine Wirkung.
 
 Also, wie gesagt Euere Eingaben in die pmstatscl.cfg
 bedeutet immer soviel wie VOR Euerer Eingabe und NACH
 Eurer Eingabe ein Sternchen (Wildcard) oder '#?' etc...
  
 2. PMs, von irgendeiner beliebigen Box:
 ---------------------------------------
 Man will z. B. wissen wieviele Mails von Box Another.gun.de
 durch die eigene Box wandern, rein oder raus gingen, dann
 gibt man in diesem Falle
 
 Another.gun.de
 
 ein.
 
 3. PMs, von bestimmten Domains:
 -------------------------------
 Man will wissen wieviele Mails von irgendeiner Domain
 durchwandern, z. B. insider.sub.de, dann gibt man
 
 insider.sub.de
 
 ein.
 
 4. weitere Möglichkeiten (u. a. PMs an bestimmten Tagen):
 ---------------------------------------------------------
 Theoretisch kann man alles suchen, was einem Lust
 und Laune (Sinn?! :) macht.

 gibt man in die pmstatscl.cfg z. B. das Datum ein,
 im Format, wie es in den einzelnen Dateien abgelegt
 wird, also wie CL das Datum ablegt 
 (Tag-Monat-Jahr = 03-Jun-96), dann kann man sich auch 
 in der Auswertung posten lassen wieviele Mails an dem 
 bestimmten Tag verschickt wurden etc... :-))
 
 Diese flexible Lösung ist ganz einfach dadurch möglich
 geworden, dass einfach nach den Eingaben in der pmstatscl.cfg
 GESUCHT wird, und falls etwas gefunden wurde, das diesem
 entspricht, werden die Bytes ausgelesen etc...
 
 WICHTIG!!!
 
 - wenn man nach etwas suchen will, MUSS dieser Suchstring
 immer EINDEUTIG sein, d. h. wenn man nach jemanden suchen
 möchte, der Martin heisst, und man fügt in die pmstatscl.cfg
 das Wort Martin dazu, dann können auch evtl. PM von jemanden,
 der Martina heisst dazukommen - sprich man MUSS immer
 dafür sorgen, dass der eingegeben Namen in der pmstatscl.cfg
 EINDEUTIG festgelegt ist, und es zu keinen Irrtümern kommen
 kann! - siehe unter 1., dass vor und nach dem Suchstring
 sozusagen eine Wildcard angehängt wird... etc...
  
 So sollte dann PMs.txt in connectline:log/pm ungefähr aussehen :)
 
 =--------------------------------------------------------------------------
 =-        PMStatsCL V1.2o - LoRay@timewarp.insider.sub.de                -=
 =--------------------------------------------------------------------------

 ---------------------------------------------------------------------------
 Point bzw. Suchstring: Andy (Angaben in Bytes)
 ---------------------------------------------------------------------------

 Externe PMs:
 gesendet: 0         empfangen: 0            Gesamt: 0
   Anzahl: 0            Anzahl: 0

 Interne PMs Gesamt: 933 -===> In + Ex PMs Gesamt: 933

 Erklärung:
 ----------
 Ext. PMs:
 
 gesendet:   PMs in Bytes, die von dem Point etc... versendet wurden
             und die Box verlassen haben
           
 empfangen:  PMs in Bytes, die an den Pointe etc... geschickt wurden
             und von extern kamen
 
 Gesamt:     ganz einfach alle ext. PMs gesendet+empfangen zusammen
 
 int. PMs.:  die gesamte Anzahl an Bytes, die intern an irgendwelche
             User gesendet wurden...
             
 in+ex PMs:  das sind alle int. + ext. zusammen

 =============
 NEU ab V1.2o!
 =============
 Wurde bei manchen Points die PM-Freiraum UND Bytepreis angegeben,
 und überschritten, so erhält der SysOp eine Kosteninfo über den
 Point, die dann so aussehen müsste:
 
 für dieses Bsp. steht in der pmstatscl.cfg folgender Eintrag:
 
 Loray@timewarp 295000 8
  
 =--------------------------------------------------------------------------
 =-                    PMAbrechnung via PMStatsCL                         -=
 =--------------------------------------------------------------------------

 Point/Suchstring: Loray@timewarp

                      kostenlose PMs:          295000 Bytes
                     angefallene PMs:          376926 Bytes
                -------------------------------------------
                 berechnete PM-Bytes:           81926 Bytes
                        Preis/100 KB:               8 Pf
                -------------------------------------------
                           Endbetrag:            0.06 DM
                ===========================================

 =--------------------------------------------------------------------------
 
 Sodala, dann sei nur noch vermerkt, dass das Teil PD ist,
 allerdings Weiterentwicklung, und Verbreitung mit Änderungen 
 des Programmes usw... NUR MIR erlaubt sind - Vorschläge werden 
 gerne angenommen.
 
 Bugreports usw... entweder direkt ins Connectline/ Netz, oder 
 wie immer an LoRay@timewarp.insider.org

 TWTz für Connectline V5.x:
 --------------------------
 - CLStatus V1.35  - neuer Status Befehl 
 - UserList V1.o2  - neuer Teilnehmer Befehl, grafisch besser etc. :)
 - CLrandom V1.2o  - Zufallsansi Anzeiger für Login und Logoff
 - CLAutodel V1.o2 - frei konfigurierbarer Userlöscher
 - KB-James V1.o4  - Nuker etc...
 - PMStatsCL V1.2o - PM Auswerung etc...
 --------------------------------------------------------------------
 Wer eins der Tools mag, kann mir auch ne PM zukommen lassen,
 ich sende es dann gerne zu.

 Time Warp BBS
 08628/988988 (ISDN) 988998 (V.34+) 988997 (V.34)
 Voice: 988988 oder 988999
            
 --------------------------------------------------------------------

 History:
 --------
 
 V1.o      - enstand für private Zwecke :)
 
 V1.o1     - einwenig rumgebastelt
 
 V1.o2     - einige SysOp meldeten Interesse an dem Tool
             => weiterenwickelt :)
             
 V1.o4     - allgemein funktionstüchtige Version - gesucht
             wird mit extrem schnellen Flashfind!

 V1.o6     - erste öffentliche Version
           - Gesamtlogfile
           - Logfiles für JEDEN Suchstring in log/pm/<suchstring>

 V1.o8     - eine Zeile/Suchstring in Log gespart, und übersichtlicher
           - vor PMStatsCL Aktivierung wird das log/pm komplett
             gelöscht, sonst könnten irgendwelche Sachen rumgammeln
           - man wird nun immer informiert, was gerade gemacht wird
             bei Shellaufruf, und wieviele noch zu checken sind

 V1.2o     - Programm optimiert, kürzer und schneller
           - ups! - blöde Datei im ram: wurde nicht gelöscht - behoben :)
           - Shellausgabe während Bearbeiten weiter ausgebaut,
             mehr Infos...
           - dadurch, dass jetzt nur noch Points etc... in der pms.txt
             abgelegt werden, die auch etwas intern oder extern
             versandt haben, also die Points, die nichts versandt
             haben nicht mehr vorkommen, konnte ein Geschwindigkeits-
             gewinn von ca. 12-30% erreicht werden - ist auf die
             Zeitersparnis von Dateien öffenen, lesen und schreiben
             zurückzuführen.
           - jedem Suchstring kann nun Bytegrenzwert, Bytepreis
             angegeben werden - bei Überschreitung der angegebenen
             Daten bekommt SysOp eine PM-Abrechnungsinfo
             zugesandt etc... (siehe Dok :)
 Future:
 
 - evtl. die Kostenauflistung noch ausweiten...
 - Vorschläge bitte :)
 