protected void Page_Load(object sender, EventArgs e)
    {
        if (ModuleEntryManager.IsModuleLoaded(ModuleName.COMMUNITY))
        {
            // Load the group selector
            ctrl    = LoadUserControl(controlPath) as FormEngineUserControl;
            ctrl.ID = "groupSelector";

            plcGroupSelector.Controls.Add(ctrl);

            UniSelector usGroups = ctrl.GetValue("CurrentSelector") as UniSelector;
            if (usGroups != null)
            {
                usGroups.ReturnColumnName = "GroupID";
            }

            usGroups.UseUniSelectorAutocomplete = false;

            mSiteId  = QueryHelper.GetInteger("siteid", 0);
            mNodeId  = QueryHelper.GetInteger("nodeid", 0);
            mGroupId = QueryHelper.GetInteger("groupid", 0);

            if (!RequestHelper.IsPostBack())
            {
                ctrl.Value = mGroupId;
            }

            ctrl.IsLiveSite = false;
            ctrl.SetValue("DisplayCurrentGroup", false);
            ctrl.SetValue("DisplayNoneValue", true);
            ctrl.SetValue("SiteID", mSiteId);
            ctrl.SetValue("CurrentSelector", usGroups);
        }
    }
Exemplo n.º 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Required field validator error messages initialization
        rfvAnswerText.ErrorMessage = GetString("Polls_Answer_Edit.AnswerTextError");

        // Controls initializations
        lblAnswerText.Text = GetString("Polls_Answer_Edit.AnswerTextLabel");
        lblVotes.Text      = GetString("Polls_Answer_Edit.Votes");

        // Set if it is live site
        txtAnswerText.IsLiveSite = IsLiveSite;

        // Load BizForm selector if BizForms module is available
        if (ModuleEntry.IsModuleLoaded(ModuleEntry.BIZFORM) && ResourceSiteInfoProvider.IsResourceOnSite(ModuleEntry.BIZFORM, CMSContext.CurrentSiteName))
        {
            bizFormElem         = (FormEngineUserControl)Page.LoadUserControl("~/CMSModules/BizForms/FormControls/SelectBizForm.ascx");
            bizFormElem.ShortID = "bizFormElem";
            bizFormElem.SetValue("ShowSiteFilter", false);
            plcBizFormSelector.Controls.Add(bizFormElem);
            bizFormElem.Visible = true;

            UniSelector uniSelector = bizFormElem.GetValue("UniSelector") as UniSelector;
            if (uniSelector != null)
            {
                uniSelector.OnSelectionChanged += new EventHandler(BizFormSelector_OnSelectionChanged);
            }
        }

        if (!RequestHelper.IsPostBack() && !IsLiveSite)
        {
            LoadData();
        }
    }
Exemplo n.º 3
0
    /// <summary>
    /// AfterDataLoad event handler of UIForm.
    /// </summary>
    /// <param name="sender">Sender object</param>
    /// <param name="e">Event argument</param>
    private void Control_OnAfterDataLoad(object sender, EventArgs e)
    {
        // Store edited site object in local variable
        siteInfo = Control.EditedObject as SiteInfo;

        // Set SiteID of SiteCultureSelector in order to offer only cultures assigned to the edited site.
        FormEngineUserControl visitorCultureControl = Control.FieldControls["SiteDefaultVisitorCulture"];

        if (visitorCultureControl != null)
        {
            visitorCultureControl.SetValue("SiteID", siteInfo.SiteID);
        }

        // Set "(none)" special item value for Site default stylesheet field
        EditingFormControl efc = Control.FieldEditingControls["SiteDefaultStylesheetID"];

        if (efc != null)
        {
            UniSelector uniSelector = ControlsHelper.GetChildControl(efc, typeof(UniSelector)) as UniSelector;
            if (uniSelector != null)
            {
                uniSelector.NoneRecordValue = "-1";
            }
        }
    }
