HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RMourik/bassol.nl/CMS/CMSWebParts/Chat/ChatRooms.ascx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Script.Serialization;

using CMS.PortalControls;
using CMS.Helpers;
using CMS.Base;
using CMS.UIControls;
using CMS.Chat;
using CMS.DocumentEngine;

public partial class CMSWebParts_Chat_ChatRooms : CMSAbstractWebPart
{
    #region Properties

    /// <summary>
    /// Gets or sets ChatRoomsTransformation property.
    /// </summary>
    public string ListItemTransformation
    {
        get
        {
            return DataHelper.GetNotEmpty(GetValue("ChatRoomsTransformation"), ChatHelper.TransformationRooms);
        }
        set
        {
            SetValue("ChatRoomsTransformation", value);
        }
    }


    /// <summary>
    /// Gets or sets GroupID property.
    /// </summary>
    public string GroupID
    {
        get
        {
            return ValidationHelper.GetString(GetValue("GroupID"), "DefaultGroup");
        }
        set
        {
            SetValue("GroupID", value);
        }
    }


    /// <summary>
    /// Gets or sets RedirectURL property.
    /// </summary>
    public string RedirectURL
    {
        get
        {
            return ValidationHelper.GetString(GetValue("RedirectURL"), "");
        }
        set
        {
            SetValue("RedirectURL", value);
        }
    }


    /// <summary>
    /// Gets or sets RedirectGroup property.
    /// </summary>
    public string RedirectGroup
    {
        get
        {
            return ValidationHelper.GetString(GetValue("RedirectGroup"), "");
        }
        set
        {
            SetValue("RedirectGroup", value);
        }
    }


