Too much to list
This commit is contained in:
parent
e337c2b676
commit
13309e8b35
|
@ -130,7 +130,6 @@ Var
|
|||
Box : TAnsiMenuBox;
|
||||
Form : TAnsiMenuForm;
|
||||
Topic : String;
|
||||
TempB : Byte;
|
||||
Begin
|
||||
Topic := '|03(|09Echomail Node|03) |01-|09> |15';
|
||||
Box := TAnsiMenuBox.Create;
|
||||
|
@ -417,15 +416,16 @@ Function Configuration_EchomailAddress (Edit: Boolean) : Byte;
|
|||
Box : TAnsiMenuBox;
|
||||
Form : TAnsiMenuForm;
|
||||
Topic : String;
|
||||
Count : Byte;
|
||||
Begin
|
||||
Topic := '|03(|09Echomail Network|03) |01-|09> |15';
|
||||
Box := TAnsiMenuBox.Create;
|
||||
Form := TAnsiMenuForm.Create;
|
||||
|
||||
Box.Open (14, 6, 66, 17);
|
||||
Box.Open (14, 6, 66, 18);
|
||||
|
||||
VerticalLine (29, 9, 12);
|
||||
VerticalLine (29, 14, 15);
|
||||
VerticalLine (29, 14, 16);
|
||||
|
||||
WriteXY (21, 8, 112, 'Address');
|
||||
|
||||
|
@ -436,11 +436,16 @@ Function Configuration_EchomailAddress (Edit: Boolean) : Byte;
|
|||
|
||||
Form.AddStr ('M', ' Domain', 21, 14, 31, 14, 8, 8, 8, @Config.NetDomain[Num], Topic + 'Network domain');
|
||||
Form.AddStr ('D', ' Description', 16, 15, 31, 15, 13, 25, 25, @Config.NetDesc[Num], Topic + 'Network description');
|
||||
Form.AddBol ('I', ' Primary', 20, 16, 31, 16, 9, 3, @Config.NetPrimary[Num], Topic + 'Is this a primary address?');
|
||||
|
||||
Form.Execute;
|
||||
|
||||
Box.Close;
|
||||
If Config.NetPrimary[Num] Then
|
||||
For Count := 1 to 30 Do
|
||||
If Config.NetPrimary[Count] and (Count <> Num) Then
|
||||
Config.NetPrimary[Count] := False;
|
||||
|
||||
Box.Close;
|
||||
Form.Free;
|
||||
Box.Free;
|
||||
End;
|
||||
|
@ -456,7 +461,7 @@ Var
|
|||
List.Clear;
|
||||
|
||||
For A := 1 to 30 Do
|
||||
List.Add(strPadL(strAddr2Str(Config.NetAddress[A]), 23, ' ') + ' ' + strPadL(Config.NetDesc[A], 20, ' '), 0);
|
||||
List.Add(strPadR(strAddr2Str(Config.NetAddress[A]), 23, ' ') + ' ' + strPadR(Config.NetDomain[A], 8, ' ') + ' ' + strPadR(strYN(Config.NetPrimary[A]), 3, ' ') + ' ' + Config.NetDesc[A], 0);
|
||||
End;
|
||||
|
||||
Begin
|
||||
|
@ -467,15 +472,15 @@ Begin
|
|||
|
||||
List.NoWindow := True;
|
||||
|
||||
Box.Open (17, 5, 64, 20);
|
||||
Box.Open (7, 5, 74, 20);
|
||||
|
||||
WriteXY (27, 6, 112, 'Network Address Description');
|
||||
WriteXY (19, 7, 112, strRep('Ä', 44));
|
||||
WriteXY (9, 6, 112, 'Network Address Domain Pri Description');
|
||||
WriteXY (9, 7, 112, strRep('Ä', 64));
|
||||
|
||||
Repeat
|
||||
CreateList;
|
||||
|
||||
List.Open (17, 7, 64, 20);
|
||||
List.Open (7, 7, 74, 20);
|
||||
|
||||
Case List.ExitCode of
|
||||
#13 : If Edit Then
|
||||
|
|
|
@ -333,7 +333,8 @@ Var
|
|||
|
||||
Procedure MakeList;
|
||||
Var
|
||||
Tag : Byte;
|
||||
Tag : Byte;
|
||||
Addr : String;
|
||||
Begin
|
||||
List.Clear;
|
||||
|
||||
|
@ -344,7 +345,12 @@ Var
|
|||
|
||||
Read (MBaseFile, MBase);
|
||||
|
||||
List.Add(strPadR(strI2S(FilePos(MBaseFile) - 1), 5, ' ') + ' ' + strPadR(strStripMCI(MBase.Name), 35, ' ') + ' ' + strPadL(strAddr2Str(Config.NetAddress[MBase.NetAddr]), 12, ' '), Tag);
|
||||
If MBase.NetType = 0 Then
|
||||
Addr := 'Local'
|
||||
Else
|
||||
Addr := strAddr2Str(Config.NetAddress[MBase.NetAddr]);
|
||||
|
||||
List.Add(strPadR(strI2S(FilePos(MBaseFile) - 1), 5, ' ') + ' ' + strPadR(strStripMCI(MBase.Name), 35, ' ') + ' ' + strPadL(Addr, 12, ' '), Tag);
|
||||
End;
|
||||
|
||||
List.Add('', 2);
|
||||
|
|
|
@ -475,6 +475,7 @@ Begin
|
|||
Form.AddBol ('T', ' External FSE', 13, 15, 29, 15, 14, 3, @Config.FSEditor, Topic + 'Use external editor');
|
||||
Form.AddStr ('F', ' FSE Command Line', 9, 16, 29, 16, 18, 40, 60, @Config.FSCommand, Topic + 'FSE command line');
|
||||
Form.AddStr ('D', ' Default Origin', 11, 17, 29, 17, 16, 40, 50, @Config.Origin, Topic + 'Origin line for new bases');
|
||||
// Form.AddStr ('2', ' Default Domain', 11, 18, 29, 18, 16, 8, 8, @Config.DefDomain, Topic + 'Default echomail domain');
|
||||
|
||||
Form.AddAttr ('Q', ' Quote Color', 52, 7, 67, 7, 13, @Config.ColorQuote, Topic + 'Color for quoted text');
|
||||
Form.AddAttr ('E', ' Text Color' , 53, 8, 67, 8, 12, @Config.ColorText, Topic + 'Color for message text');
|
||||
|
|
|
@ -68,7 +68,7 @@ Type
|
|||
Procedure DrawPage (StartY, EndY: Byte; ExitEOF: Boolean);
|
||||
Procedure ScrollUp;
|
||||
Procedure ScrollDown (Draw: Boolean);
|
||||
Function LineUp : Boolean;
|
||||
Function LineUp (Reset: Boolean) : Boolean;
|
||||
Function LineDown (Reset: Boolean) : Boolean;
|
||||
Procedure PageUp;
|
||||
Procedure PageDown;
|
||||
|
@ -514,7 +514,7 @@ Begin
|
|||
DrawPage(1, WinSize, False);
|
||||
End;
|
||||
|
||||
Function TEditorANSI.LineUp : Boolean;
|
||||
Function TEditorANSI.LineUp (Reset: Boolean) : Boolean;
|
||||
Begin
|
||||
Result := False;
|
||||
|
||||
|
@ -523,7 +523,8 @@ Begin
|
|||
Dec (CurLine);
|
||||
Dec (CurY);
|
||||
|
||||
If CurX > GetLineLength(ANSI.Data[CurLine], 80) Then
|
||||
// might be able to use curlength
|
||||
If Reset or (CurX > GetLineLength(ANSI.Data[CurLine], 80)) Then
|
||||
CurX := GetLineLength(ANSI.Data[CurLine], 80) + 1;
|
||||
|
||||
If CurY < 1 Then Begin
|
||||
|
@ -537,7 +538,8 @@ Function TEditorANSI.LineDown (Reset: Boolean) : Boolean;
|
|||
Begin
|
||||
Result := False;
|
||||
|
||||
If CurLine >= mysMaxMsgLines Then Exit;
|
||||
If CurLine >= LastLine Then Exit;
|
||||
// If CurLine >= mysMaxMsgLines Then Exit;
|
||||
|
||||
Inc (CurLine);
|
||||
Inc (CurY);
|
||||
|
@ -648,7 +650,7 @@ Begin
|
|||
|
||||
DeleteLine (CurLine);
|
||||
|
||||
If Not LineUp Then DrawPage (CurY, WinSize, False); //optimize
|
||||
If Not LineUp(False) Then DrawPage (CurY, WinSize, False); //optimize
|
||||
End Else Begin
|
||||
JoinPos := GetWrapPos(ANSI.Data[CurLine], RowSize, RowSize - GetLineLength(ANSI.Data[CurLine - 1], RowSize));
|
||||
|
||||
|
@ -660,9 +662,9 @@ Begin
|
|||
Move (ANSI.Data[CurLine][JoinPos + 1], JoinBuf, (CurLength - JoinPos + 1) * SizeOf(RecAnsiBufferChar));
|
||||
Move (JoinBuf, ANSI.Data[CurLine], RowSize * SizeOf(RecAnsiBufferChar));
|
||||
|
||||
If Not LineUp Then DrawPage (CurY, WinSize, False);
|
||||
If Not LineUp(False) Then DrawPage (CurY, WinSize, False);
|
||||
End Else Begin
|
||||
LineUp;
|
||||
LineUp(False);
|
||||
|
||||
CurX := CurLength + 1;
|
||||
End;
|
||||
|
@ -1252,10 +1254,16 @@ Begin
|
|||
|
||||
If LineLen + JoinLen <= RowSize Then Begin
|
||||
Move (ANSI.Data[Line + 1], ANSI.Data[Line][LineLen + 2], SizeOf(RecAnsiBufferChar) * JoinLen);
|
||||
|
||||
ANSI.Data[Line][LineLen + 1].Ch := ' ';
|
||||
|
||||
DeleteLine (Line + 1);
|
||||
End Else
|
||||
If JoinPos > 0 Then Begin
|
||||
Move (ANSI.Data[Line + 1], ANSI.Data[Line][LineLen + 2], SizeOf(RecAnsiBufferChar) * (JoinPos - 1));
|
||||
|
||||
ANSI.Data[Line][LineLen + 1].Ch := ' ';
|
||||
|
||||
FillChar (JoinBuf, SizeOf(JoinBuf), #0);
|
||||
Move (ANSI.Data[Line + 1][JoinPos + 1], JoinBuf, (JoinLen - JoinPos + 1) * SizeOf(RecAnsiBufferChar));
|
||||
Move (JoinBuf, ANSI.Data[Line + 1], RowSize * SizeOf(RecAnsiBufferChar));
|
||||
|
@ -1287,10 +1295,10 @@ Begin
|
|||
If Session.io.IsArrow Then Begin
|
||||
Case Ch of
|
||||
#71 : CurX := 1;
|
||||
#72 : LineUp;
|
||||
#72 : LineUp(False);
|
||||
#73 : PageUp;
|
||||
#75 : If CurX > 1 Then Dec(CurX);
|
||||
#77 : If CurX <= RowSize Then Inc(CurX);
|
||||
#75 : If CurX > 1 Then Dec(CurX) Else LineUp(True);
|
||||
#77 : If CurX <= CurLength Then Inc(CurX) Else LineDown(True);
|
||||
#79 : CurX := CurLength + 1;
|
||||
#80 : If CurLine < LastLine Then LineDown(False);
|
||||
#81 : PageDown;
|
||||
|
@ -1298,7 +1306,30 @@ Begin
|
|||
End;
|
||||
End Else
|
||||
Case Ch of
|
||||
(*
|
||||
^A : Begin
|
||||
If Forced Then
|
||||
Session.io.OutFull (Session.GetPrompt(307))
|
||||
Else
|
||||
Done := Session.io.GetYN(Session.GetPrompt(356), False);
|
||||
|
||||
If Not Done Then ReDrawTemplate(False);
|
||||
End;
|
||||
*)
|
||||
^B : ReformParagraph;
|
||||
^F : CurX := 1;
|
||||
^G : CurX := CurLength + 1;
|
||||
^H : DoBackSpace;
|
||||
^I : Begin
|
||||
If (CurX < RowSize) and (CurX MOD 5 = 0) Then
|
||||
DoChar(' ');
|
||||
|
||||
While (CurX < RowSize) and (CurX MOD 5 <> 0) Do Begin
|
||||
CurLength := GetLineLength(ANSI.Data[CurLine], RowSize);
|
||||
|
||||
DoChar(' ');
|
||||
End;
|
||||
End;
|
||||
^K : Begin
|
||||
If CutPasted Then Begin
|
||||
CutTextPos := 0;
|
||||
|
@ -1315,6 +1346,7 @@ Begin
|
|||
DrawPage (CurY, WinSize, False); //optimize + 1
|
||||
End;
|
||||
End;
|
||||
^M : DoEnter;
|
||||
^O : Begin
|
||||
Session.io.OutFile('fshelp', True, 0);
|
||||
ReDrawTemplate(False);
|
||||
|
@ -1356,8 +1388,6 @@ Begin
|
|||
|
||||
Session.io.AllowArrow := True;
|
||||
End;
|
||||
#08 : DoBackSpace;
|
||||
#13 : DoEnter;
|
||||
#32..
|
||||
#254 : If (CurLength >= RowSize) and (GetWrapPos(ANSI.Data[CurLine], RowSize, RowSize) = 0) Then Begin
|
||||
// dont do anything
|
||||
|
|
|
@ -12,11 +12,7 @@ Uses
|
|||
bbs_SysopChat,
|
||||
{$ENDIF}
|
||||
bbs_Common,
|
||||
{$IFDEF NEWEDITOR}
|
||||
bbs_Edit_ANSI,
|
||||
{$ELSE}
|
||||
bbs_Edit_Full,
|
||||
{$ENDIF}
|
||||
bbs_Edit_Line;
|
||||
|
||||
Function Editor (Var Lines: SmallInt; MaxLen, MaxLine: SmallInt; Forced: Boolean; Template: String; Var Subj: String) : Boolean;
|
||||
|
@ -57,7 +53,6 @@ Uses
|
|||
bbs_MsgBase_Ansi,
|
||||
bbs_NodeInfo;
|
||||
|
||||
{$IFDEF NEWEDITOR}
|
||||
Function AnsiEditor (Var Lines: SmallInt; WrapPos: Byte; MaxLines: SmallInt; Forced: Boolean; Template: String; Var Subj: String) : Boolean;
|
||||
Var
|
||||
Editor : TEditorANSI;
|
||||
|
@ -83,16 +78,11 @@ Begin
|
|||
|
||||
Editor.Free;
|
||||
End;
|
||||
{$ENDIF}
|
||||
|
||||
Function Editor (Var Lines: SmallInt; MaxLen, MaxLine: SmallInt; Forced: Boolean; Template: String; Var Subj: String) : Boolean;
|
||||
Begin
|
||||
If (Session.io.Graphics > 0) and ((Session.User.ThisUser.EditType = 1) or ((Session.User.ThisUser.EditType = 2) and Session.io.GetYN(Session.GetPrompt(106), True))) Then
|
||||
{$IFDEF NEWEDITOR}
|
||||
Editor := AnsiEditor(Lines, MaxLen, MaxLine, Forced, Template, Subj)
|
||||
{$ELSE}
|
||||
Editor := FullEditor(Lines, MaxLen, MaxLine, Forced, Template, Subj)
|
||||
{$ENDIF}
|
||||
Else
|
||||
Editor := LineEditor(Lines, MaxLen, MaxLine, False, Forced, Subj);
|
||||
End;
|
||||
|
|
|
@ -550,8 +550,8 @@ Var
|
|||
S : String;
|
||||
A : SmallInt;
|
||||
Begin
|
||||
If MBase.NetType > 0 Then Begin
|
||||
Msg^.DoStringLn (#1 + 'MSGID: ' + strAddr2Str(Config.NetAddress[MBase.NetAddr]) + ' ' + strI2H(CurDateDos));
|
||||
If (MBase.NetType > 0) and (MBase.NetType <> 3) Then Begin
|
||||
Msg^.DoStringLn (#1 + 'MSGID: ' + strAddr2Str(Config.NetAddress[MBase.NetAddr]) + ' ' + strI2H(CurDateDos, 8));
|
||||
|
||||
If ReplyID <> '' Then
|
||||
Msg^.DoStringLn (#1 + 'REPLY: ' + ReplyID);
|
||||
|
|
|
@ -474,7 +474,9 @@ Begin
|
|||
Error := IoResult;
|
||||
JM^.TxtBufStart := FileSize(JM^.BufFile);
|
||||
End;
|
||||
|
||||
TxtBuf^[JM^.TxtPos - JM^.TxtBufStart] := Ch;
|
||||
|
||||
Inc(JM^.TxtPos);
|
||||
End;
|
||||
|
||||
|
@ -1647,8 +1649,7 @@ Begin
|
|||
FindLastRead := -1;
|
||||
Found := False;
|
||||
|
||||
New (LastBuf);
|
||||
|
||||
New (LastBuf);
|
||||
Seek (LastFile, 0);
|
||||
|
||||
LastError := IoResult;
|
||||
|
@ -1792,7 +1793,9 @@ Begin
|
|||
LockError := IoResult;
|
||||
End;
|
||||
End;
|
||||
Inc(JM^.LockCount);
|
||||
|
||||
Inc (JM^.LockCount);
|
||||
|
||||
LockMsgBase := (LockError = 0);
|
||||
End;
|
||||
|
||||
|
@ -1821,8 +1824,6 @@ Begin
|
|||
UnLockMsgBase := (LockError = 0);
|
||||
End;
|
||||
|
||||
{SetSeeAlso/GetSeeAlso provided by 2:201/623@FidoNet Jonas@iis.bbs.bad.se}
|
||||
|
||||
Procedure TMsgBaseJAM.SetNextSeeAlso(SAlso: LongInt);
|
||||
Begin
|
||||
MsgHdr^.JamHdr.ReplyNext := SAlso;
|
||||
|
@ -1833,7 +1834,7 @@ Begin
|
|||
GetNextSeeAlso := MsgHdr^.JamHdr.ReplyNext;
|
||||
End;
|
||||
|
||||
Function TMsgBaseJAM.ReReadIdx(Var IdxLoc : LongInt) : Word;
|
||||
Function TMsgBaseJAM.ReReadIdx (Var IdxLoc : LongInt) : Word;
|
||||
Begin
|
||||
ReReadIdx := 0;
|
||||
IdxLoc := JM^.CurrMsgNum - JM^.BaseHdr.BaseMsgNum;
|
||||
|
|
|
@ -892,7 +892,7 @@ Begin
|
|||
|
||||
If MBase.NetType <> 1 Then Continue;
|
||||
|
||||
WriteLn (OutFile, '!' + Config.DataPath + MBase.FileName + ' ' + MBase.FileName + ' ' + strAddr2Str(Config.NetUplink[MBase.NetAddr]));
|
||||
WriteLn (OutFile, '!' + Config.DataPath + MBase.FileName + ' ' + MBase.FileName + ' ' + '0:0/0');
|
||||
End;
|
||||
End;
|
||||
|
||||
|
|
|
@ -1524,7 +1524,7 @@ Begin
|
|||
Store (TempLong, 4);
|
||||
End;
|
||||
28 : Begin
|
||||
TempStr := strI2H(Param[1].L);
|
||||
TempStr := strI2H(Param[1].L, 8);
|
||||
Store (TempStr, 256);
|
||||
End;
|
||||
29 : Begin
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
PostTextFiles = false
|
||||
PackMessageBases = false
|
||||
ImportEchoMail = false
|
||||
ExportEchoMail = false
|
||||
ExportEchoMail = true
|
||||
|
||||
; ==========================================================================
|
||||
; ==========================================================================
|
||||
|
|
|
@ -216,8 +216,8 @@ Begin
|
|||
If DoMassUpload Then uMassUpload;
|
||||
If DoTopLists Then uTopLists;
|
||||
If DoAllFiles Then uAllFilesList;
|
||||
If DoEchoExport Then uEchoExport;
|
||||
If DoEchoImport Then uEchoImport;
|
||||
If DoEchoExport Then uEchoExport;
|
||||
If DoMsgPurge Then uPurgeMessageBases;
|
||||
If DoMsgPack Then uPackMessageBases;
|
||||
If DoMsgPost Then uPostMessages;
|
||||
|
|
|
@ -60,6 +60,7 @@ Function SaveMessage (mArea: RecMessageBase; mFrom, mTo, mSubj: String;
|
|||
Function GetFTNPKTName : String;
|
||||
Function GetFTNArchiveName (Orig, Dest: RecEchoMailAddr) : String;
|
||||
Function GetFTNFlowName (Dest: RecEchoMailAddr) : String;
|
||||
Function GetFTNOutPath (EchoNode: RecEchoMailNode) : String;
|
||||
Function GetNodeByIndex (Num: LongInt; Var TempNode: RecEchoMailNode) : Boolean;
|
||||
|
||||
Implementation
|
||||
|
@ -494,12 +495,36 @@ Begin
|
|||
If Net < 0 Then Net := 65536 + Net;
|
||||
If Node < 0 Then Node := 65536 + Node;
|
||||
|
||||
Result := strI2H((Net SHL 16) OR Node);
|
||||
Result := strI2H((Net SHL 16) OR Node, 8);
|
||||
End;
|
||||
|
||||
Function GetFTNFlowName (Dest: RecEchoMailAddr) : String;
|
||||
Begin
|
||||
Result := strI2H((Dest.Net SHL 16) OR Dest.Node);
|
||||
Result := strI2H((Dest.Net SHL 16) OR Dest.Node, 8);
|
||||
End;
|
||||
|
||||
Function IsFTNPrimary (EchoNode: RecEchoMailNode) : Boolean;
|
||||
Var
|
||||
Count : Byte;
|
||||
Begin
|
||||
For Count := 1 to 30 Do
|
||||
If (strUpper(EchoNode.Domain) = strUpper(bbsConfig.NetDomain[Count])) and
|
||||
(EchoNode.Address.Zone = bbsConfig.NetAddress[Count].Zone) and
|
||||
(bbsConfig.NetPrimary[Count]) Then Begin
|
||||
Result := True;
|
||||
|
||||
Exit;
|
||||
End;
|
||||
|
||||
Result := False;
|
||||
End;
|
||||
|
||||
Function GetFTNOutPath (EchoNode: RecEchoMailNode) : String;
|
||||
Begin;
|
||||
If IsFTNPrimary(EchoNode) Then
|
||||
Result := bbsConfig.OutboundPath
|
||||
Else
|
||||
Result := DirLast(bbsConfig.OutboundPath) + strLower(EchoNode.Domain + '.' + strPadL(strI2H(EchoNode.Address.Zone, 3), 3, '0')) + PathChar;
|
||||
End;
|
||||
|
||||
Function GetNodeByIndex (Num: LongInt; Var TempNode: RecEchoMailNode) : Boolean;
|
||||
|
|
|
@ -40,7 +40,7 @@ Begin
|
|||
While Not Eof(T) Do Begin
|
||||
ReadLn (T, Str);
|
||||
|
||||
If strUpper(Str) = '^' + strUpper(PacketFN) Then Begin
|
||||
If (strUpper(Str) = strUpper(PacketFN)) or (strUpper(Copy(Str, 2, 255)) = strUpper(PacketFN)) Then Begin
|
||||
Close (T);
|
||||
Exit;
|
||||
End;
|
||||
|
@ -61,6 +61,7 @@ Var
|
|||
EchoNode : RecEchoMailNode;
|
||||
PKTName : String;
|
||||
BundleName : String;
|
||||
BundlePath : String;
|
||||
FLOName : String;
|
||||
OrigAddr : RecEchoMailAddr;
|
||||
Begin
|
||||
|
@ -84,11 +85,19 @@ Begin
|
|||
OrigAddr.Net := PH.OrigNet;
|
||||
OrigAddr.Node := PH.OrigNode;
|
||||
|
||||
// TODO
|
||||
// if echonode.echomail.crash etc change char F in FLO extension
|
||||
BundlePath := GetFTNOutPath(EchoNode);
|
||||
|
||||
FLOName := bbsConfig.OutboundPath + GetFTNFlowName(EchoNode.Address) + '.flo';
|
||||
BundleName := bbsConfig.OutboundPath + GetFTNArchiveName(OrigAddr, EchoNode.Address) + '.' + DayString[DayOfWeek(CurDateDos)];
|
||||
DirCreate (BundlePath);
|
||||
|
||||
FLOName := BundlePath + GetFTNFlowName(EchoNode.Address);
|
||||
BundleName := BundlePath + GetFTNArchiveName(OrigAddr, EchoNode.Address) + '.' + strLower(DayString[DayOfWeek(CurDateDos)]);
|
||||
|
||||
Case EchoNode.MailType of
|
||||
0 : FLOName := FLOName + '.flo';
|
||||
1 : FLOName := FLOName + '.clo';
|
||||
2 : FLOName := FLOName + '.dlo';
|
||||
3 : FlOName := FLOName + '.hlo';
|
||||
End;
|
||||
|
||||
// TODO
|
||||
// check for existance, packet size limitations, etc and increment
|
||||
|
@ -143,6 +152,7 @@ Var
|
|||
Var
|
||||
TempStr1 : String;
|
||||
TempStr2 : String;
|
||||
TempStr3 : String;
|
||||
Begin
|
||||
If (EchoNode.Address.Zone = MsgBase^.GetOrigAddr.Zone) and
|
||||
(EchoNode.Address.Net = MsgBase^.GetOrigAddr.Net) and
|
||||
|
@ -154,12 +164,32 @@ Var
|
|||
GetTime (DT.Hour, DT.Min, DT.Sec, Temp);
|
||||
|
||||
If MBase.NetType = 3 Then Begin
|
||||
TempStr1 := bbsConfig.OutboundPath + GetFTNFlowName(EchoNode.Address) + '.out';
|
||||
TempStr2 := bbsConfig.OutboundPath + GetFTNFlowName(EchoNode.Address) + '.flo';
|
||||
// need to incorporate routing here?!?
|
||||
|
||||
// change extensions based on crash etc from echonode
|
||||
// need to add aka matching somewhere in here and also incorporate
|
||||
// routing?
|
||||
TempStr3 := GetFTNOutPath(EchoNode);
|
||||
|
||||
DirCreate (TempStr3);
|
||||
|
||||
TempStr1 := TempStr3 + GetFTNFlowName(EchoNode.Address);
|
||||
TempStr2 := TempStr3 + GetFTNFlowName(EchoNode.Address);
|
||||
|
||||
Case EchoNode.MailType of
|
||||
1 : Begin
|
||||
TempStr1 := TempStr1 + '.cut';
|
||||
TempStr2 := TempStr2 + '.clo';
|
||||
End;
|
||||
2 : Begin
|
||||
TempStr1 := TempStr1 + '.dut';
|
||||
TempStr2 := TempStr2 + '.dlo';
|
||||
End;
|
||||
3 : Begin
|
||||
TempStr1 := TempStr1 + '.hut';
|
||||
TempStr2 := TempStr2 + '.hlo';
|
||||
End;
|
||||
Else
|
||||
TempStr1 := TempStr1 + '.out';
|
||||
TempStr2 := TempStr2 + '.flo';
|
||||
End;
|
||||
|
||||
Assign (F, TempStr1);
|
||||
|
||||
|
@ -179,7 +209,7 @@ Var
|
|||
|
||||
FillChar (PH, SizeOf(PH), 0);
|
||||
|
||||
PH.OrigNode := bbsConfig.NetAddress[MBase.NetAddr].Node;
|
||||
PH.OrigNode := MsgBase^.GetOrigAddr.Node;
|
||||
PH.DestNode := EchoNode.Address.Node;
|
||||
PH.Year := DT.Year;
|
||||
PH.Month := DT.Month;
|
||||
|
@ -188,10 +218,10 @@ Var
|
|||
PH.Minute := DT.Min;
|
||||
PH.Second := DT.Sec;
|
||||
PH.PKTType := 2;
|
||||
PH.OrigNet := bbsConfig.NetAddress[MBase.NetAddr].Net;
|
||||
PH.OrigNet := MsgBase^.GetOrigAddr.Net;
|
||||
PH.DestNet := EchoNode.Address.Net;
|
||||
PH.ProdCode := 254; // RESEARCH THIS
|
||||
PH.OrigZone := bbsConfig.NetAddress[MBase.NetAddr].Zone;
|
||||
PH.OrigZone := MsgBase^.GetOrigAddr.Zone;
|
||||
PH.DestZone := EchoNode.Address.Zone;
|
||||
//Password : Array[1..8] of Char; // RESEARCH THIS
|
||||
|
||||
|
@ -201,9 +231,9 @@ Var
|
|||
FillChar (MH, SizeOf(MH), 0);
|
||||
|
||||
MH.MsgType := 2;
|
||||
MH.OrigNode := bbsConfig.NetAddress[MBase.NetAddr].Node;
|
||||
MH.OrigNode := MsgBase^.GetOrigAddr.Node;
|
||||
MH.DestNode := EchoNode.Address.Node;
|
||||
MH.OrigNet := bbsConfig.NetAddress[MBase.NetAddr].Net;
|
||||
MH.OrigNet := MsgBase^.GetOrigAddr.Net;
|
||||
MH.DestNet := EchoNode.Address.Net;
|
||||
|
||||
TempStr1 := FormattedDate(DT, 'DD NNN YY HH:MM:SS') + #0;
|
||||
|
@ -225,7 +255,7 @@ Var
|
|||
WriteStr ('AREA:' + MBase.EchoTag, #13);
|
||||
|
||||
If MBase.NetType = 3 Then
|
||||
WriteStr (#1 + 'INTL ' + strAddr2Str(EchoNode.Address) + ' ' + strAddr2Str(bbsConfig.NetAddress[MBase.NetAddr]), #13);
|
||||
WriteStr (#1 + 'INTL ' + strAddr2Str(EchoNode.Address) + ' ' + strAddr2Str(MsgBase^.GetOrigAddr), #13);
|
||||
|
||||
WriteStr (#1 + 'TID: Mystic BBS ' + mysVersion, #13);
|
||||
|
||||
|
@ -237,15 +267,15 @@ Var
|
|||
// SEEN-BY needs to include yourself and ANYTHING it is sent to (downlinks)
|
||||
// so we need to cycle through nodes for this mbase and add ALL of them
|
||||
|
||||
TempStr1 := 'SEEN-BY: ' + strI2S(bbsConfig.NetAddress[MBase.NetAddr].Net) + '/' + strI2S(bbsConfig.NetAddress[MBase.NetAddr].Node) + ' ';
|
||||
TempStr1 := 'SEEN-BY: ' + strI2S(MsgBase^.GetOrigAddr.Net) + '/' + strI2S(MsgBase^.GetOrigAddr.Node) + ' ';
|
||||
|
||||
If bbsConfig.NetAddress[MBase.NetAddr].Net <> EchoNode.Address.Net Then
|
||||
If MsgBase^.GetOrigAddr.Net <> EchoNode.Address.Net Then
|
||||
TempStr1 := TempStr1 + strI2S(EchoNode.Address.Net) + '/';
|
||||
|
||||
TempStr1 := TempStr1 + strI2S(EchoNode.Address.Node);
|
||||
|
||||
WriteStr (TempStr1, #13);
|
||||
WriteStr (#1 + 'PATH: ' + strI2S(bbsConfig.NetAddress[MBase.NetAddr].Net) + '/' + strI2S(bbsConfig.NetAddress[MBase.NetAddr].Node), #13);
|
||||
WriteStr (#1 + 'PATH: ' + strI2S(MsgBase^.GetOrigAddr.Net) + '/' + strI2S(MsgBase^.GetOrigAddr.Node), #13);
|
||||
WriteStr (#0#0, #0);
|
||||
|
||||
Close (F);
|
||||
|
@ -303,6 +333,14 @@ Begin
|
|||
While Not Eof(ExportFile) Do Begin
|
||||
Read (ExportFile, ExportIndex);
|
||||
|
||||
// check base type and export network or echo? or
|
||||
// do it from exportmessage?
|
||||
|
||||
If MBase.NetType = 3 Then Begin
|
||||
If GetNodeByIndex(ExportIndex, EchoNode) Then
|
||||
If EchoNode.Active and (EchoNode.Address.Zone = MsgBase^.GetOrigAddr.Zone) Then
|
||||
ExportMessage;
|
||||
End Else
|
||||
If GetNodeByIndex(ExportIndex, EchoNode) Then
|
||||
If EchoNode.Active Then
|
||||
ExportMessage;
|
||||
|
|
|
@ -44,12 +44,9 @@ Uses
|
|||
bbs_Common,
|
||||
bbs_Core,
|
||||
bbs_NodeInfo,
|
||||
{$IFDEF NEWEDITOR}
|
||||
bbs_edit_ansi,
|
||||
{$ENDIF}
|
||||
bbs_Cfg_Main;
|
||||
|
||||
{$IFDEF NEWEDITOR}
|
||||
(*
|
||||
Procedure TestEditor;
|
||||
Var
|
||||
T : TEditorANSI;
|
||||
|
@ -59,7 +56,7 @@ Begin
|
|||
T.Edit;
|
||||
T.Free;
|
||||
End;
|
||||
{$ENDIF}
|
||||
*)
|
||||
|
||||
Procedure InitClasses;
|
||||
Begin
|
||||
|
@ -482,10 +479,8 @@ Begin
|
|||
|
||||
Set_Node_Action (Session.GetPrompt(345));
|
||||
|
||||
{$IFDEF NEWEDITOR}
|
||||
//TestEditor;
|
||||
//Halt(0);
|
||||
{$ENDIF}
|
||||
// TestEditor;
|
||||
// Halt(0);
|
||||
|
||||
Session.User.UserLogon1 (Script);
|
||||
|
||||
|
|
|
@ -246,7 +246,8 @@ Type
|
|||
FSCommand : String[60];
|
||||
// ECHOMAIL NETWORKS
|
||||
NetAddress : Array[1..30] of RecEchoMailAddr; // echomail addresses
|
||||
NetUplink : Array[1..30] of RecEchoMailAddr; // echomail uplink addresses
|
||||
NetPrimary : Array[1..30] of Boolean;
|
||||
Res1 : Array[1..210] of Byte;
|
||||
NetDomain : Array[1..30] of String[8]; // echomail domains (5D)
|
||||
NetDesc : Array[1..30] of String[25]; // echomail network description
|
||||
// OFFLINE MAIL (should include local qwk path)
|
||||
|
@ -316,6 +317,7 @@ Type
|
|||
ThemeOnStart : Boolean;
|
||||
StartCodePage : Byte;
|
||||
AcsSeeOffline : String[mysMaxAcsSize];
|
||||
// DefDomain : String[8];
|
||||
//inetSMTPRelay : String[30];
|
||||
//inetSMTPLogin : String[30];
|
||||
//inetSMTPPW : String[30];
|
||||
|
|
|
@ -2999,3 +2999,11 @@
|
|||
|
||||
+ Old Voting booth editor has been replaced with the VD menu command used
|
||||
to delete voting questions.
|
||||
|
||||
+ CTRL-B will now reformat paragraphs in the FS editor.
|
||||
|
||||
+ In the FSE the TAB key now works in insert mode meaning it will push and
|
||||
wrap text by tabstop.
|
||||
|
||||
! Forced messages were able to be aborted sometimes while using the FS
|
||||
editor and using the CTRL-A key to abort.
|
||||
|
|
Loading…
Reference in New Issue