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/CMSWebParts/SocialMedia/GooglePlus/GooglePlusButton.ascx.cs
using System;
using System.Text;
using System.Web.UI;

using CMS.Base;
using CMS.Helpers;
using CMS.DocumentEngine;
using CMS.SiteProvider;
using CMS.SocialMedia;

using org.pdfclown.objects;


public partial class CMSWebParts_SocialMedia_GooglePlus_GooglePlusButton : SocialMediaAbstractWebPart
{
    #region "Private fiels"

    private bool mHide;
    private string mLanguage;
    private string mSize;
    private string mAnnotation;
    private string mAlign;
    private string mUrl;
    private string mExpandTo;
    private int mWidth = 0;

    #endregion


    #region "Public properties"

    /// <summary>
    /// Indicates whether to hide content of the WebPart
    /// </summary>
    public override bool HideContent
    {
        get
        {
            return mHide;
        }
        set
        {
            mHide = value;
            ltlPluginCode.Visible = !value;
        }
    }



    /// <summary>
    /// Target URL.
    /// </summary>
    public string Url
    {
        get
        {
            return mUrl ?? (mUrl = ValidationHelper.GetString(GetValue("Url"), string.Empty));
        }
        set
        {
            SetValue("Url", value);
            mUrl = value;
        }
    }


    /// <summary>
    /// Width of the web part in pixels.
    /// </summary>
    public int Width
    {
        get
        {
            return mWidth != 0 ? mWidth : (mWidth = ValidationHelper.GetInteger(GetValue("Width"), -1));
        }
        set
        {
            SetValue("Width", value);
            mWidth = value;
        }
    }


    /// <summary>
    /// Size.
    /// </summary>
    public string Size
    {
        get
        {
            return mSize ?? (mSize = ValidationHelper.GetString(GetValue("Size"), string.Empty));
        }
        set
        {
            SetValue("Size", value);
            mSize = value;
        }
    }


    /// <summary>
    /// Annotation.
    /// </summary>
    public string Annotation
    {
        get
        {
            return mAnnotation ?? (mAnnotation = ValidationHelper.GetString(GetValue("Annotation"), string.Empty));
        }
        set
        {
            SetValue("Annotation", value);
            mAnnotation = value;
        }
    }


    /// <summary>
    /// Align.
    /// </summary>
    public string Align
    {
        get
        {
            return mAlign ?? (mAlign = ValidationHelper.GetString(GetValue("Align"), string.Empty));
        }
        set
        {
            SetValue("Align", value);
            mAlign = value;
        }
    }


    /// <summary>
    /// Expand to.
    /// </summary>
    public string ExpandTo
    {
        get
        {
            return mExpandTo ?? (mExpandTo = ValidationHelper.GetString(GetValue("ExpandTo"), string.Empty).ToLowerCSafe());
        }
        set
        {
            SetValue("ExpandTo", value);
            mExpandTo = value;
        }
    }


    /// <summary>
    /// Language.
    /// </summary>
    public string Language
    {
        get
        {
            if (String.IsNullOrEmpty(mLanguage))
            {
                mLanguage = ValidationHelper.GetString(GetValue("Language"), string.Empty);
                if (String.IsNullOrEmpty(mLanguage))
                {
                    mLanguage = DocumentContext.CurrentDocumentCulture.CultureCode;
                    SetValue("Language", mLanguage);
                }
            }
            return mLanguage;
        }
        set
        {
            SetValue("Language", value);
            mLanguage = value;
        }
    }

    #endregion


    #region "Methods"

    /// <summary>
    /// Initializes the control properties
    /// </summary>
    protected override void SetupControl()
    {
        if (StopProcessing)
        {
            return;
        }
        StringBuilder output = new StringBuilder();

        string script = String.Format("<script src=\"https://apis.google.com/js/platform.js\" async defer>{{lang: '{0}'}}</script>",Language);

        string dataHref = String.IsNullOrWhiteSpace(Url) ? "" : String.Format("data-href=\"{0}\" ", HTMLHelper.EncodeForHtmlAttribute(Url));
        string dataSize = String.IsNullOrWhiteSpace(Size) ? "" : String.Format("data-size=\"{0}\" ", HTMLHelper.EncodeForHtmlAttribute(Size));
        string dataAnnotations = String.IsNullOrWhiteSpace(Annotation) ? "" : String.Format("data-annotation=\"{0}\" ", HTMLHelper.EncodeForHtmlAttribute(Annotation));
        string dataWidth = ((Annotation != "inline") || (Width >= 0)) ? "" : String.Format("data-width=\"{0}\" ", Width);
        string dataAlign = String.IsNullOrWhiteSpace(Align) ? "" : String.Format("data-align=\"{0}\" ", HTMLHelper.EncodeForHtmlAttribute(Align));
        string expandTo = String.IsNullOrWhiteSpace(ExpandTo) ? "" : String.Format("data-expandTo=\"{0}\" ", HTMLHelper.EncodeForHtmlAttribute(ExpandTo));

        output.Append(script);
        output.Append("<div class=\"g-plusone\" ");
        output.Append(dataHref);
        output.Append(dataSize);
        output.Append(dataAnnotations);
        output.Append(dataWidth);
        output.Append(dataAlign);
        output.Append(expandTo);
        output.Append("></div>");

        ltlPluginCode.Text = output.ToString();
    }

    #endregion
}