public void LoadData() { if (node != null) { string layoutText = String.Empty; // get template info pti = PageTemplateInfoProvider.GetPageTemplateInfo(node.GetUsedPageTemplateId()); if ((pti == null) && (DocumentContext.CurrentPageInfo != null) && (DocumentContext.CurrentPageInfo.UsedPageTemplateInfo != null)) { pti = DocumentContext.CurrentPageInfo.UsedPageTemplateInfo; } if (pti != null) { PageTemplateLayoutTypeEnum type = PageTemplateLayoutTypeEnum.PageTemplateLayout; // Try get device layout object layoutObject = PageTemplateDeviceLayoutInfoProvider.GetLayoutObject(pti, DeviceContext.CurrentDeviceProfile, out type); layoutText = pti.PageTemplateLayout; // Set layout text with dependence on current layout type switch (type) { // Shared layouts case PageTemplateLayoutTypeEnum.SharedLayout: case PageTemplateLayoutTypeEnum.DeviceSharedLayout: case PageTemplateLayoutTypeEnum.SharedLayoutMapped: layoutText = (layoutObject as LayoutInfo).LayoutCode; break; // Custom device layout case PageTemplateLayoutTypeEnum.DeviceLayout: layoutText = (layoutObject as PageTemplateDeviceLayoutInfo).LayoutCode; break; } } ltlLayoutCode.Text = HTMLHelper.EnsureHtmlLineEndings(HTMLHelper.HighlightHTML(layoutText)); ltlLayoutCode.Text = RegexHelper.GetRegex("[ ](?![^<>]*>)").Replace(ltlLayoutCode.Text, " "); // Load node data if (!RequestHelper.IsPostBack()) { txtBodyCss.Text = node.NodeBodyElementAttributes; txtBodyScripts.Value = node.NodeBodyScripts; txtDocType.Text = node.NodeDocType; txtHeadTags.Value = node.NodeHeadTags; } } lblAfterDocType.Text = HighlightHTML("<html>") + "<br />" + AddSpaces(1) + HighlightHTML("<head>"); lblAfterHeadTags.Text = AddSpaces(1) + HighlightHTML("</head>"); lblAfterLayout.Text = AddSpaces(1) + HighlightHTML("</body>") + "<br />" + HighlightHTML("</html>"); lblBodyEnd.Text = HighlightHTML(">"); lblBodyStart.Text = AddSpaces(1) + HighlightHTML("<body " + HttpUtility.HtmlDecode(mBody)); }
protected void Page_Load(object sender, EventArgs e) { var cui = MembershipContext.AuthenticatedUser; reportHeader.ActionPerformed += HeaderActions_ActionPerformed; if (DataHelper.GetNotEmpty(RequestContext.CurrentDomain, "") != "") { LicenseHelper.CheckFeatureAndRedirect(RequestContext.CurrentDomain, FeatureEnum.MVTesting); } // Set disabled module info ucDisabledModule.SettingsKeys = "CMSAnalyticsEnabled;CMSMVTEnabled"; ucDisabledModule.ParentPanel = pnlWarning; // Register actions ComponentEvents.RequestEvents.RegisterForEvent(ComponentEvents.SAVE, (s, args) => Save()); mUcDisplayReport = (IDisplayReport)LoadUserControl("~/CMSModules/Reporting/Controls/DisplayReport.ascx"); pnlContent.Controls.Add((Control)mUcDisplayReport); CurrentMaster.PanelContent.CssClass = String.Empty; UIHelper.AllowUpdateProgress = false; // MVTest Info int mvTestID = QueryHelper.GetInteger("objectID", 0); MVTestInfo mvInfo = MVTestInfoProvider.GetMVTestInfo(mvTestID); if (mvInfo == null) { return; } // Load combination by current template ID and culture int nodeID = QueryHelper.GetInteger("NodeID", 0); if (nodeID > 0) { // Create condition for current template combinations TreeProvider tree = new TreeProvider(cui); TreeNode node = tree.SelectSingleNode(nodeID, LocalizationContext.PreferredCultureCode); if (node != null) { usCombination.DocumentID = node.DocumentID; usCombination.PageTemplateID = node.GetUsedPageTemplateId(); } } else { rbCombinations.Visible = false; } usCombination.ReloadData(true); mTestName = mvInfo.MVTestName; ucGraphType.ProcessChartSelectors(false); // Enables/disables radio buttons (based on UI elements) var ui = MembershipContext.AuthenticatedUser; if (!RequestHelper.IsPostBack()) { if (!ui.IsGlobalAdministrator) { bool checkedButton = false; // Check first enabled button foreach (Control ctrl in pnlRadioButtons.Controls) { CMSRadioButton rb = ctrl as CMSRadioButton; if (rb != null) { if (rb.Enabled) { rb.Checked = true; checkedButton = true; break; } } } // No report avaible -> redirect to access denied if (!checkedButton) { RedirectToAccessDenied(GetString("mvtest.noreportavaible")); } } else { // Admin check first radio button rbCount.Checked = true; } } }
protected void Page_Load(object sender, EventArgs e) { CurrentUserInfo cui = CMSContext.CurrentUser; // Check UI Permissions if ((cui == null) || (!cui.IsAuthorizedPerUIElement("CMS.Content", "OnlineMarketing.MVTests"))) { RedirectToCMSDeskUIElementAccessDenied("CMS.Content", "OnlineMarketing.MVTests"); } reportHeader.ActionPerformed += HeaderActions_ActionPerformed; if (DataHelper.GetNotEmpty(URLHelper.GetCurrentDomain(), "") != "") { LicenseHelper.CheckFeatureAndRedirect(URLHelper.GetCurrentDomain(), FeatureEnum.MVTesting); } // Set disabled module info ucDisabledModule.SettingsKeys = "CMSAnalyticsEnabled;CMSMVTEnabled"; ucDisabledModule.InfoTexts.Add(GetString("WebAnalytics.Disabled") + "</br>"); ucDisabledModule.InfoTexts.Add(GetString("mvt.disabled")); ucDisabledModule.ParentPanel = pnlWarning; // Register actions ComponentEvents.RequestEvents.RegisterForEvent(ComponentEvents.SAVE, (s, args) => { Save(); }); ucDisplayReport = this.LoadUserControl("~/CMSModules/Reporting/Controls/DisplayReport.ascx") as IDisplayReport; pnlContent.Controls.Add((Control)ucDisplayReport); CurrentMaster.PanelContent.CssClass = ""; UIHelper.AllowUpdateProgress = false; // MVTest Info int mvTestID = QueryHelper.GetInteger("mvTestID", 0); MVTestInfo mvInfo = MVTestInfoProvider.GetMVTestInfo(mvTestID); if (mvInfo == null) { return; } // Load combination by current template ID and culture if (pnlCombination.Visible) { int nodeID = QueryHelper.GetInteger("NodeID", 0); // Create condition for current template combinations TreeProvider tree = new TreeProvider(cui); TreeNode node = tree.SelectSingleNode(nodeID, cui.PreferredCultureCode); if (node != null) { usCombination.DocumentID = node.DocumentID; usCombination.PageTemplateID = node.GetUsedPageTemplateId(); } usCombination.ReloadData(true); } testName = mvInfo.MVTestName; ucGraphType.ProcessChartSelectors(false); // Enables/disables radio buttons (based on UI elements) CurrentUserInfo ui = CMSContext.CurrentUser; if (!RequestHelper.IsPostBack()) { if (!ui.IsGlobalAdministrator) { rbCount.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "MVTestConversionCount"); rbRate.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "MVTestConversionRate"); rbValue.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "MVTestConversionValue"); rbCombinations.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "ConversionsByCombination"); bool checkedButton = false; // Check first enabled button foreach (Control ctrl in pnlRadioButtons.Controls) { RadioButton rb = ctrl as RadioButton; if (rb != null) { if (rb.Enabled) { rb.Checked = true; checkedButton = true; break; } } } // No report avaible -> redirect to access denied if (!checkedButton) { RedirectToAccessDenied(GetString("mvtest.noreportavaible")); } } else { // Admin check first radio button rbCount.Checked = true; } } }
protected void ContextMenu_OnReloadData(object sender, EventArgs e) { int nodeId = ValidationHelper.GetInteger(ContextMenu.Parameter, 0); // Get the node TreeProvider tree = new TreeProvider(MembershipContext.AuthenticatedUser); TreeNode node = tree.SelectSingleNode(nodeId); if (node != null) { // Hide Properties for wireframe plcProperties.Visible &= !node.IsWireframe(); if (plcProperties.Visible) { // Properties menu var elements = UIElementInfoProvider.GetChildUIElements("CMS.Content", "Properties"); if (!DataHelper.DataSourceIsEmpty(elements)) { var index = 0; UserInfo user = MembershipContext.AuthenticatedUser; foreach (var elem in elements) { // If UI element is available and user has permission to show it then add it if (UIContextHelper.CheckElementAvailabilityInUI(elem) && user.IsAuthorizedPerUIElement(elem.ElementResourceID, elem.ElementName)) { var elementName = elem.ElementName; switch (elementName.ToLower()) { case "properties.languages": if (!CultureSiteInfoProvider.IsSiteMultilingual(SiteContext.CurrentSiteName) || !CultureSiteInfoProvider.LicenseVersionCheck()) { continue; } break; case "properties.wireframe": if (node.NodeWireframeTemplateID <= 0) { continue; } break; case "properties.variants": if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContentPersonalization, ModuleName.ONLINEMARKETING) || !ResourceSiteInfoProvider.IsResourceOnSite("CMS.ContentPersonalization", SiteContext.CurrentSiteName) || !PortalContext.ContentPersonalizationEnabled || (VariantHelper.GetVariantID(VariantModeEnum.ContentPersonalization, node.GetUsedPageTemplateId(), String.Empty) <= 0)) { continue; } break; case "properties.workflow": case "properties.versions": if (node.GetWorkflow() == null) { continue; } break; } var item = new ContextMenuItem(); item.ID = "p" + index; item.Attributes.Add("onclick", String.Format("Properties(GetContextMenuParameter('nodeMenu'), '{0}');", elementName)); item.Text = ResHelper.LocalizeString(elem.ElementDisplayName); pnlPropertiesMenu.Controls.Add(item); index++; } } if (index == 0) { // Hide 'Properties' menu if user has no permission for at least one properties section plcProperties.Visible = false; } } } } else { iNoNode.Visible = true; plcFirstLevelContainer.Visible = false; } }
protected void ContextMenu_OnReloadData(object sender, EventArgs e) { int nodeId = ValidationHelper.GetInteger(ContextMenu.Parameter, 0); // Get the node TreeProvider tree = new TreeProvider(CMSContext.CurrentUser); TreeNode node = tree.SelectSingleNode(nodeId); if (node != null) { // Hide Properties menu item with separator plcProperties.Visible = !HidePropertiesItem && !node.IsWireframe(); if (plcProperties.Visible) { iProperties.ImageUrl = GetImageUrl("CMSModules/CMS_Content/ContextMenu/Properties.png"); iProperties.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'general');"); // Properties menu iGeneral.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'general');"); iUrls.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'urls');"); iTemplate.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'template');"); iMetadata.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'metadata');"); iCategories.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'categories');"); iMenu.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'menu');"); iWorkflow.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'workflow');"); iVersions.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'versions');"); iRelated.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'relateddocs');"); iLinked.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'linkeddocs');"); iSecurity.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'security');"); iAttachments.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'attachments');"); iLanguages.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'languages');"); iWireframe.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'wireframe');"); iVariants.Attributes.Add("onclick", "Properties(GetContextMenuParameter('nodeMenu'), 'variants');"); // Hide language item if (!CultureInfoProvider.IsSiteMultilignual(CMSContext.CurrentSiteName) || !CultureInfoProvider.LicenseVersionCheck()) { pnlUILanguages.Visible = false; } // Hide wireframe tab if wireframe is not present if (node.NodeWireframeTemplateID <= 0) { pnlUIWireframe.Visible = false; } if (DataHelper.GetNotEmpty(URLHelper.GetCurrentDomain(), "") != "") { // Check license and whether content personalization is enabled and whether exists at least one variant for current template if (!LicenseHelper.IsFeatureAvailableInUI(FeatureEnum.ContentPersonalization, ModuleEntry.ONLINEMARKETING) || !ResourceSiteInfoProvider.IsResourceOnSite("CMS.ContentPersonalization", CMSContext.CurrentSiteName) || !PortalContext.ContentPersonalizationEnabled || (ModuleCommands.OnlineMarketingGetContentPersonalizationVariantId(node.GetUsedPageTemplateId(), String.Empty) <= 0)) { pnlUICPVariants.Visible = false; } } // No workflow if (node.GetWorkflow() == null) { // Hide menu items pnlUIWorkflow.Visible = false; pnlUIVersions.Visible = false; } } } else { iNoNode.Visible = true; plcFirstLevelContainer.Visible = false; } }