; system segment on nocar goto term1 system md=clock(2):clock(2)=0 push system print \"SS Command: "; system1 gosub get.key if i$="A" print "Run AE Pro":goto ae.run if i$="U" print "Userpurge":pop:link "a:userpurge.seg" if i$="M" print "Mail util":pop:link "a:mailutil.seg" if i$="!" print "Run seg":goto seg if i$="E" print "Edit random file":goto random.file if i$="F" print "Read text file":goto file if i$="W" print "Welcome message":goto welcome if i$="D" print "DOS command":goto dos.cmd if i$="N" print "Add new user":goto new.user if i$="S" print "Set date":goto set.date if i$="T" print "Terminate":goto terminate if i$="P" print "Edit user":goto edit.pass if i$="K" print "Kill user":goto kill.pass if i$="G" print "Edit text file":goto edit.file if (i$="A") or (i$="Q") print "Quit":pop:goto link.main if i$="C" print "Change time":goto clock if i$="R" print "Reset records":goto reset if i$="V" print "View command log":goto com.log if i$<>"?" goto system1 print "Menu":f$="b:menu9":gosub show.file:return ae.run print \"Verify (Y/N): ";:gosub get.key if i$<>"Y" print "No":return print "Yes"\\"Running AE Pro... please wait..." pop:link "a:main.seg","ae.run" com.log f$="b:com.log":gosub file1 print \"Delete command log? ";:gosub get.key if i$<>"Y" print "No":return print "Yes":kill "b:com.log":return reset print \"Reset/Change a Personal Record"\ input @2 "Record #"i$:if i$="" return a=val(i$):if a>rn return input @2 "Set to: "i$:if i$="" return b=val(i$):if b>9500 return print \"Changing ["; for x=1 to nu:i$=right$("00"+str$(x),3) print i$"]"chr$(8,len(i$)+1); open #1,"f:u."+str$(x):if mark(1) goto reset1 position #1,5,a:print #1,b reset1 close:next:print \"Changes completed.":return clock input @2 \"Enter time limit for this call: "x clock(2)=x*60:return edit.pass input @2 \"Pass #" i$:if i$="" return a=val(i$):if i$="C" a=un ed.pass0 if (a<1) or (a>nu) print \"No Such User":return d1$=a1$:d2$=a2$:d3$=a3$ move ram,34 to ram2:if a<>un gosub rd.user if d1$<>"" goto ed.pass2 input @0 \"No such user - create? "i$ if i$<>"Y" move ram2,34 to ram:return ed.pass1 fill ram,34,0:d1$="NAME":d2$="ERROR":d3$="CITY, ST" pa$="PASSWORD":ph$="XXX-XXX-XXXX":nibble(1)=0 ed.pass2 print \"User #"a\ print "A) Alias : "d1$" "d2$ print "B) From : "d3$ print "C) Pass : "pa$ print "D) Phone : "ph$ print "E) Access : ";:for x=1 to 34:print flag(x);:next print \"F) Sex : "; if nibble(1)=2 print "Female" if nibble(1)=1 print "Male" if (nibble(1)<>1) and (nibble(1)<>2) print "Unknown" print "G) Last on: "when$ input @2 \"Edit which? (A-F):" i$ if i$<>"A" goto not.a input @3 \"First Name:" x1$:input @3 " Last Name:" x2$ if len(x1$+x2$)>18 print \"Name too long":goto ed.pass2 d1$=x1$:d2$=x2$:goto ed.pass2 not.a if i$<>"B" goto not.b input @3 \"From:" x3$:if len(d1$+d2$+x3$)>24 print \"Too long":goto ed.pass2 d3$=x3$:goto ed.pass2 not.b if i$="C" input \"Pass:"a$:pa$=left$(a$+" ",8):goto ed.pass2 if i$="D" input \"Phone:"a$:ph$=a$:goto ed.pass2 if i$="F" input \"Sex (0=Unk/1=M/2=F):"x:nibble(1)=x if i$="" goto ed.pass5 if i$<>"E" goto ed.pass2 input @2 \"Lvl:" a$:if a$="" goto ed.pass2 if a$="?" goto ed.pass3 for x=1 to len(a$):if x>34 x=len(a$) flag(x)=(mid$(a$,x,1)="1"):next:goto ed.pass2 ed.pass3 open #1,"b:data2":for x=1 to 34 position #1,32,x:input #1,a$:if a$="" goto ed.pass4 print \a$\"Access (Y,N,S,Q):";:input @2 a$ if a$="Q" x=34 if a$="Y" flag(x)=1 if a$="N" flag(x)=0 ed.pass4 next:close #1:goto ed.pass2 ed.pass5 input @0 \"Save, Abort, or Return? " i$ if i$="A" move ram2,34 to ram:return if i$<>"S" goto ed.pass2 if a>nu nu=a if a=un a1$=d1$:a2$=d2$:a3$=d3$:return gosub wr.user:move ram2,34 to ram:return kill.pass input \"Delete user #"a if (a<1) or (a>nu) return move ram,34 to ram2:gosub rd.user a$=mid$(" "+when$,2):move ram2,34 to ram if d1$="" print \"That account is empty.":return print \"Delete "d1$" "d2$\"Last on "a$; input @0 "? "i$ if i$<>"Y" return d1$="":gosub wr.user kill "f:u."+str$(a) kill "f:r."+str$(a) kill "f:b."+str$(a) print \"User deleted.":return file input @2 \"File Name (to read):"i$ f$=i$:if i$="" return file1 input @0 \"Show file on printer? "i$ if i$<>"Y" goto show.file setint(1):copy f$,#5:setint(""):return terminate print \"Terminate Connection" input @0 \"Are you sure? " i$ if i$<>"Y" return clock(2)=md:link "a:main.seg","termin2" term1 clock(2)=md:link "a:main.seg","term1" welcome print \"Show current welcome to all users? "; input @0 i$:if i$<>"Y" return wm=mn:mn=mn+1:print \"News updated":return edit.file print \"Edit a File" input @2 \"File Name (to load):" i$ edit(0):if i$<>"" copy i$,#8 print \"Enter/Edit File Now: "edit(3)" cols, 4k max" print "Type 'DONE' when finished '.h' for help" edit(1):if not edit(2) return input @2 \"File Name (to save):" i$ if i$="" return kill i$:create i$:open #1,i$ copy #8,#1:close:return dos.cmd input @2 \"DOS:" i$:if i$="" return use "b:xdos",i$:return new.user input @0 \"Add a new user? " i$ move ram,34 to ram2:if i$<>"Y" return print \"Scanning for open slot" open #1,"b:users":for x=1 to nu position #1,64,x:input #1,d1$,d2$ if d1$="" a=x:x=nu:next:close:goto ed.pass1 next:close:a=nu+1:goto ed.pass1 set.date print \"Current date: "date$ input @2 \"Today's Date: "i$:date$=i$ print \"New date: "date$:return ; *** sub-routines *** rd.user open #1,"b:users" position #1,64,a input #1,d1$,d2$\d3$ position #1,64,a,30 read #1,ram,34 close #1 return wr.user open #1,"b:users":position #1,64,a a$="":if d1$<>"" a$=d1$+","+d2$ print #1,a$\d3$:position #1,64,a,30 write #1,ram,34:close #1 if a$="" ready "e:mail":kill #msg(a):update:ready "e:gmail":kill #msg(a):update:f$="f:u."+str$(a):kill f$ return show.file setint(1):print \s$\:copy f$:setint(""):return seg print \"Run what seg?":input @2 ">"i$:if i$="" return pop:clock(2)=md:link "a:"+i$ random.file t=0:print \"Edit a random file? ";:gosub get.key if i$<>"Y" print "No":return print "Yes":input @2 \\"Filename: "f$:if f$="" return if f$="B:DATA2" t=32 if f$="B:STAT.LIST" t=36 if not t input \"Record length: "t input \"Edit record #"a print \"Read current record first? ";:gosub get.key if i$<>"Y" print "No":goto r1 print "Yes":open #1,f$:position #1,t,a:input #1,a$:close print \\"The current record holds -"\">"a$\ print "Change it? ";:gosub get.key if i$<>"Y" print "No":return print "Yes" r1 print \\"Enter data for record #"a" -" print ":::::::::::::::::::::" input @3 ">"a$ open #1,f$:position #1,t,a:print #1,a$:close print \"Change completed.":return link.main clock(2)=md:link "a:main.seg","fromsys" get.key ww=0:wx=0 get.key1 gf=peek(-16384):if (gf=129) or (gf=150) get i$:print chr$(8);:return gf=key(0):if (gf>96) and (gf<123) gf=gf-32 if (gf>31) or (gf=13) i$=chr$(gf):return ww=ww+1:if flag(33)=0 goto get.key2 wx=wx+1:if wx>16 wx=1 print mid$("!/-\!/-\!\-/!\-/",wx,1);chr$(8); get.key2 if ww=2000 print chr$(7,2); if ww=4000 pop:goto term1 if (not info(0)) and (not info(5)) and (eu<>1) pop:goto term1 goto get.key1