home *** CD-ROM | disk | FTP | other *** search
- overlay procedure getlogin;
- var isnew:boolean;
-
- procedure byebye (byefile:lstr);
- begin
- printfile (byefile);
- unum:=-1;
- disconnect
- end;
-
- overlay procedure addlastcaller (c:real; n:mstr; z:integer; b:integer);
- var qf:file of lastrec;
- last,cnt:integer;
- l:lastrec;
-
- begin
- assign (qf,'Callers');
- reset (qf);
- if ioresult<>0 then rewrite (qf);
- last:=filesize(qf);
- if last>maxlastcallers then last:=maxlastcallers;
- for cnt:=last-1 downto 0 do begin
- seek (qf,cnt);
- read (qf,l);
- seek (qf,cnt+1);
- write (qf,l)
- end;
- with l do begin
- caller:=c;
- name:=n;
- level:=z;
- baud:=b;
- da:=datestr;
- ti:=timestr;
- end;
- seek (qf,0);
- write (qf,l);
- close (qf)
- end;
-
- overlay procedure newuser;
-
- procedure showcolors;
- var cnt,bvd:integer;
- begin
- writeln (^B);
- for cnt:=0 to 7 do begin
- bvd:=cnt+8;
- ansicolor (cnt);
- write ('Color #',cnt);
- ansicolor (bvd);writeln (' Color #',bvd);
-
- end;
- END;
-
- function passwd:boolean;
- var t:sstr;
- begin
- passwd:=false;
- dots:=false;
- buflen:=15;
- getstr;
- if input=''
- then exit
- else begin
- t:=input;
- dots:=true;
- writestr ('Re-enter for verification:');
- if not match(t,input) then begin
- writeln ('They don''t match!');
- passwd:=hungupon;
- exit
- end;
- urec.password:=t;
- passwd:=true
- end
- end;
-
- procedure getoption (c:configtype; txt:lstr; b:boolean);
- const yn:array [false..true] of string[3]=('No','Yes');
- begin
- txt:=txt+' [RETURN='+yn[b]+'] ? *';
- writestr (txt);
- if length(input)<>0 then b:=yes;
- if b
- then urec.config:=urec.config+[c]
- else urec.config:=urec.config-[c]
- end;
-
- procedure AliasChng;
- var s:mstr;
- cnt:integer;
- begin
- S:=lowstring(unam);
- s[1]:=upcase(s[1]);
- for cnt := 1 to (length(s)-1) do begin
- if s[cnt] in [' ','.','*'] then s[cnt+1]:=upcase(s[cnt+1]);
- end;
- unam:=s;
- end;
-
-
- VAR
- AC:text;
- LINE:STRING[255];
- FORFON:STRING[3];
- k:char;
- gg:char;
- l:boolean;
- oldn:integer;
- f:file;
- BL:text;
- Z:mstr;
- X:mstr;
- a:anystr;
-
-
- begin
- if private then
- byebye (textfiledir+'Private') else begin
- printfile (textfiledir+'Newuser');
- unum:=0;
- oldn:=0;
- repeat
- if oldn<>0 then unam:='';
- if length(unam)<5 then begin
- writestr (^B'$ Enter your FULL name : *');
- unam:=input
- end;
- if hungupon then exit;
- if fixhan then aliaschng;
- if length(unam)=0
- then oldn:=0
- else begin
- writeln ('*> Please wait <*');
- if exist (textfiledir+'Blacklist') then begin
- z:=upstring(unam);
- assign (bl,textfiledir+'Blacklist');
- reset (bl);
- while not eof(bl) do begin
- readln (Bl,Line);
- x:=upstring(Line);
- if match (Z,X) then begin
- Writeln ('The name you have entered has been blacklisted for this system.');
- Writeln ('Do not login again. You are not welcome here');
- unum:=0;
- close(bl);
- disconnect;
- exit;
- end;
- end;
- close(bl);
- end;
- if not validuname(unam)
- then oldn:=1
- else begin
- oldn:=lookupuser(unam);
- if oldn<>0 then writestr (CRLF+^B^G^G^G'That account is in use.')
- end;
- end;
- until oldn=0;
- ulvl:=1;
- if unam<>'' then begin
- unum:=adduser (urec);
- if unum<1 then begin
- writeln (^B'*> New Users not being accepted <*'^M);
- disconnect;
- exit
- end;
- writeln (^B^M'$ Identification number : ',unum,'.');
- repeat
- write (^B^M'Enter a password: ');
- if hungupon then exit;
- until passwd or hungupon;
- with urec do begin
- regularcolor:=ord(WHITE);
- promptcolor:=ord(white);
- statcolor:=ord(white);
- inputcolor:=ord(white);
- ldmns:='01/01/80';
- ltmns:='12:01 am';
- end;
- repeat
- input:='';
- VALIDPHONE:=true;
- repeat
- WRITE ('Enter phone number: [');
- repeat
- k:=waitforchar;
- if k in ['0'..'9'] then begin
- write (k);
- input:=input+k;
- end;
- if length (input)=3 then begin
- write ('/');
- input:=input+'/';
- end;
- if length (input)=7 then begin
- write ('-');
- input:=input+'-';
- end;
- until length(input)>11;
- writeln (']');
-
-
-
- until (LENGTH(INPUT)>11) or hungupon;
-
- FORFON:=copy (input,1,3);
- if (input[2] in ['2'..'9']) or (input[1] in ['0','1'])
- or (input[5] in ['0','1']) then begin
- writestr ('Invalid phone number.');
- validphone:=false;
- end;
- if exist (textfiledir+'areacode') then begin
- ASSIGN (AC,textfiledir+'AREACODE');
- RESET (AC);
- WHILE NOT EOF(AC) DO
- BEGIN
- READLN (AC,LINE);
- IF MATCH(FORFON,LINE) THEN BEGIN
- Writeln ('Users from Area ',forfon,' are not permitted to use this system');
- disconnect;
- end;
- end;
- close(AC);
- end;
-
- if hungupon then exit;
- until validphone or hungupon;
-
- urec.phonenum:=input;
- urec.config:=urec.config+[LOWERCASE];
- urec.config:=urec.config+[LINEFEEDS];
- urec.config:=urec.config-[MOREPROMPTS];
- urec.config:=urec.config+[eightycols];
- urec.config:=urec.config-[fseditor];
- urec.windows:=true;
- urec.lastmessages:=0;
- urec.lastups:=0;
-
- repeat
- write ('Use IBM ANSI Color graphics? :');
- k:=waitforchar;
- if upcase(k)='Y' then writeln ('Yes')
- else if upcase(k)='N' then writeln ('No');
- k:=upcase(k);
- until (k in ['N','Y']) or hungupon;
- if hungupon then exit;
- case k of
-
- 'Y':urec.config:=urec.config+[ansigraphics,asciigraphics];
-
-
- end;
-
-
- urec.displaylen:=24;
- if ansigraphics in urec.config then urec.config:=urec.config+[Asciigraphics]
- else begin
- Write (CRLF+'Do you want IBM ascii graphics? :');
- k:=waitforchar;
- if upcase(k)='Y' then writeln ('Yes')
- else if upcase(k)='N' then writeln ('No');
- k:=upcase(k);
- if k='Y' then
- urec.config:=urec.config+[Asciigraphics];
-
- end;
- if hungupon then exit;
-
-
-
- repeat
- begin
- ansicls;write (^L);
- writeln (^M^T' Select a letter to change.');
- writeln (^S'[A] Username :',unam);
- writeln ('[B] Password :'^S,urec.password);
- if ansigraphics in urec.config then begin
- writeln ('[C] Regular Color :'^S,UREC.regularcolor);
- writeln ('[D] Prompts Color :'^S,UREC.promptcolor);
- writeln ('[E] Status Colors :'^S,UREC.statcolor);
- writeln ('[F] Typing Colors :'^S,UREC.inputcolor);
- writeln ('[G] Full Scrn Edit:'^S,yesno(fseditor in urec.config));
- end;
- writeln ('[H] Screen Length :'^S,UREC.displaylen);
- writeln ('[I] Lower Case :'^S,yesno(lowercase in urec.config));
- writeln ('[J] Eighty columns:'^S,yesno(eightycols in urec.config));
- writeln ('[K] Line Feeds :'^S,yesno(linefeeds in urec.config));
- writeln ('[L] MORE prompts :'^S,yesno(moreprompts in urec.config));
- writeln ('[M] IBM characters:'^S,yesno(asciigraphics in urec.config));
- writeln ('[N] Ansi Graphics :'^S,yesno(ansigraphics in urec.config));
- Writeln ('[O] Ansi Windows :'^S,yesno(urec.windows));
- writeln ('[X] Finished,Exit ');
- imdone:=false;
- repeat
- writestr ('Enter Choice: *');
- until (Length(input)>0) or hungupon;
- l:=ansigraphics in urec.config;
- gg:=(upcase(input[1]));
- if not l then if gg in ['C'..'G'] then gg:='Z';
- case gg of
- 'A':begin
- writestr ('Enter New Username: @');
- if (length(input)>0) then begin
- unam:=input;
- end;
- end;
-
- 'G':begin
- Writeln (^B^M'Editor for entering messages.');
- writeln ( '[1] Ansi Full Screen Editor');
- writeln ( '[2] Standard Line-editor');
- writestr( 'Select one [1,2]: *');
- if match(input,'1') then urec.config:=urec.config+[fseditor] else
- urec.config:=urec.config-[fseditor];
- end;
-
- 'B':BEGIN
- WRITEstr (^M'Enter a new password : *');
- if length(input)>0 then urec.password:=input;
- end;
-
- 'C':begin
- showcolors; Writestr (crlf+'Enter New Regular color # : *');
- if length(input)<1 then else begin
- if (valu(input)>-1) or (valu(input)<16) then
- urec.regularcolor:=valu(input)+0;
- end;
- end;
-
- 'D':begin
- showcolors; Writestr (crlf+'Enter new Prompt color # : *');
- if length(input)<1 then else begin
- if (valu(input)>-1) or (valu(input)<16) then
- urec.PROMPTColor:=valu(input)+0;
- end;
- end;
-
- 'E':begin
- showcolors; Writestr (crlf+'Enter New status color # : *');
- if length(input)<1 then else begin
- if (valu(input)>-1) or (valu(input)<16) then
- urec.STATColor:=valu(input)+0;
- end;
- end;
-
- 'F':begin
- showcolors; Writestr (crlf+'Enter New Input color # : *');
- if length(input)<1 then else begin
- if (valu(input)>-1) or (valu(input)<16) then
- urec.INPUTColor:=valu(input)+0;
- end;
- end;
-
- 'H':BEGIN
- WRITESTR (CRLF+'Enter new Screen Length : *');
- if length(input)>0 then
- if (valu(input)>7) and (valu(input)<45) then urec.displaylen:=valu(input);
- end;
-
- 'I':begin
- if lowercase in Urec.config THEN
- Urec.config:=urec.config-[LOWERCASE] ELSE
- Urec.config:=urec.config+[LOWERCASE];
- end;
-
- 'J':begin
- if EIGHTYCOLS in Urec.config THEN
- Urec.config:=urec.config-[eightycols] ELSE
- Urec.config:=urec.config+[eightycols];
- end;
-
- 'K':begin
- if linefeeds in Urec.config THEN
- Urec.config:=urec.config-[Linefeeds] ELSE
- Urec.config:=urec.config+[Linefeeds];
- end;
-
- 'L':begin
- if moreprompts in Urec.config THEN
- Urec.config:=urec.config-[moreprompts] ELSE
- Urec.config:=urec.config+[moreprompts];
- end;
-
- 'M':begin
- if asciigraphics in Urec.config THEN
- Urec.config:=urec.config-[asciigraphics] ELSE
- Urec.config:=urec.config+[asciigraphics];
- end;
-
- 'N':begin
- if ansigraphics in Urec.config THEN
- Urec.config:=urec.config-[ansigraphics] ELSE
- Urec.config:=urec.config+[ansigraphics];
- end;
-
- 'O':begin
- if urec.windows then urec.windows:=false else
- urec.windows:=true;
- end;
-
- 'X':imdone:=true;
- end;
- end;
- if hungupon then exit;
- until imdone or hungupon;
-
- if hungupon then begin
- unum:=0;
- exit
- end;
- writeurec;
- isnew:=true;
- if requireforms then question(1);
- end else begin
- unum:=0;
- writeln (^B^M);
- end;
- end;
- end;
-
- procedure elite;
- begin
- end;
-
- overlay procedure getunum;
- var tries,cnt:integer;
- u:userrec;
- enterednum:boolean;
- begin
- tries:=0;
- repeat
- tries:=tries+1;
- if tries>3 then byebye (textfiledir+'Nicetry') else begin
- dots:=false;
- fin:=false;
- writeln ('$ New Accounts: Press [ENTER] ');
- writestr
- (^M'Enter account name or number'+^B+': *');
- unam:=input;
- isnew:=false;
- enterednum:=valu(unam)<>0;
- if hungupon then unum:=-1 else
- if length(unam)=0
- then newuser
- else begin
- unum:=lookupuser (unam);
- if unum=0
- then
- begin
- writeln ('Account Not Found!');
- end
- else if not enterednum
- then writeln
- end
- end
- until unum<>0
- end;
-
- overlay procedure getpwd;
- var u:userrec;
- begin
- seek (ufile,unum);
- read (ufile,u); che;
- if not checkpassword(u) then begin
- byebye (textfiledir+'Nicetry');
- writelog (0,2,unam)
- end;
- writeln (^M)
- end;
-
- overlay procedure getsystempassword;
- var tries,try:integer;
- valid_password: boolean;
- mchoice,schoice,corp,tchoice:mstr;
- m:mailrec;
- me:message;
- unaccess:boolean;
- sname:lstr;
-
- procedure whynotgetunum;
- var tries,cnt:integer;
- u:userrec;
- enterednum:boolean;
- zz:char;
- begin
- tries:=0;
- repeat
- tries:=tries+1;
- if tries>1 then exit else begin
- chainstr:='';
- fin:=false;
- write (^B^M'Enter name: ');
- buflen:=80;
- getstr;
- unam:=input;
- isnew:=false;
- enterednum:=valu(unam)<>0;
- if hungupon then unum:=-1 else
- begin
- unum:=lookupuser (unam);
- if unum=0
- then
- Writeln (^B^M'Account is non-existant. ');
- end
- end
- until unum<>0
- end;
-
- procedure whynotgetpwd;
- var u:userrec;
- r:regs;
- hour:integer;
- begin
- readurec;
- seek (ufile,unum);
- read (ufile,u); che;
- r.ax:=$2C00;
- intr($21,r);
- hour:=hi(r.cx);
- case hour of
- 0,24,1..11:write(^B'Good morning, ');
- 12..17:write(^B'Good afternoon, ');
- 18..23:write(^B'Good evening, ');
- end;
- writeln ('',u.handle,', Account #',unum,crlf);
- if not checkpassword(u) then begin
- byebye (textfiledir+'Nicetry');
- end;
- if u.level>level2nd then writeln (^B^M'SYSTEM Login is :',syspwrd1) else
- writeln (^B^G^M'You have not been authorized for this system.');
- writeln (^M)
- end;
-
- begin
- unaccess:=false;
- if unix then begin
- if exist (textfiledir+'Unix') then printfile (textfiledir+'Unix');
- tries:=0;
- repeat;
- tries:=tries+1;
- Writestr ('login: @');
- if hungupon then exit;
- if match(input,unixdefault) then unaccess:=true else unaccess:=false;
- if not unaccess then begin
- echo:=false;
- writestr ('Password: @');
- echo:=true;
- writeln ('Login incorrect');
- end;
- until unaccess or hungupon or (tries>=5);
- if (tries>=5) then disconnect;
- end;
-
- if not matrix or (autologin and local) then exit;
- tries:=0;
- valid_password:=false;fin:=false; {Allow_Login:=false;Sys2:=false;}
- repeat
- dots:=false;
- if exist (textfiledir+'Matrix') then printfile (textfiledir+'Matrix') else begin
- chainstr:='';
- Writeln;
- Writeln(^B' ');
- Writeln(^B'A) Login To System ');
- Writeln(^B'B) New Account Entry');
- Writeln(^B'C) Check an Account ');
- Writeln(^B'D) Log off system ');
-
- end;
- writestr ('$@');
- {* IF match(input,'damnIrulesolemmein') then
- BEGIN
- WRITELN (SYSPWRD1);
- IF (LENGTH(SYSPWRD2)>0) THEN
- WRITELN (SYSPWRD2);
- IF (LENGTH(SYSPWRD3)>0) THEN
- WRITELN (SYSPWRD3);
- END; *}
- if length(input)<1 then input:='9995';
- mchoice:=upcase(input[1]);
- tries:=tries+1;
- if (length(mchoice) <> 0) then
- begin
- case mchoice[1] of
- 'A' : begin
- clrscr;dots:=true;
- IF LOCAL THEN BEGIN
- Valid_password := true;
-
- end;
- if not local then begin
- WRITELN ('[SYSTEM]');
- WRITELN;
- writestr(^M'Login: *');
- tchoice:=input;
- if match (tchoice ,SYSPWRD1) then
- begin
- Valid_password := true;
-
-
- end;
- end;
- end;
- { '2' : begin
- clrscr;dots:=true;
- IF (LENGTH(SYSPWRD2)>0) THEN BEGIN
- IF (AUTOLOGIN AND LOCAL) THEN HALT(5);
- WRITELN ('[PORT B]');
- WRITELN;
- writestr ('Login: *');tchoice:=input;
- if match (tchoice,SYSPWRD2) then
- begin
- clrscr;
- halt(5);
- end;
- END;
- if (length(syspwrd2)=0) then
- WRITELN ('[PORT B] is not available');
- end;
- '3' : begin
- clrscr;dots:=true;
- IF (LENGTH(SYSPWRD3)>0) THEN BEGIN
- IF (AUTOLOGIN AND LOCAL) THEN HALT(6);
- WRITELN ('[PORT C]');
- WRITELN;
- writestr(^M'Login: *');
- tchoice:=input;
- if match (tchoice , SYSPWRD3) then
- begin
- clrscr;
- halt(6);
- end;
- END;
- if (length(syspwrd3)=0) then
- WRITELN ('[PORT C] is not available');
- end;}
- 'B' : begin
- clrscr;
- UNAM:=' ';
-
- If private then byebye('private') else newuser;
-
- IF (not hungupon) AND (NOT PRIVATE) and (unum>0) then begin
-
- Writeln (^B^M'Send a message to the SysOp concerning your account');
- DELAY (300);
- sendtoistru:=false;
- feed:=true;
- m.line:=editor(me,true);
- if m.line>0 then begin
- m.title:=me.title;
- m.sentby:=unam;
- m.anon:=false;
- m.sentda:=datestr;
- m.sentti:=timestr;
- addfeedback (m);sendtoistru:=true;feed:=false;end;
- End;
- writeln (^M^M'*> Connection Terminated <*');
- disconnect;
- end;
-
- 'C' : begin
- whynotgetunum;
- if unum>0 then
- whynotgetpwd;
- end;
- 'D' : begin
- clrscr;
- disconnect;
- end;
- {'7' : if matfeed then begin
- Writestr ('Leave comment to sysop? @');
- if yes then begin
- writestr ('Enter you name: *');
- sname:=input;
- if length (input)>0 then begin
- sendtoistru:=false;
- feed:=true;
- m.line:=editor(me,true);
- if m.line>0 then begin
- m.title:=me.title;
- m.sentby:=sname;
- m.anon:=false;
- m.sentda:=datestr;
- m.sentti:=timestr;
- addfeedback (m);sendtoistru:=true;feed:=false;end;
- End;
- End;
- End
- else writeln ('Invalid Response!'^M);
- else
- begin
- writeln('Invalid Response!'^M);
- end; }
- end; {Case}
- end; { if }
- until (tries >= 5) or Valid_password or hungupon;
- if not valid_password then
- begin
- clrscr;
- byebye (textfiledir+'Nicetry');
- end;
- end; {Get System Password}
-
-
-
-
- overlay procedure inituser;
- var asc:boolean;
-
- function checit(num:integer):boolean;
- var
- x:integer;
- begin
- checit:=true;
- for x:=1 to 50 do
- if urec.didvote[x]=num then checit:=false;
- end;
-
- procedure checkvot;
- var n:integer;
- u:userrec;
-
- begin
- nnu:=0;
- for n:=1 to numusers do begin
- seek (ufile,n);
- read (ufile,u);
- if (u.level<=level2nd) and (length(u.handle)>0) then if checit(n) then nnu:=nnu+1;
- end;
- end;
-
- var m:mailrec;
- wang,bang,chang,cnt:integer;
- sowhat:anystr;
-
- begin
- readurec;
- if ulvl=-1 then begin
- byebye ('Trashcan');
- exit
- end;
- writelog (0,1,unam);
- readurec;
- urec.numon:=urec.numon+1;
- numcallers:=numcallers+1;
- callstoday:=callstoday+1;
- writeurec;
- with urec do begin
- asc:=asciigraphics in config;
-
- write (^B^M);
-
-
- if ansi then
- begin
- bottom;
- ANSICLS;
- if (numwelcomes>0) then begin
- printfile (textfiledir+'Welcome.'+strr(random(numwelcomes)+1));
- bottomline;
- delay (3000);
- end;
- end else BEGIN
- if asc then begin
- if exist (textfiledir+'welcome.asc') then printfile (textfiledir+'welcome.asc');
- delay (3000);
- end;
- END;
-
- writestr (crlf+crlf);
-
- IF ANSI then BEGIN
- ANSICLS;
- nobreak:=true; dontstop:=true;
- write (#27+'[0;1;37;40m');
- if londa<>datestr then begin
- cnt:=level;
- if cnt<1 then cnt:=1;
- if cnt>100 then cnt:=100;
- timetoday:=usertime[cnt];
- end;
- lastonda:=londa;
- lastonti:=lonti;
- londa:=datestr;
- lonti:=timestr;
- wang:=(messages-urec.lastmessages);
- bang:=(ups-urec.lastups);
- if wang<1 then wang:=0;
- if bang<1 then bang:=0;
- urec.lastups:=ups;
- writeurec;
- sowhat:=getlastcaller;
- chang:=getnummail(unum);
- writeln (#27+'[34m┌───────────────────────────────────────────────────────────────┐');
- (*** if ulvl>=sysoplevel then
- writeln ('│ '+#27+'[35m%> Sysop <% '+#27+'[34m│'); ***)
- write ('│ '+#27+'[30m['+#27+'[35mUser Name'+#27+'[30m]'+#27+'[35m :');
- writeln (' '+#27+'[30m['+#27+'[35mLast Logon'+#27+'[30m]'+#27+'[35m : '+#27+'[34m│');
- write ('│ '+#27+'[30m['+#27+'[35mUser Level'+#27+'[30m]'+#27+'[35m :');
- writeln (' '+#27+'[30m['+#27+'[35mTotal Calls'+#27+'[30m]'+#27+'[35m : '+#27+'[34m│');
- write ('│ '+#27+'[30m['+#27+'[35mXfer Level'+#27+'[30m]'+#27+'[35m :');
- writeln (' '+#27+'[30m['+#27+'[35mTodays Time'+#27+'[30m]'+#27+'[35m : '+#27+'[34m│');
- write ('│'+#27+'[30m['+#27+'[35mNew Messages'+#27+'[30m]'+#27+'[35m :');
- writeln (' '+#27+'[30m['+#27+'[35mNew Files'+#27+'[30m]'+#27+'[35m : '+#27+'[34m│');
- write ('│ '+#27+'[30m['+#27+'[35mLast Caller'+#27+'[30m]'+#27+'[35m :');
- writeln (' '+#27+'[30m['+#27+'[35mMail Waiting'+#27+'[30m]'+#27+'[35m : '+#27+'[34m│');
- if ulvl>=sysoplevel then begin
- write ('│ '+#27+'[30m['+#27+'[35mFeedback'+#27+'[30m]'+#27+'[35m :');
- writeln (' '+#27+'[30m['+#27+'[35mErrors'+#27+'[30m]'+#27+'[35m : '+#27+'[34m│');
- end;
- writeln ('└───────────────────────────────────────────────────────────────┘');
-
-
- write (#27+'[36m');
- movexy (18,3);Write(Unam);
-
- if ulvl>=sysoplevel then begin
- movexy (56,8);
- if exist ('errlog') then write ('Yes') else write ('No');
- end;
-
- movexy (56,7);
- if chang>0 then write(chang) else write ('None');
-
- movexy (18,4);write(ulvl);
-
- movexy (56,6);if bang>0 then Write(Bang) else write ('None');
- movexy (18,5);Write(urec.udlevel);
- movexy (56,5);write(timetoday);
-
- movexy (18,6);if wang>0 then Write(Wang) else write ('None');
- movexy (56,4);write(Numon);
-
- movexy (18,7);write(sowhat);
-
- movexy (56,3);write(lastonda);
-
- if ulvl>=sysoplevel then begin
- movexy (18,8);
- if numfeedback>0 then write (numfeedback) else write ('None');
- movexy (1,10);
- end
-
- else movexy (1,14);
-
-
-
-
- write (#27+'[0;1;37;40m');
- END
-
-
-
- else begin
- chang:=getnummail(unum);
- if londa<>datestr then begin
- cnt:=level;
- if cnt<1 then cnt:=1;
- if cnt>100 then cnt:=100;
- timetoday:=usertime[cnt];
- end;
- lastonda:=londa;
- lastonti:=lonti;
- londa:=datestr;
- lonti:=timestr;
- sowhat:=getlastcaller;
- writeln (^M^B'<(*)>>> ',longname,' <<<(*)>'
-
- ,^M^M^B'*> Online : [',unam,']'
- ,^M^M^B'*> Calls : [',numon,']');
- write (^B'*> Last on : [');
- if numon>1 then writeln (lastonda,' at ',lastonti,']')
- else writeln ('Never]');
- writeln (^B'*> Time allowed: [',timetoday,' minutes]'
- ,^M^M^B'*> Caller # : [',numcallers:0:0,']'
- ,^M^B'*> Last Caller : [',sowhat,']'
- ,^M^B'*> Time & Date : [',londa,' on ',lonti,']');
-
- write (^M^B'*> Looking in Mailbox...');
- delay (1000);
- if chang>0 then
- writeln (backsp,'You have [',chang,'] pieces of mail <*')
- else
- writeln ('[Empty] <*');
- if ulvl>=sysoplevel then begin
- writeln (^M^B'%> Feedback : [',numfeedback,']');
- write ('%> Errors : [');
- if exist ('errlog') then
- writeln ('Yes]')
- else
- writeln ('No]');
- end;
- writeln (^M^M);
- fin:=true;
- writestr ('Press [ENTER] to continue : *');
- end;
- logontime:=timer;
- logofftime:=timer+timetoday+30;
- logonunum:=unum;
- end;
- addlastcaller (numcallers,unam,ulvl,baudrate);
- writeurec;
- bottomline;
- if wanted in urec.config then if sysopisavail then begin
- writeln (^B,sysopname,' wishes to speak with you.');
- writeln ('Paging.. please stand by...'^M);
- for cnt:=1 to 25 do if not keyhit then summonbeep;
- chatmode:=true
- end;
- printnews;
- dontstop:=true; nobreak:=true;
- if tonext>-1 then begin
- writeln ('----------------------');
- writeln ('Message from last user');
- writeln ('----------------------');
- printtext (tonext)
- end;
- if (ulvl>=forvote) and vote then checkvot;
- if (ulvl>=forvote) and vote then if nnu>0 then writeln
- ('*> ',nnu,' new users to vote on. Use option [&]. <*');
- disconnected:=false
- end;
-
- procedure initit(w:integer);
- begin
- case w of
- 1:getsystempassword;
- 2:inituser;
- 3:getunum;
- 4:getpwd;
- end;
- end;
-
-
- begin
- stoptimer (numminsidle);
- starttimer (numminsused);
- textcolor (normbotcolor);
- clrscr;
- fillchar (urec,sizeof(urec),0);
- urec.config:=[lowercase,linefeeds,eightycols];
- uselinefeeds:=true;
- usecapsonly:=false;
- initit (1);
-
- cls;
- writeln ('UUCP/NFS accessed at ',timestr,' on ',datestr);
- writeln ('XENIX SYSTEM V',^M);
- dots:=false;
- writeln (^M^M);
- printfile (textfiledir+'prelogin.bbs');
- if autologin and local and (not carrier) then begin
- unum:=lookupuser (sysopname);
- if unum=0
- then writeln (usr,'User ',sysopname,' not found!')
- else begin
- writeln (usr,'* SYSOP AUTOLOGIN *');
- unum:=1;
- initit (2);
-
- exit
- end
- end;
- initit (3);
-
- if hungupon then exit;
- if not isnew then initit(4);
-
- if hungupon then exit;
- initit (2);
-
- end;