QWK networking (bbs side) complete. Now onto MIS...
This commit is contained in:
parent
3868c9b4dc
commit
1c3dfaff3a
|
@ -483,6 +483,8 @@ Var
|
|||
List.Add(strPadR(strAddr2Str(bbsCfg.NetAddress[A]), 23, ' ') + ' ' + strPadR(bbsCfg.NetDomain[A], 8, ' ') + ' ' + strPadR(strYN(bbsCfg.NetPrimary[A]), 3, ' ') + ' ' + bbsCfg.NetDesc[A], 0);
|
||||
End;
|
||||
|
||||
Var
|
||||
Count : Byte;
|
||||
Begin
|
||||
Result := 0;
|
||||
|
||||
|
@ -512,6 +514,12 @@ Begin
|
|||
End;
|
||||
Until False;
|
||||
|
||||
For Count := 1 to 30 Do Begin
|
||||
If bbsCfg.NetPrimary[Count] Then Break;
|
||||
|
||||
If Count = 30 Then ShowMsgBox(0, 'WARNING: No address is set to primary');
|
||||
End;
|
||||
|
||||
List.Close;
|
||||
Box.Close;
|
||||
|
||||
|
|
|
@ -215,7 +215,6 @@ Begin
|
|||
Form.AddNone ('4', ' 4 SMTP Server Options', 26, 9, 26, 9, 27, '');
|
||||
Form.AddNone ('5', ' 5 NNTP Server Options', 26, 10, 26, 10, 27, '');
|
||||
Form.AddNone ('6', ' 6 BINKP Server Options', 26, 11, 26, 11, 27, '');
|
||||
Form.AddNone ('7', ' 7 FTN-FTP Server Options', 26, 12, 26, 12, 27, '');
|
||||
|
||||
Res := Form.Execute;
|
||||
MenuPos[2] := Form.ItemPos;
|
||||
|
@ -236,7 +235,6 @@ Begin
|
|||
'4' : Configuration_SMTPServer;
|
||||
'5' : Configuration_NNTPServer;
|
||||
'6' : Configuration_BINKPServer;
|
||||
// '7' : Configuration_FTNFTPServer;
|
||||
'X' : Break;
|
||||
Else
|
||||
MenuPtr := 0;
|
||||
|
|
|
@ -31,7 +31,7 @@ Type
|
|||
End;
|
||||
|
||||
Const
|
||||
Num_Cmds = 102;
|
||||
Num_Cmds = 101;
|
||||
MenuCmds : Array[1..Num_Cmds] of CmdRec = (
|
||||
// AUTOSIG MENU COMMANDS
|
||||
( Name: 'AE'; Desc: 'Autosig editor' ),
|
||||
|
@ -112,7 +112,6 @@ Const
|
|||
// OFFLINE MAIL MENU COMMANDS
|
||||
( Name: 'OS'; Desc: 'Set QWK scanned bases' ),
|
||||
( Name: 'OD'; Desc: 'Download QWK packet' ),
|
||||
( Name: 'OE'; Desc: 'Download QWKE packet' ),
|
||||
( Name: 'OU'; Desc: 'Upload REP packet' ),
|
||||
|
||||
// DOWNLOAD QUEUE MENU COMMANDS
|
||||
|
|
|
@ -114,7 +114,7 @@ Begin
|
|||
|
||||
Box.Open (3, 4, 77, 22);
|
||||
|
||||
VerticalLine (17, 5, 20);
|
||||
VerticalLine (17, 5, 21);
|
||||
VerticalLine (66, 5, 21);
|
||||
|
||||
Form.AddStr ('N', ' Name' , 11, 5, 19, 5, 6, 30, 40, @MBase.Name, Topic + 'Message base description');
|
||||
|
@ -133,6 +133,7 @@ Begin
|
|||
Form.AddStr ('S', ' Sponsor' , 8, 18, 19, 18, 9, 30, 30, @MBase.Sponsor, Topic + 'User name of base''s sponser');
|
||||
Form.AddStr ('T', ' R Template' , 5, 19, 19, 19, 12, 20, 20, @MBase.RTemplate, Topic + 'Template for full screen reader');
|
||||
Form.AddStr ('M', ' L Template' , 5, 20, 19, 20, 12, 20, 20, @MBase.ITemplate, Topic + 'Template for lightbar message list');
|
||||
Form.AddBits ('0', ' QWK Network' , 4, 21, 19, 21, 13, MBAllowQWKNet, @MBase.Flags, Topic + 'Is this base a QWK network base?');
|
||||
|
||||
Form.AddAttr ('Q', ' Quote Color' , 53, 5, 68, 5, 13, @MBase.ColQuote, Topic + 'Color for quoted text');
|
||||
Form.AddAttr ('X', ' Text Color' , 54, 6, 68, 6, 12, @MBase.ColText, Topic + 'Color for message text');
|
||||
|
|
|
@ -83,7 +83,7 @@ Begin
|
|||
|
||||
Box.Open (5, 5, 75, 18);
|
||||
|
||||
VerticalLine (24, 7, 16);
|
||||
VerticalLine (24, 7, 17);
|
||||
VerticalLine (67, 7, 12);
|
||||
|
||||
Form.AddStr ('B', ' BBS Name', 14, 7, 26, 7, 10, 25, 30, @bbsCfg.BBSName, Topic);
|
||||
|
@ -93,9 +93,10 @@ Begin
|
|||
Form.AddStr ('O', ' Sysop ACS', 13, 11, 26, 11, 11, 25, 30, @bbsCfg.ACSSysop, Topic);
|
||||
Form.AddStr ('F', ' Feedback To', 11, 12, 26, 12, 13, 25, 30, @bbsCfg.FeedbackTo, Topic);
|
||||
Form.AddStr ('A', ' Start Menu', 12, 13, 26, 13, 12, 20, 20, @bbsCfg.DefStartMenu, Topic);
|
||||
Form.AddStr ('H', ' Theme', 17, 14, 26, 14, 7, 20, 20, @bbsCfg.DefThemeFile, Topic);
|
||||
Form.AddBol ('K', ' Ask Theme', 13, 15, 26, 15, 11, 3, @bbsCfg.ThemeOnStart, Topic + 'Ask theme each connection');
|
||||
Form.AddTog ('E', ' Terminal', 14, 16, 26, 16, 10, 10, 0, 3, 'Ask Detect Detect/Ask ANSI', @bbsCfg.DefTermMode, Topic);
|
||||
Form.AddStr ('Q', ' QWK Net Menu', 10, 14, 26, 14, 14, 20, 20, @bbsCfg.QwkNetMenu, Topic + 'QWK menu for QWK network users');
|
||||
Form.AddStr ('H', ' Theme', 17, 15, 26, 15, 7, 20, 20, @bbsCfg.DefThemeFile, Topic);
|
||||
Form.AddBol ('K', ' Ask Theme', 13, 16, 26, 16, 11, 3, @bbsCfg.ThemeOnStart, Topic + 'Ask theme each connection');
|
||||
Form.AddTog ('E', ' Terminal', 14, 17, 26, 17, 10, 10, 0, 3, 'Ask Detect Detect/Ask ANSI', @bbsCfg.DefTermMode, Topic);
|
||||
|
||||
Form.AddBol ('L', ' Chat Logging', 53, 7, 69, 7, 14, 3, @bbsCfg.ChatLogging, Topic);
|
||||
Form.AddByte ('R', ' Hours Start', 54, 8, 69, 8, 13, 2, 0, 24, @bbsCfg.ChatStart, Topic);
|
||||
|
|
|
@ -152,6 +152,7 @@ Begin
|
|||
Form.AddBol ('I', ' Mail Index' , 7, 12, 23, 12, 14, 3, @U.UseLBMIdx, Topic + 'Start reading email at message index');
|
||||
Form.AddTog ('N', ' Node Chat' , 7, 13, 23, 13, 14, 8, 0, 1, 'Standard Full', @U.UseFullChat, Topic + 'User''s node chat type');
|
||||
Form.AddTog ('C', ' Code Page' , 7, 14, 23, 14, 14, 5, 0, 1, 'CP437 UTF-8', @U.CodePage, Topic + 'User''s character translation');
|
||||
Form.AddBol ('Q', ' QWKE Packet' , 7, 15, 23, 15, 14, 3, @U.QwkExtended, Topic + 'Use QWKE (instead of QWK)');
|
||||
End;
|
||||
4 : Begin
|
||||
Form.Clear;
|
||||
|
@ -190,6 +191,7 @@ Begin
|
|||
Form.AddBits ('P', ' No PW Change', 7, 10, 23, 10, 14, UserNoPWChange, @U.Flags, Topic + 'Exclude from forced password change');
|
||||
Form.AddBits ('H', ' No History' , 7, 11, 23, 11, 14, UserNoHistory, @U.Flags, Topic + 'Exclude from BBS history stats');
|
||||
Form.AddBits ('T', ' No Timeout' , 7, 12, 23, 12, 14, UserNoTimeout, @U.Flags, Topic + 'Exclude from inactivity timeout');
|
||||
Form.AddBits ('Q', ' QWK Network' , 7, 13, 23, 13, 14, UserQWKNetwork, @U.Flags, Topic + 'User is a QWK network account');
|
||||
End;
|
||||
End;
|
||||
|
||||
|
|
|
@ -246,7 +246,7 @@ Procedure TBBSCore.SystemLog (Str: String);
|
|||
Var
|
||||
tLOG : Text;
|
||||
Begin
|
||||
Assign (tLOG, bbsCfg.LogsPath + 'sysop.' + strI2S(NodeNum));
|
||||
Assign (tLOG, bbsCfg.LogsPath + 'node' + strI2S(NodeNum) + '.log');
|
||||
{$I-} Append(tLOG); {$I+}
|
||||
If IoResult <> 0 Then ReWrite (tLOG);
|
||||
|
||||
|
|
|
@ -458,7 +458,8 @@ Begin
|
|||
While Not Eof(Session.User.UserFile) Do Begin
|
||||
Read (Session.User.UserFile, TempUser);
|
||||
|
||||
If TempUser.Flags AND UserDeleted <> 0 Then Continue;
|
||||
If (TempUser.Flags AND UserDeleted <> 0) and
|
||||
(TempUser.Flags AND UserQWKNetwork <> 0) Then Continue;
|
||||
|
||||
Session.io.PromptInfo[1] := TempUser.Handle;
|
||||
Session.io.PromptInfo[2] := TempUser.City;
|
||||
|
|
|
@ -704,6 +704,7 @@ Begin
|
|||
End;
|
||||
'Q' : Case Code[2] of
|
||||
'A' : LastMCIValue := TBBSCore(Core).User.ThisUser.Archive;
|
||||
'E' : LastMCIValue := OutYN (TBBSCore(Core).User.ThisUser.QwkExtended);
|
||||
'L' : LastMCIValue := OutYN (TBBSCore(Core).User.ThisUser.QwkFiles);
|
||||
'O' : ShowRandomQuote;
|
||||
End;
|
||||
|
|
|
@ -258,7 +258,7 @@ Begin
|
|||
'M' : Case Cmd[2] of
|
||||
'A' : Session.Msgs.ChangeArea(CmdData);
|
||||
'C' : Session.Msgs.CheckEMail(CmdData);
|
||||
'D' : Session.Msgs.SetMessagePointers;
|
||||
'D' : Session.Msgs.SetMessagePointers (Pos('/ALL', strUpper(CmdData)) > 0);
|
||||
'G' : Session.Msgs.MessageGroupChange (CmdData, True, True);
|
||||
'L' : Session.Msgs.NetMailLookup (True, '', '');
|
||||
'M' : Session.Msgs.SendMassEmail;
|
||||
|
@ -285,8 +285,7 @@ Begin
|
|||
End;
|
||||
'O' : Case Cmd[2] of
|
||||
'S' : Session.Msgs.ToggleNewScan(True, CmdData);
|
||||
'D' : Session.Msgs.DownloadQWK(False, CmdData);
|
||||
'E' : Session.Msgs.DownloadQWK(True, CmdData);
|
||||
'D' : Session.Msgs.DownloadQWK(Session.User.ThisUser.QwkExtended, CmdData);
|
||||
'U' : Session.Msgs.UploadREP;
|
||||
End;
|
||||
'Q' : Case Cmd[2] of
|
||||
|
|
|
@ -64,7 +64,7 @@ Type
|
|||
Procedure MessageNewScan (Data: String);
|
||||
Procedure MessageQuickScan (Data: String);
|
||||
Procedure GlobalMessageSearch (Mode: Char);
|
||||
Procedure SetMessagePointers;
|
||||
Procedure SetMessagePointers (ForceGlobal: Boolean);
|
||||
Procedure ViewSentEmail;
|
||||
Function ResolveOrigin (Var mArea: RecMessageBase) : String;
|
||||
// QWK and QWKE goodies
|
||||
|
@ -779,7 +779,8 @@ End;
|
|||
|
||||
Procedure TMsgBase.ToggleNewScan (QWK: Boolean; Data: String);
|
||||
Var
|
||||
Total: LongInt;
|
||||
Total : LongInt;
|
||||
QwkNet : Boolean;
|
||||
|
||||
Procedure List_Bases;
|
||||
Begin
|
||||
|
@ -801,6 +802,8 @@ Var
|
|||
While Not Eof(MBaseFile) Do Begin
|
||||
Read (MBaseFile, MBase);
|
||||
|
||||
If QwkNet And (MBase.Flags AND MBAllowQWKNet = 0) Then Continue;
|
||||
|
||||
If Session.User.Access(MBase.ListACS) Then Begin
|
||||
Inc (Total);
|
||||
|
||||
|
@ -923,6 +926,8 @@ Begin
|
|||
|
||||
Session.User.IgnoreGroup := Pos('/ALLGROUP', strUpper(Data)) > 0;
|
||||
|
||||
QwkNet := Pos('/QWKNET', strUpper(Data)) > 0;
|
||||
|
||||
List_Bases;
|
||||
|
||||
If Total = 0 Then Begin
|
||||
|
@ -3281,7 +3286,7 @@ Begin
|
|||
MBase := TempBase;
|
||||
End;
|
||||
|
||||
Procedure TMsgBase.SetMessagePointers;
|
||||
Procedure TMsgBase.SetMessagePointers (ForceGlobal: Boolean);
|
||||
Var
|
||||
NewDate : LongInt;
|
||||
|
||||
|
@ -3322,7 +3327,6 @@ Var
|
|||
End;
|
||||
|
||||
Var
|
||||
Global : Boolean;
|
||||
InDate : String[8];
|
||||
Begin
|
||||
Session.io.OutFull (Session.GetPrompt(458));
|
||||
|
@ -3332,11 +3336,13 @@ Begin
|
|||
If Not DateValid(InDate) Then Exit;
|
||||
|
||||
NewDate := DateStr2Dos(InDate);
|
||||
Global := Session.io.GetYN(Session.GetPrompt(459), False);
|
||||
|
||||
If Not ForceGlobal Then
|
||||
ForceGlobal := Session.io.GetYN(Session.GetPrompt(459), False);
|
||||
|
||||
Session.io.OutFullLn (Session.GetPrompt(460));
|
||||
|
||||
If Global Then Begin
|
||||
If ForceGlobal Then Begin
|
||||
ioReset (MBaseFile, SizeOf(RecMessageBase), fmRWDN);
|
||||
ioRead (MBaseFile, MBase);
|
||||
|
||||
|
@ -3532,10 +3538,13 @@ Begin
|
|||
While Not Eof(Session.User.UserFile) Do Begin
|
||||
Read (Session.User.UserFile, Session.User.ThisUser);
|
||||
|
||||
If (Session.User.ThisUser.Flags AND UserDeleted = 0) and Session.User.Access(ACS) Then Begin
|
||||
Session.io.PromptInfo[1] := Session.User.ThisUser.Handle;
|
||||
If (Session.User.ThisUser.Flags AND UserDeleted = 0) and
|
||||
(Session.User.ThisUser.Flags AND UserQWKNetwork = 0) and
|
||||
Session.User.Access(ACS) Then Begin
|
||||
|
||||
Session.io.OutFullLn (Session.GetPrompt(392));
|
||||
Session.io.PromptInfo[1] := Session.User.ThisUser.Handle;
|
||||
|
||||
Session.io.OutFullLn (Session.GetPrompt(392));
|
||||
End;
|
||||
End;
|
||||
|
||||
|
|
|
@ -310,7 +310,10 @@ Begin
|
|||
While Not Eof(UserFile) Do Begin
|
||||
Read (UserFile, TempUser);
|
||||
|
||||
If TempUser.Flags AND UserDeleted <> 0 Then Continue;
|
||||
If (TempUser.Flags AND UserDeleted <> 0) Then Continue;
|
||||
|
||||
// If (TempUser.Flags AND UserDeleted <> 0) or
|
||||
// (TempUser.Flags AND UserQWKNetwork <> 0) Then Continue;
|
||||
|
||||
If Pos(Str, strUpper(TempUser.Handle)) > 0 Then Begin
|
||||
If First Then Begin
|
||||
|
@ -356,6 +359,8 @@ Begin
|
|||
Read (UserFile, TempUser);
|
||||
|
||||
If (((RecNum > 0) And (TempUser.PermIdx = RecNum)) or (strUpper(TempUser.RealName) = Str) or (strUpper(TempUser.Handle) = Str)) and (TempUser.Flags And UserDeleted = 0) Then Begin
|
||||
//If ExcludeQWK and (TempUser.Flags AND UserQWKNetwork <> 0) Then Continue;
|
||||
|
||||
If Adjust Then UserNum := FilePos(UserFile);
|
||||
|
||||
Result := True;
|
||||
|
@ -1047,6 +1052,8 @@ Var
|
|||
Count : Byte;
|
||||
Ch : Char;
|
||||
Begin
|
||||
If ThisUser.Flags and UserQWKNetwork <> 0 Then Exit;
|
||||
|
||||
{$IFDEF LOGGING} Session.SystemLog('Logon3'); {$ENDIF}
|
||||
|
||||
Chat.Available := True;
|
||||
|
@ -1207,6 +1214,7 @@ Begin
|
|||
If Session.User.ThisUser.Security = 0 Then Begin
|
||||
Session.io.OutFullLn(Session.GetPrompt(477));
|
||||
Session.User.ThisUser.Flags := Session.User.ThisUser.Flags AND UserDeleted;
|
||||
|
||||
Exit;
|
||||
End Else
|
||||
Session.io.OutFullLn(Session.GetPrompt(476));
|
||||
|
@ -1437,6 +1445,7 @@ Begin
|
|||
30 : ThisUser.QwkFiles := Not ThisUser.QwkFiles;
|
||||
31 : Session.FileBase.SelectArchive;
|
||||
32 : ThisUser.Protocol := Session.FileBase.SelectProtocol(False, True);
|
||||
33 : ThisUser.QwkExtended := Not ThisUser.QwkExtended;
|
||||
End;
|
||||
End;
|
||||
|
||||
|
|
|
@ -187,7 +187,8 @@ Begin
|
|||
While Not EOF(UserFile) Do Begin
|
||||
Read (UserFile, User);
|
||||
|
||||
If User.Flags And UserDeleted <> 0 Then Continue;
|
||||
If (User.Flags And UserDeleted <> 0) or
|
||||
(User.Flags And UserQWKNetwork <> 0) Then Continue;
|
||||
|
||||
BarOne.Update(FilePos(UserFile), FileSize(UserFile));
|
||||
|
||||
|
|
|
@ -492,6 +492,9 @@ Begin
|
|||
If Session.TimeOffset > 0 Then
|
||||
Session.TimeSaved := Session.User.ThisUser.TimeLeft;
|
||||
|
||||
If (Session.User.ThisUser.Flags AND UserQWKNetwork <> 0) and (bbsCfg.QwkNetMenu <> '') Then
|
||||
Session.Menu.MenuName := bbsCfg.QwkNetMenu
|
||||
Else
|
||||
If Session.User.ThisUser.StartMenu <> '' Then
|
||||
Session.Menu.MenuName := Session.User.ThisUser.StartMenu
|
||||
Else
|
||||
|
|
|
@ -342,7 +342,8 @@ Type
|
|||
inetBINKPDupes : Byte;
|
||||
inetBINKPTimeOut: Word;
|
||||
inetBINKPCram5 : Boolean;
|
||||
Reserved : Array[1..778] of Char;
|
||||
QwkNetMenu : String[20];
|
||||
Reserved : Array[1..757] of Char;
|
||||
End;
|
||||
|
||||
Const
|
||||
|
@ -354,6 +355,7 @@ Const
|
|||
UserNoPWChange = $00000020;
|
||||
UserNoHistory = $00000040;
|
||||
UserNoTimeout = $00000080;
|
||||
UserQWKNetwork = $00000100;
|
||||
|
||||
Type
|
||||
RecUser = Record // USERS.DAT
|
||||
|
@ -422,7 +424,8 @@ Type
|
|||
Credits : LongInt;
|
||||
Protocol : Char;
|
||||
CodePage : Byte; // 0 = CP437, 1 = UTF8
|
||||
Reserved : Array[1..388] of Byte;
|
||||
QwkExtended : Boolean;
|
||||
Reserved : Array[1..387] of Byte;
|
||||
End;
|
||||
|
||||
RecEvent = Record
|
||||
|
@ -493,6 +496,7 @@ Const
|
|||
MBNoAttach = $00000008; // 4
|
||||
MBPrivate = $00000010; // 5
|
||||
MBPrivReply = $00000020; // 6
|
||||
MBAllowQWKNet = $00000040; // 7
|
||||
|
||||
Type
|
||||
RecMessageBase = Record // MBASES.DAT
|
||||
|
|
|
@ -3554,4 +3554,38 @@
|
|||
directory, assuming "Server Logging" is turned on in Internet Server
|
||||
Options.
|
||||
|
||||
+ In order to maintain consistancy and for easier file association, telnet
|
||||
node logs have changed from "sysop.nodenumber" to "node<nodenumber>.log"
|
||||
in the logs directory.
|
||||
|
||||
+ Users can now be flaged as "QWK Network Account" in the User editor.
|
||||
Account names should be the same as their QWK Network BBSID. These users
|
||||
will bypass a majority of the login procedures and can have their own
|
||||
distinct start menu (found in General Settings). A new default menu called
|
||||
"qwknetwork.mnu" has been included as an example of how one should likely
|
||||
be setup.
|
||||
|
||||
+ Message bases can now be flagged as "Allow QWK Networking" which means that
|
||||
the message base will be allowed to be selected for scanning by QWK network
|
||||
scans.
|
||||
|
||||
+ The OS menu command (Set QWK scan settings) now has the /QWKNET option
|
||||
available in command data. This limits the message bases listed to ONLY
|
||||
show bases flagged for QWK networking.
|
||||
|
||||
+ The OE menu command has been removed. Instead, a setting now saves the
|
||||
users preference of QWK or QWKE packets. You will need to update your
|
||||
QWK menu to remove this command and to add the toggle of the QWKE packet,
|
||||
or you can optionally use the new qwk.mnu included as a guide/replacement.
|
||||
|
||||
+ New Menu command GE (edit user preferences) optional data: 33. This
|
||||
toggles the user's preference for QWKE style packets on or off.
|
||||
|
||||
+ New MCI code QE returns Yes/No based on the users QWK Extended setting.
|
||||
|
||||
+ The MD menu command (set message lastread pointers) now has the optional
|
||||
data option of /ALL. If this is used, Mystic will NOT has if the user
|
||||
wants to update their current base, and will instead force the update for
|
||||
all message bases.
|
||||
|
||||
<ALPHA 37 RELEASED>
|
||||
|
|
Loading…
Reference in New Issue