Exemplo n.º 4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Check if order is not edited from another site
        CheckEditedObjectSiteID(Order.OrderSiteID);

        // Hide Select and Clear button which are visible by default for UniSelector
        UniSelector billingAddressSelector = editOrderBilling.FieldControls["OrderBillingAddressID"] as UniSelector;

        if (billingAddressSelector != null)
        {
            billingAddressSelector.ButtonSelect.Visible = false;
            billingAddressSelector.ButtonClear.Visible  = false;
        }
    }
    /// <summary>
    /// Selects correct item in given DDL.
    /// </summary>
    /// <param name="selector">Selector with the data</param>
    /// <param name="origKey">Key in hashtable which determines whether the value is special or specific item</param>
    /// <param name="singleItemKey">Key in hashtable for specified item</param>
    private void SelectInDDL(UniSelector selector, string origKey, string singleItemKey)
    {
        string item = ValidationHelper.GetString(Form.Data.GetValue(origKey), "").ToLowerInvariant();

        if (item == SINGLE_VALUE)
        {
            item = ValidationHelper.GetString(Form.Data.GetValue(singleItemKey), "");
        }

        ListItem li = selector.DropDownItems.FindByValue(item);

        if (li != null)
        {
            selector.Value = li.Value;
        }
    }
    /// <summary>
    /// Handles OnLoad event of the UI form.
    /// </summary>
    /// <param name="sender">Sender object</param>
    /// <param name="e">Event argument</param>
    private void Control_Load(object sender, EventArgs e)
    {
        // Store edited site object in local variable
        siteInfo = Control.EditedObject as SiteInfo;

        // Set "(none)" special item value for Site default stylesheet field
        EditingFormControl efc = Control.FieldEditingControls["SiteDefaultStylesheetID"];

        if (efc != null)
        {
            UniSelector uniSelector = ControlsHelper.GetChildControl(efc, typeof(UniSelector)) as UniSelector;
            if (uniSelector != null)
            {
                uniSelector.NoneRecordValue = "-1";
            }
        }
    }
    /// <summary>
    /// Initializes group selector.
    /// </summary>
    private void InitializeGroupSelector()
    {
        if (groupsSelector != null)
        {
            return;
        }

        try
        {
            groupsSelector = LoadUserControl(controlPath) as FormEngineUserControl;
            if (groupsSelector == null)
            {
                return;
            }

            // Set up selector
            groupsSelector.ID = "dialogsGroupSelector";
            groupsSelector.SetValue("DisplayCurrentGroup", false);
            groupsSelector.SetValue("SiteID", 0);
            groupsSelector.IsLiveSite = IsLiveSite;
            groupsSelector.Changed   += groupSelector_Changed;

            // Get uniselector and set it up
            UniSelector us = groupsSelector.GetValue("CurrentSelector") as UniSelector;
            if (us != null)
            {
                us.ReturnColumnName = "GroupID";
            }

            // Get DropDownList and set it up
            DropDownList drpGroups = groupsSelector.GetValue("CurrentDropDown") as DropDownList;
            if (drpGroups != null)
            {
                drpGroups.AutoPostBack = true;
            }

            // Add control to panel
            pnlGroupSelector.Controls.Add(groupsSelector);
        }
        catch (HttpException)
        {
            // Couldn't load the control
            plcGroupSelector.Visible = false;
        }
    }
Exemplo n.º 8
0
    protected void form_OnAfterDataLoad(object sender, EventArgs e)
    {
        // Assign selected site name for filtering
        UniSelector usClasses = (UniSelector)form.FieldControls["ScopeClasses"];

        if (usClasses != null)
        {
            usClasses.ObjectSiteName = SiteInfoProvider.GetSiteName(SiteID);
        }

        // Load current bindings
        if ((Scope != null) && (Scope.ScopeID > 0))
        {
            DataSet ds = DocumentTypeScopeClassInfoProvider.GetScopeClasses("ScopeID = " + Scope.ScopeID, "ScopeID", 0, "ClassID");

            currentValues = TextHelper.Join(";", DataHelper.GetStringValues(ds.Tables[0], "ClassID"));

            form.FieldControls["ScopeClasses"].Value = currentValues;
        }
    }
Exemplo n.º 9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Check if order is not edited from another site
        CheckEditedObjectSiteID(Order.OrderSiteID);

        // Hide Select and Clear button which are visible by default for UniSelector
        UniSelector billingAddressSelector = editOrderBilling.FieldControls["OrderBillingAddressID"] as UniSelector;

        if (billingAddressSelector != null)
        {
            billingAddressSelector.ButtonSelect.Visible = false;
            billingAddressSelector.ButtonClear.Visible  = false;
        }

        BaseObjectSelector paymentSelector = editOrderBilling.FieldControls["OrderPaymentOptionID"] as BaseObjectSelector;

        if (paymentSelector != null)
        {
            paymentSelector.SetValue("ShoppingCart", ShoppingCartInfoProvider.GetShoppingCartInfoFromOrder(Order.OrderID));
        }
    }
