/// <summary>
    /// Loads the site DropDownLists.
    /// </summary>
    private void LoadSites()
    {
        // Define special fields
        SpecialFieldsDefinition specialFields = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver);

        specialFields.Add(new SpecialField {
            Text = GetString("general.selectall"), Value = "##all##"
        });
        specialFields.Add(new SpecialField {
            Text = GetString("dialogs.config.currentsite"), Value = "##current##"
        });

        // Set site selector
        siteSelectorContent.DropDownSingleSelect.AutoPostBack = true;
        siteSelectorContent.AllowAll = false;
        siteSelectorContent.UseCodeNameForSelection   = true;
        siteSelectorContent.UniSelector.SpecialFields = specialFields;

        siteSelectorMedia.DropDownSingleSelect.AutoPostBack = true;
        siteSelectorMedia.AllowAll = false;
        siteSelectorMedia.UseCodeNameForSelection   = true;
        siteSelectorMedia.UniSelector.SpecialFields = specialFields;

        if (mediaLoaded)
        {
            siteSelectorMedia.UniSelector.OnSelectionChanged += UniSelectorMediaSites_OnSelectionChanged;
        }
    }
    /// <summary>
    /// Loads and selects control.
    /// </summary>
    private void LoadAndSelectList()
    {
        if (dropDownList.Items.Count == 0)
        {
            string options = GetResolvedValue <string>("options", null);
            string query   = ValidationHelper.GetString(GetValue("query"), null);
            string macro   = MacroSource;

            try
            {
                if (string.IsNullOrEmpty(macro))
                {
                    // Load from options or query
                    FormHelper.LoadItemsIntoList(options, query, dropDownList.Items, FieldInfo, ContextResolver, SortItems);
                }
                else
                {
                    // Load from macro source
                    var def = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver, SortItems);
                    def.LoadFromMacro(macro, ValueFormat, TextFormat);
                    def.FillItems(dropDownList.Items);
                }
            }
            catch (Exception ex)
            {
                DisplayException(ex);
            }

            FormHelper.SelectSingleValue(mSelectedValue, dropDownList, true);
        }
    }
