Exemple #1
0
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        // Show or hide messages
        this.lblError.Visible = !string.IsNullOrEmpty(this.lblError.Text);
        this.lblInfo.Visible  = !string.IsNullOrEmpty(this.lblInfo.Text);

        string status = string.Empty;

        // Set status
        if (AbTestObj != null)
        {
            if (!AbTestObj.ABTestEnabled)
            {
                status = "<span class=\"StatusDisabled\">" + GetString("general.disabled") + "</span>";
            }
            else
            {
                if (ABTestInfoProvider.ABTestIsRunning(AbTestObj))
                {
                    // Display disabled information
                    if (!AnalyticsHelper.AnalyticsEnabled(CMSContext.CurrentSiteName) ||
                        !AnalyticsHelper.TrackConversionsEnabled(CMSContext.CurrentSiteName))
                    {
                        status = GetString("abtesting.statusNone");
                    }
                    else
                    {
                        if (!ABTestInfoProvider.ContainsVariants(AbTestObj))
                        {
                            // Display warning when the test does not contain any variant
                            status = "<img src=\"" + GetImageUrl("Design/Controls/UniGrid/Actions/Warning.png") + "\" alt=\"" + GetString("abtest.novariants") + "\" title=\""
                                     + GetString("abtest.novariants") + "\" />&nbsp;&nbsp;"
                                     + GetString("abtesting.statusNone");
                        }
                        else
                        {
                            status = "<span class=\"StatusEnabled\">" + GetString("abtesting.status" + ABTestInfoProvider.GetABTestStatus(AbTestObj)) + "</span>";
                        }
                    }
                }
                else
                {
                    status = GetString("abtesting.status" + ABTestInfoProvider.GetABTestStatus(AbTestObj));
                }
            }
        }
        else
        {
            status = GetString("general.none");
        }

        ltrStatusValue.Text = status;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (PostbackOnChange)
        {
            ucUniSelector.DropDownSingleSelect.AutoPostBack = true;
            ScriptManager scr = ScriptManager.GetCurrent(Page);
            scr.RegisterPostBackControl(ucUniSelector.DropDownSingleSelect);
        }

        if (!URLHelper.IsPostback())
        {
            // If some test belongs to node give by NodeID - preselect it in ABTest selector
            if (NodeID != 0)
            {
                TreeProvider tree = new TreeProvider(CMSContext.CurrentUser);
                TreeNode     node = tree.SelectSingleNode(NodeID, CMSContext.PreferredCultureCode, tree.CombineWithDefaultCulture);

                if (node != null)
                {
                    DataSet ds = ABTestInfoProvider.GetABTests("ABTestSiteID = " + CMSContext.CurrentSiteID + " AND ABTestOriginalPage = '" + SqlHelperClass.GetSafeQueryString(node.NodeAliasPath, false) + "'", "ABTestName", -1, null, null);
                    if (!DataHelper.DataSourceIsEmpty(ds))
                    {
                        // Preselect running test
                        bool runningTestFound = false;
                        foreach (DataRow row in ds.Tables[0].Rows)
                        {
                            ABTestInfo abTestObj = new ABTestInfo(row);
                            if (ABTestInfoProvider.ABTestIsRunning(abTestObj))
                            {
                                runningTestFound    = true;
                                ucUniSelector.Value = abTestObj.ABTestID;
                            }
                        }

                        // If no running test found for the page, preselect the first test (alphabetically)
                        if (!runningTestFound)
                        {
                            int abTestID = ValidationHelper.GetInteger(ds.Tables[0].Rows[0]["ABTestID"], 0);
                            if (abTestID != 0)
                            {
                                ucUniSelector.Value = abTestID;
                            }
                        }
                    }
                }
            }
        }

        ReloadData(false);
    }
Exemple #3
0
    /// <summary>
    /// Handles Unigrid's OnExternalDataBound event.
    /// </summary>
    protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        switch (sourceName.ToLower())
        {
        case "abteststatus":
            int        testID   = ValidationHelper.GetInteger(parameter, 0);
            ABTestInfo testInfo = ABTestInfoProvider.GetABTestInfo(testID);
            if (testInfo != null)
            {
                if (!testInfo.ABTestEnabled)
                {
                    return("<span class=\"StatusDisabled\">" + GetString("general.disabled") + "</span>");
                }
                else
                {
                    string status = string.Empty;

                    if (ABTestInfoProvider.ABTestIsRunning(testInfo))
                    {
                        // Display disabled information
                        if (!webAnalyticsEnabled)
                        {
                            return(GetString("abtesting.statusNone"));
                        }

                        if (!ABTestInfoProvider.ContainsVariants(testInfo))
                        {
                            // Display warning when the test does not contain any variant
                            return("<img src=\"" + GetImageUrl("Design/Controls/UniGrid/Actions/Warning.png") + "\" alt=\"" + GetString("abtest.novariants") + "\" title=\""
                                   + GetString("abtest.novariants") + "\" />&nbsp;&nbsp;"
                                   + GetString("abtesting.status" + ABTestStatusEnum.None));
                        }

                        status += "<span class=\"StatusEnabled\">" + GetString("abtesting.status" + ABTestInfoProvider.GetABTestStatus(testInfo)) + "</span>";
                    }
                    else
                    {
                        status += GetString("abtesting.status" + ABTestInfoProvider.GetABTestStatus(testInfo));
                    }

                    return(status);
                }
            }

            return(string.Empty);
        }

        return(parameter);
    }