Stuff
This commit is contained in:
parent
4f16181716
commit
ac44ec1396
|
@ -142,7 +142,7 @@ Begin
|
||||||
B := Pos('/', S);
|
B := Pos('/', S);
|
||||||
C := Pos('.', S);
|
C := Pos('.', S);
|
||||||
|
|
||||||
If (A = 0) or (B = 0) Then Exit;
|
If (A = 0) or (B <= A) Then Exit;
|
||||||
|
|
||||||
If C = 0 Then Begin
|
If C = 0 Then Begin
|
||||||
Point := False;
|
Point := False;
|
||||||
|
|
|
@ -314,7 +314,10 @@ Var
|
||||||
|
|
||||||
Case Mode of
|
Case Mode of
|
||||||
0 : Protocol^.SetDestinationDirectory(JustPath(FName));
|
0 : Protocol^.SetDestinationDirectory(JustPath(FName));
|
||||||
1 : Protocol^.AddFileToList(FileList, FName);
|
1 : Begin
|
||||||
|
Protocol^.SetDestinationDirectory(JustPath(FName));
|
||||||
|
Protocol^.AddFileToList(FileList, FName);
|
||||||
|
End;
|
||||||
2 : Protocol^.AddFileToList(FileList, FName);
|
2 : Protocol^.AddFileToList(FileList, FName);
|
||||||
3 : Begin
|
3 : Begin
|
||||||
Assign (T, Session.TempPath + 'file.lst');
|
Assign (T, Session.TempPath + 'file.lst');
|
||||||
|
|
|
@ -44,6 +44,7 @@ Type
|
||||||
Function GetTotalMessages (Var TempBase: RecMessageBase) : LongInt;
|
Function GetTotalMessages (Var TempBase: RecMessageBase) : LongInt;
|
||||||
Procedure PostTextFile (Data: String; AllowCodes: Boolean);
|
Procedure PostTextFile (Data: String; AllowCodes: Boolean);
|
||||||
Function SaveMessage (mArea: RecMessageBase; mFrom, mTo, mSubj: String; mAddr: RecEchoMailAddr; mLines: Integer) : Boolean;
|
Function SaveMessage (mArea: RecMessageBase; mFrom, mTo, mSubj: String; mAddr: RecEchoMailAddr; mLines: Integer) : Boolean;
|
||||||
|
Function NetmailLookup (FromMenu: Boolean; MsgTo, DefAddr: String) : String;
|
||||||
Function ListAreas (Compress: Boolean) : Integer;
|
Function ListAreas (Compress: Boolean) : Integer;
|
||||||
Procedure ChangeArea (Data: String);
|
Procedure ChangeArea (Data: String);
|
||||||
Procedure SetMessageScan;
|
Procedure SetMessageScan;
|
||||||
|
@ -79,6 +80,7 @@ Uses
|
||||||
bbs_Core,
|
bbs_Core,
|
||||||
bbs_User,
|
bbs_User,
|
||||||
bbs_NodeInfo,
|
bbs_NodeInfo,
|
||||||
|
bbs_NodeList,
|
||||||
bbs_cfg_UserEdit;
|
bbs_cfg_UserEdit;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
|
@ -125,6 +127,142 @@ Begin
|
||||||
Inherited Destroy;
|
Inherited Destroy;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
Function TMsgBase.NetmailLookup (FromMenu: Boolean; MsgTo, DefAddr: String) : String;
|
||||||
|
|
||||||
|
Procedure ShowNode (ShowType: Byte; NodeData: RecNodeSearch; Ext: Boolean);
|
||||||
|
Var
|
||||||
|
Str : String;
|
||||||
|
Begin
|
||||||
|
Case ShowType of
|
||||||
|
0 : Str := strAddr2Str(NodeData.Address);
|
||||||
|
1,
|
||||||
|
2 : If NodeData.Keyword = 'ZONE' Then
|
||||||
|
Str := 'ZONE' + strPadL(strI2S(NodeData.Address.Zone), 8, ' ')
|
||||||
|
Else
|
||||||
|
If NodeData.Keyword = 'REGION' Then
|
||||||
|
Str := 'REGION' + strPadL(strI2S(NodeData.Address.Net), 6, ' ')
|
||||||
|
Else
|
||||||
|
If NodeData.Keyword = 'HOST' Then
|
||||||
|
Str := 'NET' + strPadL(strI2S(NodeData.Address.Net), 9, ' ');
|
||||||
|
End;
|
||||||
|
|
||||||
|
Session.io.PromptInfo[1] := Str;
|
||||||
|
Session.io.PromptInfo[2] := NodeData.BBSName;
|
||||||
|
Session.io.PromptInfo[3] := NodeData.Location;
|
||||||
|
Session.io.PromptInfo[4] := NodeData.SysopName;
|
||||||
|
Session.io.PromptInfo[5] := NodeData.Phone;
|
||||||
|
Session.io.PromptInfo[6] := NodeData.Internet;
|
||||||
|
|
||||||
|
If Ext Then
|
||||||
|
Session.io.OutFullLn(Session.GetPrompt(500))
|
||||||
|
Else
|
||||||
|
Session.io.OutFullLn(Session.GetPrompt(499));
|
||||||
|
End;
|
||||||
|
|
||||||
|
Var
|
||||||
|
NodeList : TNodeListSearch;
|
||||||
|
FirstNode : RecNodeSearch;
|
||||||
|
NodeData : RecNodeSearch;
|
||||||
|
Listed : LongInt;
|
||||||
|
ListType : Byte;
|
||||||
|
HasList : Boolean;
|
||||||
|
Begin
|
||||||
|
HasList := FileExist(Config.DataPath + 'nodelist.txt');
|
||||||
|
NodeList := TNodeListSearch.Create;
|
||||||
|
|
||||||
|
If HasList Then
|
||||||
|
Session.io.OutFile ('nodesearch', False, 0);
|
||||||
|
|
||||||
|
Repeat
|
||||||
|
If FromMenu Then
|
||||||
|
Session.io.OutFull (Session.GetPrompt(497))
|
||||||
|
Else
|
||||||
|
If HasList Then
|
||||||
|
Session.io.OutFull (Session.GetPrompt(496))
|
||||||
|
Else
|
||||||
|
Session.io.OutFull (Session.GetPrompt(342));
|
||||||
|
|
||||||
|
Result := strUpper(Session.io.GetInput(25, 25, 11, DefAddr));
|
||||||
|
|
||||||
|
If Result = '' Then Break;
|
||||||
|
|
||||||
|
If (Result = '?') and HasList Then Begin
|
||||||
|
Session.io.OutFile('nodesearch', False, 0);
|
||||||
|
|
||||||
|
Continue;
|
||||||
|
End;
|
||||||
|
|
||||||
|
If Not HasList Then Break;
|
||||||
|
|
||||||
|
ListType := 0;
|
||||||
|
|
||||||
|
If Pos('LIST ZONE', Result) > 0 Then Begin
|
||||||
|
ListType := 1;
|
||||||
|
Result := '?:?/?';
|
||||||
|
End;
|
||||||
|
|
||||||
|
If Pos('LIST NET', Result) > 0 Then Begin
|
||||||
|
ListType := 2;
|
||||||
|
Result := strWordGet(3, Result, ' ') + ':?/?';
|
||||||
|
End;
|
||||||
|
|
||||||
|
Listed := 0;
|
||||||
|
|
||||||
|
Session.io.PausePtr := 1;
|
||||||
|
Session.io.AllowPause := True;
|
||||||
|
|
||||||
|
NodeList.ResetSearch(Config.DataPath + 'nodelist.txt', Result);
|
||||||
|
|
||||||
|
While NodeList.FindNext(NodeData) Do Begin
|
||||||
|
Case ListType of
|
||||||
|
0 : If NodeData.Keyword <> '' Then Continue;
|
||||||
|
1 : If NodeData.Keyword <> 'ZONE' Then Continue;
|
||||||
|
2 : If (NodeData.Keyword <> 'ZONE') and (NodeData.Keyword <> 'REGION') and (NodeData.Keyword <> 'HOST') Then Continue;
|
||||||
|
End;
|
||||||
|
|
||||||
|
Inc (Listed);
|
||||||
|
|
||||||
|
If Listed = 1 Then
|
||||||
|
FirstNode := NodeData
|
||||||
|
Else Begin
|
||||||
|
If Listed = 2 Then Begin
|
||||||
|
Session.io.OutFullLn (Session.GetPrompt(498));
|
||||||
|
|
||||||
|
ShowNode (ListType, FirstNode, False);
|
||||||
|
End;
|
||||||
|
|
||||||
|
ShowNode (ListType, NodeData, False);
|
||||||
|
End;
|
||||||
|
|
||||||
|
If (Session.io.PausePtr >= Session.User.ThisUser.ScreenSize) and (Session.io.AllowPause) Then
|
||||||
|
Case Session.io.MorePrompt of
|
||||||
|
'N' : Break;
|
||||||
|
'C' : Session.io.AllowPause := False;
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
|
||||||
|
If (Listed = 1) and (ListType = 0) Then Begin
|
||||||
|
ShowNode(ListType, FirstNode, True);
|
||||||
|
|
||||||
|
If FromMenu Then Continue;
|
||||||
|
|
||||||
|
Session.io.PromptInfo[7] := MsgTo;
|
||||||
|
|
||||||
|
If Session.io.GetYN(Session.GetPrompt(502), True) Then Begin
|
||||||
|
Result := strAddr2Str(NodeData.Address);
|
||||||
|
|
||||||
|
Break;
|
||||||
|
End;
|
||||||
|
End Else Begin
|
||||||
|
Session.io.PromptInfo[1] := strComma(Listed);
|
||||||
|
|
||||||
|
Session.io.OutFullLn(Session.GetPrompt(501));
|
||||||
|
End;
|
||||||
|
Until False;
|
||||||
|
|
||||||
|
NodeList.Free;
|
||||||
|
End;
|
||||||
|
|
||||||
Function TMsgBase.IsQuotedText (Str: String) : Boolean;
|
Function TMsgBase.IsQuotedText (Str: String) : Boolean;
|
||||||
Var
|
Var
|
||||||
Temp : Byte;
|
Temp : Byte;
|
||||||
|
@ -926,11 +1064,9 @@ Begin
|
||||||
Until False;
|
Until False;
|
||||||
|
|
||||||
If MBase.NetType = 3 Then Begin
|
If MBase.NetType = 3 Then Begin
|
||||||
Session.io.OutFull (Session.GetPrompt(342));
|
|
||||||
|
|
||||||
MsgBase^.GetOrig(Addr);
|
MsgBase^.GetOrig(Addr);
|
||||||
|
|
||||||
TempStr := Session.io.GetInput(20, 20, 12, strAddr2Str(Addr));
|
TempStr := NetmailLookup(False, ToWho, strAddr2Str(Addr));
|
||||||
|
|
||||||
If Not strStr2Addr (TempStr, Addr) Then Exit;
|
If Not strStr2Addr (TempStr, Addr) Then Exit;
|
||||||
End;
|
End;
|
||||||
|
@ -2582,13 +2718,12 @@ Begin
|
||||||
MsgTo := Session.io.GetInput (30, 30, 18, '');
|
MsgTo := Session.io.GetInput (30, 30, 18, '');
|
||||||
End;
|
End;
|
||||||
|
|
||||||
If MsgAddr = '' Then Begin
|
If MsgTo <> '' Then
|
||||||
Session.io.OutFull (Session.GetPrompt(342));
|
If MsgAddr = '' Then Begin
|
||||||
|
MsgAddr := NetmailLookup(False, MsgTo, '');
|
||||||
|
|
||||||
MsgAddr := Session.io.GetInput (20, 20, 12, '');
|
If Not strStr2Addr(MsgAddr, DestAddr) Then MsgTo := '';
|
||||||
|
End;
|
||||||
If Not strStr2Addr(MsgAddr, DestAddr) Then MsgTo := '';
|
|
||||||
End;
|
|
||||||
End Else
|
End Else
|
||||||
If MBase.Flags and MBPrivate <> 0 Then Begin
|
If MBase.Flags and MBPrivate <> 0 Then Begin
|
||||||
If MsgTo = '' Then Begin
|
If MsgTo = '' Then Begin
|
||||||
|
@ -3896,19 +4031,23 @@ End;
|
||||||
|
|
||||||
Procedure TMsgBase.UploadREP;
|
Procedure TMsgBase.UploadREP;
|
||||||
Var
|
Var
|
||||||
DataFile : File;
|
DataFile : File;
|
||||||
TempBase : RecMessageBase;
|
TempBase : RecMessageBase;
|
||||||
OldBase : RecMessageBase;
|
OldBase : RecMessageBase;
|
||||||
QwkHeader : QwkDATHdr;
|
QwkHeader : QwkDATHdr;
|
||||||
QwkBlock : String[128];
|
QwkBlock : String[128];
|
||||||
Line : String;
|
Line : String;
|
||||||
A : SmallInt;
|
A : SmallInt;
|
||||||
B : SmallInt;
|
B : SmallInt;
|
||||||
Chunks : SmallInt;
|
Chunks : SmallInt;
|
||||||
LineCount : SmallInt;
|
LineCount : SmallInt;
|
||||||
IsControl : Boolean;
|
IsControl : Boolean;
|
||||||
GotControl : Boolean;
|
GotControl : Boolean;
|
||||||
ExtFile : Text;
|
ExtFile : Text;
|
||||||
|
StatOK : LongInt = 0;
|
||||||
|
StatFailed : LongInt = 0;
|
||||||
|
StatBaseAdd : LongInt = 0;
|
||||||
|
StatBaseDel : LongInt = 0;
|
||||||
|
|
||||||
Procedure QwkControl (Idx: LongInt; Mode: Byte);
|
Procedure QwkControl (Idx: LongInt; Mode: Byte);
|
||||||
Begin
|
Begin
|
||||||
|
@ -3919,6 +4058,9 @@ Var
|
||||||
|
|
||||||
MScan.QwkScan := Mode;
|
MScan.QwkScan := Mode;
|
||||||
|
|
||||||
|
If Mode = 0 Then Inc (StatBaseDel);
|
||||||
|
If Mode = 1 Then Inc (StatBaseAdd);
|
||||||
|
|
||||||
SetMessageScan;
|
SetMessageScan;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
@ -3945,9 +4087,8 @@ Begin
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Assign (DataFile, FileFind(Session.TempPath + Config.qwkBBSID + '.msg'));
|
Assign (DataFile, FileFind(Session.TempPath + Config.qwkBBSID + '.msg'));
|
||||||
{$I-} Reset (DataFile, 1); {$I+}
|
|
||||||
|
|
||||||
If IoResult <> 0 Then Begin
|
If Not ioReset(DataFile, 1, fmRWDN) Then Begin
|
||||||
Session.io.OutFull (Session.GetPrompt(238));
|
Session.io.OutFull (Session.GetPrompt(238));
|
||||||
DirClean (Session.TempPath, '');
|
DirClean (Session.TempPath, '');
|
||||||
Exit;
|
Exit;
|
||||||
|
@ -3963,11 +4104,12 @@ Begin
|
||||||
Exit;
|
Exit;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Session.io.OutFullLn (Session.GetPrompt(240));
|
Session.io.OutFull (Session.GetPrompt(240));
|
||||||
|
|
||||||
While Not Eof(DataFile) Do Begin
|
While Not Eof(DataFile) Do Begin
|
||||||
BlockRead (DataFile, QwkHeader, SizeOf(QwkHeader));
|
BlockRead (DataFile, QwkHeader, SizeOf(QwkHeader));
|
||||||
Move (QwkHeader.MsgNum, QwkBlock[1], 7);
|
Move (QwkHeader.MsgNum, QwkBlock[1], 7);
|
||||||
|
|
||||||
QwkBlock[0] := #7;
|
QwkBlock[0] := #7;
|
||||||
|
|
||||||
If GetBaseByIndex(strS2I(QwkBlock), TempBase) Then Begin
|
If GetBaseByIndex(strS2I(QwkBlock), TempBase) Then Begin
|
||||||
|
@ -4041,18 +4183,21 @@ Begin
|
||||||
MsgBase^.DoStringLn (' * Origin: ' + ResolveOrigin(TempBase) + ' (' + strAddr2Str(Config.NetAddress[TempBase.NetAddr]) + ')');
|
MsgBase^.DoStringLn (' * Origin: ' + ResolveOrigin(TempBase) + ' (' + strAddr2Str(Config.NetAddress[TempBase.NetAddr]) + ')');
|
||||||
End;
|
End;
|
||||||
|
|
||||||
If Not IsControl Then MsgBase^.WriteMsg;
|
|
||||||
|
|
||||||
MsgBase^.CloseMsgBase;
|
|
||||||
|
|
||||||
If Not IsControl Then Begin
|
If Not IsControl Then Begin
|
||||||
|
MsgBase^.WriteMsg;
|
||||||
|
|
||||||
|
Inc (StatOK);
|
||||||
Inc (Session.User.ThisUser.Posts);
|
Inc (Session.User.ThisUser.Posts);
|
||||||
Inc (Session.HistoryPosts);
|
Inc (Session.HistoryPosts);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
MsgBase^.CloseMsgBase;
|
||||||
|
|
||||||
Dispose (MsgBase, Done);
|
Dispose (MsgBase, Done);
|
||||||
End;
|
End Else
|
||||||
End;
|
Inc (StatFailed);
|
||||||
|
End Else
|
||||||
|
Inc (StatFailed);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Close (DataFile);
|
Close (DataFile);
|
||||||
|
@ -4076,6 +4221,13 @@ Begin
|
||||||
End;
|
End;
|
||||||
|
|
||||||
DirClean (Session.TempPath, '');
|
DirClean (Session.TempPath, '');
|
||||||
|
|
||||||
|
Session.io.PromptInfo[1] := strI2S(StatOK);
|
||||||
|
Session.io.PromptInfo[2] := strI2S(StatFailed);
|
||||||
|
Session.io.PromptInfo[3] := strI2S(StatBaseAdd);
|
||||||
|
Session.io.PromptInfo[4] := strI2S(StatBaseDel);
|
||||||
|
|
||||||
|
Session.io.OutFullLn(Session.GetPrompt(503));
|
||||||
End;
|
End;
|
||||||
|
|
||||||
End.
|
End.
|
||||||
|
|
|
@ -452,8 +452,8 @@
|
||||||
238 |CR|12Your .REP packet was not found.|CR|CR|PA
|
238 |CR|12Your .REP packet was not found.|CR|CR|PA
|
||||||
; Displayed if the wrong QWK packet is uploaded
|
; Displayed if the wrong QWK packet is uploaded
|
||||||
239 |CR|12Your .REP packet is not for this BBS.|CR|PA
|
239 |CR|12Your .REP packet is not for this BBS.|CR|PA
|
||||||
; Processing reply packet
|
; Processing QWK reply packet
|
||||||
240 |CR|01[|10þ|01] |09Processing reply packet|01...
|
240 |CR|01[|10þ|01] |09Processing QWK reply packet|01: |XX
|
||||||
; Voting booth header
|
; Voting booth header
|
||||||
241 |CL|08|$D79Ä|CR|14Voting Booth |12(* = New Question)|CR|08|$D79Ä
|
241 |CL|08|$D79Ä|CR|14Voting Booth |12(* = New Question)|CR|08|$D79Ä
|
||||||
; Voting booth question list format
|
; Voting booth question list format
|
||||||
|
@ -539,7 +539,7 @@
|
||||||
; Save this question?
|
; Save this question?
|
||||||
281 |CR|12Save this voting question? |11
|
281 |CR|12Save this voting question? |11
|
||||||
; Move message to where?
|
; Move message to where?
|
||||||
282 |CR|09Move to which base (?/List): |XX
|
282 |CR|09Move to which base (|10?|09/|10List|09): |XX
|
||||||
; Add BBS list: enter phone number
|
; Add BBS list: enter phone number
|
||||||
283 |03Enter BBS phone number: |XX
|
283 |03Enter BBS phone number: |XX
|
||||||
; Add BBS list: enter BBS name
|
; Add BBS list: enter BBS name
|
||||||
|
@ -646,7 +646,8 @@
|
||||||
340 |$D34 |07+ Uploader: |&1
|
340 |$D34 |07+ Uploader: |&1
|
||||||
; Line editor quote mode: &1 = line number &2 = line text
|
; Line editor quote mode: &1 = line number &2 = line text
|
||||||
341 |10|&1|02: |11|$R74|&2
|
341 |10|&1|02: |11|$R74|&2
|
||||||
342 |CR|09Enter destination address: |XX
|
; Netmail destination address (if no nodelist data)
|
||||||
|
342 |CR|09Enter destination netmail address: |XX
|
||||||
; Upload file name prompt
|
; Upload file name prompt
|
||||||
343 |CR|09File Name|CR:
|
343 |CR|09File Name|CR:
|
||||||
; Download file name prompt
|
; Download file name prompt
|
||||||
|
@ -972,3 +973,22 @@
|
||||||
494 |CR|12Remove |15|MB |12from message newscan? |XX
|
494 |CR|12Remove |15|MB |12from message newscan? |XX
|
||||||
; Lightbar msg reader: Remove from newscan (after I command)
|
; Lightbar msg reader: Remove from newscan (after I command)
|
||||||
495 |CR|12Remove |15|MB |12from message newscan? |XX
|
495 |CR|12Remove |15|MB |12from message newscan? |XX
|
||||||
|
; Netmail send address prompt with active nodelist searching
|
||||||
|
496 |CR|09Enter netmail address or search criteria (|10?|09/|10Help|09): |11
|
||||||
|
; Nodelist browser prompt
|
||||||
|
497 |CR|09Enter nodelist search criteria (|10?|09/|10Help|09): |11
|
||||||
|
; Nodelist search results header
|
||||||
|
498 |CR|15Node System Name Location SysOp |CR|09============ ========================== ================== ====================
|
||||||
|
; Node list search results
|
||||||
|
; &1=addr &2=bbsname &3=location &4=sysop &5=phone &6=internet
|
||||||
|
499 |10|$R12|&1 |15|$R26|&2 |11|$R18|&3 |09|$R20|&4
|
||||||
|
; Node list single result
|
||||||
|
500 |CR|03 Address: |14|&1|CR|03System Name: |11|&2|CR|03 Location: |11|&3|CR|03 Operator: |11|&4|CR|03 Phone: |11|&5|CR|03 Internet: |11|&6
|
||||||
|
; Node list search "found X matches" &1=# of matches
|
||||||
|
501 |CR|03Found |11|&1 |03matches.
|
||||||
|
; Netmail send confirmation
|
||||||
|
; &1=addr &2=bbsname &3=location &4=sysop &5=phone &6=internet &7=to
|
||||||
|
502 |CR|12Send netmail to |15|&7|07 at |15|&1|12? |11
|
||||||
|
; QWK .REP complete/results prompt
|
||||||
|
; &1=msgs imported &2=msgs failed &3=bases added to scan &4=bases removed
|
||||||
|
503 |10SUCCESS|01.|CR|CR|11- |03Posted |11|&1 |03new messages (|11|&2 |03failed)|CR|11- |03Added |11|&3 |03bases to new scan (|11|&4 |03removed).|CR|CR|PA
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
Const
|
Const
|
||||||
mysSoftwareID = 'Mystic'; // no idea
|
mysSoftwareID = 'Mystic'; // no idea
|
||||||
mysCopyYear = '1997-2013'; // its been a long time!
|
mysCopyYear = '1997-2013'; // its been a long time!
|
||||||
mysVersion = '1.10 A26'; // current version
|
mysVersion = '1.10 A27'; // current version
|
||||||
mysDataChanged = '1.10 A11'; // version of last records change
|
mysDataChanged = '1.10 A11'; // version of last records change
|
||||||
|
|
||||||
{$IFDEF WIN32}
|
{$IFDEF WIN32}
|
||||||
|
@ -59,7 +59,7 @@ Const
|
||||||
mysMaxMenuCmds = 25; // Max menu commands per item
|
mysMaxMenuCmds = 25; // Max menu commands per item
|
||||||
mysMaxMenuInput = 12;
|
mysMaxMenuInput = 12;
|
||||||
mysMaxMenuStack = 8;
|
mysMaxMenuStack = 8;
|
||||||
mysMaxThemeText = 495; // Total prompts in theme file
|
mysMaxThemeText = 503; // Total prompts in theme file
|
||||||
|
|
||||||
fn_SemFileEcho = 'echomail.now';
|
fn_SemFileEcho = 'echomail.now';
|
||||||
fn_SemFileNews = 'newsmail.now';
|
fn_SemFileNews = 'newsmail.now';
|
||||||
|
|
|
@ -27,6 +27,8 @@ BUGS AND POSSIBLE ISSUES
|
||||||
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
||||||
=========================================
|
=========================================
|
||||||
|
|
||||||
|
- Blind upload for single file upload (also message upload)
|
||||||
|
- Email validation
|
||||||
- Recode FCHECK into MUTIL, but also add the option to phsyically delete the
|
- Recode FCHECK into MUTIL, but also add the option to phsyically delete the
|
||||||
file record instead of marking it offline.
|
file record instead of marking it offline.
|
||||||
- Add ability to ignore files from a files.bbs import
|
- Add ability to ignore files from a files.bbs import
|
||||||
|
|
|
@ -2583,3 +2583,62 @@
|
||||||
mbbsutil -fcheck kill
|
mbbsutil -fcheck kill
|
||||||
|
|
||||||
<ALPHA 26 RELEASED>
|
<ALPHA 26 RELEASED>
|
||||||
|
|
||||||
|
! WordGet will now trim spaces off the beginning of the string, but only
|
||||||
|
when space is used as a word separator. When something other than a
|
||||||
|
space is used, it will not trim anything. This fixes a problem that
|
||||||
|
could cause the result to be incorrect when using non-space separators.
|
||||||
|
|
||||||
|
+ Mystic now has a node address lookup option when sending NetMail. This
|
||||||
|
search allows wildcard search by address, or text seaching of the BBS
|
||||||
|
name, SysOp name, location, phone and Internet address. In addition, it
|
||||||
|
also has functions to list zones and specific nets within a zone, rather
|
||||||
|
than just nodes themselves.
|
||||||
|
|
||||||
|
To enable this feature, simply copy a raw FTN-style nodelist into the
|
||||||
|
data directory and name it "nodelist.txt". Mystic is using a raw
|
||||||
|
uncompiled nodelist, because of lack of compilers and advancement in CPU
|
||||||
|
speed makes it much more feasible these days.
|
||||||
|
|
||||||
|
A new display file called "nodesearch.xxx" will be displayed if it exists
|
||||||
|
before the netmail address prompt, and when the user selects ?/help at the
|
||||||
|
prompt. A nodesearch.asc file has been included in the new default
|
||||||
|
install.
|
||||||
|
|
||||||
|
The following new prompts must be added:
|
||||||
|
|
||||||
|
; Netmail send address prompt with active nodelist searching
|
||||||
|
496 |CR|09Enter netmail address or search criteria (|10?|09/|10Help|09): |11
|
||||||
|
|
||||||
|
; Nodelist browser prompt
|
||||||
|
497 |CR|09Enter nodelist search criteria (|10?|09/|10Help|09): |11
|
||||||
|
|
||||||
|
; Nodelist search results header
|
||||||
|
498 |CR|15Node System Name Location SysOp |CR|09============ ========================== ================== ====================
|
||||||
|
|
||||||
|
; Node list search results
|
||||||
|
; &1=addr &2=bbsname &3=location &4=sysop &5=phone &6=internet
|
||||||
|
499 |10|$R12|&1 |15|$R26|&2 |11|$R18|&3 |09|$R20|&4
|
||||||
|
|
||||||
|
; Node list single result
|
||||||
|
500 |CR|03 Address: |14|&1|CR|03System Name: |11|&2|CR|03 Location: |11|&3|CR|03 Operator: |11|&4|CR|03 Phone: |11|&5|CR|03 Internet: |11|&6
|
||||||
|
|
||||||
|
; Node list search "found X matches" &1=# of matches
|
||||||
|
501 |CR|03Found |11|&1 |03matches.
|
||||||
|
|
||||||
|
; Netmail send confirmation
|
||||||
|
; &1=addr &2=bbsname &3=location &4=sysop &5=phone &6=internet &7=to
|
||||||
|
502 |CR|12Send netmail to |15|&7|07 at |15|&1|12? |11
|
||||||
|
|
||||||
|
! Fixed a bug with internal Zmodem uploads which would cause the upload to
|
||||||
|
not be detected by Mystic.
|
||||||
|
|
||||||
|
+ After uploading a QWK .REP reply packet, Mystic will now display some
|
||||||
|
basic statistics of messages posted, or of failed imports. A new prompt
|
||||||
|
must be added to go with this:
|
||||||
|
|
||||||
|
; QWK .REP complete/results prompt
|
||||||
|
; &1=msgs imported &2=msgs failed &3=bases added to scan &4=bases removed
|
||||||
|
503 |10SUCCESS|01.|CR|CR|11- |03Posted |11|&1 |03new messages (|11|&2 |03failed)|CR|11- |03Added |11|&3 |03bases to new scan (|11|&4 |03removed).|CR|CR|PA
|
||||||
|
|
||||||
|
<ALPHA 27 RELEASED>
|
||||||
|
|
Loading…
Reference in New Issue