Exemple #3
0
    /// <summary>
    /// Page load event.
    /// </summary>
    protected void Page_Load(object sender, EventArgs e)
    {
        if (StopProcessing)
        {
            uniselect.StopProcessing = true;
            return;
        }

        var specialFields = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver);

        if (ShowDefaultItem)
        {
            specialFields.Add(new SpecialField {
                Text = GetString("WebPartPropertise.Default"), Value = "|default|"
            });
        }

        if (ShowNewItem)
        {
            specialFields.Add(new SpecialField {
                Text = GetString("WebPartPropertise.New"), Value = "|new|"
            });
        }

        uniselect.SpecialFields = specialFields;
        uniselect.DropDownSingleSelect.AutoPostBack = true;
        uniselect.IsLiveSite = IsLiveSite;
    }
    private void LoadAndSelectList(bool forceReload = false)
    {
        lbOptions.SelectionMode = AllowMultiple ? ListSelectionMode.Multiple : ListSelectionMode.Single;

        if (forceReload)
        {
            // Keep selected value
            _selectedValues = lbOptions.Items.Cast <ListItem>().Where(x => x.Selected).Select(x => x.Value).ToList();

            // Clears values if forced reload is requested
            lbOptions.Items.Clear();
        }

        if (lbOptions.Items.Count == 0)
        {
            try
            {
                var def = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver, SortItems);
                if (string.IsNullOrEmpty(MacroSource))
                {
                    if (string.IsNullOrEmpty(QuerySource))
                    {
                        // Load from text source
                        def.LoadFromText(Options);
                    }
                    else
                    {
                        // Load from query source
                        def.LoadFromQuery(QuerySource);
                    }
                }
                else
                {
                    // Load from macro source
                    def.LoadFromMacro(MacroSource, ValueFormat, TextFormat);
                }
                def.FillItems(lbOptions.Items);
            }
            catch (Exception ex)
            {
                DisplayException(ex);
            }

            foreach (ListItem lbOptionsItem in lbOptions.Items)
            {
                if (_selectedValues != null && _selectedValues.Contains(lbOptionsItem.Value))
                {
                    lbOptionsItem.Selected = true;
                }
            }

            lbOptions.Items.Insert(0, new ListItem(String.Empty, String.Empty));
        }
    }
    /// <summary>
    /// Loads text into textbox from value or from 'QueryColumnName' column.
    /// </summary>
    /// <param name="value">Value parameter</param>
    /// <returns>Returns text of options or query</returns>
    private string LoadTextFromData(string value)
    {
        InitOptions();
        txtValue.Editor.ValueIsMacro = false;

        // Options data
        if (!String.IsNullOrEmpty(value))
        {
            lstOptions.SelectedIndex = ListSourceIndex;

            // Get string representation
            SpecialFieldsDefinition def = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver);
            def.LoadFromText(value);
            return(def.ToString());
        }

        // Query selected
        if (ContainsColumn(QueryColumnName))
        {
            string query = ValidationHelper.GetString(Form.Data.GetValue(QueryColumnName), string.Empty).Trim();
            if (!String.IsNullOrEmpty(query))
            {
                lstOptions.SelectedIndex = SqlSourceIndex;
                if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.Form", "EditSQLQueries"))
                {
                    mDisabledSql = true;
                }
                return(query);
            }
        }

        // Macro data source selected
        if (ContainsColumn(MacroColumnName))
        {
            string macro = ValidationHelper.GetString(Form.Data.GetValue(MacroColumnName), string.Empty).Trim();
            if (!String.IsNullOrEmpty(macro))
            {
                lstOptions.SelectedIndex     = MacroSourceIndex;
                txtValue.Editor.ValueIsMacro = true;

                return(MacroProcessor.RemoveDataMacroBrackets(macro));
            }
        }

        return(null);
    }
    /// <summary>
    /// Prepares new field.
    /// </summary>
    /// <param name="controlName">Code name of used control</param>
    private FormFieldInfo PrepareNewField(string controlName)
    {
        FormFieldInfo ffi = new FormFieldInfo();

        string[] controlDefaultDataType = FormUserControlInfoProvider.GetUserControlDefaultDataType(controlName);
        ffi.DataType  = controlDefaultDataType[0];
        ffi.Size      = ValidationHelper.GetInteger(controlDefaultDataType[1], 0);
        ffi.FieldType = FormFieldControlTypeEnum.CustomUserControl;

        FormUserControlInfo control = FormUserControlInfoProvider.GetFormUserControlInfo(controlName);

        if (control != null)
        {
            ffi.SetPropertyValue(FormFieldPropertyEnum.FieldCaption, control.UserControlDisplayName);
        }

        ffi.AllowEmpty              = true;
        ffi.PublicField             = true;
        ffi.Name                    = GetUniqueFieldName(controlName);
        ffi.Settings["controlname"] = controlName;

        // For list controls create three default options
        if (FormHelper.HasListControl(ffi))
        {
            SpecialFieldsDefinition optionDefinition = new SpecialFieldsDefinition();

            for (int i = 1; i <= 3; i++)
            {
                optionDefinition.Add(new SpecialField
                {
                    Value = OptionsDesigner.DEFAULT_OPTION + i,
                    Text  = OptionsDesigner.DEFAULT_OPTION + i
                });
            }

            ffi.Settings["Options"] = optionDefinition.ToString();
        }

        if (controlName.EqualsCSafe("CalendarControl"))
        {
            ffi.Settings["EditTime"] = false;
        }

        return(ffi);
    }
    /// <summary>
    /// Init UniSelectors for selecting controls.
    /// </summary>
    private void InitControlSelectors()
    {
        var detailsControlSelector = (UniSelector)EditForm.FieldControls["activitytypedetailformcontrol"];
        var mainControlSelector = (UniSelector)EditForm.FieldControls["activitytypemainformcontrol"];

        // Add additional item for selecting default control - currently used only for 'Custom Activity'
        SpecialFieldsDefinition specialFields = new SpecialFieldsDefinition();
        specialFields.Add(new SpecialField()
        {
            Text = GetString("general.defaultchoice"),
            Value = "##default##"
        });

        detailsControlSelector.SpecialFields = mainControlSelector.SpecialFields = specialFields;

        // Set (None) values to save to database
        detailsControlSelector.NoneRecordValue = "";
        mainControlSelector.NoneRecordValue = "";
    }
