HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RMourik/bassol.nl/CMS/CMSModules/WebAnalytics/Pages/Tools/Conversion/Edit.aspx.cs
using System;

using CMS.Core;
using CMS.Helpers;
using CMS.UIControls;
using CMS.WebAnalytics;
using CMS.SiteProvider;
using CMS.DataEngine;

[EditedObject(ConversionInfo.OBJECT_TYPE, "conversionid")]
[CheckLicence(FeatureEnum.CampaignAndConversions)]
[UIElement(ModuleName.WEBANALYTICS, "Conversions.General", false, true)]
public partial class CMSModules_WebAnalytics_Pages_Tools_Conversion_Edit : CMSDeskPage
{
    #region "Variables"

    private bool modalDialog;

    // Help variable for set info label of UI form
    private string infoText = String.Empty;

    #endregion


    #region "Page events"


    protected void Page_PreInit(object sender, EventArgs e)
    {
        modalDialog = QueryHelper.GetBoolean("modalDialog", false);
        if (modalDialog)
        {
            // Display in selector dialog
            MasterPageFile = "~/CMSMasterPages/UI/Dialogs/ModalDialogPage.master";

            var master = CurrentMaster as ICMSModalMasterPage;
            if (master != null)
            {
                master.Save += (s, ea) => editElem.Save(true);
                master.ShowSaveAndCloseButton();
            }
        }
        IsDialog = modalDialog;
    }


    protected void Page_Init(object sender, EventArgs e)
    {
        ConversionInfo ci = EditedObject as ConversionInfo;
        
        string conversionName = QueryHelper.GetString("conversionName", String.Empty);
        if (conversionName != String.Empty)
        {
            // Try to check dialog mode
            conversionName = conversionName.Trim(';');
            ci = ConversionInfoProvider.GetConversionInfo(conversionName, SiteContext.CurrentSiteName);
        }
        
        // Test whether conversion is in current site, if not - test if user is authorized for conversion's site
        if (ci != null)
        {
            if (!ci.CheckPermissions(PermissionsEnum.Read, CurrentSiteName, CurrentUser))
            {
                RedirectToAccessDenied(ci.TypeInfo.ModuleName, "Read");
            }
        }

        if ((conversionName != String.Empty) && (ci == null))
        {
            // Set warning text
            infoText = String.Format(GetString("conversion.editedobjectnotexits"), HTMLHelper.HTMLEncode(conversionName));

            // Create new conversion info based on conversion name
            ci = new ConversionInfo();
            ci.ConversionName = conversionName;
            ci.ConversionDisplayName = conversionName;
        }

       
        if (modalDialog)
        {
            if (ci != null)
            {
                PageTitle.TitleText = GetString("analytics.conversion");
            }
            else
            {
                PageTitle.TitleText = GetString("conversion.conversion.new");
            }
        }

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


    protected void Page_Load(object sender, EventArgs e)
    {
        bool isNew = (EditedObject == null) || (((ConversionInfo)EditedObject).ConversionID <= 0);
        if (isNew && !modalDialog)
        {
            // Set the title
            PageBreadcrumbs.AddBreadcrumb(new BreadcrumbItem { Text = GetString("conversion.conversion.list"), RedirectUrl = "~/CMSModules/WebAnalytics/Pages/Tools/Conversion/List.aspx" });
            PageBreadcrumbs.AddBreadcrumb(new BreadcrumbItem { Text = GetString("conversion.conversion.new") });
        }

        // Set info label
        editElem.UIFormControl.ShowInformation(infoText);
    }


    protected override void OnPreRender(EventArgs e)
    {
        if (QueryHelper.GetBoolean("saved", false) && !URLHelper.IsPostback())
        {
            UpdateUniSelector(true);
        }

        base.OnPreRender(e);
    }


    /// <summary>
    /// Adds scripts to update parent's uniselector (used in modal dialogs)
    /// </summary>
    /// <param name="closeOnSave">If true, window close JS is added</param>
    private void UpdateUniSelector(bool closeOnSave)
    {
        string selector = HTMLHelper.HTMLEncode(QueryHelper.GetString("selectorid", string.Empty));
        ConversionInfo info = editElem.UIFormControl.EditedObject as ConversionInfo;
        if (!string.IsNullOrEmpty(selector) && (info != null))
        {
            ScriptHelper.RegisterWOpenerScript(this);
            // Add selector refresh
            string script =
                string.Format(@"if (wopener) {{ wopener.US_SelectNewValue_{0}('{1}'); }}", selector, info.ConversionName);

            if (closeOnSave)
            {
                script += "CloseDialog();";
            }

            ScriptHelper.RegisterStartupScript(this, GetType(), "UpdateSelector", script, true);
        }
    }

    #endregion
}