Archive for Luglio 19th, 2008

SiteActionsSubMenuCustomizer.cs

CodeKeep C# Feed Luglio 19th, 2008

Description: Site Actions SubMenu Customizer adds items imperatively.

Link: http://www.codekeep.net/snippets/9091b2f1-7601-4749-a594-c5d596def669.aspx

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.Administration;
using System.Web.UI.WebControls;

namespace SiteActionsSubMenuDemo
{
    public class SiteActionsSubMenuCustomizer : WebControl
    {
        string m_urlPrefix = "";

        protected override void OnLoad(EventArgs e)
        {
            this.EnsureChildControls();
            base.OnLoad(e);
        }

        protected override void CreateChildControls()
        {
            SPWeb web1 = SPContext.Current.Web;

            if (web1.IsRootWeb)
                m_urlPrefix = "/";

            SubMenuTemplate quickSiteSettings = new SubMenuTemplate();
            quickSiteSettings.Text = "Quick Site Settings";
            quickSiteSettings.ID = "QuickSiteSettings";
            quickSiteSettings.Description = "Quick access to site settings";
            quickSiteSettings.Sequence = 400;

            // Build submenus
            quickSiteSettings.Controls.Add(BuildSubMenuUsersAndPermissions()); 
            quickSiteSettings.Controls.Add(BuildSubMenuLookAndFeel());
            quickSiteSettings.Controls.Add(BuildSubMenuGalleries());
            quickSiteSettings.Controls.Add(BuildSubMenuAdmin());

            // Link to WSS Central Admin
            MenuItemTemplate wssCentralAdmin = new MenuItemTemplate();
            wssCentralAdmin.Text = "WSS Central Administration";
            wssCentralAdmin.ID = "SiteActionsSubMenuItem1";
            wssCentralAdmin.Description = "View WSS Central Administration";
            wssCentralAdmin.ImageUrl = "/_layouts/images/admintitlegraphic.gif";
            wssCentralAdmin.Sequence = 400;
            string url = SPAdministrationWebApplication.Local.GetResponseUri(SPUrlZone.Default).ToString();
            wssCentralAdmin.ClientOnClickNavigateUrl = url;
            quickSiteSettings.Controls.Add(wssCentralAdmin);

            this.Controls.Add(quickSiteSettings);
        }

        private SubMenuTemplate BuildSubMenuAdmin()
        {
            // Site admin submenu
            SubMenuTemplate siteAdmin = new SubMenuTemplate();
            siteAdmin.Text = "Site Administration";
            siteAdmin.ID = "SiteAdminstration";
            siteAdmin.Description = "Administration functions for this site";
            siteAdmin.Sequence = 400;

            // Site libraries and lists menu item
            MenuItemTemplate siteLists = new MenuItemTemplate();
            siteLists.Text = "Site libraries and lists";
            siteLists.ID = "siteLists";
            siteLists.Description = "Manage site libraries and lists";
            siteLists.Sequence = 400;
            siteLists.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/mcontent.aspx";
            siteAdmin.Controls.Add(siteLists);

            // Site usage menu item
            MenuItemTemplate siteUsage = new MenuItemTemplate();
            siteUsage.Text = "Site usage";
            siteUsage.ID = "siteUsage";
            siteUsage.Description = "View site usage statistics";
            siteUsage.Sequence = 400;
            siteUsage.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/SpUsageWeb.aspx";
            siteAdmin.Controls.Add(siteUsage);

            // User alerts menu item
            MenuItemTemplate userAlerts = new MenuItemTemplate();
            userAlerts.Text = "User alerts";
            userAlerts.ID = "userAlerts";
            userAlerts.Description = "Manage user alerts";
            userAlerts.Sequence = 400;
            userAlerts.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/sitesubs.aspx";
            siteAdmin.Controls.Add(userAlerts);

            // RSS feeds menu item
            MenuItemTemplate rssFeeds = new MenuItemTemplate();
            rssFeeds.Text = "RSS feeds";
            rssFeeds.ID = "rssFeeds";
            rssFeeds.Description = "Enable/disable RSS feeds";
            rssFeeds.Sequence = 400;
            rssFeeds.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/siterss.aspx";
            siteAdmin.Controls.Add(rssFeeds);

            // Site features menu item
            MenuItemTemplate siteFeatures = new MenuItemTemplate();
            siteFeatures.Text = "Site features";
            siteFeatures.ID = "siteFeatures";
            siteFeatures.Description = "Manage site features";
            siteFeatures.Sequence = 400;
            siteFeatures.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/ManageFeatures.aspx";
            siteAdmin.Controls.Add(siteFeatures);

            // Site structure menu item
            MenuItemTemplate siteStructure = new MenuItemTemplate();
            siteStructure.Text = "Site structure";
            siteStructure.ID = "siteStructure";
            siteStructure.Description = "Site content and structure";
            siteStructure.Sequence = 400;
            siteStructure.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_Layouts/sitemanager.aspx?Source=/_layouts/settings.aspx";
            siteAdmin.Controls.Add(siteStructure);

            return siteAdmin;
        }

