private void GenerateCampaignObjective( string campaignName, string conversionName, int objectiveValue) { var campaignInfo = CampaignInfoProvider.GetCampaignInfo(campaignName, _mSite.SiteName); if (campaignInfo == null) { return; } var campaignConversionInfo = CampaignConversionInfoProvider.GetCampaignConversions() .WhereEquals("CampaignConversionDisplayName", conversionName) .WhereEquals("CampaignConversionCampaignID", campaignInfo.CampaignID) .FirstOrDefault(); if (campaignConversionInfo == null) { return; } CampaignObjectiveInfoProvider.SetCampaignObjectiveInfo(new CampaignObjectiveInfo { CampaignObjectiveCampaignID = campaignInfo.CampaignID, CampaignObjectiveCampaignConversionID = campaignConversionInfo.CampaignConversionID, CampaignObjectiveValue = objectiveValue }); }
public void Generate() { CampaignInfoProvider.GetCampaigns().WhereStartsWith("CampaignName", "DancingGoat.") .OnSite(_mSite.SiteID).ToList() .ForEach(CampaignInfoProvider.DeleteCampaignInfo); GenerateCoffeeClubMembershipCampaign(); GenerateCafePromotionSampleCampaign(); GenerateCampaignObjective(CampaignCafeSamplePromotionRunning, ConversionFormsubmissionTryFreeSample, 600); GenerateCampaignObjective(CampaignCafeSamplePromotionFinished, ConversionFormsubmissionTryFreeSample, 50); GenerateActivities(CampaignCafeSamplePromotionRunning, _campaignCafeSamplePromotionRunningHits, CampaignCafeSamplePromotionRunningContactsCount); GenerateActivities(CampaignCafeSamplePromotionFinished, _campaignCafeSamplePromotionFinishedHits, CampaignCafeSamplePromotionFinishedContactsCount); var result = new CalculateCampaignConversionReportTask().Execute(new TaskInfo { TaskSiteID = _mSite.SiteID }); if (!string.IsNullOrEmpty(result)) { throw new InvalidOperationException($"Exception message: '{result}'"); } }
private void GenerateActivities( string campaignName, IReadOnlyDictionary <string, IEnumerable <ActivityDataParameters> > conversionHits, int contactsCount) { var siteName = _mSite.SiteName; var campaignInfo = CampaignInfoProvider.GetCampaignInfo(campaignName, siteName); var posterPath = CampaignDataGeneratorHelpers.GetDocument(PagePathAmericasCoffeePoster); var colombiaPath = CampaignDataGeneratorHelpers.GetDocument(PagePathColombia); var bizFormInfo = BizFormInfoProvider.GetBizFormInfo(TryFreeSampleFormCodeName, _mSite.SiteID); CampaignDataGeneratorHelpers.DeleteOldActivities(campaignInfo.CampaignUTMCode); var contactsIDs = new ContactsIdData(_contactEmailPostfix, contactsCount); CampaignDataGeneratorHelpers.GenerateActivities(conversionHits[ConversionPagevisitColombia], campaignInfo, "pagevisit", contactsIDs, colombiaPath.NodeID); CampaignDataGeneratorHelpers.GenerateActivities(conversionHits[ConversionPagevisitAmericasCoffeePoster], campaignInfo, "pagevisit", contactsIDs, posterPath.NodeID); CampaignDataGeneratorHelpers.GenerateActivities(conversionHits[ConversionUserregistration], campaignInfo, "userregistration", contactsIDs); CampaignDataGeneratorHelpers.GenerateActivities(conversionHits[ConversionFormsubmissionTryFreeSample], campaignInfo, "bizformsubmit", contactsIDs, bizFormInfo.FormID); }
/// <summary> /// Reload data from node to controls. /// </summary> private void ReloadData() { ucConversionSelector.Value = Node.DocumentTrackConversionName; txtConversionValue.Value = Node.DocumentConversionValue; var campaignsListWithNameAndLink = CampaignInfoProvider.GetCampaigns() .Source(s => s.Join <CampaignAssetInfo>("CampaignID", "CampaignAssetCampaignID")) .WhereEquals("CampaignAssetAssetGuid", Node.NodeGUID) .WhereEquals("CampaignAssetType", TreeNode.OBJECT_TYPE) .Columns("CampaignDisplayName", "CampaignID") .Select(campaign => new { EncodedCampaignDisplayName = HTMLHelper.HTMLEncode(campaign.CampaignDisplayName), CampaignEditLink = URLHelper.GetAbsoluteUrl(Service.Entry <IUILinkProvider>().GetSingleObjectLink(CampaignInfo.TYPEINFO.ModuleName, CAMPAIGN_ELEMENT_CODENAME, new ObjectDetailLinkParameters { ObjectIdentifier = campaign.CampaignID, AllowNavigationToListing = true })) }); if (campaignsListWithNameAndLink.Any()) { listViewCampaings.DataSource = campaignsListWithNameAndLink; listViewCampaings.DataBind(); ucConversionSelector.Enabled = false; txtConversionValue.Enabled = false; smrtpEditInCampaign.Visible = true; smrtpEditInCampaign.Content = GetString("om.analyticSettings.editInCampain"); } else { pnlTrackedCampaigns.Visible = false; } }
private string GetUtmCampaignNameHtmlOutput() { CampaignInfo campaign = CampaignInfoProvider.GetCampaignByUTMCode(mIssue.IssueUTMCampaign, CurrentSiteName); // Is issue linked to an existing campaign if (campaign != null) { var campaignDetailUrl = Service.Resolve <IUILinkProvider>().GetSingleObjectLink(CampaignInfo.TYPEINFO.ModuleName, CAMPAIGN_ELEMENT_CODENAME, new ObjectDetailLinkParameters { ObjectIdentifier = campaign.CampaignID, AllowNavigationToListing = true }); var hyperLink = new HyperLink { NavigateUrl = URLHelper.GetAbsoluteUrl(campaignDetailUrl), Text = HTMLHelper.HTMLEncode(campaign.CampaignDisplayName), Target = "_top", }; return(hyperLink.GetRenderedHTML()); } return(mIssue.IssueUTMCampaign); }
/// <summary> /// Test if campaign is valid. /// </summary> public override bool IsValid() { String value = ValidationHelper.GetString(usCampaign.Value, String.Empty).Trim(); if (value != String.Empty && value != UniSelector.US_NONE_RECORD.ToString()) { String domain = RequestContext.CurrentDomain; if (DataHelper.GetNotEmpty(domain, "") != "") { string parsedDomain = LicenseKeyInfoProvider.ParseDomainName(domain); if (!LicenseKeyInfoProvider.IsFeatureAvailable(parsedDomain, FeatureEnum.CampaignAndConversions)) { ValidationError = GetString("campaignselector.nolicence"); return(false); } } if (!ValidationHelper.IsCodeName(value)) { ValidationError = GetString("campaign.validcodename"); return(false); } // If campaign object not found CampaignInfo ci = CampaignInfoProvider.GetCampaignInfo(value, SiteInfoProvider.GetSiteName(SiteID)); // Handle info not found if (ci == null) { if (!CreateOnUnknownName) { // Selector is not set to create new campaigns so error out ValidationError = GetString("campaign.validcodename"); return(false); } // Or check permissions .. if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.WebAnalytics", "ManageCampaigns")) { ValidationError = GetString("campaign.notallowedcreate"); return(false); } // .. and try to create a new one. ci = new CampaignInfo(); ci.CampaignName = value; ci.CampaignUTMCode = value; ci.CampaignDisplayName = value; ci.CampaignEnabled = true; ci.CampaignSiteID = SiteID; CampaignInfoProvider.SetCampaignInfo(ci); } } return(true); }
void EditForm_OnAfterSave(object sender, EventArgs e) { CampaignInfo ci = EditForm.EditedObject as CampaignInfo; // If code name has changed (on existing object) => Rename all analytics statistics data. if ((ci != null) && (ci.CampaignName != formerCodeName) && (formerCodeName != String.Empty)) { CampaignInfoProvider.RenameCampaignStatistics(formerCodeName, ci.CampaignName, CMSContext.CurrentSiteID); } }
private static IList <CampaignListItemViewModel> GetCampaigns() { var now = DateTime.Now; return(CampaignInfoProvider.GetCampaigns() .OnSite(SiteContext.CurrentSiteID) .ToList() .OrderBy(campaign => (int)campaign.GetCampaignStatus(now)) .ThenBy(campaign => campaign.CampaignDisplayName) .Select(campaign => CreateCampaignViewModel(campaign, now)) .ToList()); }
protected void Page_Init(object sender, EventArgs e) { // Checks all permissions for web analytics CheckAllPermissions(); CampaignInfo ci = EditedObject as CampaignInfo; string campaignName = QueryHelper.GetString("campaignName", String.Empty); if (campaignName != String.Empty) { // Try to check dialog mode ci = CampaignInfoProvider.GetCampaignInfo(campaignName, SiteContext.CurrentSiteName); } if ((campaignName != String.Empty) && (ci == null)) { // Set warning text infoText = String.Format(GetString("campaign.editedobjectnotexits"), HTMLHelper.HTMLEncode(campaignName)); // Create campaign info based on campaign name ci = new CampaignInfo(); ci.CampaignDisplayName = campaignName; ci.CampaignName = campaignName; } // Validate SiteID for non administrators if (ci != null) { if (!ci.CheckPermissions(PermissionsEnum.Read, CurrentSiteName, CurrentUser)) { RedirectToAccessDenied(ci.TypeInfo.ModuleName, "Read"); } } if (modalDialog) { if (ci != null) { PageTitle.TitleText = GetString("analytics.campaign"); } else { PageTitle.TitleText = GetString("campaign.campaign.new"); } } if (ci != null) { EditedObject = ci; } }
/// <summary> /// Generates campaign. /// </summary> /// <param name="campaignData">Campaign data for generating.</param> private void GenerateCampaign(CampaignData campaignData) { var siteName = mSite.SiteName; var campaign = CampaignInfoProvider.GetCampaignInfo(campaignData.CampaignName, siteName); if (campaign != null) { return; } campaign = new CampaignInfo { CampaignName = campaignData.CampaignName, CampaignDisplayName = campaignData.CampaignDisplayName, CampaignDescription = campaignData.CampaignDescription, CampaignOpenFrom = campaignData.CampaignOpenFrom, CampaignCalculatedTo = campaignData.CampaignOpenFrom, CampaignOpenTo = campaignData.CampaignOpenTo, CampaignSiteID = mSite.SiteID, CampaignUTMCode = campaignData.CampaignUTMCode }; CampaignInfoProvider.SetCampaignInfo(campaign); /* Add email to campaign promotion section */ CampaignDataGeneratorHelpers.AddNewsletterAsset(campaign, campaignData.CampaignEmailPromotion); var issue = ProviderHelper.GetInfoByGuid(PredefinedObjectType.NEWSLETTERISSUE, campaignData.CampaignEmailPromotion, campaign.CampaignSiteID); if (issue != null) { issue.SetValue("IssueStatus", 5); issue.SetValue("IssueMailoutTime", campaignData.CampaignOpenFrom); issue.Update(); } /* Add page assets to campaign content inventory section */ foreach (var assetUrlGuid in campaignData.CampaignContentInventory) { CampaignDataGeneratorHelpers.AddPageAsset(campaign.CampaignID, assetUrlGuid); } /* Add conversions to campaign report setup section */ foreach (var conversion in campaignData.CampaignReportSetup) { CampaignDataGeneratorHelpers.CreateConversion(campaign.CampaignID, conversion); } }
/// <summary> /// Replace value in ActivityCampaign field where <see cref="CampaignInfo.CampaignName"/> is stored by <see cref="CampaignInfo.CampaignID"/>. /// </summary> /// <param name="step">Step to be replaced.</param> private static void UpdateCustomActivityStep(WorkflowStepInfo step) { var parameters = step.StepActionParameters; var campaignName = parameters.GetValue("ActivityCampaign"); var campaign = CampaignInfoProvider.GetCampaigns() .WhereEquals("CampaignName", campaignName) .FirstOrDefault(); if (campaign == null) { return; } parameters.SetValue("ActivityCampaign", campaign.CampaignID); WorkflowStepInfoProvider.SetWorkflowStepInfo(step); }
private void GenerateActivities(string campaignName, Dictionary <string, IEnumerable <ActivityDataParameters> > conversionHits, int contactsCount) { var siteName = mSite.SiteName; var campaignCafePromotion = CampaignInfoProvider.GetCampaignInfo(campaignName, siteName); var pageVisitColombia = CampaignDataGeneratorHelpers.GetDocument(PAGE_PATH_COFFEE_SAMPLES); var formFreeSample = BizFormInfoProvider.GetBizFormInfo(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.GetAbsoluteLiveSiteURL(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); }
protected void Page_Load(object sender, EventArgs e) { usSelectConversion.SelectionMode = SelectionModeEnum.SingleDropDownList; usSite.UserId = MembershipContext.AuthenticatedUser.UserID; usSite.AllowAll = MembershipContext.AuthenticatedUser.IsGlobalAdministrator; string campaignName = ValidationHelper.GetString(ucSelectCampaign.Value, String.Empty); if (campaignName != ucSelectCampaign.AllRecordValue) { CampaignInfo ci = CampaignInfoProvider.GetCampaignInfo(campaignName, SiteContext.CurrentSiteName); if ((ci != null) && (!ci.CampaignUseAllConversions)) { usSelectConversion.WhereCondition = "ConversionID IN (SELECT ConversionID FROM Analytics_ConversionCampaign WHERE CampaignID =" + ci.CampaignID + ")"; } } if (!URLHelper.IsPostback()) { if (ShowVisitsInGoalSelector) { drpGoals.Items.Add(new ListItem(GetString("analytics.view"), "view")); } drpGoals.Items.Add(new ListItem(GetString("conversion.count"), "count")); drpGoals.Items.Add(new ListItem(GetString("om.trackconversionvalue"), "value")); usSite.SiteID = SiteContext.CurrentSiteID; } // Filter conversions for selected site (current is site selector not visible) int siteID = SiteContext.CurrentSiteID; if (pnlSite.Visible) { siteID = usSite.SiteID; } // Filter conversions only if not all sites selected if (!pnlSite.Visible || (siteID.ToString() != usSite.AllRecordValue)) { usSelectConversion.WhereCondition = SqlHelper.AddWhereCondition(usSelectConversion.WhereCondition, "ConversionSiteID =" + siteID); } usSelectConversion.ReloadData(true); drpGoals.AutoPostBack = true; }
private void GenerateCampaign(CampaignData campaignData) { var siteName = _mSite.SiteName; if (CampaignInfoProvider.GetCampaignInfo(campaignData.CampaignName, siteName) != null) { return; } var campaignInfo = new CampaignInfo { CampaignName = campaignData.CampaignName, CampaignDisplayName = campaignData.CampaignDisplayName, CampaignDescription = campaignData.CampaignDescription, CampaignOpenFrom = campaignData.CampaignOpenFrom, CampaignCalculatedTo = campaignData.CampaignOpenFrom, CampaignOpenTo = campaignData.CampaignOpenTo, CampaignSiteID = _mSite.SiteID, CampaignUTMCode = campaignData.CampaignUtmCode }; CampaignInfoProvider.SetCampaignInfo(campaignInfo); CampaignDataGeneratorHelpers.AddNewsletterAsset(campaignInfo, campaignData.CampaignEmailPromotion); var infoByGuid = ProviderHelper.GetInfoByGuid("newsletter.issue", campaignData.CampaignEmailPromotion, campaignInfo.CampaignSiteID); if (infoByGuid != null) { infoByGuid.SetValue("IssueStatus", 5); infoByGuid.SetValue("IssueMailoutTime", campaignData.CampaignOpenFrom); infoByGuid.Update(); } foreach (var pagePath in campaignData.CampaignContentInventory) { CampaignDataGeneratorHelpers.AddPageAsset(campaignInfo.CampaignID, pagePath); } foreach (var conversionData in campaignData.CampaignReportSetup) { CampaignDataGeneratorHelpers.CreateConversion(campaignInfo.CampaignID, conversionData); } }
protected void ConversionsSelection_changed(object sender, EventArgs ea) { // Check "modify" permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.WebAnalytics", "ManageCampaigns")) { RedirectToAccessDenied("CMS.WebAnalytics", "Manage campaigns"); } if (ci != null) { ci.CampaignUseAllConversions = rbAllConversions.Checked; if (ci.CampaignUseAllConversions) { CampaignInfoProvider.RemoveAllConversionsFromCampaign(campaignID); } CampaignInfoProvider.SetCampaignInfo(ci); ShowChangesSaved(); } }
/// <summary> /// Loads data from post info object into the dialog. /// </summary> /// <param name="post">Facebook post info object.</param> private void LoadPostIntoDialog(FacebookPostInfo post) { if ((post == null) || (post.FacebookPostSiteID != SiteContext.CurrentSiteID)) { pnlPostDetail.Visible = false; ShowError(GetString("sm.facebook.posts.msg.postnotexist")); return; } lblPostStatus.Text = FacebookPostInfoProvider.GetPostPublishStateMessage(post, MembershipContext.AuthenticatedUser, SiteContext.CurrentSite, true); lblPeopleReachedValue.Text = ValidationHelper.GetString(post.FacebookPostInsightPeopleReached, String.Empty); if (post.FacebookPostCampaignID.HasValue) { CampaignInfo campaign = CampaignInfoProvider.GetCampaignInfo(post.FacebookPostCampaignID.Value); if (campaign != null) { lblCampaign.Text = HTMLHelper.HTMLEncode(campaign.CampaignDisplayName); } } else { pnlCampaign.Visible = false; } lblPostText.Text = GetPostTextHTML(post.FacebookPostText); lblPostLikesValue.Text = ValidationHelper.GetString(post.FacebookPostInsightLikesFromPage, String.Empty); lblPostCommentsValue.Text = ValidationHelper.GetString(post.FacebookPostInsightCommentsFromPage, String.Empty); lblPostSharesValue.Text = ValidationHelper.GetString(post.FacebookPostInsightSharesFromPage, String.Empty); lblTotalLikesValue.Text = ValidationHelper.GetString(post.FacebookPostInsightLikesTotal, String.Empty); lblTotalCommentsValue.Text = ValidationHelper.GetString(post.FacebookPostInsightCommentsTotal, String.Empty); lblHidePostValue.Text = ValidationHelper.GetString(post.FacebookPostInsightNegativeHidePost, String.Empty); lblHideAllPostsValue.Text = ValidationHelper.GetString(post.FacebookPostInsightNegativeHideAllPosts, String.Empty); lblReportSpamValue.Text = ValidationHelper.GetString(post.FacebookPostInsightNegativeReportSpam, String.Empty); lblUnlikePageValue.Text = ValidationHelper.GetString(post.FacebookPostInsightNegativeUnlikePage, String.Empty); }
/// <summary> /// Performs campaigns sample data generating. /// </summary> public void Generate() { CampaignInfoProvider.GetCampaigns() .WhereStartsWith("CampaignName", "DancingGoatMVC.") .OnSite(mSite.SiteID) .ToList() .ForEach(CampaignInfoProvider.DeleteCampaignInfo); /* Generate campaigns. */ GenerateCafePromotionSampleCampaign(); /* Generate campaign objectives */ GenerateCampaignObjective(CAMPAIGN_CAFE_SAMPLE_PROMOTION_RUNNING, CONVERSION_FORMSUBMISSION_COFFEE_SAMPLE_LIST, 600); GenerateCampaignObjective(CAMPAIGN_CAFE_SAMPLE_PROMOTION_FINISHED, CONVERSION_FORMSUBMISSION_COFFEE_SAMPLE_LIST, 50); /* Generate activities */ GenerateActivities(CAMPAIGN_CAFE_SAMPLE_PROMOTION_RUNNING, CAMPAIGN_CAFE_SAMPLE_PROMOTION_RUNNING_HITS, CAMPAIGN_CAFE_SAMPLE_PROMOTION_RUNNING_CONTACTS_COUNT); GenerateActivities(CAMPAIGN_CAFE_SAMPLE_PROMOTION_FINISHED, CAMPAIGN_CAFE_SAMPLE_PROMOTION_FINISHED_HITS, CAMPAIGN_CAFE_SAMPLE_PROMOTION_FINISHED_CONTACTS_COUNT); new CalculateCampaignConversionReportTask().Execute(new TaskInfo() { TaskSiteID = mSite.SiteID }); }
/// <summary> /// Reloads control data. /// </summary> /// <param name="forceReload">Indicates if force reload should be used</param> public override void ReloadData(bool forceReload) { var isABTest = false; if (!mLoaded || forceReload) { IssueInfo issue = null; if (IssueID > 0) { // Get issue object issue = IssueInfoProvider.GetIssueInfo(IssueID); if (issue != null) { if (NewsletterID == 0) { // Set newsletter ID NewsletterID = issue.IssueNewsletterID; } if (string.IsNullOrEmpty(txtSubject.Text) || forceReload) { txtSubject.Text = issue.IssueSubject; chkShowInArchive.Checked = issue.IssueShowInNewsletterArchive; chkIssueUseUTM.Checked = issue.IssueUseUTM; } isABTest = issue.IssueIsABTest; } } // Get newsletter object if (Newsletter != null) { // Modify where condition of template selector if issue exists string issueTemplateWhere = (issue != null) ? string.Format(" OR TemplateID IN (SELECT IssueTemplateID From Newsletter_NewsletterIssue WHERE IssueID={0})", issue.IssueID) : string.Empty; // Initialize template selector issueTemplate.WhereCondition = String.Format("(TemplateType='{0}') AND (TemplateID IN (SELECT NewsletterTemplateID FROM Newsletter_Newsletter WHERE NewsletterID={1})" + " OR TemplateID IN (SELECT TemplateID FROM Newsletter_EmailTemplateNewsletter WHERE NewsletterID={1}){2}) AND (TemplateSiteID={3})", EmailTemplateType.Issue, NewsletterID, issueTemplateWhere, Newsletter.NewsletterSiteID); if (TemplateID > 0) { // Set selected value issueTemplate.Value = TemplateID; } if ((forceReload || (TemplateID <= 0)) && (issue != null) && (issue.IssueTemplateID != TemplateID)) { // Change selected value issueTemplate.Value = TemplateID = issue.IssueTemplateID; issueTemplate.Reload(forceReload); } if (TemplateID <= 0) { // Get ID of default template issueTemplate.Value = TemplateID = Newsletter.NewsletterTemplateID; } // Prevent selecting none value in campaign selector if there is no campaign if (CampaignInfoProvider.GetCampaigns().OnSite(SiteContext.CurrentSiteID).Count == 0) { radUTMCampaignExisting.Checked = false; radUTMCampaignExisting.Enabled = false; selectorUTMCampaign.Enabled = false; radUTMCampaignNew.Checked = true; txtIssueUTMCampaign.Enabled = true; } // Initialize inputs and content controls if (!RequestHelper.IsPostBack() || forceReload) { txtSenderName.Text = (issue != null ? issue.IssueSenderName : Newsletter.NewsletterSenderName); txtSenderEmail.Text = (issue != null ? issue.IssueSenderEmail : Newsletter.NewsletterSenderEmail); txtIssueUTMSource.Text = (issue != null ? issue.IssueUTMSource : string.Empty); if (issue != null) { if (CampaignInfoProvider.GetCampaignByUTMCode(issue.IssueUTMCampaign, SiteContext.CurrentSiteName) != null) { selectorUTMCampaign.Value = issue.IssueUTMCampaign; selectorUTMCampaign.Reload(forceReload); selectorUTMCampaign.Enabled = true; radUTMCampaignExisting.Checked = true; radUTMCampaignNew.Checked = false; txtIssueUTMCampaign.Enabled = false; } else { txtIssueUTMCampaign.Text = issue.IssueUTMCampaign; txtIssueUTMCampaign.Enabled = true; radUTMCampaignExisting.Checked = false; radUTMCampaignNew.Checked = true; selectorUTMCampaign.Enabled = false; } } } else { if (issue != null) { if (string.IsNullOrEmpty(txtIssueUTMSource.Text.Trim())) { txtIssueUTMSource.Text = Normalize(Newsletter.NewsletterName + "_" + txtSubject.Text.Trim()); } if (string.IsNullOrEmpty(txtIssueUTMCampaign.Text.Trim())) { txtIssueUTMCampaign.Text = Newsletter.NewsletterName.ToLower(); } } } contentBody.NewsletterID = NewsletterID; contentBody.IssueID = IssueID; contentBody.TemplateID = TemplateID; contentBody.Enabled = Enabled; contentBody.ReloadData(forceReload); // Set simple/advanced options visibility InitSimpleAdvancedOptions(); txtIssueUTMCampaign.Attributes["placeholder"] = Newsletter.NewsletterName.ToLower(); // Set flag mLoaded = true; } } txtIssueUTMMedium.Text = DEFAULT_UTM_MEDIUM; chkShowInArchive.Enabled = txtSubject.Enabled = txtSenderEmail.Enabled = txtSenderName.Enabled = issueTemplate.Enabled = Enabled; chkIssueUseUTM.Enabled = pnlIssueUTMCampaign.Enabled = pnlIssueUTMMedium.Enabled = pnlIssueUTMSource.Enabled = Enabled; pnlUTMParameters.Visible = chkIssueUseUTM.Checked; InitTooltips(isABTest); }
protected void Page_Load(object sender, EventArgs e) { ucDisplayReport = LoadControl("~/CMSModules/Reporting/Controls/DisplayReport.ascx") as IDisplayReport; pnlContent.Controls.Add((Control)ucDisplayReport); CurrentMaster.PanelContent.CssClass = ""; UIHelper.AllowUpdateProgress = false; ScriptHelper.RegisterDialogScript(Page); // Campaign Info int campaignID = QueryHelper.GetInteger("campaignID", 0); campaignInfo = CampaignInfoProvider.GetCampaignInfo(campaignID); if (campaignInfo == null) { return; } // Validate SiteID for non administrators if (!CMSContext.CurrentUser.IsGlobalAdministrator) { if (campaignInfo.CampaignSiteID != CMSContext.CurrentSiteID) { RedirectToAccessDenied(GetString("cmsmessages.accessdenied")); } } campaignName = campaignInfo.CampaignName; // Text for menu mSave = GetString("general.save"); mPrint = GetString("Analytics_Report.Print"); mDeleteData = GetString("Analytics_Report.ManageData"); // Images for menu buttons imgSave.ImageUrl = GetImageUrl("CMSModules/CMS_Content/EditMenu/save_small.png"); imgPrint.ImageUrl = GetImageUrl("General/printSmall.png"); imgManageData.ImageUrl = GetImageUrl("CMSModules/CMS_Reporting/managedataSmall.png"); // Check 'ManageData' permission if (CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.WebAnalytics", "ManageData")) { this.lnkDeleteData.OnClientClick = "modalDialog('" + ResolveUrl("~/CMSModules/Reporting/WebAnalytics/Analytics_ManageData.aspx") + "?statcodename=singlecampaign;" + campaignName + "', 'AnalyticsManageData', " + AnalyticsHelper.MANAGE_WINDOW_WIDTH + ", " + AnalyticsHelper.MANAGE_WINDOW_HEIGHT + "); return false; "; this.lnkDeleteData.Visible = true; } ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "myModalDialog", ScriptHelper.GetScript("function myModalDialog(url, name, width, height) { " + "win = window; " + "var dHeight = height; var dWidth = width; " + "if (( document.all )&&(navigator.appName != 'Opera')) { " + "try { win = wopener.window; } catch (e) {} " + "if ( parseInt(navigator.appVersion.substr(22, 1)) < 7 ) { dWidth += 4; dHeight += 58; }; " + "dialog = win.showModalDialog(url, this, 'dialogWidth:' + dWidth + 'px;dialogHeight:' + dHeight + 'px;resizable:yes;scroll:yes'); " + "} else { " + "oWindow = win.open(url, name, 'height=' + dHeight + ',width=' + dWidth + ',toolbar=no,directories=no,menubar=no,modal=yes,dependent=yes,resizable=yes,scroll=yes,scrollbars=yes'); oWindow.opener = this; oWindow.focus(); } } ")); ucGraphType.ProcessChartSelectors(false); // Enables/disables radio buttons (based on UI elements) CurrentUserInfo ui = CMSContext.CurrentUser; bool checkedButton = false; if (!RequestHelper.IsPostBack()) { if (!ui.IsGlobalAdministrator) { rbCount.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "CampaignConversionCount"); rbDetail.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "CampaignDetails"); rbGoalCount.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "goals.numberofconversions"); rbGoalValue.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "goals.totalvalueofconversions"); rbGoalView.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "goals.numberofvisitors"); rbValue.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "campaignsConversionValue"); rbValuePerVisitor.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "valuepervisitor"); rbViews.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "campaign.overview"); // Check first enabled button foreach (Control ctrl in pnlRadios.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("campaign.noreportavaible")); } } else { // Admin check first radio button rbViews.Checked = true; } } }
/// <summary> /// Loads form data. /// </summary> private void LoadForm() { var isABTest = false; IssueInfo issue = null; if (IssueID > 0) { // Get issue object issue = IssueInfoProvider.GetIssueInfo(IssueID); if (issue != null) { if (NewsletterID == 0) { // Set newsletter ID NewsletterID = issue.IssueNewsletterID; } if (!RequestHelper.IsPostBack()) { txtDisplayName.Text = issue.IssueDisplayName; txtSubject.Text = issue.IssueSubject; chkIssueUseUTM.Checked = issue.IssueUseUTM; } isABTest = issue.IssueIsABTest; } } // Get newsletter object if (Newsletter != null) { issueTemplate.WhereCondition = GetAvailableEmailTemplatesWhere(issue); if (TemplateID > 0) { // Set selected value issueTemplate.Value = TemplateID; } if ((TemplateID <= 0) && (issue != null) && (issue.IssueTemplateID != TemplateID)) { // Change selected value issueTemplate.Value = TemplateID = issue.IssueTemplateID; issueTemplate.Reload(false); } // Prevent selecting none value in campaign selector if there is no campaign if (mAreCampaignsAvailable && CampaignInfoProvider.GetCampaigns().OnSite(SiteContext.CurrentSiteID).Count == 0) { radUTMCampaignExisting.Checked = false; radUTMCampaignExisting.Enabled = false; selectorUTMCampaign.Enabled = false; radUTMCampaignNew.Checked = true; mUTMCampaignTextBox.Enabled = true; } // Initialize inputs and content controls if (!RequestHelper.IsPostBack()) { txtSenderName.Text = issue != null ? issue.IssueSenderName : Newsletter.NewsletterSenderName; txtSenderEmail.Text = issue != null ? issue.IssueSenderEmail : Newsletter.NewsletterSenderEmail; txtIssueUTMSource.Text = issue != null ? issue.IssueUTMSource : string.Empty; txtPreheader.Text = issue != null ? issue.IssuePreheader : string.Empty; if (issue != null) { if (mAreCampaignsAvailable && (CampaignInfoProvider.GetCampaignByUTMCode(issue.IssueUTMCampaign, SiteContext.CurrentSiteName) != null)) { selectorUTMCampaign.Value = issue.IssueUTMCampaign; selectorUTMCampaign.Reload(false); selectorUTMCampaign.Enabled = true; radUTMCampaignExisting.Checked = true; radUTMCampaignNew.Checked = false; mUTMCampaignTextBox.Enabled = false; } else { mUTMCampaignTextBox.Text = issue.IssueUTMCampaign; mUTMCampaignTextBox.Enabled = true; radUTMCampaignExisting.Checked = false; radUTMCampaignNew.Checked = true; selectorUTMCampaign.Enabled = false; } } } else { if (issue != null && !pnlUTMParameters.Visible) { if (string.IsNullOrEmpty(txtIssueUTMSource.Text.Trim())) { txtIssueUTMSource.Text = Normalize(Newsletter.NewsletterName + "_" + txtSubject.Text.Trim()); } if (string.IsNullOrEmpty(mUTMCampaignTextBox.Text.Trim())) { mUTMCampaignTextBox.Text = Newsletter.NewsletterName.ToLower(CultureInfo.CurrentCulture); } } } mUTMCampaignTextBox.Attributes["placeholder"] = Newsletter.NewsletterName.ToLower(CultureInfo.CurrentCulture); } txtIssueUTMMedium.Text = DEFAULT_UTM_MEDIUM; btnSubmit.Enabled = Enabled; txtDisplayName.Enabled = Enabled && IsDisplayNameFieldEnabled(issue); txtPreheader.Enabled = Enabled; chkIssueUseUTM.Enabled = pnlIssueUTMCampaign.Enabled = pnlIssueUTMMedium.Enabled = pnlIssueUTMSource.Enabled = Enabled; txtSubject.Enabled = txtSenderEmail.Enabled = txtSenderName.Enabled = issueTemplate.Enabled = Enabled; pnlUTMParameters.Visible = chkIssueUseUTM.Checked; InitTooltips(isABTest); }
protected override void OnPreInit(EventArgs e) { // Checks all permissions for web analytics CMSWebAnalyticsPage.CheckAllPermissions(); string campaignName = QueryHelper.GetString("campaignName", String.Empty); int campaignID = QueryHelper.GetInteger("campaignID", 0); CampaignInfo ci = null; if (campaignName != String.Empty) { // Try to check dialog mode ci = CampaignInfoProvider.GetCampaignInfo(campaignName, CMSContext.CurrentSiteName); } if ((campaignName != String.Empty) && (ci == null)) { // Set warning text infoText = String.Format(GetString("campaign.editedobjectnotexits"), campaignName); // Create campaign info based on campaign name ci = new CampaignInfo(); ci.CampaignDisplayName = campaignName; ci.CampaignName = campaignName; } if (campaignID != 0) { ci = CampaignInfoProvider.GetCampaignInfo(campaignID); } // Validate SiteID for non administrators if ((ci != null) && (!CMSContext.CurrentUser.IsGlobalAdministrator)) { if (ci.CampaignSiteID != CMSContext.CurrentSiteID) { RedirectToAccessDenied(GetString("cmsmessages.accessdenied")); } } modalDialog = QueryHelper.GetBoolean("modalDialog", false); if (modalDialog) { MasterPageFile = "~/CMSMasterPages/UI/Dialogs/ModalDialogPage.master"; if (ci != null) { this.CurrentMaster.Title.TitleText = GetString("analytics.campaign"); this.CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Analytics_Campaign/object.png"); } else { this.CurrentMaster.Title.TitleText = GetString("campaign.campaign.new"); this.CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Analytics_Campaign/new.png"); } SetDialogButtons(); } if (ci != null) { EditedObject = ci; } CurrentMaster.Title.HelpTopicName = "campaign_general"; CurrentMaster.Title.HelpName = "helpTopic"; base.OnPreInit(e); }
protected void Page_Load(object sender, EventArgs e) { reportHeaderActions.ActionPerformed += HeaderActions_ActionPerformed; ucDisplayReport = this.LoadUserControl("~/CMSModules/Reporting/Controls/DisplayReport.ascx") as IDisplayReport; pnlContent.Controls.Add((Control)ucDisplayReport); CurrentMaster.PanelContent.CssClass = string.Empty; UIHelper.AllowUpdateProgress = false; ScriptHelper.RegisterDialogScript(Page); // Campaign Info int campaignID = QueryHelper.GetInteger("campaignID", 0); campaignInfo = CampaignInfoProvider.GetCampaignInfo(campaignID); if (campaignInfo == null) { return; } // Validate SiteID for non administrators if (!CMSContext.CurrentUser.IsGlobalAdministrator) { if (campaignInfo.CampaignSiteID != CMSContext.CurrentSiteID) { RedirectToAccessDenied(GetString("cmsmessages.accessdenied")); } } campaignName = campaignInfo.CampaignName; ScriptHelper.RegisterPrintDialogScript(this); ucGraphType.ProcessChartSelectors(false); // Enables/disables radio buttons (based on UI elements) CurrentUserInfo ui = CMSContext.CurrentUser; bool checkedButton = false; if (!RequestHelper.IsPostBack()) { if (!ui.IsGlobalAdministrator) { rbCount.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "CampaignConversionCount"); rbDetail.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "CampaignDetails"); rbGoalCount.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "goals.numberofconversions"); rbGoalValue.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "goals.totalvalueofconversions"); rbGoalView.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "goals.numberofvisitors"); rbValue.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "campaignsConversionValue"); rbValuePerVisitor.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "valuepervisitor"); rbViews.Enabled = ui.IsAuthorizedPerUIElement("cms.WebAnalytics", "campaign.overview"); // Check first enabled button foreach (Control ctrl in pnlRadios.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("campaign.noreportavaible")); } } else { // Admin check first radio button rbViews.Checked = true; } } }