A36
This commit is contained in:
parent
41316ef5a6
commit
791d404b38
|
@ -513,7 +513,7 @@ Begin
|
||||||
|
|
||||||
Form.AddBol ('A', ' Allow New Users', 22, 7, 41, 7, 17, 3, @Config.AllowNewUsers, Topic);
|
Form.AddBol ('A', ' Allow New Users', 22, 7, 41, 7, 17, 3, @Config.AllowNewUsers, Topic);
|
||||||
Form.AddByte ('S', ' Security', 29, 8, 41, 8, 10, 3, 1, 255, @Config.NewUserSec, Topic);
|
Form.AddByte ('S', ' Security', 29, 8, 41, 8, 10, 3, 1, 255, @Config.NewUserSec, Topic);
|
||||||
Form.AddStr ('P', ' Password', 29, 9, 41, 9, 10, 15, 15, @Config.NewUserPW, Topic);
|
Form.AddPass ('P', ' Password', 29, 9, 41, 9, 10, 15, 15, @Config.NewUserPW, Topic);
|
||||||
Form.AddBol ('N', ' New User Feedback', 20, 10, 41, 10, 19, 3, @Config.NewUserEmail, Topic);
|
Form.AddBol ('N', ' New User Feedback', 20, 10, 41, 10, 19, 3, @Config.NewUserEmail, Topic);
|
||||||
Form.AddBol ('U', ' Use USA Phone', 24, 11, 41, 11, 15, 3, @Config.UseUSAPhone, Topic);
|
Form.AddBol ('U', ' Use USA Phone', 24, 11, 41, 11, 15, 3, @Config.UseUSAPhone, Topic);
|
||||||
Form.AddTog ('E', ' User Name Format', 21, 12, 41, 12, 18, 8, 0, 3, 'As_Typed Upper Lower Proper', @Config.UserNameFormat, Topic);
|
Form.AddTog ('E', ' User Name Format', 21, 12, 41, 12, 18, 8, 0, 3, 'As_Typed Upper Lower Proper', @Config.UserNameFormat, Topic);
|
||||||
|
|
|
@ -387,7 +387,7 @@ Begin
|
||||||
Session.io.AnsiColor (Session.io.ScreenInfo[3].A);
|
Session.io.AnsiColor (Session.io.ScreenInfo[3].A);
|
||||||
Session.io.AnsiGotoXY (Session.io.ScreenInfo[3].X, Session.io.ScreenInfo[3].Y);
|
Session.io.AnsiGotoXY (Session.io.ScreenInfo[3].X, Session.io.ScreenInfo[3].Y);
|
||||||
|
|
||||||
If InsertMode Then Session.io.BufAddStr('INS') else Session.io.BufAddStr('OVR'); { ++lang }
|
If InsertMode Then Session.io.BufAddStr('INS') else Session.io.BufAddStr('OVR'); { ++lang++ }
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure TEditorANSI.ReDrawTemplate (Reset: Boolean);
|
Procedure TEditorANSI.ReDrawTemplate (Reset: Boolean);
|
||||||
|
|
|
@ -1395,9 +1395,11 @@ Begin
|
||||||
SavedP2 := Session.io.PromptInfo[2];
|
SavedP2 := Session.io.PromptInfo[2];
|
||||||
Result := Session.User.ThisUser.Protocol;
|
Result := Session.User.ThisUser.Protocol;
|
||||||
|
|
||||||
|
If Result = 'Q' Then Result := #0;
|
||||||
|
|
||||||
//Session.SystemLog('DEBUG: In SelectProtocol');
|
//Session.SystemLog('DEBUG: In SelectProtocol');
|
||||||
|
|
||||||
If Not LoadByKey(Result) Then Begin
|
If Not LoadByKey(Result) Or Not UseDefault Then Begin
|
||||||
Keys := 'Q';
|
Keys := 'Q';
|
||||||
|
|
||||||
Session.io.OutFullLn(Session.GetPrompt(359));
|
Session.io.OutFullLn(Session.GetPrompt(359));
|
||||||
|
|
|
@ -1800,6 +1800,7 @@ Var
|
||||||
Res := True;
|
Res := True;
|
||||||
1 : Res := Session.User.IsThisUser(MsgBase^.GetTo);
|
1 : Res := Session.User.IsThisUser(MsgBase^.GetTo);
|
||||||
2 : Res := Session.User.IsThisUser(MsgBase^.GetTo) or Session.User.IsThisUser(MsgBase^.GetFrom);
|
2 : Res := Session.User.IsThisUser(MsgBase^.GetTo) or Session.User.IsThisUser(MsgBase^.GetFrom);
|
||||||
|
(*
|
||||||
3 : Begin
|
3 : Begin
|
||||||
Res := (Pos(SearchStr, strUpper(MsgBase^.GetTo)) > 0) or (Pos(SearchStr, strUpper(MsgBase^.GetFrom)) > 0) or
|
Res := (Pos(SearchStr, strUpper(MsgBase^.GetTo)) > 0) or (Pos(SearchStr, strUpper(MsgBase^.GetFrom)) > 0) or
|
||||||
(Pos(SearchStr, strUpper(MsgBase^.GetSubj)) > 0);
|
(Pos(SearchStr, strUpper(MsgBase^.GetSubj)) > 0);
|
||||||
|
@ -1813,9 +1814,24 @@ Var
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
|
*)
|
||||||
4 : Res := Session.User.IsThisUser(MsgBase^.GetFrom);
|
4 : Res := Session.User.IsThisUser(MsgBase^.GetFrom);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
If (SearchStr <> '') And (((ScanMode = 2) And Res) Or (ScanMode = 3)) Then Begin
|
||||||
|
Res := (Pos(SearchStr, strUpper(MsgBase^.GetTo)) > 0) or (Pos(SearchStr, strUpper(MsgBase^.GetFrom)) > 0) or
|
||||||
|
(Pos(SearchStr, strUpper(MsgBase^.GetSubj)) > 0);
|
||||||
|
|
||||||
|
If Not Res Then Begin
|
||||||
|
MsgBase^.MsgTxtStartUp;
|
||||||
|
|
||||||
|
While Not Res And Not MsgBase^.EOM Do Begin
|
||||||
|
Str := strUpper(MsgBase^.GetString(79));
|
||||||
|
Res := Pos(SearchStr, Str) > 0;
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
|
||||||
If NoFrom And Session.User.IsThisUser(MsgBase^.GetFrom) Then
|
If NoFrom And Session.User.IsThisUser(MsgBase^.GetFrom) Then
|
||||||
Res := False;
|
Res := False;
|
||||||
|
|
||||||
|
@ -2869,7 +2885,7 @@ Begin
|
||||||
|
|
||||||
Case MBase.BaseType of
|
Case MBase.BaseType of
|
||||||
0 : MsgBase := New(PMsgBaseJAM, Init);
|
0 : MsgBase := New(PMsgBaseJAM, Init);
|
||||||
1 : MsgBase := New(PMsgbaseSquish, Init);
|
1 : MsgBase := New(PMsgBaseSquish, Init);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
MsgBase^.SetMsgPath (MBase.Path + MBase.FileName);
|
MsgBase^.SetMsgPath (MBase.Path + MBase.FileName);
|
||||||
|
@ -2902,6 +2918,9 @@ Begin
|
||||||
Else
|
Else
|
||||||
ScanMode := 0;
|
ScanMode := 0;
|
||||||
|
|
||||||
|
// session.io.outfull('read ' + mbase.filename + ' ' + mode + ' ' + searchstr + ' ' + stri2s(scanmode) + '|PN');
|
||||||
|
// session.io.bufflush;
|
||||||
|
|
||||||
LastRead := MsgBase^.GetLastRead(Session.User.UserNum);
|
LastRead := MsgBase^.GetLastRead(Session.User.UserNum);
|
||||||
MsgNum := 1;
|
MsgNum := 1;
|
||||||
|
|
||||||
|
@ -2937,9 +2956,11 @@ Begin
|
||||||
|
|
||||||
If (Session.User.ThisUser.MReadType = 1) and (Session.io.Graphics > 0) Then Begin
|
If (Session.User.ThisUser.MReadType = 1) and (Session.io.Graphics > 0) Then Begin
|
||||||
ListMode := 1;
|
ListMode := 1;
|
||||||
|
|
||||||
Ansi_Read_Messages;
|
Ansi_Read_Messages;
|
||||||
End Else Begin
|
End Else Begin
|
||||||
ListMode := 0;
|
ListMode := 0;
|
||||||
|
|
||||||
Ascii_Read_Messages;
|
Ascii_Read_Messages;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
@ -3403,8 +3424,9 @@ Procedure TMsgBase.GlobalMessageSearch (Mode : Char);
|
||||||
{ G = all areas in group }
|
{ G = all areas in group }
|
||||||
{ A = all areas in all groups }
|
{ A = all areas in all groups }
|
||||||
Var
|
Var
|
||||||
SearchStr : String;
|
SearchStr : String;
|
||||||
Old : RecMessageBase;
|
SavedIgnore : Boolean;
|
||||||
|
Old : RecMessageBase;
|
||||||
Begin
|
Begin
|
||||||
If Not (Mode in ['A', 'C', 'G']) Then Mode := 'G';
|
If Not (Mode in ['A', 'C', 'G']) Then Mode := 'G';
|
||||||
|
|
||||||
|
@ -3416,6 +3438,8 @@ Begin
|
||||||
|
|
||||||
OLD := MBase;
|
OLD := MBase;
|
||||||
WereMsgs := False;
|
WereMsgs := False;
|
||||||
|
SavedIgnore := Session.User.IgnoreGroup;
|
||||||
|
|
||||||
Session.User.IgnoreGroup := Mode = 'A';
|
Session.User.IgnoreGroup := Mode = 'A';
|
||||||
|
|
||||||
If Mode = 'C' Then
|
If Mode = 'C' Then
|
||||||
|
@ -3435,6 +3459,7 @@ Begin
|
||||||
If MScan.NewScan > 0 Then Begin
|
If MScan.NewScan > 0 Then Begin
|
||||||
If Not ReadMessages('T', '', SearchStr) Then Begin
|
If Not ReadMessages('T', '', SearchStr) Then Begin
|
||||||
Session.io.OutRawLn('');
|
Session.io.OutRawLn('');
|
||||||
|
|
||||||
Break;
|
Break;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
@ -3448,7 +3473,7 @@ Begin
|
||||||
Close (MBaseFile);
|
Close (MBaseFile);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Session.User.IgnoreGroup := False;
|
Session.User.IgnoreGroup := SavedIgnore;
|
||||||
MBase := OLD;
|
MBase := OLD;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ Begin
|
||||||
ThisUser.LastFGroup := Config.StartFGroup;
|
ThisUser.LastFGroup := Config.StartFGroup;
|
||||||
ThisUser.LastMGroup := Config.StartMGroup;
|
ThisUser.LastMGroup := Config.StartMGroup;
|
||||||
ThisUser.UseLBQuote := True;
|
ThisUser.UseLBQuote := True;
|
||||||
ThisUser.UseFulLChat := True;
|
ThisUser.UseFullChat := True;
|
||||||
ThisUser.CodePage := Config.StartCodePage;
|
ThisUser.CodePage := Config.StartCodePage;
|
||||||
|
|
||||||
IgnoreGroup := False;
|
IgnoreGroup := False;
|
||||||
|
@ -946,9 +946,9 @@ Begin
|
||||||
If AskBirthdate Then GetBirthdate(False);
|
If AskBirthdate Then GetBirthdate(False);
|
||||||
If AskEmail Then GetEmail(False);
|
If AskEmail Then GetEmail(False);
|
||||||
If AskUserNote Then GetUserNote(False);
|
If AskUserNote Then GetUserNote(False);
|
||||||
If OptionalField[1].Ask Then GetOption1(False);
|
If OptionalField[1].Ask Then GetOption1(False);
|
||||||
If OptionalField[2].Ask Then GetOption2(False);
|
If OptionalField[2].Ask Then GetOption2(False);
|
||||||
If OptionalField[3].Ask Then GetOption3(False);
|
If OptionalField[3].Ask Then GetOption3(False);
|
||||||
If UserEditorType = 2 Then GetEditor(False) Else ThisUser.EditType := UserEditorType;
|
If UserEditorType = 2 Then GetEditor(False) Else ThisUser.EditType := UserEditorType;
|
||||||
|
|
||||||
If UserQuoteWin = 2 Then
|
If UserQuoteWin = 2 Then
|
||||||
|
|
|
@ -411,7 +411,9 @@ End;
|
||||||
Procedure TFTPServer.cmdREIN;
|
Procedure TFTPServer.cmdREIN;
|
||||||
Begin
|
Begin
|
||||||
ResetSession;
|
ResetSession;
|
||||||
Client.WriteLine(re_Greeting);
|
|
||||||
|
If Not Client.WriteFile('220', bbsConfig.DataPath + 'ftpbanner.txt') Then
|
||||||
|
Client.WriteLine (re_Greeting);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure TFTPServer.cmdPORT;
|
Procedure TFTPServer.cmdPORT;
|
||||||
|
@ -866,9 +868,11 @@ Begin
|
||||||
|
|
||||||
If Cmd = 'CDUP' Then cmdCDUP Else
|
If Cmd = 'CDUP' Then cmdCDUP Else
|
||||||
If Cmd = 'CWD' Then cmdCWD Else
|
If Cmd = 'CWD' Then cmdCWD Else
|
||||||
|
// If Cmd = 'DELE' Then Client.WriteLine(re_NoAccess) Else
|
||||||
If Cmd = 'EPRT' Then cmdEPRT Else
|
If Cmd = 'EPRT' Then cmdEPRT Else
|
||||||
If Cmd = 'EPSV' Then cmdEPSV Else
|
If Cmd = 'EPSV' Then cmdEPSV Else
|
||||||
If Cmd = 'LIST' Then cmdLIST Else
|
If Cmd = 'LIST' Then cmdLIST Else
|
||||||
|
// If Cmd = 'MKD' Then Client.WriteLine(re_NoAccess) Else
|
||||||
If Cmd = 'MODE' Then cmdMODE Else
|
If Cmd = 'MODE' Then cmdMODE Else
|
||||||
If Cmd = 'NLST' Then cmdNLST Else
|
If Cmd = 'NLST' Then cmdNLST Else
|
||||||
If Cmd = 'NOOP' Then Client.WriteLine(re_CommandOK) Else
|
If Cmd = 'NOOP' Then Client.WriteLine(re_CommandOK) Else
|
||||||
|
@ -878,6 +882,7 @@ Begin
|
||||||
If Cmd = 'PWD' Then cmdPWD Else
|
If Cmd = 'PWD' Then cmdPWD Else
|
||||||
If Cmd = 'REIN' Then cmdREIN Else
|
If Cmd = 'REIN' Then cmdREIN Else
|
||||||
If Cmd = 'RETR' Then cmdRETR Else
|
If Cmd = 'RETR' Then cmdRETR Else
|
||||||
|
// If Cmd = 'RMD' Then Client.WriteLine(re_NoAccess) Else
|
||||||
If Cmd = 'SIZE' Then cmdSIZE Else
|
If Cmd = 'SIZE' Then cmdSIZE Else
|
||||||
If Cmd = 'STOR' Then cmdSTOR Else
|
If Cmd = 'STOR' Then cmdSTOR Else
|
||||||
If Cmd = 'STRU' Then cmdSTRU Else
|
If Cmd = 'STRU' Then cmdSTRU Else
|
||||||
|
|
|
@ -220,7 +220,7 @@ Begin
|
||||||
|
|
||||||
Status ('BUSY: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')');
|
Status ('BUSY: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')');
|
||||||
|
|
||||||
If Not NewClient.WriteFile(TextPath + 'busy.txt') Then
|
If Not NewClient.WriteFile('', TextPath + 'busy.txt') Then
|
||||||
NewClient.WriteLine('BUSY');
|
NewClient.WriteLine('BUSY');
|
||||||
|
|
||||||
WaitMS(3000);
|
WaitMS(3000);
|
||||||
|
@ -232,7 +232,7 @@ Begin
|
||||||
|
|
||||||
Status('BLOCK: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')');
|
Status('BLOCK: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')');
|
||||||
|
|
||||||
If Not NewClient.WriteFile(TextPath + 'blocked.txt') Then
|
If Not NewClient.WriteFile('', TextPath + 'blocked.txt') Then
|
||||||
NewClient.WriteLine('BLOCKED');
|
NewClient.WriteLine('BLOCKED');
|
||||||
|
|
||||||
WaitMS(3000);
|
WaitMS(3000);
|
||||||
|
@ -244,7 +244,7 @@ Begin
|
||||||
|
|
||||||
Status('MULTI: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')');
|
Status('MULTI: ' + NewClient.PeerIP + ' (' + NewClient.PeerName + ')');
|
||||||
|
|
||||||
If Not NewClient.WriteFile(TextPath + 'dupeip.txt') Then
|
If Not NewClient.WriteFile('', TextPath + 'dupeip.txt') Then
|
||||||
NewClient.WriteLine('Only ' + strI2S(ClientMaxIPs) + ' connection(s) per user');
|
NewClient.WriteLine('Only ' + strI2S(ClientMaxIPs) + ' connection(s) per user');
|
||||||
|
|
||||||
WaitMS(3000);
|
WaitMS(3000);
|
||||||
|
|
|
@ -322,7 +322,9 @@ Begin
|
||||||
AddProc ({$IFDEF MPLPARSER} 'inputoptions', {$ENDIF} 'lbbcss', iNone); // 555
|
AddProc ({$IFDEF MPLPARSER} 'inputoptions', {$ENDIF} 'lbbcss', iNone); // 555
|
||||||
AddProc ({$IFDEF MPLPARSER} 'inputexit', {$ENDIF} 'l', iChar); // 556
|
AddProc ({$IFDEF MPLPARSER} 'inputexit', {$ENDIF} 'l', iChar); // 556
|
||||||
AddProc ({$IFDEF MPLPARSER} 'inputnumber', {$ENDIF} 'lbbbblll', iLongInt); // 557
|
AddProc ({$IFDEF MPLPARSER} 'inputnumber', {$ENDIF} 'lbbbblll', iLongInt); // 557
|
||||||
AddProc ({$IFDEF MPLPARSER} 'inputenter', {$ENDIF} 'lbbbs', iBool);
|
AddProc ({$IFDEF MPLPARSER} 'inputenter', {$ENDIF} 'lbbbs', iBool); // 558
|
||||||
|
AddProc ({$IFDEF MPLPARSER} 'imageget', {$ENDIF} 'lbbbb', iNone); // 559
|
||||||
|
AddProc ({$IFDEF MPLPARSER} 'imageput', {$ENDIF} 'l', iNone); // 560
|
||||||
|
|
||||||
{ END OF PROCEDURE DEFINITIONS }
|
{ END OF PROCEDURE DEFINITIONS }
|
||||||
|
|
||||||
|
@ -370,6 +372,18 @@ Begin
|
||||||
AddVar ({$IFDEF MPLPARSER} 'usermbase', {$ENDIF} iLongInt);
|
AddVar ({$IFDEF MPLPARSER} 'usermbase', {$ENDIF} iLongInt);
|
||||||
AddVar ({$IFDEF MPLPARSER} 'usermgroup', {$ENDIF} iLongInt);
|
AddVar ({$IFDEF MPLPARSER} 'usermgroup', {$ENDIF} iLongInt);
|
||||||
AddVar ({$IFDEF MPLPARSER} 'userbirthday', {$ENDIF} iLongInt);
|
AddVar ({$IFDEF MPLPARSER} 'userbirthday', {$ENDIF} iLongInt);
|
||||||
|
AddStr ({$IFDEF MPLPARSER} 'usercity', {$ENDIF} iString, 25);
|
||||||
|
AddStr ({$IFDEF MPLPARSER} 'useremail', {$ENDIF} iString, 60);
|
||||||
|
AddStr ({$IFDEF MPLPARSER} 'userinfo', {$ENDIF} iString, 30);
|
||||||
|
|
||||||
|
AddStr ({$IFDEF MPLPARSER} 'useropts', {$ENDIF} iString, 10 * 60 - 1);
|
||||||
|
CV[X]^.ArrPos := 1;
|
||||||
|
{$IFNDEF MPLPARSER}
|
||||||
|
CV[X]^.VarSize := 61;
|
||||||
|
CV[X]^.ArrDim[1] := 10;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
AddVar ({$IFDEF MPLPARSER} 'userfsreader', {$ENDIF} iBool);
|
||||||
End;
|
End;
|
||||||
2 : Begin
|
2 : Begin
|
||||||
AddPointer ({$IFDEF MPLPARSER} 'cfgsyspath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.SystemPath {$ELSE} NIL {$ENDIF});
|
AddPointer ({$IFDEF MPLPARSER} 'cfgsyspath', {$ENDIF} iString, mysMaxPathSize, {$IFNDEF MPLPARSER} @Config.SystemPath {$ELSE} NIL {$ENDIF});
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
// remove token label
|
||||||
|
// remove extra parse block?
|
||||||
|
|
||||||
Unit MPL_Compile;
|
Unit MPL_Compile;
|
||||||
|
|
||||||
{$I M_OPS.PAS}
|
{$I M_OPS.PAS}
|
||||||
|
|
|
@ -18,6 +18,7 @@ Const
|
||||||
Const
|
Const
|
||||||
mplClass_Box = 1;
|
mplClass_Box = 1;
|
||||||
mplClass_Input = 2;
|
mplClass_Input = 2;
|
||||||
|
mplClass_Image = 3;
|
||||||
|
|
||||||
Type
|
Type
|
||||||
TClassStack = Record
|
TClassStack = Record
|
||||||
|
@ -190,6 +191,11 @@ Begin
|
||||||
Move (U.LastMBase, VarData[IdxVarUser + 14]^.Data^, SizeOf(U.LastMBase));
|
Move (U.LastMBase, VarData[IdxVarUser + 14]^.Data^, SizeOf(U.LastMBase));
|
||||||
Move (U.LastMGroup, VarData[IdxVarUser + 15]^.Data^, SizeOf(U.LastMGroup));
|
Move (U.LastMGroup, VarData[IdxVarUser + 15]^.Data^, SizeOf(U.LastMGroup));
|
||||||
Move (U.Birthday, VarData[IdxVarUser + 16]^.Data^, SizeOf(U.Birthday));
|
Move (U.Birthday, VarData[IdxVarUser + 16]^.Data^, SizeOf(U.Birthday));
|
||||||
|
Move (U.City, VarData[IdxVarUser + 17]^.Data^, SizeOf(U.City));
|
||||||
|
Move (U.Email, VarData[IdxVarUser + 18]^.Data^, SizeOf(U.Email));
|
||||||
|
Move (U.UserInfo, VarData[IdxVarUser + 19]^.Data^, SizeOf(U.UserInfo));
|
||||||
|
Move (U.OptionData, VarData[IdxVarUser + 20]^.Data^, SizeOf(U.OptionData));
|
||||||
|
Move (U.MReadType, VarData[IdxVarUser + 21]^.Data^, SizeOf(U.MReadType));
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure TInterpEngine.PutUserVars (Var U: RecUser);
|
Procedure TInterpEngine.PutUserVars (Var U: RecUser);
|
||||||
|
@ -211,6 +217,11 @@ Begin
|
||||||
Move (VarData[IdxVarUser + 14]^.Data^, U.LastMBase, SizeOf(U.LastMBase));
|
Move (VarData[IdxVarUser + 14]^.Data^, U.LastMBase, SizeOf(U.LastMBase));
|
||||||
Move (VarData[IdxVarUser + 15]^.Data^, U.LastMGroup, SizeOf(U.LastMGroup));
|
Move (VarData[IdxVarUser + 15]^.Data^, U.LastMGroup, SizeOf(U.LastMGroup));
|
||||||
Move (VarData[IdxVarUser + 16]^.Data^, U.Birthday, SizeOf(U.Birthday));
|
Move (VarData[IdxVarUser + 16]^.Data^, U.Birthday, SizeOf(U.Birthday));
|
||||||
|
Move (VarData[IdxVarUser + 17]^.Data^, U.City, SizeOf(U.City));
|
||||||
|
Move (VarData[IdxVarUser + 18]^.Data^, U.Email, SizeOf(U.Email));
|
||||||
|
Move (VarData[IdxVarUser + 19]^.Data^, U.UserInfo, SizeOf(U.UserInfo));
|
||||||
|
Move (VarData[IdxVarUser + 20]^.Data^, U.OptionData, SizeOf(U.OptionData));
|
||||||
|
Move (VarData[IdxVarUser + 21]^.Data^, U.MReadType, SizeOf(U.MReadType));
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Function TInterpEngine.GetUserRecord (Num: LongInt) : Boolean;
|
Function TInterpEngine.GetUserRecord (Num: LongInt) : Boolean;
|
||||||
|
@ -393,9 +404,7 @@ Begin
|
||||||
|
|
||||||
For Count := 1 to mplMaxClassStack Do
|
For Count := 1 to mplMaxClassStack Do
|
||||||
If Assigned(ClassData[Count].ClassPtr) Then
|
If Assigned(ClassData[Count].ClassPtr) Then
|
||||||
Case ClassData[Count].ClassType of
|
ClassFree(Count);
|
||||||
mplClass_Box : TAnsiMenuBox(ClassData[Count].ClassPtr).Free;
|
|
||||||
End;
|
|
||||||
|
|
||||||
Inherited Destroy;
|
Inherited Destroy;
|
||||||
End;
|
End;
|
||||||
|
@ -1266,6 +1275,11 @@ Begin
|
||||||
If Str = 'INPUT' Then Begin
|
If Str = 'INPUT' Then Begin
|
||||||
ClassData[Num].ClassPtr := TAnsiMenuInput.Create;
|
ClassData[Num].ClassPtr := TAnsiMenuInput.Create;
|
||||||
ClassData[Num].ClassType := mplClass_Input;
|
ClassData[Num].ClassType := mplClass_Input;
|
||||||
|
End Else
|
||||||
|
If Str = 'IMAGE' Then Begin
|
||||||
|
GetMem (ClassData[Num].ClassPtr, SizeOf(TConsoleImageRec));
|
||||||
|
|
||||||
|
ClassData[Num].ClassType := mplClass_Image;
|
||||||
End Else
|
End Else
|
||||||
Error(mpxInvalidClass, Str);
|
Error(mpxInvalidClass, Str);
|
||||||
End;
|
End;
|
||||||
|
@ -1277,6 +1291,7 @@ Begin
|
||||||
Case ClassData[Num].ClassType of
|
Case ClassData[Num].ClassType of
|
||||||
mplClass_Box : TAnsiMenuBox(ClassData[Num].ClassPtr).Free;
|
mplClass_Box : TAnsiMenuBox(ClassData[Num].ClassPtr).Free;
|
||||||
mplClass_Input : TAnsiMenuInput(ClassData[Num].ClassPtr).Free;
|
mplClass_Input : TAnsiMenuInput(ClassData[Num].ClassPtr).Free;
|
||||||
|
mplClass_Image : FreeMem(ClassData[Num].ClassPtr);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
ClassData[Num].ClassPtr := NIL;
|
ClassData[Num].ClassPtr := NIL;
|
||||||
|
@ -2076,6 +2091,10 @@ Begin
|
||||||
TempBool := TAnsiMenuInput(ClassData[Param[1].L].ClassPtr).GetEnter(Param[2].B, Param[3].B, Param[4].B, Param[5].S);
|
TempBool := TAnsiMenuInput(ClassData[Param[1].L].ClassPtr).GetEnter(Param[2].B, Param[3].B, Param[4].B, Param[5].S);
|
||||||
Store (TempBool, 1);
|
Store (TempBool, 1);
|
||||||
End;
|
End;
|
||||||
|
559 : If ClassValid(Param[1].L, mplClass_Image) Then
|
||||||
|
Screen.GetScreenImage (Param[2].B, Param[3].B, Param[4].B, Param[5].B, TConsoleImageRec(ClassData[Param[1].L].ClassPtr^));
|
||||||
|
560 : If ClassValid(Param[1].L, mplClass_Image) Then
|
||||||
|
Session.io.RemoteRestore(TConsoleImageRec(ClassData[Param[1].L].ClassPtr^));
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,9 @@ BUGS AND POSSIBLE ISSUES
|
||||||
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
|
||||||
=========================================
|
=========================================
|
||||||
|
|
||||||
|
- global user editor for user flags, def protocol, etc etc
|
||||||
|
- ability to configure auto signatures (2 of them) one for handle and one
|
||||||
|
for real names
|
||||||
- ability to download ANSIs while actually viewing them in the gallery
|
- ability to download ANSIs while actually viewing them in the gallery
|
||||||
- optional Menu scroller during input?
|
- optional Menu scroller during input?
|
||||||
- Menu type: Lightbar/Form OR just change standard lightbar to work that
|
- Menu type: Lightbar/Form OR just change standard lightbar to work that
|
||||||
|
@ -254,6 +257,8 @@ ReplaceLine
|
||||||
|
|
||||||
1.11
|
1.11
|
||||||
====
|
====
|
||||||
|
- MUTIL option to create bases to (msgbase path + domainname) directory.
|
||||||
|
- MUTIL option to scan recursively when creatign bases by data files
|
||||||
- Rewrite user login functions and MATRIX
|
- Rewrite user login functions and MATRIX
|
||||||
- Change temp directories. Add MIS/MUTIL/FTN/NODE
|
- Change temp directories. Add MIS/MUTIL/FTN/NODE
|
||||||
- User directories (research disk performance with a zillion dirs)
|
- User directories (research disk performance with a zillion dirs)
|
||||||
|
|
|
@ -3509,4 +3509,12 @@
|
||||||
|
|
||||||
See TESTINPUT.MPS for an example.
|
See TESTINPUT.MPS for an example.
|
||||||
|
|
||||||
|
+ MIS FTP server now will display 'ftpbanner.txt' from the DATA directory
|
||||||
|
if it exists when a user connects via FTP.
|
||||||
|
|
||||||
|
! Once a default protocol was selected, the GE command (option 22) to change
|
||||||
|
the default was not working.
|
||||||
|
|
||||||
|
+ MPL now supports ANSI screen class. NEED TO DOCUMENT AND SHOW EXAMPLE
|
||||||
|
|
||||||
<ALPHA 36 RELEASED>
|
<ALPHA 36 RELEASED>
|
||||||
|
|
Loading…
Reference in New Issue