private static string GetFileLinkHtml(string relativeUrl, SiteInfoIdentifier site) { var absoluteUrl = DocumentURLProvider.GetAbsoluteUrl(relativeUrl, site); var path = new Uri(absoluteUrl).PathAndQuery; return(String.Format("<span class=\"form-control-text\"><a href=\"{0}\" target=\"_blank\">{1}</a></span>", absoluteUrl, path)); }
public async Task <ActionResult> Index(CancellationToken cancellationToken) { var pages = _pageRetriever.Retrieve <TreeNode>(query => query .Path("/", PathTypeEnum.Children)); var aboutUsPage = pages.FirstOrDefault(e => DocumentURLProvider.GetAbsoluteUrl(e).ToLower().Contains("/myblog/about")); _pageDataContextInitializer.Initialize(aboutUsPage); //var aboutUs = _dataRetriever.Retrieve<AboutUs>().Page; //var sideStories = await aboutUsRepository.GetSideStoriesAsync(aboutUs.NodeAliasPath, cancellationToken); //var reference = (await referenceRepository.GetReferencesAsync($"{aboutUs.NodeAliasPath}/References", cancellationToken, 1)).FirstOrDefault(); var sideStories = new List <AboutUsSection> (); var documentQueryHome = AboutUsProvider.GetAboutUs(NodeGuid, "en-US", "BlogPost"); var data = documentQueryHome.FirstOrDefault(); AboutUsViewModel mode = new AboutUsViewModel() { ID = data.AboutUsID, Title = data.AboutUsText, Desc = data.AboutUsDesc }; return(View(mode)); }
/// <summary> /// Loads summary box in the right upper corner. /// </summary> private void LoadSummaryBox() { var selectionParameters = new NodeSelectionParameters { AliasPath = ABTest.ABTestOriginalPage, CultureCode = ABTest.ABTestCulture, SiteName = SiteContext.CurrentSiteName, SelectOnlyPublished = true, CombineWithDefaultCulture = false }; var node = new TreeProvider().SelectSingleNode(selectionParameters); var shortUrl = ShortenUrl(ABTest.ABTestOriginalPage); var encodedShortUrl = HTMLHelper.HTMLEncode(shortUrl); if (node == null) { lblTest.Text = encodedShortUrl; lblTest.Visible = true; } else { lnkTest.HRef = DocumentURLProvider.GetAbsoluteUrl(node); lnkTest.InnerText = encodedShortUrl; lnkTest.Target = "_blank"; lnkTest.Visible = true; } // If Visitors conversion methodology selected, use "Visitors" instead of "Visits" if (drpCountingMethodology.SelectedValue == ABTestConstants.ABSESSIONCONVERSION_FIRST) { lblVisits.ResourceString = "abtesting.overview.summary.visitors"; } lblStatus.Text = ABTestStatusEvaluator.GetFormattedStatus(TestStatus).ToString(); int visits = VariantsStatisticsData.Sum(d => d.Value.Visits); int conversions = VariantsStatisticsData.Sum(d => d.Value.ConversionsCount); lblTotalVisitors.Text = String.Format("{0:N0}", visits); lblTotalConversions.Text = String.Format("{0:N0}", conversions); if (TestStatus == ABTestStatusEnum.Finished) { txtDuration.ResourceString = "abtesting.daysrun"; } DateTime start = ABTest.ABTestOpenFrom; DateTime finish = GetFinishDate(); lblDuration.Text = (finish - start).Days.ToString(); }
private void GeneratePageVisitActivity(TreeNode document, ContactInfo contact) { var nameBuilder = new ActivityTitleBuilder(); var url = DocumentURLProvider.GetAbsoluteUrl(document); var activity = new ActivityInfo { ActivityContactID = contact.ContactID, ActivitySiteID = mSite.SiteID, ActivityTitle = nameBuilder.CreateTitle(PredefinedActivityType.PAGE_VISIT, document.GetDocumentName()), ActivityType = PredefinedActivityType.PAGE_VISIT, ActivityURL = url, ActivityURLHash = mHashService.GetActivityUrlHash(url) }; ActivityInfo.Provider.Set(activity); }
private void SetPreviewLinks() { string liveUrl = DocumentURLProvider.GetAbsoluteUrl(Node); if (string.IsNullOrEmpty(liveUrl) && PageRoutingHelper.GetRoutingMode(Node.NodeSiteID) == PageRoutingModeEnum.Custom) { litMissingPattern.Visible = true; } if (!string.IsNullOrEmpty(liveUrl)) { plcLive.Visible = true; lnkLiveURL.HRef = liveUrl; lnkLiveURL.InnerText = liveUrl; } var previewUrl = Node.GetPreviewLink(CurrentUser.UserGUID); if (!string.IsNullOrEmpty(previewUrl)) { plcPreview.Visible = true; btnResetPreviewGuid.ToolTip = GetString("content.ui.properties.invalidatepreviewurl"); btnResetPreviewGuid.Click += btnResetPreviewGuid_Click; btnResetPreviewGuid.OnClientClick = "if(!confirm(" + ScriptHelper.GetLocalizedString("content.ui.properties.generatepreviewurlconf") + ")){return false;}"; SetPreviewUrl(previewUrl); } if (MembershipContext.AuthenticatedUser.IsAuthorizedPerDocument(Node, NodePermissionsEnum.Modify) != AuthorizationResultEnum.Allowed) { btnResetPreviewGuid.Enabled = false; btnResetPreviewGuid.CssClass = "Disabled"; } UpdateLiveSiteButtonUrl(liveUrl); }
private void CreateFormSubmission(TreeNode document, string formName, ContactInfo contact) { var form = BizFormInfo.Provider.Get(formName, mSite.SiteID); var classInfo = DataClassInfoProvider.GetDataClassInfo(form.FormClassID); var formItem = new BizFormItem(classInfo.ClassName); var url = DocumentURLProvider.GetAbsoluteUrl(document); CopyDataFromContactToForm(contact, classInfo, formItem); SetFormSpecificData(formName, contact, formItem); formItem.Insert(); var activity = new ActivityInfo { ActivityContactID = contact.ContactID, ActivityItemID = form.FormID, ActivityItemDetailID = formItem.ItemID, ActivitySiteID = mSite.SiteID, ActivityTitle = nameBuilder.CreateTitle(PredefinedActivityType.BIZFORM_SUBMIT, form.FormDisplayName), ActivityType = PredefinedActivityType.BIZFORM_SUBMIT, ActivityURL = url }; ActivityInfo.Provider.Set(activity); }
/// <summary> /// Handles Unigrid's OnExternalDataBound event. /// </summary> protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerInvariant()) { case "status": { if (Enum.TryParse(parameter.ToString(), out ABTestStatusEnum status)) { return(ABTestStatusEvaluator.GetFormattedStatus(status)); } break; } case "page": { var dataRowView = parameter as DataRowView; if (dataRowView == null) { return(String.Empty); } var abTestInfo = new ABTestInfo(dataRowView.Row); var selectionParameters = new NodeSelectionParameters { AliasPath = abTestInfo.ABTestOriginalPage, CultureCode = abTestInfo.ABTestCulture, SiteName = SiteContext.CurrentSiteName, SelectOnlyPublished = true, CombineWithDefaultCulture = false }; var node = new TreeProvider().SelectSingleNode(selectionParameters); var encodedTestPage = HTMLHelper.HTMLEncode(abTestInfo.ABTestOriginalPage); return(node == null ? (object)encodedTestPage : new HyperLink { NavigateUrl = DocumentURLProvider.GetAbsoluteUrl(node), Text = encodedTestPage, Target = "_blank" }); } case "visitors": case "conversions": { string statisticsCodeName = (sourceName.ToLowerInvariant() == "visitors" ? "abvisitfirst" : "absessionconversionfirst"); var dataRowView = parameter as DataRowView; if (dataRowView == null) { return(0); } var abTestInfo = new ABTestInfo(dataRowView.Row); return(ValidationHelper.GetInteger(HitsInfoProvider.GetAllHitsInfo(SiteContext.CurrentSiteID, HitsIntervalEnum.Year, statisticsCodeName + ";" + abTestInfo.ABTestName + ";%", "SUM(HitsCount)", abTestInfo.ABTestCulture).Tables[0].Rows[0][0], 0)); } case "delete": CMSGridActionButton btn = (CMSGridActionButton)sender; btn.Enabled = IsAuthorizedToManage; if (!IsAuthorizedToManage) { btn.ToolTip = permissionsRequiredTooltip; } break; } return(null); }
private IEnumerable <CampaignConversionData> PrepareCafeSamplePromotionConversions() { var pageCoffeeSamples = CampaignDataGeneratorHelpers.GetDocument(PAGE_PATH_COFFEE_SAMPLES); var formCoffeeSampleList = BizFormInfo.Provider.Get(COFFEE_SAMPLE_LIST_FORM_CODE_NAME, mSite.SiteID); var liveUrl = DocumentURLProvider.GetAbsoluteUrl(pageCoffeeSamples); return(new List <CampaignConversionData> { /* Campaign conversions. */ new CampaignConversionData { ConversionName = "coffee_samples", ConversionDisplayName = pageCoffeeSamples.DocumentName, ConversionActivityType = PredefinedActivityType.PAGE_VISIT, ConversionItemID = null, ConversionOrder = 1, ConversionIsFunnelStep = false, ConversionUrl = liveUrl }, new CampaignConversionData { ConversionName = "coffee_sample_list", ConversionDisplayName = CONVERSION_FORMSUBMISSION_COFFEE_SAMPLE_LIST, ConversionActivityType = PredefinedActivityType.BIZFORM_SUBMIT, ConversionItemID = formCoffeeSampleList.FormID, ConversionOrder = 2, ConversionIsFunnelStep = false }, /* Campaign journey steps. */ new CampaignConversionData { ConversionName = "coffee_samples_1", ConversionDisplayName = pageCoffeeSamples.DocumentName, ConversionActivityType = PredefinedActivityType.PAGE_VISIT, ConversionItemID = null, ConversionOrder = 1, ConversionIsFunnelStep = true, ConversionUrl = liveUrl }, new CampaignConversionData { ConversionName = "coffee_sample_list_1", ConversionDisplayName = CONVERSION_FORMSUBMISSION_COFFEE_SAMPLE_LIST, ConversionActivityType = PredefinedActivityType.BIZFORM_SUBMIT, ConversionItemID = formCoffeeSampleList.FormID, ConversionOrder = 2, ConversionIsFunnelStep = true }, new CampaignConversionData { ConversionName = "purchase", ConversionDisplayName = CONVERSION_PURCHASE, ConversionActivityType = PredefinedActivityType.PURCHASE, ConversionItemID = 0, ConversionOrder = 3, ConversionIsFunnelStep = true } }); }
private void GenerateActivities(string campaignName, Dictionary <string, IEnumerable <ActivityDataParameters> > conversionHits, int contactsCount) { var campaignCafePromotion = CampaignInfo.Provider.Get(campaignName, mSite.SiteID); var pageVisitColombia = CampaignDataGeneratorHelpers.GetDocument(PAGE_PATH_COFFEE_SAMPLES); var formFreeSample = BizFormInfo.Provider.Get(COFFEE_SAMPLE_LIST_FORM_CODE_NAME, mSite.SiteID); /* Generate activities for campaign */ CampaignDataGeneratorHelpers.DeleteOldActivities(campaignCafePromotion.CampaignUTMCode); var campaignContactsIDs = new ContactsIDData(mContactFirstNamePrefix, contactsCount); CampaignDataGeneratorHelpers.GenerateActivities(conversionHits[CONVERSION_PAGEVISIT_COFFEE_SAMPLES], campaignCafePromotion, PredefinedActivityType.PAGE_VISIT, campaignContactsIDs, activityUrl: DocumentURLProvider.GetAbsoluteUrl(pageVisitColombia)); CampaignDataGeneratorHelpers.GenerateActivities(conversionHits[CONVERSION_FORMSUBMISSION_COFFEE_SAMPLE_LIST], campaignCafePromotion, PredefinedActivityType.BIZFORM_SUBMIT, campaignContactsIDs, formFreeSample.FormID); CampaignDataGeneratorHelpers.GenerateActivities(conversionHits[CONVERSION_PURCHASE], campaignCafePromotion, PredefinedActivityType.PURCHASE, campaignContactsIDs); }
private void UpdateLiveSiteButtonUrl() { var url = DocumentURLProvider.GetAbsoluteUrl(Node); ScriptHelper.RegisterSetLiveSiteURL(this, url); }