Пример #1
0
    protected void MenuItemDataBound(object sender, MenuEventArgs e)
    {
        PageBase       page = (PageBase)Page;
        MembershipUser mu   = Membership.GetUser(false);

        if (e.Item.NavigateUrl.ToLower().Contains("action=validate") || e.Item.NavigateUrl.ToLower().Contains("pendingmembers"))
        {
            int pCount = SnitzMembershipProvider.GetUnApprovedMemberCount();
            e.Item.Enabled = false;
            if (pCount > 0)
            {
                e.Item.Enabled = true;
                e.Item.Text   += @" (" + pCount + @")";
            }
        }
        if (e.Item.NavigateUrl.ToLower().Contains("events"))
        {
            if (!ConfigHelper.IsModEnabled("EventsConfig"))
            {
                e.Item.Text    = "";
                e.Item.Enabled = false;
            }
        }
        if (e.Item.NavigateUrl.Contains("gallery.aspx"))
        {
            if (e.Item.NavigateUrl.Contains("mygallery.aspx"))
            {
                if (!Config.UserGallery)
                {
                    e.Item.Text    = "";
                    e.Item.Enabled = false;
                }
            }
            else
            {
                if (!Config.ShowGallery)
                {
                    e.Item.Text    = "";
                    e.Item.Enabled = false;
                }
            }
        }
        if (e.Item.NavigateUrl.ToLower().Contains("privatemessage"))
        {
            int unreadcount = 0;

            if (((PageBase)Page).Member != null)
            {
                unreadcount = PrivateMessages.GetUnreadPMCount(((PageBase)Page).Member.Id);
            }
            if (unreadcount > 0)
            {
                e.Item.Text += string.Format(" ({0})", unreadcount);
            }
            if (!Config.PrivateMessaging)
            {
                e.Item.Text    = "";
                e.Item.Enabled = false;
            }
        }
        if (e.Item.NavigateUrl.ToLower().Contains("active"))
        {
            if (mu != null)
            {
                int unreadcount = Topics.GetNewTopicCount(page.LastVisitDateTime.ToForumDateStr(), page.IsAdministrator || page.IsModerator, 0, 100);
                if (unreadcount > 0)
                {
                    e.Item.Text += @" (" + unreadcount + @")";
                }
            }
        }
    }