Exemplo n.º 10
0
 private static IEnumerable <int> ParseSelectedValues(UniSelector selector)
 {
     return(ValidationHelper.GetString(selector.Value, String.Empty)
            .Split(new[] { selector.ValuesSeparator }, StringSplitOptions.RemoveEmptyEntries)
            .Select(i => ValidationHelper.GetInteger(i, 0)));
 }
    /// <summary>
    /// Configures selectors.
    /// </summary>
    private void SetupSelectors()
    {
        // Setup role selector
        selectRole.CurrentSelector.SelectionMode = SelectionModeEnum.MultipleButton;
        selectRole.CurrentSelector.OnItemsSelected += RolesSelector_OnItemsSelected;
        selectRole.CurrentSelector.ReturnColumnName = "RoleID";
        selectRole.ShowSiteFilter = false;
        selectRole.CurrentSelector.ResourcePrefix = "addroles";
        selectRole.IsLiveSite = false;
        selectRole.UseCodeNameForSelection = false;
        selectRole.GlobalRoles = false;

        // Setup user selector
        selectUser.SelectionMode = SelectionModeEnum.MultipleButton;
        selectUser.UniSelector.OnItemsSelected += UserSelector_OnItemsSelected;
        selectUser.UniSelector.ReturnColumnName = "UserID";
        selectUser.UniSelector.DisplayNameFormat = "{%FullName%} ({%Email%})";
        selectUser.UniSelector.AdditionalSearchColumns = "UserName, Email";
        selectUser.ShowSiteFilter = false;
        selectUser.ResourcePrefix = "newsletteraddusers";
        selectUser.IsLiveSite = false;

        // Setup subscriber selector
        selectSubscriber.UniSelector.SelectionMode = SelectionModeEnum.MultipleButton;
        selectSubscriber.UniSelector.OnItemsSelected += SubscriberSelector_OnItemsSelected;
        selectSubscriber.UniSelector.ReturnColumnName = "SubscriberID";
        selectSubscriber.ShowSiteFilter = false;
        selectSubscriber.IsLiveSite = false;
        selectSubscriber.UniSelector.RemoveMultipleCommas = true;

        // Setup contact group and contact selectors
        if (ModuleEntryManager.IsModuleLoaded(ModuleName.ONLINEMARKETING) && LicenseHelper.CheckFeature(RequestContext.CurrentDomain, FeatureEnum.ContactManagement))
        {
            plcSelectCG.Controls.Clear();

            // Check read permission for contact groups
            if (MembershipContext.AuthenticatedUser.IsAuthorizedPerResource(ModuleName.CONTACTMANAGEMENT, "ReadContactGroups"))
            {
                // Load selector control and initialize it
                cgSelector = (FormEngineUserControl)Page.LoadUserControl("~/CMSModules/ContactManagement/FormControls/ContactGroupSelector.ascx");
                if (cgSelector != null)
                {
                    cgSelector.ID = "selectCG";
                    cgSelector.ShortID = "scg";
                    // Get inner uniselector control
                    UniSelector selector = (UniSelector)cgSelector.GetValue("uniselector");
                    if (selector != null)
                    {
                        // Bind an event handler on 'items selected' event
                        selector.OnItemsSelected += CGSelector_OnItemsSelected;
                        selector.ResourcePrefix = "contactgroupsubscriber";
                    }
                    // Insert selector to the header
                    plcSelectCG.Controls.Add(cgSelector);
                }
            }

            // Check read permission for contacts
            if (MembershipContext.AuthenticatedUser.IsAuthorizedPerResource(ModuleName.CONTACTMANAGEMENT, "ReadContacts"))
            {
                // Load selector control and initialize it
                cSelector = (FormEngineUserControl)Page.LoadUserControl("~/CMSModules/ContactManagement/FormControls/ContactSelector.ascx");
                if (cSelector != null)
                {
                    cSelector.ID = "slContact";
                    cSelector.ShortID = "sc";
                    // Set where condition to filter contacts with email addresses
                    cSelector.SetValue("wherecondition", "NOT (ContactEmail IS NULL OR ContactEmail LIKE '')");
                    // Set site ID
                    cSelector.SetValue("siteid", SiteContext.CurrentSiteID);
                    // Get inner uniselector control
                    UniSelector selector = (UniSelector)cSelector.GetValue("uniselector");
                    if (selector != null)
                    {
                        // Bind an event handler on 'items selected' event
                        selector.OnItemsSelected += ContactSelector_OnItemsSelected;
                        selector.SelectionMode = SelectionModeEnum.MultipleButton;
                        selector.ResourcePrefix = "contactsubscriber";
                        selector.DisplayNameFormat = "{%ContactFirstName%} {%ContactLastName%} ({%ContactEmail%})";
                        selector.AdditionalSearchColumns = "ContactFirstName,ContactMiddleName,ContactEmail";
                    }
                    // Insert selector to the header
                    plcSelectCG.Controls.Add(cSelector);
                }
            }
        }

        // Setup persona selectors
        if (ModuleEntryManager.IsModuleLoaded(ModuleName.PERSONAS) && LicenseHelper.CheckFeature(RequestContext.CurrentDomain, FeatureEnum.Personas))
        {
            // Check read permission for contact groups
            if (MembershipContext.AuthenticatedUser.IsAuthorizedPerResource(ModuleName.PERSONAS, "Read"))
            {
                // Load selector control and initialize it
                personaSelector = (UniSelector)Page.LoadUserControl("~/CMSAdminControls/UI/Uniselector/Uniselector.ascx");
                if (personaSelector != null)
                {
                    personaSelector.ID = "personaSelector";
                    personaSelector.ShortID = "ps";
                    personaSelector.ObjectType = PredefinedObjectType.PERSONA;
                    personaSelector.ReturnColumnName = "PersonaID";
                    personaSelector.WhereCondition = "PersonaSiteID = " + SiteContext.CurrentSiteID;
                    personaSelector.SelectionMode = SelectionModeEnum.MultipleButton;
                    personaSelector.DisplayNameFormat = "{%PersonaDisplayName%}";
                    personaSelector.ResourcePrefix = "personasubscriber";
                    personaSelector.IsLiveSite = false;

                    // Bind an event handler on 'items selected' event
                    personaSelector.OnItemsSelected += PersonaSelector_OnItemsSelected;

                    // Add selector to the header
                    plcSelectCG.Controls.Add(personaSelector);
                }
            }
        }

        // Initialize mass actions
        if (drpActions.Items.Count == 0)
        {
            drpActions.Items.Add(new ListItem(GetString("general.selectaction"), SELECT));
            drpActions.Items.Add(new ListItem(GetString("newsletter.unsubscribelink"), UNSUBSCRIBE));
            drpActions.Items.Add(new ListItem(GetString("newsletter.renewsubscription"), SUBSCRIBE));
            drpActions.Items.Add(new ListItem(GetString("newsletter.approvesubscription"), APPROVE));
            drpActions.Items.Add(new ListItem(GetString("newsletter.deletesubscription"), REMOVE));
        }
    }
    /// <summary>
    /// Selects correct item in given DDL.
    /// </summary>
    /// <param name="selector">Selector with the data</param>
    /// <param name="origKey">Key in hashtable which determines whether the value is special or specific item</param>
    /// <param name="singleItemKey">Key in hashtable for specified item</param>
    private void SelectInDDL(UniSelector selector, string origKey, string singleItemKey)
    {
        string item = ValidationHelper.GetString(Form.Data.GetValue(origKey), "").ToLowerCSafe();
        if (item == "#single#")
        {
            item = ValidationHelper.GetString(Form.Data.GetValue(singleItemKey), "");
        }

        ListItem li = selector.DropDownItems.FindByValue(item);
        if (li != null)
        {
            selector.Value = li.Value;
        }
    }
    /// <summary>
    /// Configures selectors.
    /// </summary>
    private void SetupSelectors()
    {
        // Setup role selector
        selectRole.CurrentSelector.SelectionMode    = SelectionModeEnum.MultipleButton;
        selectRole.CurrentSelector.OnItemsSelected += RolesSelector_OnItemsSelected;
        selectRole.CurrentSelector.ReturnColumnName = "RoleID";
        selectRole.CurrentSelector.ZeroRowsText     = string.Format(GetString("newsletter.subscribers.addroles.nodata"), URLHelper.ResolveUrl(UIContextHelper.GetApplicationUrl("CMS.Roles", "Administration.Roles")));
        selectRole.ShowSiteFilter = false;
        selectRole.CurrentSelector.ResourcePrefix = "addroles";
        selectRole.IsLiveSite = false;
        selectRole.UseCodeNameForSelection = false;
        selectRole.GlobalRoles             = false;

        // Setup user selector
        selectUser.SelectionMode = SelectionModeEnum.MultipleButton;
        selectUser.UniSelector.OnItemsSelected        += UserSelector_OnItemsSelected;
        selectUser.UniSelector.ReturnColumnName        = "UserID";
        selectUser.UniSelector.DisplayNameFormat       = "{%FullName%} ({%Email%})";
        selectUser.UniSelector.AdditionalSearchColumns = "UserName, Email";
        selectUser.UniSelector.ZeroRowsText            = string.Format(GetString("newsletter.subscribers.addusers.nodata"), URLHelper.ResolveUrl(UIContextHelper.GetApplicationUrl("CMS.Users", "Administration.Users")));
        selectUser.WhereCondition = new WhereCondition().WhereNotEmpty("Email").ToString(true);
        selectUser.ShowSiteFilter = false;
        selectUser.ResourcePrefix = "newsletteraddusers";
        selectUser.IsLiveSite     = false;

        // Setup subscriber selector
        selectSubscriber.UniSelector.SelectionMode    = SelectionModeEnum.MultipleButton;
        selectSubscriber.UniSelector.OnItemsSelected += SubscriberSelector_OnItemsSelected;
        selectSubscriber.UniSelector.ReturnColumnName = "SubscriberID";
        selectSubscriber.UniSelector.ZeroRowsText     = string.Format(GetString("newsletter.subscribers.addsubscribers.nodata"), URLHelper.ResolveUrl(UIContextHelper.GetApplicationUrl(ModuleName.NEWSLETTER, "Newsletter", "?tabname=AllSubscribers")));
        selectSubscriber.ShowSiteFilter = false;
        selectSubscriber.IsLiveSite     = false;
        selectSubscriber.UniSelector.RemoveMultipleCommas = true;

        // Setup contact group and contact selectors
        if (ModuleEntryManager.IsModuleLoaded(ModuleName.ONLINEMARKETING) && LicenseHelper.CheckFeature(RequestContext.CurrentDomain, FeatureEnum.ContactManagement))
        {
            plcSelectCG.Controls.Clear();

            // Check read permission for contact groups
            if (MembershipContext.AuthenticatedUser.IsAuthorizedPerResource(ModuleName.CONTACTMANAGEMENT, "ReadContactGroups"))
            {
                // Load selector control and initialize it
                cgSelector = (FormEngineUserControl)Page.LoadUserControl("~/CMSModules/ContactManagement/FormControls/ContactGroupSelector.ascx");
                if (cgSelector != null)
                {
                    cgSelector.ID      = "selectCG";
                    cgSelector.ShortID = "scg";
                    // Get inner uniselector control
                    UniSelector selector = (UniSelector)cgSelector.GetValue("uniselector");
                    if (selector != null)
                    {
                        // Bind an event handler on 'items selected' event
                        selector.OnItemsSelected += CGSelector_OnItemsSelected;
                        selector.ResourcePrefix   = "contactgroupsubscriber";
                        selector.ZeroRowsText     = string.Format(GetString("newsletter.subscribers.addcontactgroups.nodata"), URLHelper.ResolveUrl(UIContextHelper.GetApplicationUrl(ModuleName.ONLINEMARKETING, "ContactGroups")));
                    }
                    // Insert selector to the header
                    plcSelectCG.Controls.Add(cgSelector);
                }
            }

            // Check read permission for contacts
            if (MembershipContext.AuthenticatedUser.IsAuthorizedPerResource(ModuleName.CONTACTMANAGEMENT, "ReadContacts"))
            {
                // Load selector control and initialize it
                cSelector = (FormEngineUserControl)Page.LoadUserControl("~/CMSModules/ContactManagement/FormControls/ContactSelector.ascx");
                if (cSelector != null)
                {
                    cSelector.ID      = "slContact";
                    cSelector.ShortID = "sc";
                    // Set where condition to filter contacts with email addresses
                    cSelector.SetValue("wherecondition", "NOT (ContactEmail IS NULL OR ContactEmail LIKE '')");
                    // Set site ID
                    cSelector.SetValue("siteid", SiteContext.CurrentSiteID);
                    // Get inner uniselector control
                    UniSelector selector = (UniSelector)cSelector.GetValue("uniselector");
                    if (selector != null)
                    {
                        // Bind an event handler on 'items selected' event
                        selector.OnItemsSelected        += ContactSelector_OnItemsSelected;
                        selector.SelectionMode           = SelectionModeEnum.MultipleButton;
                        selector.ResourcePrefix          = "contactsubscriber";
                        selector.DisplayNameFormat       = "{%ContactFirstName%} {%ContactLastName%} ({%ContactEmail%})";
                        selector.AdditionalSearchColumns = "ContactFirstName,ContactMiddleName,ContactEmail";
                        selector.ZeroRowsText            = string.Format(GetString("newsletter.subscribers.addcontacts.nodata"), URLHelper.ResolveUrl(UIContextHelper.GetApplicationUrl(ModuleName.ONLINEMARKETING, "ContactsFrameset", "?tabname=contacts")));
                    }
                    // Insert selector to the header
                    plcSelectCG.Controls.Add(cSelector);
                }
            }
        }

        // Setup persona selectors
        if (ModuleEntryManager.IsModuleLoaded(ModuleName.PERSONAS) && LicenseHelper.CheckFeature(RequestContext.CurrentDomain, FeatureEnum.Personas))
        {
            // Check read permission for contact groups
            if (MembershipContext.AuthenticatedUser.IsAuthorizedPerResource(ModuleName.PERSONAS, "Read"))
            {
                // Load selector control and initialize it
                personaSelector = (UniSelector)Page.LoadUserControl("~/CMSAdminControls/UI/Uniselector/Uniselector.ascx");
                if (personaSelector != null)
                {
                    personaSelector.ID                = "personaSelector";
                    personaSelector.ShortID           = "ps";
                    personaSelector.ObjectType        = PredefinedObjectType.PERSONA;
                    personaSelector.ReturnColumnName  = "PersonaID";
                    personaSelector.WhereCondition    = "PersonaSiteID = " + SiteContext.CurrentSiteID;
                    personaSelector.SelectionMode     = SelectionModeEnum.MultipleButton;
                    personaSelector.DisplayNameFormat = "{%PersonaDisplayName%}";
                    personaSelector.ResourcePrefix    = "personasubscriber";
                    personaSelector.IsLiveSite        = false;
                    personaSelector.ZeroRowsText      = string.Format(GetString("newsletter.subscribers.addpersonas.nodata"), URLHelper.ResolveUrl(UIContextHelper.GetApplicationUrl(ModuleName.PERSONAS, "Personas")));

                    // Bind an event handler on 'items selected' event
                    personaSelector.OnItemsSelected += PersonaSelector_OnItemsSelected;

                    // Add selector to the header
                    plcSelectCG.Controls.Add(personaSelector);
                }
            }
        }

        // Initialize mass actions
        if (drpActions.Items.Count == 0)
        {
            drpActions.Items.Add(new ListItem(GetString("general.selectaction"), SELECT));
            drpActions.Items.Add(new ListItem(GetString("newsletter.approvesubscription"), APPROVE));
            drpActions.Items.Add(new ListItem(GetString("newsletter.deletesubscription"), REMOVE));
        }
    }
