Example #1
0
    /// <summary>
    /// Returns user full name.
    /// </summary>
    /// <param name="userId">User id</param>
    public static string GetUserFullName(object userId)
    {
        int id = ValidationHelper.GetInteger(userId, 0);

        if (id > 0)
        {
            string key = "TransfUserFullName_" + id;

            // Most of the post will be from the same user, store fullname to the request to minimize the DB access
            if (RequestStockHelper.Contains(key))
            {
                return(ValidationHelper.GetString(RequestStockHelper.GetItem(key), ""));
            }
            else
            {
                DataSet ds = CMS.Membership.UserInfoProvider.GetUsers();

                //DataSet ds = UserInfoProvider.GetUsers("UserID = " + id, null, 1, "FullName");
                if (!DataHelper.DataSourceIsEmpty(ds))
                {
                    string result = HTMLHelper.HTMLEncode(ValidationHelper.GetString(ds.Tables[0].Rows[0]["FullName"], ""));
                    RequestStockHelper.Add(key, result);

                    return(result);
                }
            }
        }
        return("");
    }
    /// <summary>
    /// Returns group member info, reult is cached in request.
    /// </summary>
    /// <param name="userId">User ID</param>
    /// <param name="groupId">Group ID</param>
    private GroupMemberInfo GetGroupMember(int userId, int groupId)
    {
        GroupMemberInfo gmi = RequestStockHelper.GetItem("CommunityShortCuts" + userId.ToString() + "_" + groupId.ToString()) as GroupMemberInfo;

        if ((gmi == null) && (!RequestStockHelper.Contains("CommunityShortCuts" + userId.ToString() + "_" + groupId.ToString())))
        {
            gmi = GroupMemberInfoProvider.GetGroupMemberInfo(userId, groupId);
            if (gmi != null)
            {
                RequestStockHelper.Add("CommunityShortCuts" + userId.ToString() + "_" + groupId.ToString(), gmi);
            }
            else
            {
                RequestStockHelper.Add("CommunityShortCuts" + userId.ToString() + "_" + groupId.ToString(), false);
            }
        }

        return(gmi);
    }
    protected void Page_PreRender(object sender, EventArgs e)
    {
        if (Behavior == "hover")
        {
            StringBuilder sb = new StringBuilder();
            // If jQuery not loaded
            sb.AppendFormat(@"
if (typeof jQuery == 'undefined') {{ 
    var jQueryCore=document.createElement('script');
    jQueryCore.setAttribute('type','text/javascript'); 
    jQueryCore.setAttribute('src', '{0}');
    setTimeout('document.body.appendChild(jQueryCore)',100); 
    setTimeout('loadTooltip()',200);
}}", ScriptHelper.GetScriptUrl("~/CMSScripts/jquery/jquery-core.js"));

            // If jQuery tooltip plugin not loaded
            sb.AppendFormat(@"
var jQueryTooltips=document.createElement('script'); 
function loadTooltip() {{ 
    if (typeof jQuery == 'undefined') {{ setTimeout('loadTooltip()',200); return;}} 
    if (typeof jQuery.fn.tooltip == 'undefined') {{ 
        jQueryTooltips.setAttribute('type','text/javascript'); 
        jQueryTooltips.setAttribute('src', '{0}'); 
        setTimeout('document.body.appendChild(jQueryTooltips)',100); 
    }}
}}", ScriptHelper.GetScriptUrl("~/CMSScripts/jquery/jquery-tooltips.js"));


            string rtlDefinition = null;
            if (((IsLiveSite) && (CultureHelper.IsPreferredCultureRTL())) || (CultureHelper.IsUICultureRTL()))
            {
                rtlDefinition = "positionLeft: true,left: -15,";
            }

            sb.AppendFormat(@"
function hover(imgID, width, height, sizeInUrl) {{ 
    if ((typeof jQuery == 'undefined')||(typeof jQuery.fn.tooltip == 'undefined')) {{
        var imgIDForTimeOut = imgID.replace(/\\/gi,""\\\\"").replace(/'/gi,""\\'"");
        setTimeout(""loadTooltip();hover('""+imgIDForTimeOut+""',""+width+"",""+height+"",""+sizeInUrl+"")"",100); return;
    }}
    jQuery('img[id='+imgID+']').tooltip({{
        delay: 0,
        track: true,
        showBody: "" - "",
        showBody: "" - "", 
        extraClass: ""ImageExtraClass"",
        showURL: false, 
        {0}
        bodyHandler: function() {{
            var hidden = jQuery(""#"" + imgID + ""_src"");
            var source = this.src;
            if (hidden[0] != null) {{
                source = hidden[0].value;
            }}
            var hoverDiv = jQuery(""<div/>"");
            var hoverImg = jQuery(""<img/>"").attr(""class"", ""ImageTooltip"").attr(""src"", source);
            hoverImg.css({{'width' : width, 'height' : height}});
            hoverDiv.append(hoverImg);
            return hoverDiv;
        }}
    }});
}}", rtlDefinition);

            ScriptHelper.RegisterStartupScript(Page, typeof(Page), "JQueryImagePreview", ScriptHelper.GetScript(sb.ToString()));
        }

        ImageParameters imgParams = new ImageParameters();

        if (!String.IsNullOrEmpty(URL))
        {
            imgParams.Url = ResolveUrl(URL);
        }
        imgParams.Align           = Align;
        imgParams.Alt             = Alt;
        imgParams.Behavior        = Behavior;
        imgParams.BorderColor     = BorderColor;
        imgParams.BorderWidth     = BorderWidth;
        imgParams.Class           = Class;
        imgParams.Extension       = Extension;
        imgParams.Height          = Height;
        imgParams.HSpace          = HSpace;
        imgParams.Id              = (String.IsNullOrEmpty(ImageID) ? Guid.NewGuid().ToString() : ImageID);
        imgParams.Link            = Link;
        imgParams.MouseOverHeight = MouseOverHeight;
        imgParams.MouseOverWidth  = MouseOverWidth;
        imgParams.SizeToURL       = SizeToURL;
        imgParams.Style           = Style;
        imgParams.Target          = Target;
        imgParams.Tooltip         = Tooltip;
        imgParams.VSpace          = VSpace;
        imgParams.Width           = Width;

        if (ShowFileIcons && (Extension != null))
        {
            imgParams.Width  = 0;
            imgParams.Height = 0;
            imgParams.Url    = GetFileIconUrl(Extension, "List");
        }

        ltlImage.Text = MediaHelper.GetImage(imgParams);

        // Dynamic JQuery hover effect
        if (Behavior == "hover")
        {
            string imgId = HTMLHelper.HTMLEncode(HttpUtility.UrlDecode(imgParams.Id));
            string url   = HttpUtility.HtmlDecode(URL);
            if (SizeToURL)
            {
                if (MouseOverWidth > 0)
                {
                    url = URLHelper.UpdateParameterInUrl(url, "width", MouseOverWidth.ToString());
                }
                if (MouseOverHeight > 0)
                {
                    url = URLHelper.UpdateParameterInUrl(url, "height", MouseOverHeight.ToString());
                }
                url = URLHelper.RemoveParameterFromUrl(url, "maxsidesize");
            }
            ltlImage.Text += "<input type=\"hidden\" id=\"" + imgId + "_src\" value=\"" + ResolveUrl(url) + "\" />";

            ScriptHelper.RegisterStartupScript(Page, typeof(Page), "ImageHover_" + imgId, ScriptHelper.GetScript("hover(" + ScriptHelper.GetString(ScriptHelper.EscapeJQueryCharacters(imgId)) + ", " + MouseOverWidth + ", " + MouseOverHeight + ", " + (SizeToURL ? "true" : "false") + ");"));
            if (!RequestStockHelper.Contains("DialogsImageHoverStyle"))
            {
                RequestStockHelper.Add("DialogsImageHoverStyle", true);
                CSSHelper.RegisterCSSBlock(Page, "#tooltip {position: absolute;z-index:5000;}");
            }
        }
    }