I have enclosed some interesting code obtained using Reflector.
people.aspx contains an MenuItemTemplate with ID="MenuItemCustomize" and Visible="false". The code behind is responsible for unhiding the MenuItem based on some logic. Check out the last few lines in the second code snippet. I think this is where for some reason it does not go inside the if statement for your where it should set Visible to true for your MenuItemCustomize. You could write some code in a custom control that tests for the same conditions. Include it in the masterpage and navigate to people.aspx to ensure you have the same context. Use SPContext.Current.Web as the web to test against.
Microsoft.SharePoint.ApplicationPages.PeoplePage.OnLoad()
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (string.IsNullOrEmpty(base.Request.QueryString["MembershipGroupId"]))
{
string str;
if (base.AssociatedGroups.Count > 0)
{
str = "people.aspx?MembershipGroupId=" + base.AssociatedGroups[0].ID.ToString(CultureInfo.InvariantCulture);
}
else
{
str = "people.aspx?MembershipGroupId=0&FilterField1=ContentType&FilterValue1=Person";
}
SPUtility.Redirect(str, SPRedirectFlags.RelativeToLayoutsPage, this.Context);
}
base.UserListView.ViewId = this.CurrentViewId.ToString("B");
this.UpdateViewSelector();
if (!base.IsPostBack)
{
if (!this.IsGroupMembershipPage)
{
this.MenuItemManageGroup.Visible = false;
this.MenuItemRemoveUsersFromGroup.Visible = false;
this.BtnRemoveUsersFromGroup.Visible = false;
this.MenuItemAddUserToGroup.Visible = false;
this.MenuItemRemoveUsersFromSiteCollection.Visible = base.Web.HasUniqueRoleAssignments && base.Web.CurrentUser.IsSiteAdmin;
this.BtnRemoveUsersFromSiteCollection.Visible = base.Web.HasUniqueRoleAssignments && base.Web.CurrentUser.IsSiteAdmin;
base.MenuItemEditGroupsQuickLaunch.Visible = false;
base.MenuItemSetupGroups.Visible = false;
this.PanelPeopleInGroup.Visible = false;
this.PanelAllPeople.Visible = true;
this.LiteralAllPeople.Visible = true;
this.LabelGroupName.Visible = false;
if (base.Web.UserIsWebAdmin && (base.Web.HasUniqueRoleAssignments || (base.AssociatedGroups.Count > 0)))
{
this.MenuItemAddUserToGroup.Visible = true;
PeopleGroupPageBase.SetMenuItemNavigateUrlAppendGoToPage(this.MenuItemAddUserToGroup, base.Web.Url + "/_layouts/aclinv.aspx");
base.DefaultNewMenuAction = this.MenuItemAddUserToGroup.ClientOnClickScript;
}
PeopleGroupPageBase.UpdateUserPageMenuItems(base.Web, base.MenuItemCreateNewGroup, null, null, null, null, base.MenuItemCustomize);
}
else
{
this.PanelPeopleInGroup.Visible = true;
this.PanelAllPeople.Visible = false;
this.LabelGroupName.Visible = true;
this.LabelGroupName.Text = SPHttpUtility.HtmlEncode(this.CurrentGroup.Name);
this.LiteralAllPeople.Visible = false;
SPFieldMultiLineText text = (SPFieldMultiLineText) base.Web.SiteUserInfoList.Fields[SPBuiltInFieldId.Notes];
object obj2 = this.CurrentGroupListItem[text.InternalName];
this.LabelGroupDescription.Text = text.GetFieldValueAsHtml(obj2);
this.MenuItemManageGroup.Visible = this.CurrentGroup.CanCurrentUserManageGroup;
if (this.MenuItemManageGroup.Visible)
{
PeopleGroupPageBase.SetMenuItemNavigateUrlAppendGoToPage(this.MenuItemManageGroup, base.Web.Url + "/_layouts/editgrp.aspx?" + SPHttpUtility.UrlKeyValueEncode("Group", this.CurrentGroup.Name));
}
this.MenuItemAddUserToGroup.Visible = this.CurrentGroup.CanCurrentUserEditMembership;
if (this.MenuItemAddUserToGroup.Visible)
{
PeopleGroupPageBase.SetMenuItemNavigateUrlAppendGoToPage(this.MenuItemAddUserToGroup, base.Web.Url + "/_layouts/aclinv.aspx?GroupId=" + SPHttpUtility.UrlKeyValueEncode(this.CurrentGroup.ID.ToString(CultureInfo.InvariantCulture)));
base.DefaultNewMenuAction = this.MenuItemAddUserToGroup.ClientOnClickScript;
}
this.UpdateJoinLeaveGroupButton();
this.BtnRemoveUsersFromGroup.Visible = this.CurrentGroup.CanCurrentUserEditMembership;
this.MenuItemRemoveUsersFromGroup.Visible = this.CurrentGroup.CanCurrentUserEditMembership;
this.BtnRemoveUsersFromSiteCollection.Visible = false;
this.MenuItemRemoveUsersFromSiteCollection.Visible = false;
this.UpdateGroupEmailSettings();
base.UserListView.Visible = this.CurrentGroup.CanCurrentUserViewMembership;
this.PanelCannotViewMembership.Visible = !this.CurrentGroup.CanCurrentUserViewMembership;
this.MenuItemEmail.Visible = this.CurrentGroup.CanCurrentUserViewMembership;
this.MenuItemCall.Visible = this.CurrentGroup.CanCurrentUserViewMembership;
if (this.MenuItemViewGroupPerm != null)
{
this.MenuItemViewGroupPerm.Visible = GroupPermissions.DoesCurrentUserHavePermission(base.Web, this.CurrentGroup);
if (this.MenuItemViewGroupPerm.Visible)
{
this.MenuItemViewGroupPerm.ClientOnClickScript = "GotoGroupSecScopes('" + SPHttpUtility.EcmaScriptStringLiteralEncode(this.CurrentGroup.ID.ToString(CultureInfo.InvariantCulture)) + "');";
}
}
PeopleGroupPageBase.UpdateUserPageMenuItems(base.Web, base.MenuItemCreateNewGroup, base.MenuItemEditGroupsQuickLaunch, base.MenuItemSetupGroups, null, null, base.MenuItemCustomize);
}
}
base.UpdateQuickLaunchMenu(this.GroupId);
if (!this.IsGroupMembershipPage)
{
base.MenuQuickLaunch.Items[PeopleGroupPageBase.AllPeopleMenuItemIndex].Selected = true;
}
}
Microsoft.SharePoint.ApplicationPages.PeopleGroupPageBase.UpdateUserPageMenuItems()
internal static void UpdateUserPageMenuItems(SPWeb Web, MenuItemTemplate MenuItemCreateNewGroup, MenuItemTemplate MenuItemEditGroupsQuickLaunch, MenuItemTemplate MenuItemSetupGroups, MenuItemTemplate MenuItemSiteAdmins, MenuItemTemplate MenuItemPermLevel, MenuItemTemplate MenuItemCustomize)
{
string str;
MenuItemCreateNewGroup.Visible = Web.DoesUserHavePermissions(SPBasePermissions.CreateGroups);
if (MenuItemCreateNewGroup.Visible)
{
str = Web.Url + "/_layouts/newgrp.aspx";
MenuItemCreateNewGroup.ClientOnClickNavigateUrl = SPHttpUtility.UrlPathEncode(str, false);
}
if (MenuItemEditGroupsQuickLaunch != null)
{
MenuItemEditGroupsQuickLaunch.Visible = Web.DoesUserHavePermissions(SPBasePermissions.ManageWeb);
if (MenuItemEditGroupsQuickLaunch.Visible)
{
str = Web.Url + "/_layouts/associatedgroups.aspx";
SetMenuItemNavigateUrlAppendGoToPage(MenuItemEditGroupsQuickLaunch, str);
}
}
if (MenuItemSetupGroups != null)
{
MenuItemSetupGroups.Visible = Web.DoesUserHavePermissions(SPBasePermissions.ManagePermissions | SPBasePermissions.CreateGroups | SPBasePermissions.ManageWeb);
if (MenuItemSetupGroups.Visible)
{
str = Web.Url + "/_layouts/permsetup.aspx";
SetMenuItemNavigateUrlAppendGoToPage(MenuItemSetupGroups, str);
}
}
if (MenuItemSiteAdmins != null)
{
MenuItemSiteAdmins.Visible = Web.CurrentUser.IsSiteAdmin && Web.IsRootWeb;
if (MenuItemSiteAdmins.Visible)
{
str = Web.Url + "/_layouts/mngsiteadmin.aspx";
SetMenuItemNavigateUrlAppendGoToPage(MenuItemSiteAdmins, str);
}
}
if (MenuItemPermLevel != null)
{
MenuItemPermLevel.Visible = Web.HasUniqueRoleAssignments && Web.DoesUserHavePermissions(SPBasePermissions.EnumeratePermissions);
if (MenuItemPermLevel.Visible)
{
str = Web.Url + "/_layouts/role.aspx";
SetMenuItemNavigateUrlAppendGoToPage(MenuItemPermLevel, str);
}
}
if (MenuItemCustomize != null)
{
if (Web.IsRootWeb)
{
}
MenuItemCustomize.Visible = (Web.CurrentUser != null) && Web.CurrentUser.IsSiteAdmin;
if (MenuItemCustomize.Visible)
{
SetMenuItemNavigateUrlAppendGoToPage(MenuItemCustomize, Web.Url + "/_layouts/listedit.aspx?List=" + Web.SiteUserInfoList.ID.ToString());
}
}
}