Exemple #8
0
    /// <summary>
    /// Init UniSelectors for selecting controls.
    /// </summary>
    private void InitControlSelectors()
    {
        var detailsControlSelector = (UniSelector)EditForm.FieldControls["activitytypedetailformcontrol"];
        var mainControlSelector    = (UniSelector)EditForm.FieldControls["activitytypemainformcontrol"];

        // Add additional item for selecting default control - currently used only for 'Custom Activity'
        SpecialFieldsDefinition specialFields = new SpecialFieldsDefinition();

        specialFields.Add(new SpecialField()
        {
            Text  = GetString("general.defaultchoice"),
            Value = "##default##"
        });

        detailsControlSelector.SpecialFields = mainControlSelector.SpecialFields = specialFields;

        // Set (None) values to save to database
        detailsControlSelector.NoneRecordValue = "";
        mainControlSelector.NoneRecordValue    = "";
    }
    /// <summary>
    /// Page load event.
    /// </summary>    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (StopProcessing)
        {
            uniselect.StopProcessing = true;
            return;
        }

        var specialFields = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver);

        if (ShowDefaultItem)
        {
            specialFields.Add(new SpecialField { Text = GetString("WebPartPropertise.Default"), Value = "|default|" });
        }

        if (ShowNewItem)
        {
            specialFields.Add(new SpecialField { Text = GetString("WebPartPropertise.New"), Value = "|new|" });
        }

        uniselect.SpecialFields = specialFields;
        uniselect.DropDownSingleSelect.AutoPostBack = true;
        uniselect.IsLiveSite = IsLiveSite;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // Check license
        if (DataHelper.GetNotEmpty(RequestContext.CurrentDomain, "") != "")
        {
            LicenseHelper.CheckFeatureAndRedirect(RequestContext.CurrentDomain, FeatureEnum.WebAnalytics);
        }

        // If deletion is in progress
        if (StatisticsInfoProvider.DataDeleterIsRunning)
        {
            timeRefresh.Enabled = true;
            ViewState["DeleterStarted"] = true;
            EnableControls(false);
            ReloadInfoPanel();
        }
        // If deletion has just end - add close script
        else if (ValidationHelper.GetBoolean(ViewState["DeleterStarted"], false))
        {
            ScriptHelper.RegisterStartupScript(this, typeof(string), "CloseScript", ScriptHelper.GetScript("wopener.RefreshPage(); CloseDialog();"));
        }

        // Configure dynamic selectors
        SpecialFieldsDefinition specialFields = new SpecialFieldsDefinition();
        specialFields.Add(new SpecialField
        {
            Text = GetString("general.pleaseselect"),
            Value = ""
        });

        usCampaigns.UniSelector.SpecialFields = specialFields;
        ucConversions.UniSelector.SpecialFields = specialFields;

        if (!RequestHelper.IsPostBack())
        {
            usCampaigns.Value = "";
            ucConversions.Value = "";
        }

        string title = GetString("AnayticsManageData.ManageData");
        Page.Title = title;
        PageTitle.TitleText = title;
        // Confirmation message for deleting
        string deleteFromToMessage = ScriptHelper.GetString(GetString("webanal.deletefromtomsg"));
        deleteFromToMessage = deleteFromToMessage.Replace("##FROM##", "' + elemFromStr + '");
        deleteFromToMessage = deleteFromToMessage.Replace("##TO##", "' + elemToStr + '");

        string script =
            " var elemTo = document.getElementById('" + pickerTo.ClientID + "_txtDateTime'); " +
            " var elemFrom = document.getElementById('" + pickerFrom.ClientID + "_txtDateTime'); " +
            " var elemToStr = " + ScriptHelper.GetString(GetString("webanal.now")) + "; " +
            " var elemFromStr = " + ScriptHelper.GetString(GetString("webanal.beginning")) + "; " +
            " var deleteAll = 1; " +
            " if (elemTo.value != '') { deleteAll = 0; elemToStr = elemTo.value; }; " +
            " if (elemFrom.value != '') { deleteAll = 0; elemFromStr = elemFrom.value; }; " +
            " if (deleteAll == 1) { return confirm(" + ScriptHelper.GetString(GetString("webanal.deleteall")) + "); } " +
            " else { return confirm(" + deleteFromToMessage + "); }; ";
        btnDelete.OnClientClick = script + ";  return false;";

        statCodeName = QueryHelper.GetString("statCodeName", String.Empty);

        switch (statCodeName)
        {
            case "campaigns":
                pnlCampaigns.Visible = true;
                break;

            case "conversion":
                pnlConversions.Visible = true;
                break;
        }
    }
