コード例 #1
0
    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;
        }
    }
コード例 #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        mCampaignInfo = EditedObject as CampaignInfo;
        if (mCampaignInfo == null)
        {
            return;
        }

        // Validate SiteID for non administrators
        if (!MembershipContext.AuthenticatedUser.IsGlobalAdministrator)
        {
            if (mCampaignInfo.CampaignSiteID != SiteContext.CurrentSiteID)
            {
                RedirectToAccessDenied(GetString("cmsmessages.accessdenied"));
            }
        }

        FillDataForBasicCampaignInfo();
        InitializeControls();
    }
コード例 #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ci = EditedObject as CampaignInfo;
        if (!RequestHelper.IsPostBack())
        {
            if (ci != null)
            {
                rbAllConversions.Checked = ci.CampaignUseAllConversions;
                rbSelectedConversions.Checked = !ci.CampaignUseAllConversions;
            }
        }

        // Validate SiteID for non administrators
        if ((ci != null) && (!CMSContext.CurrentUser.IsGlobalAdministrator))
        {
            if (ci.CampaignSiteID != CMSContext.CurrentSiteID)
            {
                RedirectToAccessDenied(GetString("cmsmessages.accessdenied"));
            }
        }

        plcTable.Visible = !rbAllConversions.Checked;

        lblAvialable.Text = GetString("campaign.availableconversions");
        campaignID = QueryHelper.GetInteger("campaignid", 0);

        // Get the conversions
        currentValues = GetConversions();

        if (!RequestHelper.IsPostBack())
        {
            usConversions.Value = currentValues;
        }

        usConversions.WhereCondition = "ConversionSiteID = " + CMSContext.CurrentSiteID;
        usConversions.OnSelectionChanged += usConversions_OnSelectionChanged;
        rbAllConversions.CheckedChanged += ConversionsSelection_changed;
        rbSelectedConversions.CheckedChanged += ConversionsSelection_changed;
    }
コード例 #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ci = EditedObject as CampaignInfo;
        if (!RequestHelper.IsPostBack())
        {
            if (ci != null)
            {
                rbAllConversions.Checked = ci.CampaignUseAllConversions;
                rbSelectedConversions.Checked = !ci.CampaignUseAllConversions;
            }
        }

        // Validate SiteID for non administrators
        if (ci != null)
        {
            if (!ci.CheckPermissions(PermissionsEnum.Read, CurrentSiteName, CurrentUser))
            {
                RedirectToAccessDenied(ci.TypeInfo.ModuleName, "Read");
            }
        }

        plcTable.Visible = !rbAllConversions.Checked;

        campaignID = QueryHelper.GetInteger("campaignid", 0);

        // Get the conversions
        currentValues = GetConversions();

        if (!RequestHelper.IsPostBack())
        {
            usConversions.Value = currentValues;
        }

        usConversions.WhereCondition = "ConversionSiteID = " + SiteContext.CurrentSiteID;
        usConversions.OnSelectionChanged += usConversions_OnSelectionChanged;
        rbAllConversions.CheckedChanged += ConversionsSelection_changed;
        rbSelectedConversions.CheckedChanged += ConversionsSelection_changed;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        reportHeaderActions.ActionPerformed += HeaderActions_ActionPerformed;
        mUcDisplayReport = (IDisplayReport)LoadUserControl("~/CMSModules/Reporting/Controls/DisplayReport.ascx");
        pnlContent.Controls.Add((Control)mUcDisplayReport);

        CurrentMaster.PanelContent.CssClass = string.Empty;
        UIHelper.AllowUpdateProgress = false;
        ScriptHelper.RegisterDialogScript(Page);

        // Campaign Info
        mCampaignInfo = EditedObject as CampaignInfo;
        if (mCampaignInfo == null)
        {
            return;
        }

        // Validate SiteID for non administrators
        if (!MembershipContext.AuthenticatedUser.IsGlobalAdministrator)
        {
            if (mCampaignInfo.CampaignSiteID != SiteContext.CurrentSiteID)
            {
                RedirectToAccessDenied(GetString("cmsmessages.accessdenied"));
            }
        }

        mCampaignName = mCampaignInfo.CampaignName;

        ucGraphType.ProcessChartSelectors(false);

        if (!RequestHelper.IsPostBack())
        {
            // Check the first radio button
            rbViews.Checked = true;
        }
    }
コード例 #6
0
ファイル: Templates.cs プロジェクト: tiempo8/spacetactics20
	private void loadCampaigns()
	{
		XmlDocument doc = new XmlDocument();
		doc.LoadXml(((TextAsset) Resources.Load("levels/campaigns")).text);
		foreach(XmlNode x in doc.ChildNodes)
		{
			if(x.Name=="campaigns")
			{
				foreach(XmlNode m in x.ChildNodes)
				{
					if(m.Name=="campaign")
					{
						CampaignInfo li = new CampaignInfo();
						foreach(XmlNode l in m.Attributes)
						{
							if(l.Name=="id")
								li.id=int.Parse(l.Value);
							else if(l.Name=="name")
								li.name=l.Value;
							else if(l.Name=="defaultRank")
								li.defaultRank=int.Parse(l.Value);
							else if(l.Name=="description")
								li.desc=l.Value;
						}
						
						foreach(XmlNode l in m.ChildNodes)
						{
							int levelNum=-1;
							if(l.Name=="level")
							{
								foreach(XmlNode b in l.Attributes)
								{
									if(b.Name=="id")
										levelNum=int.Parse(b.Value);
								}
							}
							li.levels.Add(levelNum);
						}
						
						campaignsList.Add(li);
					}
				}
			}
		}
		Debug.Log("Loaded "+campaignsList.Count+" campaigns.");
	}