    /// <summary>
    /// Gets or sets EnablePaging property.
    /// </summary>
    public bool EnablePaging
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("EnablePaging"), false);
        }
        set
        {
            SetValue("EnablePaging", value);
        }
    }


    /// <summary>
    /// Gets or sets EnableFiltering property.
    /// </summary>
    public bool EnableFiltering
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("EnableFiltering"), false);
        }
        set
        {
            SetValue("EnableFiltering", value);
        }
    }


    /// <summary>
    /// Gets or sets ShowFilterItems property.
    /// </summary>
    public int ShowFilterItems
    {
        get
        {
            return ValidationHelper.GetInteger(GetValue("ShowFilterItems"), -1);
        }
        set
        {
            SetValue("ShowFilterItems", value);
        }
    }


    /// <summary>
    /// Gets or sets PagingItems property.
    /// </summary>
    public int PagingItems
    {
        get
        {
            return ValidationHelper.GetInteger(GetValue("PagingItems"), -1);
        }
        set
        {
            SetValue("PagingItems", value);
        }
    }


    /// <summary>
    /// Gets or sets GroupPagesBy property.
    /// </summary>
    public int GroupPagesBy
    {
        get
        {
            return ValidationHelper.GetInteger(GetValue("GroupPagesBy"), -1);
        }
        set
        {
            SetValue("GroupPagesBy", value);
        }
    }


    /// <summary>
    /// Gets or sets EnablePopup property.
    /// </summary>
    public bool EnablePopup
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("EnablePopup"), false);
        }
        set
        {
            SetValue("EnablePopup", value);
        }
    }


    /// <summary>
    /// Gets or sets ChatMessageTransformationName property.
    /// </summary>
    public string ChatMessageTransformationName
    {
        get
        {
            return DataHelper.GetNotEmpty(GetValue("ChatMessageTransformationName"), ChatHelper.TransformationRoomMessages);
        }
        set
        {
            SetValue("ChatMessageTransformationName", value);
        }
    }


    /// <summary>
    /// Gets or sets ChatErrorTransformationName property.
    /// </summary>
    public string ChatErrorTransformationName
    {
        get
        {
            return DataHelper.GetNotEmpty(GetValue("ChatErrorTransformationName"), ChatHelper.TransformationErrors);
        }
        set
        {
            SetValue("ChatErrorTransformationName", value);
        }
    }


    /// <summary>
    /// Gets or sets ChatErrorDeleteAllButtonTransformationName property.
    /// </summary>
    public string ChatErrorDeleteAllButtonTransformationName
    {
        get
        {
            return DataHelper.GetNotEmpty(GetValue("ChatErrorDeleteAllButtonTransformationName"), ChatHelper.TransformationErrorsDeleteAll);
        }
        set
        {
            SetValue("ChatErrorDeleteAllButtonTransformationName", value);
        }
    }


    /// <summary>
    /// Gets or sets ChatRoomUserTransformationName property.
    /// </summary>
    public string ChatRoomUserTransformationName
    {
        get
        {
            return DataHelper.GetNotEmpty(GetValue("ChatRoomUserTransformationName"), ChatHelper.TransformationRoomUsers);
        }
        set
        {
            SetValue("ChatRoomUserTransformationName", value);
        }
    }


    public string InnerContainerName { get; set; }
    public string InnerContainerTitle { get; set; }

    #endregion


    #region "Page events"


    protected void Page_Prerender(object sender, EventArgs e)
    {
        ChatFunctions.MakeWebpartEnvelope("ChatWebpartEnvelope ChatWebpartEnvelopeRooms", this, InnerContainerTitle, InnerContainerName);
        ChatHelper.RegisterStylesheet(Page);
    }


    protected void Page_Load(object sender, EventArgs e)
    {
        // Register chat webservice
        AbstractCMSPage cmsPage = Page as AbstractCMSPage;
        if (cmsPage != null)
        {
            ChatHelper.RegisterChatAJAXProxy(cmsPage);
        }

        // Insert script references
        ChatHelper.RegisterChatManager(Page);
        ScriptHelper.RegisterJQueryTemplates(Page);
        ScriptHelper.RegisterScriptFile(Page, "~/CMSWebParts/Chat/ChatRooms_files/ChatRooms.js");
        ScriptHelper.RegisterScriptFile(Page, "~/CMSModules/Chat/CMSPages/Scripts/ListPaging.js");
        
        if (EnableFiltering)
        {
            pnlChatRoomsFiltering.Visible = true;
        }
        // Prepare and run startup script
        ScriptHelper.RegisterStartupScript(Page, typeof(string), "ChatRooms_" + ClientID, BuildStartupScript(), true);

        imgChatRoomsPrompt.ImageUrl = GetImageUrl("CMSModules/CMS_Chat/lock24.png");
        imgChatRoomsCreatePrompt.ImageUrl = GetImageUrl("CMSModules/CMS_Chat/message_add24.png");
        imgChatRoomsCreateError.ImageUrl = GetImageUrl("CMSModules/CMS_Chat/error16.png");
        imgChatRoomsDeletePrompt.ImageUrl = GetImageUrl("CMSModules/CMS_Chat/sign_forbidden24.png");
        imgChatRoomsAbandonPrompt.ImageUrl = GetImageUrl("CMSModules/CMS_Chat/sign_forbidden24.png");
        imgChatRoomsEditPrompt.ImageUrl = GetImageUrl("CMSModules/CMS_Chat/message_edit24.png");
        imgChatRoomsEditError.ImageUrl = GetImageUrl("CMSModules/CMS_Chat/error16.png");
    }

    #endregion


    #region "Methods"

    /// <summary>
    /// Builds startup script.
    /// </summary>
    private string BuildStartupScript()
    {
        string redirectURL = RedirectURL.Length > 0 ? RedirectURL : ChatHelper.RedirectURLJoinSetting;

        // Set all the transformation settings for chat room window
        int roomSettingsId = ChatPopupWindowSettingsHelper.Store(ChatMessageTransformationName, ChatRoomUserTransformationName, ChatErrorTransformationName, ChatErrorDeleteAllButtonTransformationName);

        JavaScriptSerializer sr = new JavaScriptSerializer();
        string json = sr.Serialize(
            new
            {
                guid = roomSettingsId, 
                clientID = ClientID, 
                groupID = GroupID, 
                pnlChatRoomsList = pnlChatRoomsList.ClientID,
                pnlChatRoomsPrompt = pnlChatRoomsPrompt.ClientID,
                btnChatRoomsPromptSubmit = btnChatRoomsPromptSubmit.ClientID,
                pnlChatRoomsCreatePrompt = pnlChatRoomsCreatePrompt.ClientID,
                txtChatRoomsCreateName = txtChatRoomsCreateName.ClientID,
                chkChatRoomsCreateIsPrivate = chkChatRoomsCreateIsPrivate.ClientID,
                txtChatRoomsCreatePassword =  txtChatRoomsCreatePassword.ClientID,
                chkChatRoomsCreateAllowAnonym =  chkChatRoomsCreateAllowAnonym.ClientID,
                btnChatRoomsCreatePromptSubmit = btnChatRoomsCreatePromptSubmit.ClientID,
                lblChatRoomsCreateError = lblChatRoomsCreateError.ClientID,
                txtChatRoomsPromptInput = txtChatRoomsPromptInput.ClientID,
                btnChatRoomsCreateRoom = btnChatRoomsCreateRoom.ClientID,
                templateListItem = ChatHelper.GetWebpartTransformation(ListItemTransformation, "chat.error.transformation.rooms"),
                loadingDiv = ChatHelper.GetWebpartLoadingDiv("ChatRoomsWPLoading", "chat.wploading.rooms"),
                txtChatRoomsCreateDescription = txtChatRoomsCreateDescription.ClientID,
                btnChatRoomsPromptClose = btnChatRoomsPromptClose.ClientID,
                btnChatRoomsCreatePromptClose = btnChatRoomsCreatePromptClose.ClientID,
                btnChatRoomsDeletePromptSubmit = btnChatRoomsDeletePromptSubmit.ClientID,
                btnChatRoomsDeletePromptClose = btnChatRoomsDeletePromptClose.ClientID,
                pnlChatRoomsDeletePrompt = pnlChatRoomsDeletePrompt.ClientID,
                btnChatRoomsAbandonPromptSubmit = btnChatRoomsAbandonPromptSubmit.ClientID,
                btnChatRoomsAbandonPromptClose = btnChatRoomsAbandonPromptClose.ClientID,
                pnlChatRoomsAbandonPrompt = pnlChatRoomsAbandonPrompt.ClientID,
                pnlChatRoomsEditPrompt = pnlChatRoomsEditPrompt.ClientID,
                txtChatRoomsEditName = txtChatRoomsEditName.ClientID,
                txtChatRoomsEditDescription = txtChatRoomsEditDescription.ClientID,
                chkChatRoomsEditIsPrivate = chkChatRoomsEditIsPrivate.ClientID,
                txtChatRoomsEditPassword = txtChatRoomsEditPassword.ClientID,
                chkChatRoomsEditAllowAnonym = chkChatRoomsEditAllowAnonym.ClientID,
                btnChatRoomsEditPromptSubmit = btnChatRoomsEditPromptSubmit.ClientID,
                btnChatRoomsEditPromptClose = btnChatRoomsEditPromptClose.ClientID,
                txtChatRoomsEditPasswordConfirm = txtChatRoomsEditPasswordConfirm.ClientID,
                lblChatRoomsEditError = lblChatRoomsEditError.ClientID,
                passwordTxt = ResHelper.GetString("chat.password") + ":",
                passwordNewTxt = ResHelper.GetString("chat.passwordnew") + ":",
                lblChatRoomsEditPasswordNew = lblChatRoomsEditPasswordNew.ClientID,
                txtChatRoomsCreatePasswordConfirm = txtChatRoomsCreatePasswordConfirm.ClientID,
                pnlChatRoomsEditError = pnlChatRoomsEditError.ClientID,
                chkChatRoomsHasPassword = chkChatRoomsHasPassword.ClientID,
                pnlChatRoomsCreateError = pnlChatRoomsCreateError.ClientID,
                pnlFilterClientID = pnlChatRoomsFiltering.ClientID,
                pnlPagingClientID = pnlChatRoomsPaging.ClientID,
                pagingItems = PagingItems > 0 ? PagingItems : ChatHelper.WPPagingItems,
                groupPagesBy = GroupPagesBy >= 0 ? GroupPagesBy : ChatHelper.WPGroupPagesBy,
                pagingEnabled = EnablePaging,
                btnFilter = btnChatRoomsFilter.ClientID,
                txtFilter = txtChatRoomsFilter.ClientID,
                filterEnabled = EnableFiltering,
                pnlInfo = pnlChatRoomsInfo.ClientID,
                resStrNoFound = ResHelper.GetString("chat.rooms.notfound"),
                resStrResults = ResHelper.GetString("chat.rooms.results"),
                resStrTooltipPopup = ResHelper.GetString("chat.enterwithpopup"),
                filterCount = ShowFilterItems >= 0 ? ShowFilterItems : ChatHelper.WPShowFilterLimit,
                passwordPromptError = pnlChatRoomsPromptPasswordError.ClientID,
                redirectURL = ChatHelper.GetDocumentAbsoluteUrl(redirectURL),
                redirectGroup = RedirectGroup,
                envelopeID = "envelope_" + ClientID,
                pnlErrorCreate = pnlChatRoomsCreateErrorConfirm.ClientID,
                pnlErrorEdit = pnlChatRoomsEditErrorConfirm.ClientID,
                enablePopup = EnablePopup,
                passwordNotMatchStr = ResHelper.GetString("administration-user_edit_password.passwordsdonotmatch")
            }
        );
        return String.Format("InitChatRooms({0})", json);
    }

    #endregion
}