Exemple #11
0
    /// <summary>
    /// Returns true if user control is valid.
    /// </summary>
    public override bool IsValid()
    {
        bool valid = true;

        // Check 'options' validity
        if (lstOptions.SelectedIndex == ListSourceIndex)
        {
            // Some option must be included
            if (string.IsNullOrEmpty(txtValue.Text.Trim()))
            {
                ValidationError += GetString("TemplateDesigner.ErrorDropDownListOptionsEmpty") + " ";
                valid            = false;
            }
            else
            {
                // Parse lines
                int      lineIndex = 0;
                string[] lines     = txtValue.Text.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);

                for (lineIndex = 0; lineIndex <= lines.GetUpperBound(0); lineIndex++)
                {
                    // Loop through only not-empty lines
                    if ((lines[lineIndex] != null) && (lines[lineIndex].Trim() != string.Empty))
                    {
                        // Get line items
                        string[] items = lines[lineIndex].Replace(SpecialFieldsDefinition.SEMICOLON_TO_REPLACE, SpecialFieldsDefinition.REPLACED_SEMICOLON).Split(';');

                        // Every line must have value and item element and optionally visibility macro
                        if (items.Length > 3)
                        {
                            ValidationError += GetString("TemplateDesigner.ErrorDropDownListOptionsInvalidFormat") + " ";
                            valid            = false;
                            break;
                        }
                        else
                        {
                            // Check for possible macro (with/without visibility condition)
                            if (items.Length <= 2)
                            {
                                string specialMacro = items[0].Trim();

                                // Check if special macro is used
                                if (SpecialFieldsDefinition.IsSpecialFieldMacro(specialMacro))
                                {
                                    string macro = (items.Length == 2) ? items[1].Trim() : String.Empty;

                                    // If special field macro used and second item isn't macro show error
                                    if (!String.IsNullOrEmpty(macro) && !MacroProcessor.ContainsMacro(macro))
                                    {
                                        ValidationError += string.Format(GetString("TemplateDesigner.ErrorDropDownListOptionsInvalidMacroFormat"), lineIndex + 1) + " ";
                                        valid            = false;
                                        break;
                                    }
                                }
                            }

                            // Check valid Double format
                            if (FieldInfo.DataType == FieldDataType.Double)
                            {
                                if (!ValidationHelper.IsDouble(items[0]) && !(FieldInfo.AllowEmpty && string.IsNullOrEmpty(items[0])))
                                {
                                    ValidationError += string.Format(GetString("TemplateDesigner.ErrorDropDownListOptionsInvalidDoubleFormat"), lineIndex + 1) + " ";
                                    valid            = false;
                                    break;
                                }
                            }
                            // Check valid Integer format
                            else if (FieldInfo.DataType == FieldDataType.Integer)
                            {
                                if (!ValidationHelper.IsInteger(items[0]) && !(FieldInfo.AllowEmpty && string.IsNullOrEmpty(items[0])))
                                {
                                    ValidationError += string.Format(GetString("TemplateDesigner.ErrorDropDownListOptionsInvalidIntFormat"), lineIndex + 1) + " ";
                                    valid            = false;
                                    break;
                                }
                            }
                            // Check valid Long integer format
                            else if (FieldInfo.DataType == FieldDataType.LongInteger)
                            {
                                if (!ValidationHelper.IsLong(items[0]) && !(FieldInfo.AllowEmpty && string.IsNullOrEmpty(items[0])))
                                {
                                    ValidationError += string.Format(GetString("TemplateDesigner.ErrorDropDownListOptionsInvalidLongIntFormat"), lineIndex + 1) + " ";
                                    valid            = false;
                                    break;
                                }
                            }
                            // Check valid Date time format
                            else if (FieldInfo.DataType == FieldDataType.DateTime)
                            {
                                if ((ValidationHelper.GetDateTime(items[0], DateTimeHelper.ZERO_TIME) == DateTimeHelper.ZERO_TIME) && !FieldInfo.AllowEmpty)
                                {
                                    ValidationError += string.Format(GetString("TemplateDesigner.ErrorDropDownListOptionsInvalidDateTimeFormat"), lineIndex + 1) + " ";
                                    valid            = false;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
        // Check SQL query validity
        else if ((lstOptions.SelectedIndex == SqlSourceIndex) && (string.IsNullOrEmpty(txtValue.Text.Trim())))
        {
            ValidationError += GetString("TemplateDesigner.ErrorDropDownListQueryEmpty") + " ";
            valid            = false;
        }
        else if ((lstOptions.SelectedIndex == MacroSourceIndex) && (string.IsNullOrEmpty(txtValue.Text.Trim())))
        {
            ValidationError += GetString("TemplateDesigner.ErrorDropDownListMacroEmpty") + " ";
            valid            = false;
        }

        return(valid);
    }
    /// <summary>
    /// Prepares new field.
    /// </summary>
    /// <param name="controlName">Code name of used control</param>
    private FormFieldInfo PrepareNewField(string controlName)
    {
        FormFieldInfo ffi = new FormFieldInfo();

        string[] controlDefaultDataType = FormUserControlInfoProvider.GetUserControlDefaultDataType(controlName);
        ffi.DataType = controlDefaultDataType[0];
        ffi.Size = ValidationHelper.GetInteger(controlDefaultDataType[1], 0);
        ffi.FieldType = FormFieldControlTypeEnum.CustomUserControl;

        FormUserControlInfo control = FormUserControlInfoProvider.GetFormUserControlInfo(controlName);
        if (control != null)
        {
            ffi.SetPropertyValue(FormFieldPropertyEnum.FieldCaption, control.UserControlDisplayName);
        }

        ffi.AllowEmpty = true;
        ffi.PublicField = true;
        ffi.Name = GetUniqueFieldName(controlName);
        ffi.Settings["controlname"] = controlName;

        // For list controls create three default options
        if (FormHelper.HasListControl(ffi))
        {
            SpecialFieldsDefinition optionDefinition = new SpecialFieldsDefinition();

            for (int i = 1; i <= 3; i++)
            {
                optionDefinition.Add(new SpecialField
                {
                    Value = OptionsDesigner.DEFAULT_OPTION + i,
                    Text = OptionsDesigner.DEFAULT_OPTION + i
                });
            }

            ffi.Settings["Options"] = optionDefinition.ToString();
        }

        if (controlName.EqualsCSafe("CalendarControl"))
        {
            ffi.Settings["EditTime"] = false;
        }

        return ffi;
    }
    /// <summary>
    /// Loads text into textbox from value or from 'QueryColumnName' column.
    /// </summary>
    /// <param name="value">Value parameter</param>
    /// <returns>Returns text of options or query</returns>
    private string LoadTextFromData(string value)
    {
        InitOptions();

        // Options data
        if (!String.IsNullOrEmpty(value))
        {
            lstOptions.SelectedIndex = ListSourceIndex;

            // Get string representation
            SpecialFieldsDefinition def = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver);
            def.LoadFromText(value);
            return def.ToString();
        }
        // Query selected
        else if (ContainsColumn(QueryColumnName))
        {
            string query = ValidationHelper.GetString(Form.Data.GetValue(QueryColumnName), string.Empty).Trim();
            if (!String.IsNullOrEmpty(query))
            {
                lstOptions.SelectedIndex = SqlSourceIndex;
                if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.Form", "EditSQLQueries"))
                {
                    disabledSql = true;
                }
                return query;
            }
            // Macro data source selected
            else if (ContainsColumn(MacroColumnName))
            {
                string macro = ValidationHelper.GetString(Form.Data.GetValue(MacroColumnName), string.Empty).Trim();
                if (!String.IsNullOrEmpty(macro))
                {
                    lstOptions.SelectedIndex = MacroSourceIndex;
                    return macro;
                }
            }
        }

        return null;
    }
    /// <summary>
    /// Loads and selects control.
    /// </summary>
    private void LoadAndSelectList()
    {
        if (dropDownList.Items.Count == 0)
        {
            string options = GetResolvedValue<string>("options", null);
            string query = ValidationHelper.GetString(GetValue("query"), null);
            string macro = MacroSource;

            try
            {
                if (string.IsNullOrEmpty(macro))
                {
                    // Load from options or query
                    FormHelper.LoadItemsIntoList(options, query, dropDownList.Items, FieldInfo, ContextResolver, SortItems);
                }
                else
                {
                    // Load from macro source
                    var def = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver, SortItems);
                    def.LoadFromMacro(macro, ValueFormat, TextFormat);
                    def.FillItems(dropDownList.Items);
                }
            }
            catch (Exception ex)
            {
                DisplayException(ex);
            }

            FormHelper.SelectSingleValue(mSelectedValue, dropDownList, true);
        }
    }
    /// <summary>
    /// Loads the site DropDownLists.
    /// </summary>
    private void LoadSites()
    {
        // Define special fields
        SpecialFieldsDefinition specialFields = new SpecialFieldsDefinition(null, FieldInfo, ContextResolver);
        specialFields.Add(new SpecialField { Text = GetString("general.selectall"), Value = "##all##" });
        specialFields.Add(new SpecialField { Text = GetString("dialogs.config.currentsite"), Value = "##current##" });

        // Set site selector
        siteSelectorContent.DropDownSingleSelect.AutoPostBack = true;
        siteSelectorContent.AllowAll = false;
        siteSelectorContent.UseCodeNameForSelection = true;
        siteSelectorContent.UniSelector.SpecialFields = specialFields;

        siteSelectorMedia.DropDownSingleSelect.AutoPostBack = true;
        siteSelectorMedia.AllowAll = false;
        siteSelectorMedia.UseCodeNameForSelection = true;
        siteSelectorMedia.UniSelector.SpecialFields = specialFields;

        if (mediaLoaded)
        {
            siteSelectorMedia.UniSelector.OnSelectionChanged += UniSelectorMediaSites_OnSelectionChanged;
        }
    }
    /// <summary>
    /// Returns true if user control is valid.
    /// </summary>
    public override bool IsValid()
    {
        bool valid = true;

        // Check 'options' validity
        if (lstOptions.SelectedIndex == ListSourceIndex)
        {
            // Some option must be included
            if (String.IsNullOrWhiteSpace(txtValue.Text))
            {
                ValidationError += GetString("TemplateDesigner.ErrorDropDownListOptionsEmpty") + " ";
                valid            = false;
            }
            else
            {
                // Parse lines
                int      lineIndex;
                string[] lines = txtValue.Text.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

                for (lineIndex = 0; lineIndex <= lines.GetUpperBound(0); lineIndex++)
                {
                    // Loop through only not-empty lines
                    string line = lines[lineIndex];
                    if (!String.IsNullOrWhiteSpace(line))
                    {
                        // Get line items
                        string[] items = line.Replace(SpecialFieldsDefinition.SEMICOLON_TO_REPLACE, SpecialFieldsDefinition.REPLACED_SEMICOLON).Split(';');

                        // Every line must have value and item element and optionally visibility macro
                        if (items.Length > 3)
                        {
                            ValidationError += GetString("TemplateDesigner.ErrorDropDownListOptionsInvalidFormat") + " ";
                            valid            = false;
                            break;
                        }

                        // Check for possible macro (with/without visibility condition)
                        if (items.Length <= 2)
                        {
                            string specialMacro = items[0].Trim();

                            // Check if special macro is used
                            if (SpecialFieldsDefinition.IsSpecialFieldMacro(specialMacro))
                            {
                                string macro = (items.Length == 2) ? items[1].Trim() : String.Empty;

                                // If special field macro used and second item isn't macro show error
                                if (!String.IsNullOrEmpty(macro) && !MacroProcessor.ContainsMacro(macro))
                                {
                                    ValidationError += string.Format(GetString("TemplateDesigner.ErrorDropDownListOptionsInvalidMacroFormat"), lineIndex + 1) + " ";
                                    valid            = false;
                                    break;
                                }
                            }
                        }

                        // Validate input value
                        var checkType = new DataTypeIntegrity(items[0], EditedFieldDataType);

                        var result = checkType.ValidateDataType();
                        if (!String.IsNullOrEmpty(result))
                        {
                            ValidationError += string.Format(GetString("TemplateDesigner.ErrorDropDownListOptionsInvalidValue"), lineIndex + 1) + " " + result + " ";
                            valid            = false;
                            break;
                        }
                    }
                }
            }
        }
        // Check SQL query validity
        else if ((lstOptions.SelectedIndex == SqlSourceIndex) && String.IsNullOrWhiteSpace(txtValue.Text))
        {
            ValidationError += GetString("TemplateDesigner.ErrorDropDownListQueryEmpty") + " ";
            valid            = false;
        }
        else if ((lstOptions.SelectedIndex == MacroSourceIndex) && String.IsNullOrWhiteSpace(txtValue.Text))
        {
            ValidationError += GetString("TemplateDesigner.ErrorDropDownListMacroEmpty") + " ";
            valid            = false;
        }

        return(valid);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // Check license
        if (DataHelper.GetNotEmpty(RequestContext.CurrentDomain, "") != "")
        {
            LicenseHelper.CheckFeatureAndRedirect(RequestContext.CurrentDomain, FeatureEnum.WebAnalytics);
        }

        // If deletion is in progress
        if (StatisticsInfoProvider.DataDeleterIsRunning)
        {
            timeRefresh.Enabled         = true;
            ViewState["DeleterStarted"] = true;
            EnableControls(false);
            ReloadInfoPanel();
        }
        // If deletion has just end - add close script
        else if (ValidationHelper.GetBoolean(ViewState["DeleterStarted"], false))
        {
            ScriptHelper.RegisterStartupScript(this, typeof(string), "CloseScript", ScriptHelper.GetScript("wopener.RefreshPage(); CloseDialog();"));
        }

        // Configure dynamic selectors
        SpecialFieldsDefinition specialFields = new SpecialFieldsDefinition();

        specialFields.Add(new SpecialField
        {
            Text  = GetString("general.pleaseselect"),
            Value = ""
        });

        usCampaigns.UniSelector.SpecialFields   = specialFields;
        ucConversions.UniSelector.SpecialFields = specialFields;

        if (!RequestHelper.IsPostBack())
        {
            usCampaigns.Value   = "";
            ucConversions.Value = "";
        }

        string title = GetString("AnayticsManageData.ManageData");

        Page.Title          = title;
        PageTitle.TitleText = title;
        // Confirmation message for deleting
        string deleteFromToMessage = ScriptHelper.GetString(GetString("webanal.deletefromtomsg"));

        deleteFromToMessage = deleteFromToMessage.Replace("##FROM##", "' + elemFromStr + '");
        deleteFromToMessage = deleteFromToMessage.Replace("##TO##", "' + elemToStr + '");

        string script =
            " var elemTo = document.getElementById('" + pickerTo.ClientID + "_txtDateTime'); " +
            " var elemFrom = document.getElementById('" + pickerFrom.ClientID + "_txtDateTime'); " +
            " var elemToStr = " + ScriptHelper.GetString(GetString("webanal.now")) + "; " +
            " var elemFromStr = " + ScriptHelper.GetString(GetString("webanal.beginning")) + "; " +
            " var deleteAll = 1; " +
            " if (elemTo.value != '') { deleteAll = 0; elemToStr = elemTo.value; }; " +
            " if (elemFrom.value != '') { deleteAll = 0; elemFromStr = elemFrom.value; }; " +
            " if (deleteAll == 1) { return confirm(" + ScriptHelper.GetString(GetString("webanal.deleteall")) + "); } " +
            " else { return confirm(" + deleteFromToMessage + "); }; ";

        btnDelete.OnClientClick = script + ";  return false;";

        statCodeName = QueryHelper.GetString("statCodeName", String.Empty);

        switch (statCodeName)
        {
        case "campaigns":
            pnlCampaigns.Visible = true;
            break;

        case "conversion":
            pnlConversions.Visible = true;
            break;
        }
    }