protected void Page_Load(object sender, EventArgs e) { int roomID = QueryHelper.GetInteger("roomid", 0); ChatRoomMessages.RoomID = roomID; ChatRoomInfo room = ChatRoomInfoProvider.GetChatRoomInfo(roomID); if (room != null) { ChatOnlineUserHelper.LogInCurrentCMSUser(); ChatRoomUserHelper.JoinUserToRoom(room.ChatRoomID, ChatUserHelper.GetChatUserFromCMSUser(), room.ChatRoomPassword, false); } ChatRoomUsers.ChatUserTransformationName = "Chat.Transformations.CMSChatRoomUser"; ChatRoomUsers.EnableFiltering = true; ChatRoomUsers.ShowFilterItems = 20; ChatRoomUsers.EnablePaging = true; ChatRoomUsers.PagingItems = 30; ChatRoomUsers.ChatErrorDeleteAllButtonTransformationName = "Chat.Transformations.CMSChatErrorDeleteAllButton"; ChatRoomUsers.ChatErrorTransformationName = "Chat.Transformations.CMSChatError"; ChatRoomUsers.ChatMessageTransformationName = "Chat.Transformations.CMSChatMessage"; ChatRoomUsers.ChatRoomUserTransformationName = "Chat.Transformations.CMSChatRoomUser"; RoomName.ChatRoomNameTransformationName = "Chat.Transformations.CMSRoomName"; RoomName.DisplayInitialTitle = false; ChatNotification.NotificationTransformation = "Chat.Transformations.CMSChatNotification"; ChatNotification.ChatErrorDeleteAllButtonTransformationName = "Chat.Transformations.CMSChatErrorDeleteAllButton"; ChatNotification.ChatErrorTransformationName = "Chat.Transformations.CMSChatError"; ChatNotification.ChatMessageTransformationName = "Chat.Transformations.CMSChatMessage"; ChatNotification.ChatRoomUserTransformationName = "Chat.Transformations.CMSChatRoomUser"; ChatNotification.EnableNotificationBubble = false; ChatErrors.ErrorTransformationName = "Chat.Transformations.CMSChatError"; ChatErrors.ShowDeleteAllBtn = true; ChatErrors.ButtonDeleteAllTransformationName = "Chat.Transformations.CMSChatErrorDeleteAllButton"; ChatRoomMessages.ChatMessageTransformationName = "Chat.Transformations.CMSChatMessage"; ChatRoomMessages.Count = 100; ChatRoomMessages.Direction = ChatRoomMessagesDirectionEnum.Down; // Registration to chat webservice AbstractCMSPage cmsPage = this.Page as AbstractCMSPage; if (cmsPage != null) { ChatHelper.RegisterChatSupportAJAXProxy(cmsPage); } }
// Init event void CMSModules_Chat_CMSPages_OfflineSupportForm_Init(object sender, EventArgs e) { if (!RequestHelper.IsPostBack()) { int roomID = QueryHelper.GetInteger("roomid", 0); try { if (ChatUserHelper.CheckJoinRoomRights(roomID)) { ChatRoomUserInfo chatRoomUser = ChatRoomUserInfoProvider.GetChatRoomUser(ChatOnlineUserHelper.GetLoggedInChatUser().ChatUserID, roomID); IEnumerable <MessageData> messages = ChatMessageInfoProvider.GetLatestMessages(roomID, 300, chatRoomUser.ChatRoomUserJoinTime); StringBuilder sb = new StringBuilder(); // Iterate backwards over the messages, take only non-system messages foreach (MessageData message in messages.Where(m => !m.SystemMessageType.IsSystemMessage()).Reverse()) { sb.AppendFormat("{0} {1}: {2}", message.LastModified, message.Nickname, message.MessageText); sb.NewLine(); } messageEditElem.MessageText = sb.ToString(); } } catch (Exception ex) { EventLogProvider.LogException("CMSModules_Chat_CMSPages_OfflineSupportForm", "GET ROOM MESSAGES", ex); } } }
private string BuildStartupScript() { bool enBBCode = IsSupport || (ChatSettingsProvider.EnableBBCodeSetting && EnableBBCode); WebControl input = enBBCode ? ucBBEditor.TextArea : txtMessage; if (enBBCode) { txtMessage.Visible = false; } else { ucBBEditor.Visible = false; } string json = JsonConvert.SerializeObject( new { roomID = RoomID, inputClientID = GetString(input), buttonClientID = GetString(btnSendMessage), groupID = GroupID, chbWhisperClientID = GetString(chbWhisper), drpRecipientClientID = GetString(drpRecipient), pnlRecipientContainerClientID = GetString(pnlRecipientContainer), noneLabel = ResHelper.GetString("chat.everyone"), enableBBCode = enBBCode, bbCodeClientID = GetString(ucBBEditor), btnCannedResponses = GetString(btnCannedResponses), pnlContent = GetString(pnlWebpartContent), envelopeID = "#envelope_" + ClientID, informDialogID = GetString(pnlChatMessageSendInfoDialog), btnInformDialogClose = GetString(btnChatMessageSendInformDialogClose) }, new JsonSerializerSettings { StringEscapeHandling = StringEscapeHandling.EscapeHtml } ); string startupScript = String.Format("InitChatSenderWebpart({0});", json); // If this webpart is for support person -> generate "Canned responses" if ((ChatOnlineUserHelper.GetLoggedInChatUser() != null) && (IsSupport == true)) { // Get canned responses from database IEnumerable <ChatSupportCannedResponseInfo> cannedResponses = ChatSupportCannedResponseInfoProvider.GetCannedResponses(ChatOnlineUserHelper.GetLoggedInChatUser().ChatUserID, SiteContext.CurrentSiteID); if (cannedResponses.Any()) { plcCannedResponses.Visible = true; // Register necessary files ScriptHelper.RegisterScriptFile(Page, "~/CMSWebParts/Chat/ChatMessageSend_files/CannedResponses.js"); CssRegistration.RegisterCssLink(Page, "~/App_Themes/Design/Chat/ChatIntelliSense.css"); // Creates canned responses in format expected in javascript var cannedResponseToSerialize = from cr in cannedResponses let resolvedText = MacroResolver.Resolve(cr.ChatSupportCannedResponseText) select new { label = "#" + HTMLHelper.HTMLEncode(cr.ChatSupportCannedResponseTagName), tooltip = HTMLHelper.HTMLEncode(TextHelper.LimitLength(resolvedText, mTooltipLength)), value = resolvedText }; // Serialize canned responses to JS Array expected by javascript string cannedResponsesJSArray = ""; try { cannedResponsesJSArray = JsonConvert.SerializeObject(cannedResponseToSerialize, new JsonSerializerSettings { StringEscapeHandling = StringEscapeHandling.EscapeHtml }); } catch (Exception ex) { EventLogProvider.LogException("Chat", "JSON serialization of canned responses", ex); } startupScript += string.Format("var CannedResponses = {0};", cannedResponsesJSArray); startupScript += string.Format("InitCannedResponses({0}, {1});", ScriptHelper.GetString("#" + input.ClientID), ScriptHelper.GetString("#" + btnCannedResponses.ClientID)); } } return(startupScript); }
protected void Page_Load(object sender, EventArgs e) { int roomID = QueryHelper.GetInteger("roomid", 0); ChatRoomMessages.RoomID = roomID; ChatRoomInfo room = ChatRoomInfoProvider.GetChatRoomInfo(roomID); if (room != null) { if (!room.ChatRoomEnabled) { CSSHelper.RegisterBootstrap(Page); CSSHelper.RegisterDesignMode(Page); ShowError(GetString("chat.errormessage.roomdisabled")); pnlChatView.Visible = false; return; } ChatOnlineUserHelper.LogInChatUser(ChatUserHelper.GetChatUserFromCMSUser(MembershipContext.AuthenticatedUser), false); ChatRoomUserHelper.JoinUserToRoom(room.ChatRoomID, ChatUserHelper.GetChatUserFromCMSUser(), room.ChatRoomPassword, false); } ChatRoomUsers.ChatUserTransformationName = "Chat.Transformations.CMSChatRoomUser"; ChatRoomUsers.EnableFiltering = true; ChatRoomUsers.ShowFilterItems = ChatHelper.WPShowFilterLimit; ChatRoomUsers.EnablePaging = true; ChatRoomUsers.PagingItems = ChatHelper.WPPagingItems; ChatRoomUsers.GroupPagesBy = ChatHelper.WPGroupPagesBy; ChatRoomUsers.ChatErrorDeleteAllButtonTransformationName = "Chat.Transformations.CMSChatErrorDeleteAllButton"; ChatRoomUsers.ChatErrorTransformationName = "Chat.Transformations.CMSChatError"; ChatRoomUsers.ChatMessageTransformationName = "Chat.Transformations.CMSChatMessage"; ChatRoomUsers.ChatRoomUserTransformationName = "Chat.Transformations.CMSChatRoomUser"; RoomName.ChatRoomNameTransformationName = "Chat.Transformations.CMSRoomName"; RoomName.DisplayInitialTitle = false; ChatNotification.NotificationTransformation = "Chat.Transformations.CMSChatNotification"; ChatNotification.ChatErrorDeleteAllButtonTransformationName = "Chat.Transformations.CMSChatErrorDeleteAllButton"; ChatNotification.ChatErrorTransformationName = "Chat.Transformations.CMSChatError"; ChatNotification.ChatMessageTransformationName = "Chat.Transformations.CMSChatMessage"; ChatNotification.ChatRoomUserTransformationName = "Chat.Transformations.CMSChatRoomUser"; ChatNotification.EnableNotificationBubble = false; ChatErrors.ErrorTransformationName = "Chat.Transformations.CMSChatError"; ChatErrors.ShowDeleteAllBtn = true; ChatErrors.ButtonDeleteAllTransformationName = "Chat.Transformations.CMSChatErrorDeleteAllButton"; ChatRoomMessages.ChatMessageTransformationName = "Chat.Transformations.CMSChatMessage"; ChatRoomMessages.Count = 100; ChatRoomMessages.Direction = ChatRoomMessagesDirectionEnum.Down; // Registration to chat webservice AbstractCMSPage cmsPage = this.Page as AbstractCMSPage; if (cmsPage != null) { ChatHelper.RegisterChatSupportAJAXProxy(cmsPage); } }