        private SubMenuTemplate BuildSubMenuGalleries()
        {
            // Galleries submenu
            SubMenuTemplate galleries = new SubMenuTemplate();
            galleries.Text = "Galleries";
            galleries.ID = "galleries";
            galleries.Description = "View this site's galleries";
            galleries.Sequence = 400;

            // Master pages gallery menu item
            MenuItemTemplate masterPagesGallery = new MenuItemTemplate();
            masterPagesGallery.Text = "Master pages";
            masterPagesGallery.ID = "masterPagesGallery";
            masterPagesGallery.Description = "View the master pages gallery";
            masterPagesGallery.Sequence = 400;
            masterPagesGallery.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_catalogs/masterpage/Forms/AllItems.aspx";
            galleries.Controls.Add(masterPagesGallery);

            // Site content types gallery menu item
            MenuItemTemplate siteContentTypesGallery = new MenuItemTemplate();
            siteContentTypesGallery.Text = "Site content types";
            siteContentTypesGallery.ID = "siteContentTypesGallery";
            siteContentTypesGallery.Description = "View the site content types gallery";
            siteContentTypesGallery.Sequence = 400;
            siteContentTypesGallery.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/mngctype.aspx";
            galleries.Controls.Add(siteContentTypesGallery);

            // Site columns gallery menu item
            MenuItemTemplate siteColumnsGallery = new MenuItemTemplate();
            siteColumnsGallery.Text = "Site columns";
            siteColumnsGallery.ID = "siteColumnsGallery";
            siteColumnsGallery.Description = "View the site columns gallery";
            siteColumnsGallery.Sequence = 400;
            siteColumnsGallery.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/mngfield.aspx";
            galleries.Controls.Add(siteColumnsGallery);

            return galleries;
        }