コード例 #7
0
ファイル: Tab_General.aspx.cs プロジェクト: KuduApps/Kentico
    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);
    }
コード例 #8
0
ファイル: Tab_Reports.aspx.cs プロジェクト: KuduApps/Kentico
    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;
            }
        }
    }
コード例 #9
0
 public Builder setCampaignInfo(CampaignInfo arg0)
 {
     return(Call <Builder>("setCampaignInfo", arg0));
 }
コード例 #10
0
 private static CampaignListItemViewModel CreateCampaignViewModel(CampaignInfo campaign, DateTime now)
 {
     return Service<ICampaignListItemViewModelService>.Entry().GetModel(campaign, now);
 }
コード例 #11
0
    /// <summary>
    /// Test if campaign is valid.
    /// </summary>    
    public override bool IsValid()
    {
        String value = ValidationHelper.GetString(usCampaign.Value, String.Empty).Trim();
        if (value != String.Empty)
        {
            if (!ValidationHelper.IsCodeName(value))
            {
                this.ValidationError = GetString("campaign.validcodename");
                return false;
            }

            // If campaign object not found
            CampaignInfo ci = CampaignInfoProvider.GetCampaignInfo(value, SiteInfoProvider.GetSiteName(this.SiteID));

            // Handle info not found
            if (ci == null)
            {
                if (!mCreateOnUnknownName)
                {
                    // Selector is not set to create new campaigns so error out
                    this.ValidationError = GetString("campaign.validcodename");
                    return false;
                }

                // Or check permissions ..
                if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.WebAnalytics", "ManageCampaigns"))
                {
                    this.ValidationError = GetString("campaign.notallowedcreate");
                    return false;
                }

                // .. and try to create a new one.
                ci = new CampaignInfo();
                ci.CampaignName = value;
                ci.CampaignDisplayName = value;
                ci.CampaignEnabled = true;
                ci.CampaignSiteID = this.SiteID;

                CampaignInfoProvider.SetCampaignInfo(ci);
            }
        }

        return true;
    }
コード例 #12
0
 public static void WriteArchiveHeaderToStream(this CampaignInfo campaignInfo, Stream stream)
 {
     campaignInfo.WriteArchiveHeaderToStream(stream, null, _defaultEncoding);
 }
コード例 #13
0
    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)
            {
                CurrentMaster.Title.TitleText  = GetString("analytics.campaign");
                CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Analytics_Campaign/object.png");
            }
            else
            {
                CurrentMaster.Title.TitleText  = GetString("campaign.campaign.new");
                CurrentMaster.Title.TitleImage = GetImageUrl("Objects/Analytics_Campaign/new.png");
            }
            SetDialogButtons();
        }

        if (ci != null)
        {
            EditedObject = ci;
        }

        CurrentMaster.Title.HelpTopicName = "campaign_general";
        CurrentMaster.Title.HelpName      = "helpTopic";

        // Must be called after the master page file is set
        base.OnPreInit(e);
    }
コード例 #14
0
    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;
            }
        }
    }
コード例 #15
0
    /// <summary>
    /// Test if campaign is valid.
    /// </summary>    
    public override bool IsValid()
    {
        String value = ValidationHelper.GetString(usCampaign.Value, String.Empty).Trim();
        if (value != String.Empty)
        {
            String domain = URLHelper.GetCurrentDomain();
            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 (!mCreateOnUnknownName)
                {
                    // Selector is not set to create new campaigns so error out
                    ValidationError = GetString("campaign.validcodename");
                    return false;
                }

                // Or check permissions ..
                if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.WebAnalytics", "ManageCampaigns"))
                {
                    ValidationError = GetString("campaign.notallowedcreate");
                    return false;
                }

                // .. and try to create a new one.
                ci = new CampaignInfo();
                ci.CampaignName = value;
                ci.CampaignDisplayName = value;
                ci.CampaignEnabled = true;
                ci.CampaignSiteID = SiteID;

                CampaignInfoProvider.SetCampaignInfo(ci);
            }
        }

        return true;
    }
コード例 #16
0
    protected void Page_Load(object sender, EventArgs e)
    {
        reportHeaderActions.ActionPerformed += HeaderActions_ActionPerformed;
        mUcDisplayReport = (IDisplayReport)LoadUserControl("~/CMSModules/Reporting/Controls/DisplayReport.ascx");
        pnlContent.Controls.Add((Control)mUcDisplayReport);

        CurrentMaster.PanelContent.CssClass = string.Empty;
        UIHelper.AllowUpdateProgress = false;
        ScriptHelper.RegisterDialogScript(Page);

        // Campaign Info
        mCampaignInfo = EditedObject as CampaignInfo;
        if (mCampaignInfo == null)
        {
            return;
        }

        // Validate SiteID for non administrators
        if (!MembershipContext.AuthenticatedUser.IsGlobalAdministrator)
        {
            if (mCampaignInfo.CampaignSiteID != SiteContext.CurrentSiteID)
            {
                RedirectToAccessDenied(GetString("cmsmessages.accessdenied"));
            }
        }

        mCampaignName = mCampaignInfo.CampaignName;

        ucGraphType.ProcessChartSelectors(false);

        // Enables/disables radio buttons (based on UI elements)
        var ui = MembershipContext.AuthenticatedUser;
        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)
                {
                    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("campaign.noreportavaible"));
                }
            }
            else
            {
                // Admin check first radio button
                rbViews.Checked = true;
            }
        }
    }
コード例 #17
0
    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;
            }
        }
    }