Exemplo n.º 14
0
    /// <summary>
    /// Configures selectors.
    /// </summary>
    private void SetupSelectors()
    {
        // Setup role selector
        selectRole.CurrentSelector.SelectionMode    = SelectionModeEnum.MultipleButton;
        selectRole.CurrentSelector.OnItemsSelected += RolesSelector_OnItemsSelected;
        selectRole.CurrentSelector.ReturnColumnName = "RoleID";
        selectRole.CurrentSelector.ButtonImage      = GetImageUrl("Objects/CMS_Role/add.png");
        selectRole.ImageDialog.CssClass             = "NewItemImage";
        selectRole.LinkDialog.CssClass            = "NewItemLink";
        selectRole.ShowSiteFilter                 = false;
        selectRole.CurrentSelector.ResourcePrefix = "addroles";
        selectRole.DialogButton.CssClass          = "LongButton";
        selectRole.IsLiveSite = false;
        selectRole.UseCodeNameForSelection = false;

        // Setup user selector
        selectUser.UniSelector.SelectionMode     = SelectionModeEnum.MultipleButton;
        selectUser.UniSelector.OnItemsSelected  += UserSelector_OnItemsSelected;
        selectUser.UniSelector.ReturnColumnName  = "UserID";
        selectUser.UniSelector.DisplayNameFormat = "{%FullName%} ({%Email%})";
        selectUser.UniSelector.ButtonImage       = GetImageUrl("Objects/CMS_User/add.png");
        selectUser.ImageDialog.CssClass          = "NewItemImage";
        selectUser.LinkDialog.CssClass           = "NewItemLink";
        selectUser.ShowSiteFilter        = false;
        selectUser.ResourcePrefix        = "addusers";
        selectUser.DialogButton.CssClass = "LongButton";
        selectUser.IsLiveSite            = false;

        // Setup subscriber selector
        selectSubscriber.UniSelector.SelectionMode    = SelectionModeEnum.MultipleButton;
        selectSubscriber.UniSelector.OnItemsSelected += SubscriberSelector_OnItemsSelected;
        selectSubscriber.UniSelector.ReturnColumnName = "SubscriberID";
        selectSubscriber.UniSelector.ButtonImage      = GetImageUrl("Objects/Newsletter_Subscriber/add.png");
        selectSubscriber.ImageDialog.CssClass         = "NewItemImage";
        selectSubscriber.LinkDialog.CssClass          = "NewItemLink";
        selectSubscriber.ShowSiteFilter        = false;
        selectSubscriber.DialogButton.CssClass = "LongButton";
        selectSubscriber.IsLiveSite            = false;

        // Setup contact group selector
        if (ModuleEntry.IsModuleLoaded(ModuleEntry.ONLINEMARKETING) && CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.ContactManagement", "ReadContactGroups") && LicenseHelper.CheckFeature(URLHelper.GetCurrentDomain(), FeatureEnum.ContactManagement))
        {
            // Load selector control and initialize it
            plcSelectCG.Controls.Clear();
            cgSelector = (FormEngineUserControl)Page.LoadControl("~/CMSModules/ContactManagement/FormControls/ContactGroupSelector.ascx");
            if (cgSelector != null)
            {
                cgSelector.ID = "selectCG";
                // Get inner uniselector control
                UniSelector selector = (UniSelector)cgSelector.GetValue("uniselector");
                if (selector != null)
                {
                    // Bind an event handler on 'items selected' event
                    selector.OnItemsSelected += new EventHandler(selector_OnItemsSelected);
                    selector.ResourcePrefix   = "contactgroupsubscriber";
                }
                // Insert selector to the header
                plcSelectCG.Controls.Add(cgSelector);
            }
        }

        // Initialize mass actions
        if (this.drpActions.Items.Count == 0)
        {
            drpActions.Items.Add(new ListItem(GetString("general.selectaction"), "SELECT"));
            drpActions.Items.Add(new ListItem(GetString("general.approve"), "APPROVE"));
            drpActions.Items.Add(new ListItem(GetString("general.Reject"), "REJECT"));
            drpActions.Items.Add(new ListItem(GetString("general.remove"), "REMOVE"));
        }
    }
    /// <summary>
    /// Configures selectors.
    /// </summary>
    private void SetupSelectors()
    {
        // Setup role selector
        selectRole.CurrentSelector.SelectionMode       = SelectionModeEnum.MultipleButton;
        selectRole.CurrentSelector.OnItemsSelected    += RolesSelector_OnItemsSelected;
        selectRole.CurrentSelector.ReturnColumnName    = "RoleID";
        selectRole.CurrentSelector.ButtonImage         = GetImageUrl("Objects/CMS_Role/add.png");
        selectRole.CurrentSelector.DialogLink.CssClass = "MenuItemEdit Pad";
        selectRole.ShowSiteFilter = false;
        selectRole.CurrentSelector.ResourcePrefix        = "addroles";
        selectRole.CurrentSelector.DialogButton.CssClass = "LongButton";
        selectRole.IsLiveSite = false;
        selectRole.UseCodeNameForSelection = false;
        selectRole.GlobalRoles             = false;

        // Setup user selector
        selectUser.SelectionMode = SelectionModeEnum.MultipleButton;
        selectUser.UniSelector.OnItemsSelected        += UserSelector_OnItemsSelected;
        selectUser.UniSelector.ReturnColumnName        = "UserID";
        selectUser.UniSelector.DisplayNameFormat       = "{%FullName%} ({%Email%})";
        selectUser.UniSelector.ButtonImage             = GetImageUrl("Objects/CMS_User/add.png");
        selectUser.UniSelector.AdditionalSearchColumns = "UserName, Email";
        selectUser.UniSelector.DialogLink.CssClass     = "MenuItemEdit Pad";
        selectUser.ShowSiteFilter = false;
        selectUser.ResourcePrefix = "newsletteraddusers";
        selectUser.UniSelector.DialogButton.CssClass = "LongButton";
        selectUser.IsLiveSite = false;

        // Setup subscriber selector
        selectSubscriber.UniSelector.SelectionMode       = SelectionModeEnum.MultipleButton;
        selectSubscriber.UniSelector.OnItemsSelected    += SubscriberSelector_OnItemsSelected;
        selectSubscriber.UniSelector.ReturnColumnName    = "SubscriberID";
        selectSubscriber.UniSelector.ButtonImage         = GetImageUrl("Objects/Newsletter_Subscriber/add.png");
        selectSubscriber.UniSelector.DialogLink.CssClass = "MenuItemEdit Pad";
        selectSubscriber.ShowSiteFilter = false;
        selectSubscriber.UniSelector.DialogButton.CssClass = "LongButton";
        selectSubscriber.IsLiveSite = false;
        selectSubscriber.UniSelector.RemoveMultipleCommas = true;

        // Setup contact group and contact selectors
        if (ModuleEntry.IsModuleLoaded(ModuleEntry.ONLINEMARKETING) && LicenseHelper.CheckFeature(URLHelper.GetCurrentDomain(), FeatureEnum.ContactManagement))
        {
            plcSelectCG.Controls.Clear();

            // Check read permission for contact groups
            if (CMSContext.CurrentUser.IsAuthorizedPerResource(ModuleEntry.CONTACTMANAGEMENT, "ReadContactGroups"))
            {
                // Load selector control and initialize it
                cgSelector = (FormEngineUserControl)Page.LoadUserControl("~/CMSModules/ContactManagement/FormControls/ContactGroupSelector.ascx");
                if (cgSelector != null)
                {
                    cgSelector.ID      = "selectCG";
                    cgSelector.ShortID = "scg";
                    // Get inner uniselector control
                    UniSelector selector = (UniSelector)cgSelector.GetValue("uniselector");
                    if (selector != null)
                    {
                        // Bind an event handler on 'items selected' event
                        selector.OnItemsSelected += CGSelector_OnItemsSelected;
                        selector.ResourcePrefix   = "contactgroupsubscriber";
                    }
                    // Insert selector to the header
                    plcSelectCG.Controls.Add(cgSelector);
                }
            }

            // Check read permission for contacts
            if (CMSContext.CurrentUser.IsAuthorizedPerResource(ModuleEntry.CONTACTMANAGEMENT, "ReadContacts"))
            {
                // Load selector control and initialize it
                cSelector = (FormEngineUserControl)Page.LoadUserControl("~/CMSModules/ContactManagement/FormControls/ContactSelector.ascx");
                if (cSelector != null)
                {
                    cSelector.ID      = "slContact";
                    cSelector.ShortID = "sc";
                    // Set where condition to filter contacts with email addresses
                    cSelector.SetValue("wherecondition", "NOT (ContactEmail IS NULL OR ContactEmail LIKE '')");
                    // Set site ID
                    cSelector.SetValue("siteid", CMSContext.CurrentSiteID);
                    // Get inner uniselector control
                    UniSelector selector = (UniSelector)cSelector.GetValue("uniselector");
                    if (selector != null)
                    {
                        // Bind an event handler on 'items selected' event
                        selector.OnItemsSelected        += ContactSelector_OnItemsSelected;
                        selector.SelectionMode           = SelectionModeEnum.MultipleButton;
                        selector.ResourcePrefix          = "contactsubscriber";
                        selector.ButtonImage             = GetImageUrl("/Objects/OM_Contact/add.png");
                        selector.DisplayNameFormat       = "{%ContactFirstName%} {%ContactLastName%} ({%ContactEmail%})";
                        selector.AdditionalSearchColumns = "ContactFirstName,ContactMiddleName,ContactEmail";
                    }
                    // Insert selector to the header
                    plcSelectCG.Controls.Add(cSelector);
                }
            }
        }

        // Initialize mass actions
        if (drpActions.Items.Count == 0)
        {
            drpActions.Items.Add(new ListItem(GetString("general.selectaction"), SELECT));
            drpActions.Items.Add(new ListItem(GetString("newsletter.unsubscribelink"), UNSUBSCRIBE));
            drpActions.Items.Add(new ListItem(GetString("newsletter.renewsubscription"), SUBSCRIBE));
            drpActions.Items.Add(new ListItem(GetString("newsletter.approvesubscription"), APPROVE));
            drpActions.Items.Add(new ListItem(GetString("newsletter.rejectsubscription"), REJECT));
            drpActions.Items.Add(new ListItem(GetString("newsletter.deletesubscription"), REMOVE));
        }
    }