        private SubMenuTemplate BuildSubMenuLookAndFeel()
        {
            // Look and feel submenu
            SubMenuTemplate lookAndFeel = new SubMenuTemplate();
            lookAndFeel.Text = "Look and Feel";
            lookAndFeel.ID = "lookAndFeel";
            lookAndFeel.Description = "Modify this site's look and feel";
            lookAndFeel.Sequence = 400;

            // Title, description and icon menu item
            MenuItemTemplate titleDescIcon = new MenuItemTemplate();
            titleDescIcon.Text = "Title, description and icon";
            titleDescIcon.ID = "titleDescIcon";
            titleDescIcon.Description = "Set this site's title, description, icon";
            titleDescIcon.Sequence = 400;
            titleDescIcon.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/prjsetng.aspx";
            lookAndFeel.Controls.Add(titleDescIcon);

            // Change master page menu item
            MenuItemTemplate masterPage = new MenuItemTemplate();
            masterPage.Text = "Master page";
            masterPage.ID = "masterPage";
            masterPage.Description = "Change this site's master page";
            masterPage.Sequence = 400;
            masterPage.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/changesitemasterpage.aspx";
            lookAndFeel.Controls.Add(masterPage);

            // Navigation settings menu item
            MenuItemTemplate navSettings = new MenuItemTemplate();
            navSettings.Text = "Navigation";
            navSettings.ID = "navSettings";
            navSettings.Description = "Navigation settings";
            navSettings.Sequence = 400;

            navSettings.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/areanavigationsettings.aspx";
            lookAndFeel.Controls.Add(navSettings);

            // More navigation options menu item
            MenuItemTemplate navOptions = new MenuItemTemplate();
            navOptions.Text = "Navigation options";
            navOptions.ID = "navOptions";
            navOptions.Description = "More navigation options";
            navOptions.Sequence = 400;
            navOptions.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/navoptions.aspx";
            lookAndFeel.Controls.Add(navOptions);

            // Site theme menu item
            MenuItemTemplate siteTheme = new MenuItemTemplate();
            siteTheme.Text = "Site theme";
            siteTheme.ID = "siteTheme";
            siteTheme.Description = "Change site theme";
            siteTheme.Sequence = 400;
            siteTheme.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/themeweb.aspx";
            lookAndFeel.Controls.Add(siteTheme);

            // Save site as template menu item
            MenuItemTemplate saveTemplate = new MenuItemTemplate();
            saveTemplate.Text = "Save site template";
            saveTemplate.ID = "saveTemplate";
            saveTemplate.Description = "Save this site as template";
            saveTemplate.Sequence = 400;
            saveTemplate.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/savetmpl.aspx";
            lookAndFeel.Controls.Add(saveTemplate);

            return lookAndFeel;
        }

        private SubMenuTemplate BuildSubMenuUsersAndPermissions()
        {
            // Users and permissions submenu
            SubMenuTemplate usersAndPermissions = new SubMenuTemplate();
            usersAndPermissions.Text = "User and Permissions";
            usersAndPermissions.ID = "usersAndPermissions";
            usersAndPermissions.Description = "Set this site's users and permissions";
            usersAndPermissions.Sequence = 400;

            // People and Groups menu item
            MenuItemTemplate peopleAndGroups = new MenuItemTemplate();
            peopleAndGroups.Text = "People and groups";
            peopleAndGroups.ID = "PeopleAndGroups";
            peopleAndGroups.Description = "Manage people and groups";
            peopleAndGroups.Sequence = 400;
            peopleAndGroups.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/people.aspx";
            usersAndPermissions.Controls.Add(peopleAndGroups);

            // Advanced permissions menu item
            MenuItemTemplate advancedPermissions = new MenuItemTemplate();
            advancedPermissions.Text = "Advanced permissions";
            advancedPermissions.ID = "advancedPermissions";
            advancedPermissions.Description = "Manage advanced permissions";
            advancedPermissions.Sequence = 400;
            advancedPermissions.ClientOnClickNavigateUrl = m_urlPrefix + 
                "_layouts/user.aspx";
            usersAndPermissions.Controls.Add(advancedPermissions);

            return usersAndPermissions;
        }
    }
}

fff

CodeKeep C# Feed Luglio 19th, 2008

Description: ff

Link: http://www.codekeep.net/snippets/97726446-a985-4e35-9ae8-4aa2ba350b5d.aspx

    class Subscriber
    {
        private string id;
        public Subscriber(string ID, Publisher pub)
        {
            id = ID;
            // Subscribe to the event using C# 2.0 syntax
            pub.RaiseCustomEvent += HandleCustomEvent;
        }

        // Define what actions to take when the event is raised.
        void HandleCustomEvent(object sender, CustomEventArgs e)
        {
            Console.WriteLine(id + " received this message: {0}", e.Message);
        }
    }