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/wwwroot/CMSWebParts/Localization/BingTranslator.ascx.cs
using System.Text;
using System.Web;
using CMS.DocumentEngine;
using CMS.Helpers;
using CMS.PortalControls;
using CMS.PortalEngine;

public partial class CMSWebParts_Localization_BingTranslator : CMSAbstractWebPart
{
    #region "Public properties"

    /// <summary>
    /// Webpart no script text.
    /// </summary>
    public string NoScriptText
    {
        get
        {
            return ValidationHelper.GetString(GetValue("NoScriptText"), "");
        }
        set
        {
            SetValue("NoScriptText", value);
        }
    }


    /// <summary>
    /// Translation mode.
    /// </summary>
    public string TranslationMode
    {
        get
        {
            return ValidationHelper.GetString(GetValue("TranslationMode"), "manual");
        }
        set
        {
            SetValue("TranslationMode", value);
        }
    }


    /// <summary>
    /// Indicates, whether the web part will be invisible or not.
    /// </summary>
    public bool DisplayTranslationDialog
    {
        get
        {
            return ValidationHelper.GetBoolean(GetValue("DisplayTranslationDialog"), true);
        }
        set
        {
            SetValue("DisplayTranslationDialog", value);
        }
    }


    /// <summary>
    /// Web part border color.
    /// </summary>
    public string BorderColor
    {
        get
        {
            return ValidationHelper.GetString(GetValue("BorderColor"), "black");
        }
        set
        {
            SetValue("BorderColor", value);
        }
    }


    /// <summary>
    /// Web part background color.
    /// </summary>
    public string BackgroundColor
    {
        get
        {
            return ValidationHelper.GetString(GetValue("BackgroundColor"), "gray");
        }
        set
        {
            SetValue("BackgroundColor", value);
        }
    }


    /// <summary>
    /// Web part width.
    /// </summary>
    public int Width
    {
        get
        {
            return ValidationHelper.GetInteger(GetValue("Width"), 200);
        }
        set
        {
            SetValue("Width", value);
        }
    }

    #endregion


    #region "Page events"

    /// <summary>
    /// Loads the web part content.
    /// </summary>
    public override void OnContentLoaded()
    {
        base.OnContentLoaded();
        SetupControl();
    }

    #endregion


    #region "Other methods"

    /// <summary>
    /// Sets up the control.
    /// </summary>
    protected void SetupControl()
    {
        if (StopProcessing)
        {
            // Do nothing
        }
        else
        {
            if (PortalContext.ViewMode.IsOneOf(ViewModeEnum.LiveSite, ViewModeEnum.Preview))
            {
                string culture = CultureHelper.GetShortCultureCode(DocumentContext.CurrentDocumentCulture.CultureCode);

                string src = "http://www.microsofttranslator.com/Ajax/V2/Widget.aspx";
                string query = "";
                string display = "";
                string borderColor = "";
                string backgroundColor = "";
                int width = 200;

                if (BorderColor != "")
                {
                    borderColor = "border-color: " + BorderColor + "; ";
                }

                if (BackgroundColor != "")
                {
                    backgroundColor = "background-color: " + BackgroundColor + "; ";
                }

                if (Width > 0)
                {
                    width = Width;
                }

                // If widget is not visible, translation mode auto is set
                if (!DisplayTranslationDialog && ((TranslationMode == "auto") || (TranslationMode == "notify")))
                {
                    query = URLHelper.AddUrlParameter(query, "mode", TranslationMode);
                    query = URLHelper.AddUrlParameter(query, "widget", "none");
                    display = "display: none;";
                }
                else
                {
                    query = URLHelper.AddUrlParameter(query, "mode", TranslationMode);
                }
                query = URLHelper.AddUrlParameter(query, "from", culture);
                query = URLHelper.AddUrlParameter(query, "layout", "ts");

                // Add query parameters to the url
                src = ScriptHelper.GetString(URLHelper.AppendQuery(src, query), false);

                string url = HttpUtility.UrlEncode(URLHelper.GetFullApplicationUrl());
                ScriptHelper.RegisterStartupScript(Page, typeof(string), "BingTranslatorScript", ScriptHelper.GetScript("setTimeout(function() { var s = document.createElement(\"script\"); s.type = \"text/javascript\"; s.charset = \"UTF-8\"; s.src = \"" + src + "\"; var p = document.getElementsByTagName('head')[0] || document.documentElement; p.insertBefore(s, p.firstChild); }, 0);"));
                StringBuilder builder = new StringBuilder();

                builder.Append("<div id=\"MicrosoftTranslatorWidget\" style=\"width: " + width + "px; min-height: 83px; " + borderColor + backgroundColor + display + "\">");
                builder.Append("<noscript><a href=\"http://www.microsofttranslator.com/bv.aspx?a=" + url + "\">");
                if (NoScriptText != "")
                {
                    builder.Append(NoScriptText);
                }
                else
                {
                    builder.Append(ResHelper.GetString("BingTranslator.TranslateThisPage"));
                }
                builder.Append("</a><br />Using technology <a href=\"http://www.microsofttranslator.com\">Microsoft® Translator</a></noscript></div>");

                ltlBingTranslator.Text = builder.ToString();
            }
        }
    }

    #endregion
}