-
Notifications
You must be signed in to change notification settings - Fork 0
/
resume.pas
128 lines (108 loc) · 3.23 KB
/
resume.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Unit Resume;
INTERFACE
Var
ResumeDir,
UserName : String;
Function DefineUserFile (s:String): String;
Procedure Parser (s,rest,options: String);
IMPLEMENTATION
Uses
ANSI,
BBSBase,
BEditor,
BFiles,
Help,
Misc,
Modem,
Net,
Red,
SysOp;
Const
Quick=1; (* Modovi za citanje resume-a *)
Text=2; (* 1 samo zaglavlje, 2 samo text ,3 oboje *)
Full=3;
Function DefineUserFile (s:String): String;
Var
Len,
Count : Byte;
Begin
Len:=Ord(s[0]);
If (Len>8) Then Begin
s:=Copy(s,1,8);
Len:=8;
End;
Count:=1;
While Count<=Len do
Case s[Count] Of
'.' : s[Count]:='-';
Else Inc(Count);
End;
DefineUserFile:=s+'.BRF';
End; (* Pretvara username u prihvatljivi file name *)
Function Exist (s: String): Boolean;
Begin
Exist:=BFiles.FileExists (ResumeDir+s);
End; (* Postoji li rezime za korisnika *)
Procedure Show (s:String);
Begin
If Exist(s) Then BFiles.Show (ResumeDir+s);
Modem.OutLn ('---------------------------------');
End; (* Prikazuje rezime korisnika *)
Procedure View (s,options : String;mode: Byte);
Var name,
ri: String;
Begin
If s='' Then Begin
Modem.OutLn ('You must specifie username.');
Exit;
End;
Net.SetWhere ('Resume Read');
name:=DefineUserFile(s);
s:=Lower(s);
s:=MakeBlanks(s);
Open_Dbf;
With Dbf_File^ do begin
If IsUser(s) then begin
If Not(Red.CheckRed(Options,'RESUME.LOG')) Then Exit;
If (mode=full) Or (mode=quick) Then Begin
If FieldData('RIGHT')=MakeBlanks('2') Then ri:=('Normal User');
If FieldData('RIGHT')=MakeBlanks('4') Then ri:=('Benefit User');
If FieldData('RIGHT')=MakeBlanks('8') Then ri:=('File Administrator');
If FieldData('RIGHT')=MakeBlanks('128')Then ri:=('System Operator');
Modem.OutLn ('=================================');
Modem.OutLn ('Username: '+ANSI.BRIGHT+FieldData('USERNAME')+ANSI.NORMAL);
Modem.OutLn (' Name: '+FieldData('NAME') );
Modem.OutLn ('Lastname: '+FieldData('LASTNAME'));
Modem.OutLn (' Town: '+FieldData('TOWN') );
Modem.OutLn (' Rights: '+ri );
Modem.OutLn ('---------------------------------');
End;
End;
End;
Close_Dbf;
If (Mode=Full) Or (Mode=Text) Then Show (name);
Red.HandleRedirect;
Net.SetWhere ('Sonic');
end; {Resume}
Procedure Edit;
Begin
If Modem.Local Then SysOp.Shell ('q '+ResumeDir+Resume.UserName)
Else BEditor.Edit (ResumeDir+Resume.UserName);
End;
Procedure Parser (s,rest,options: String);
Begin
If (s='?') Or (s='HELP') Then BFiles.Show (BFiles.ResumeHelpFile)
else if (s='CLS') Then Misc.CLS (rest)
else if (s='TEXT') Or (s='TE') Then View (rest,options,Text)
else if (s='QUICK') Or (s='QU') Then View (rest,options,Quick)
else if (s='EDIT') Or (s='ED') Then Edit
else if (s='SHOW') Or (s='SH') Or (s='READ') Or (s='RE') Then View (rest,options,Full)
else if (s='EXIT') Or (s='..') Or (s='EX') Or (s='\') Then
Begin
Misc.ResumePrompt:=FALSE;
Net.SetWhere ('Sonic');
End
else If (s<>'') Then Modem.OutLn ('Unknown Resume command "'+s+'", type ? for Help');
End; (* Parser *)
End.
---------------------------------------------------------