;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
description
Transcript of ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Quick User View PPE v1.0; Written by Drew [PWA]; Last Updated 03-24-96;; Original freeware version written by Gerry Schechter.;; The original freeware version was compiled with PPLC 3.0 and did not come; with source. This is my version of that fairly useful PPE, which uses only; PPL 2.0 (since that's all that is necessary) and includes source.;; Note: there isn't too much inline commenting of how the code works, except; for the really straight-forward parts.;; BTW- screw those idiotic shareware BBS's and CD-ROM makers who take PWA; releases, edit the FILE_ID.DIZ, and delete PWA.NFO, bbs ads, etc.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
string tf(2) string buf word tmpword int recnum int numrecs byte i
; find the user name on the screen, and then get the user record # ; getuser recnum = -1 for i = 1 to u_pagelen buf = scrtext(1, i, 31, 0) if (left(upper(buf), 6) == "FROM: ") then buf = mid(buf, 7, 25) if (buf == "SYSOP") then recnum = 1 else recnum = u_recnum(buf) endif break endif next i
savescrn cls
; quit/end ppe if the user doesn't exist ; if (recnum == -1) then ansipos 32, 10 print "@X0CUser not found.@X07" delay 20 restscrn end endif
tf(0) = "N" tf(1) = "Y"
; get user info and print the stat screen ; getaltuser recnum startdisp FNS println "@X01ÉÍ[ @X0CQuick User View v1.0 by Drew [PWA] @X01]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»@X07" println "@X01º º@X07" println "@X01º @X0AName @X07: @X0ALast DIR Listing @X07: @X01º@X07" println "@X01º @X0ACity @X07: @X0ALast Date On @X07: @X01º@X07" println "@X01º @X0AB/D Phone @X07: @X0ALast Time On @X07: @X01º@X07" println "@X01º @X0AH/V Phone @X07: @X0AElapsed Time On @X07: @X01º@X07" println "@X01º @X0APassword @X07: @X0ANumber Times On @X07: @X01º@X07" println "@X01º @X0ASecurity @X07: @X0ANumber Uploads @X07: @X01º@X07" println "@X01º @X0AExpert @X07: @X0ANumber Downloads @X07: @X01º@X07" println "@X01º @X0AProtocol @X07: @X0ADaily Download @X07: @X01º@X07" println "@X01º @X0APage Len @X07: @X0ATotal Upload @X07: @X01º@X07" println "@X01º @X0AReg Ex Date @X07: @X0ATotal Download @X07: @X01º@X07" println "@X01º @X0AExpired Sec @X07: @X0AMessages Read @X07: @X01º@X07" println "@X01º @X0AMsg Clear @X07: @X0AMessages Left @X07: @X01º@X07" println "@X01º @X0ALast in @X07: @X0AFull Scrn Editor @X07: @X01º@X07" println "@X01º @X0ADelete User @X07: @X0A79-Column Editor @X07: @X01º@X07" println "@X01º @X0AAlias Name @X07: @X0AScroll Long Msgs @X07: @X01º@X07" println "@X01º @X0AVerify Info @X07: @X0ALong Headers @X07: @X01º@X07" println "@X01º º@X07" println "@X01º @X0AComment1 @X07: @X01º@X07" println "@X01º @X0AComment2 @X07: @X01º@X07" println "@X01ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ@X07" buf = readline(pcbdat(), 29) ; get the USERS file and open it. some fclose -1 ; of the user's stats need to be read fopen 1, buf, O_RD, S_DN ; from here.
numrecs = fileinf(buf, 4) / 400 ; calculate how may user recs there are
ansipos 55, 1 print "@X01[ @X07Record " + string(recnum) + " of " + string(numrecs) + " @X01]" color 3
ansipos 17, 3 ; print user's name print u_name()
ansipos 17, 4 ; print user's city print u_city
ansipos 17, 5 ; print user's data phone print u_bdphone
ansipos 17, 6 ; print user's home phone print u_hvphone
ansipos 17, 7 if (recnum == 1) then ; print user's password. print "*PRIVATE*" ; sysop's password is not printed else print u_pwd endif
ansipos 17, 8 ; print user's security level print u_sec
ansipos 17, 9 print tf(u_expert) ; print user's expert mode status
ansipos 17, 10 ; print user's xfer protocol print u_trans
ansipos 17, 11 ; print user's page length print u_pagelen
ansipos 17, 12 ; print user's expiration date print u_expdate
ansipos 17, 13 ; print user's expired security level print u_expsec
ansipos 17, 14 ; print user's clear screen status print tf(u_cls)
ansipos 17, 15 fseek 1, (recnum-1) * 400 + 398, seek_set fread 1, tmpword, 2 print tmpword ; print last conference in
ansipos 17, 16 fseek 1, (recnum-1) * 400 + 224, seek_set fread 1, buf, 1 print buf ; print delete user rec flag (y/n)
ansipos 17, 17 ; print user's alias, if alias psa is present if (psa(1)) then print u_alias else print "n/a" endif
ansipos 17, 18 ; print user's verification info, if (psa(2)) then ; if verify psa is present print u_ver else print "n/a" endif
ansipos 17, 20 ; print user comment #1 print u_cmnt1
ansipos 17, 21 ; print user comment #2 print u_cmnt2
ansipos 64, 3 ; print user's last file directory scan print u_ldir()
ansipos 64, 4 ; print user's last logon date print u_ldate()
ansipos 64, 5 ; print user's last logonn time print left(u_ltime(), 5)
ansipos 64, 6 fseek 1, (recnum - 1) * 400 + 183, seek_set fread 1, tmpword, 2 fclose 1 ; close USERS file (we're done with it) print tmpword ; print elapsed time on
ansipos 64, 7 ; print # of logons print u_logons()
ansipos 64, 8 ; print # files ul'ed print u_ful()
ansipos 64, 9 ; print # files dl'ed print u_fdl()
ansipos 64, 10 ; print # bytes dl'ed today print u_bdlday()
ansipos 64, 11 ; print # bytes ul'ed print u_bul()
ansipos 64, 12 ; print # bytes dl'ed print u_bdl()
ansipos 64, 13 ; print # of msgs read print u_msgrd()
ansipos 64, 14 ; print # of msgs written print u_msgwr()
ansipos 64, 15 ; print user's full screen editor status print tf(u_fse)
ansipos 64, 16 ; print user's default 79-column status print tf(u_def79)
ansipos 64, 17 ; print user's scroll messages status print tf(u_scroll)
ansipos 64, 18 ; print user's use long msg headers status print tf(u_longhdr)
frealtuser ; various cleanup keyflush startdisp FCL ansipos 1, 23 wait restscrnend