;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; 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

description

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;. ;. ; Quick User View PPE v1.0. ; Written by Drew [PWA]. ; Last Updated 03-24-96. ;. ; Original freeware version written by Gerry Schechter. ;. - PowerPoint PPT Presentation

Transcript of ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Page 1: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 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"

Page 2: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; 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()

Page 3: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

Page 4: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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