Fixes for SysOp Chat Page
This commit is contained in:
parent
bba8ac7cd9
commit
287f96b784
|
@ -3833,3 +3833,9 @@
|
||||||
|
|
||||||
+ CTRL-W now deletes the word to the left of the cursor in the full
|
+ CTRL-W now deletes the word to the left of the cursor in the full
|
||||||
screen editor.
|
screen editor.
|
||||||
|
|
||||||
|
! SysOp Chat Page in Windows now properly updates the user's terminal
|
||||||
|
during the page.
|
||||||
|
|
||||||
|
+ Sysop Chat Page in Windows now plays the "default beep" sound as
|
||||||
|
configured in Windows.
|
||||||
|
|
|
@ -12,6 +12,7 @@ Uses
|
||||||
m_Strings,
|
m_Strings,
|
||||||
m_DateTime,
|
m_DateTime,
|
||||||
{$IFNDEF UNIX}
|
{$IFNDEF UNIX}
|
||||||
|
Windows,
|
||||||
bbs_SysopChat,
|
bbs_SysopChat,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
bbs_Common,
|
bbs_Common,
|
||||||
|
@ -27,9 +28,6 @@ Procedure AutoSig_Edit;
|
||||||
Procedure AutoSig_View;
|
Procedure AutoSig_View;
|
||||||
|
|
||||||
Procedure List_Users (Data: String);
|
Procedure List_Users (Data: String);
|
||||||
{$IFNDEF UNIX}
|
|
||||||
Procedure Page_For_Chat (Forced: Boolean);
|
|
||||||
{$ENDIF}
|
|
||||||
Procedure Last_Callers;
|
Procedure Last_Callers;
|
||||||
Procedure Add_TimeBank;
|
Procedure Add_TimeBank;
|
||||||
Procedure Get_TimeBank;
|
Procedure Get_TimeBank;
|
||||||
|
@ -42,6 +40,10 @@ Procedure Voting_Booth_New;
|
||||||
Procedure View_History (LastDays: Word);
|
Procedure View_History (LastDays: Word);
|
||||||
Procedure View_Directory (Data: String; ViewType: Byte);
|
Procedure View_Directory (Data: String; ViewType: Byte);
|
||||||
|
|
||||||
|
{$IFNDEF UNIX}
|
||||||
|
Procedure PageForSysopChat (Forced: Boolean);
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
Implementation
|
Implementation
|
||||||
|
|
||||||
Uses
|
Uses
|
||||||
|
@ -434,56 +436,14 @@ Begin
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
Close (Session.User.UserFile);
|
|
||||||
|
Close (Session.User.UserFile);
|
||||||
|
|
||||||
Session.io.PromptInfo[1] := strI2S(Total);
|
Session.io.PromptInfo[1] := strI2S(Total);
|
||||||
|
|
||||||
Session.io.OutFull (Session.GetPrompt(31));
|
Session.io.OutFull (Session.GetPrompt(31));
|
||||||
End;
|
End;
|
||||||
|
|
||||||
{$IFNDEF UNIX}
|
|
||||||
Procedure Page_For_Chat (Forced: Boolean);
|
|
||||||
Var
|
|
||||||
Temp : String;
|
|
||||||
A, B : Integer;
|
|
||||||
Begin
|
|
||||||
If Forced or ((TimerMinutes >= Config.ChatStart) and (TimerMinutes <= Config.ChatEnd)) Then Begin
|
|
||||||
Session.io.OutFull (Session.GetPrompt(23));
|
|
||||||
Temp := Session.io.GetInput(50, 50, 11, '');
|
|
||||||
If Temp = '' Then Exit;
|
|
||||||
|
|
||||||
Session.SystemLog('Chat Page: ' + Temp);
|
|
||||||
|
|
||||||
Update_Status_Line (0, ' ' + strPadR(Session.User.ThisUser.Handle, 17, ' ') + ' ' + strPadR(Temp, 40, ' ') + ' ALT+(S)plit (C)Line');
|
|
||||||
|
|
||||||
Session.io.OutFull(Session.GetPrompt(24));
|
|
||||||
|
|
||||||
For A := 1 to 10 Do Begin
|
|
||||||
Session.io.OutFull(Session.GetPrompt(25));
|
|
||||||
|
|
||||||
For B := 0 to 6 Do Begin
|
|
||||||
//SysBeepEx(523, 50);
|
|
||||||
//SysBeepEx(659, 50);
|
|
||||||
End;
|
|
||||||
If Input.KeyPressed Then If Input.ReadKey = #0 Then Begin
|
|
||||||
Case Input.ReadKey of
|
|
||||||
#31 : OpenChat(True);
|
|
||||||
#46 : OpenChat(False);
|
|
||||||
End;
|
|
||||||
Exit;
|
|
||||||
End;
|
|
||||||
WaitMS(1000);
|
|
||||||
End;
|
|
||||||
End;
|
|
||||||
|
|
||||||
Update_Status_line (StatusPtr, '');
|
|
||||||
|
|
||||||
Session.io.OutFull (Session.GetPrompt(28));
|
|
||||||
|
|
||||||
If Config.ChatFeedback Then
|
|
||||||
If Session.io.GetYN(Session.GetPrompt(178), False) Then
|
|
||||||
Session.Msgs.PostMessage (True, '/TO:' + strReplace(Config.SysopName, ' ', '_') + ' /SUBJ:Chat_Feedback');
|
|
||||||
End;
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
Procedure Last_Callers;
|
Procedure Last_Callers;
|
||||||
Begin
|
Begin
|
||||||
Session.io.OutFullLn (Session.GetPrompt(141));
|
Session.io.OutFullLn (Session.GetPrompt(141));
|
||||||
|
@ -1386,6 +1346,54 @@ Begin
|
||||||
Dispose (DirList[Count]);
|
Dispose (DirList[Count]);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
{$IFNDEF UNIX}
|
||||||
|
Procedure PageForSysopChat (Forced: Boolean);
|
||||||
|
Var
|
||||||
|
Temp : String;
|
||||||
|
Count : Integer;
|
||||||
|
Begin
|
||||||
|
If Forced or ((TimerMinutes >= Config.ChatStart) and (TimerMinutes <= Config.ChatEnd)) Then Begin
|
||||||
|
Session.io.OutFull (Session.GetPrompt(23));
|
||||||
|
|
||||||
|
Temp := Session.io.GetInput(50, 50, 11, '');
|
||||||
|
|
||||||
|
If Temp = '' Then Exit;
|
||||||
|
|
||||||
|
Session.SystemLog('Chat Page: ' + Temp);
|
||||||
|
|
||||||
|
Update_Status_Line (0, ' ' + strPadR(Session.User.ThisUser.Handle, 17, ' ') + ' ' + strPadR(Temp, 40, ' ') + ' ALT+(S)plit (C)Line');
|
||||||
|
|
||||||
|
Session.io.OutFull(Session.GetPrompt(24));
|
||||||
|
|
||||||
|
For Count := 1 to 10 Do Begin
|
||||||
|
Session.io.OutFull(Session.GetPrompt(25));
|
||||||
|
Session.io.BufFlush;
|
||||||
|
|
||||||
|
MessageBeep(0);
|
||||||
|
|
||||||
|
If Input.KeyPressed Then If Input.ReadKey = #0 Then Begin
|
||||||
|
Case Input.ReadKey of
|
||||||
|
#31 : OpenChat(True);
|
||||||
|
#46 : OpenChat(False);
|
||||||
|
End;
|
||||||
|
|
||||||
|
Exit;
|
||||||
|
End;
|
||||||
|
|
||||||
|
WaitMS(1000);
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
|
||||||
|
Update_Status_line (StatusPtr, '');
|
||||||
|
|
||||||
|
Session.io.OutFull (Session.GetPrompt(28));
|
||||||
|
|
||||||
|
If Config.ChatFeedback Then
|
||||||
|
If Session.io.GetYN(Session.GetPrompt(178), False) Then
|
||||||
|
Session.Msgs.PostMessage (True, '/TO:' + strReplace(Config.SysopName, ' ', '_') + ' /SUBJ:Chat_Feedback');
|
||||||
|
End;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
(* MYSTIC 2's ANSIVIEWER
|
(* MYSTIC 2's ANSIVIEWER
|
||||||
- needs to be intergrated with the msgbases. there should NOT be a msgtext AND this
|
- needs to be intergrated with the msgbases. there should NOT be a msgtext AND this
|
||||||
class. there should only be one place where the massive message buffer exists.
|
class. there should only be one place where the massive message buffer exists.
|
||||||
|
|
|
@ -199,7 +199,7 @@ Begin
|
||||||
Result := True;
|
Result := True;
|
||||||
End;
|
End;
|
||||||
'N' : One_Liners (Data);
|
'N' : One_Liners (Data);
|
||||||
'P' : {$IFNDEF UNIX} Page_For_Chat (Pos('/F', strUpper(Data)) > 0) {$ENDIF};
|
'P' : {$IFNDEF UNIX} PageForSysopChat (Pos('/F', strUpper(Data)) > 0) {$ENDIF};
|
||||||
'R' : Begin
|
'R' : Begin
|
||||||
If StackNum > 0 Then Begin
|
If StackNum > 0 Then Begin
|
||||||
MenuOld := MenuName;
|
MenuOld := MenuName;
|
||||||
|
@ -305,7 +305,7 @@ Begin
|
||||||
Result := True;
|
Result := True;
|
||||||
End;
|
End;
|
||||||
'P' : {$IFNDEF UNIX} If Session.User.GetMatrixUser Then
|
'P' : {$IFNDEF UNIX} If Session.User.GetMatrixUser Then
|
||||||
Page_For_Chat (Pos('/F', strUpper(Data)) > 0) {$ENDIF};
|
PageForSysopChat (Pos('/F', strUpper(Data)) > 0) {$ENDIF};
|
||||||
End;
|
End;
|
||||||
'*' : Begin
|
'*' : Begin
|
||||||
If Not Session.io.GetPW ('|CR|09Sysop Password: ', Session.GetPrompt(417), Config.SysopPW) Then Exit; {++lang}
|
If Not Session.io.GetPW ('|CR|09Sysop Password: ', Session.GetPrompt(417), Config.SysopPW) Then Exit; {++lang}
|
||||||
|
|
Loading…
Reference in New Issue