using System; using System.Collections.Generic; using CMS.Controls.Configuration; using CMS.GlobalHelper; using CMS.LicenseProvider; using CMS.Newsletter; using CMS.SettingsProvider; using CMS.SiteProvider; using CMS.UIControls; [Title("Objects/Newsletter_Subscriber/object.png", "newsletters.subscribers", "general_tab2", HelpName = "helpTopic")] public partial class CMSModules_Newsletters_Tools_Subscribers_Subscriber_Header : CMSNewsletterSubscribersPage { #region "Variables" protected int subscriberId; #endregion #region "Methods" protected void Page_Load(object sender, EventArgs e) { string currentSubscriber = GetString("Subscriber_Edit.NewItemCaption"); // Get subscriber id from querystring subscriberId = QueryHelper.GetInteger("subscriberid", 0); // Get subscriber object SubscriberInfo subscriberObj = SubscriberInfoProvider.GetSubscriberInfo(subscriberId); if (subscriberObj != null) { if (!DataHelper.IsEmpty(subscriberObj.SubscriberEmail)) { // Get e-mail for breadcrumbs currentSubscriber = subscriberObj.SubscriberEmail; } else { string type = null; switch (subscriberObj.SubscriberType) { case SiteObjectType.USER: type = GetString("objecttype.cms_user"); break; case SiteObjectType.ROLE: type = GetString("objecttype.cms_role"); break; case PredefinedObjectType.CONTACTGROUP: type = GetString("objecttype.om_contactgroup"); break; case PredefinedObjectType.CONTACT: type = GetString("objecttype.om_contact"); break; } // Get first, last names and type for breadcrumbs currentSubscriber = string.Format("{0} ({1})", string.Concat(subscriberObj.SubscriberFirstName, " ", subscriberObj.SubscriberLastName), type.ToLowerCSafe()); } } // Initializes page title string[,] breadcrumbs = new string[2,3]; breadcrumbs[0, 0] = GetString("Subscriber_Edit.ItemListLink"); breadcrumbs[0, 1] = "~/CMSModules/Newsletters/Tools/Subscribers/Subscriber_List.aspx"; breadcrumbs[0, 2] = "newslettersContent"; breadcrumbs[1, 0] = currentSubscriber; CurrentMaster.Title.Breadcrumbs = breadcrumbs; // Initialize tabs InitalizeMenu(subscriberObj); } /// /// Initializes user edit menu. /// protected void InitalizeMenu(SubscriberInfo subscriber) { if (subscriber == null) { return; } string subscriptionUrl = "Subscriber_Subscriptions.aspx?subscriberid=" + subscriberId; List tabItems = new List(); // Display General tab only to standard subscribers ... if (string.IsNullOrEmpty(subscriber.SubscriberType) && subscriber.SubscriberRelatedID == 0) { // Add General tab tabItems.Add(new TabItem() { Text = GetString("general.general"), OnClientClick = "SetHelpTopic('helpTopic', 'general_tab2');", RedirectUrl = "Subscriber_General.aspx?subscriberid=" + subscriberId }); } else { // ... other subscriber types have Subscriptions tab as the first one CurrentMaster.Title.HelpTopicName = "subscriptions_tab"; ScriptHelper.RegisterStartupScript(this, typeof(string), "SelectSubscriptionTab", ScriptHelper.GetScript("SelTab(0, 'subscriberContent', '" + subscriptionUrl + "');")); } // Add Subscription tab tabItems.Add(new TabItem() { Text = GetString("Subscriber_Edit.Subscription"), OnClientClick = "SetHelpTopic('helpTopic', 'subscriptions_tab');", RedirectUrl = subscriptionUrl }); // Display Users tab for role subscribers if (subscriber.SubscriberType == SiteObjectType.ROLE) { tabItems.Add(new TabItem() { Text = GetString("Subscriber_Edit.Users"), OnClientClick = "SetHelpTopic('helpTopic', 'subscriberusers_tab');", RedirectUrl = "Subscriber_Users.aspx?roleid=" + subscriber.SubscriberRelatedID + "&subscriberid=" + subscriberId }); } // Display Contacts tab for contact group subscribers else if (subscriber.SubscriberType == PredefinedObjectType.CONTACTGROUP && ModuleEntry.IsModuleLoaded(ModuleEntry.ONLINEMARKETING) && LicenseHelper.CheckFeature(URLHelper.GetCurrentDomain(), FeatureEnum.ContactManagement)) { tabItems.Add(new TabItem() { Text = GetString("om.contact.list"), OnClientClick = "SetHelpTopic('helpTopic', 'subscribercontacts_tab');", RedirectUrl = "../../../ContactManagement/Pages/Tools/Contact/Subscriber_Contacts.aspx?groupid=" + subscriber.SubscriberRelatedID + "&subscriberid=" + subscriberId }); } CurrentMaster.Tabs.TabItems = tabItems; CurrentMaster.Tabs.UrlTarget = "subscriberContent"; } #endregion }