diff --git a/src/Umbraco.Core/Constants-Conventions.cs b/src/Umbraco.Core/Constants-Conventions.cs
index 17d3eb69a3..3f1b7a4823 100644
--- a/src/Umbraco.Core/Constants-Conventions.cs
+++ b/src/Umbraco.Core/Constants-Conventions.cs
@@ -136,28 +136,28 @@ namespace Umbraco.Core
///
public const string Comments = "umbracoMemberComments";
- public const string CommentsLabel = "Comments";
+ public const string CommentsLabel = "Comments";
///
/// Property alias for the Approved boolean of a Member
///
public const string IsApproved = "umbracoMemberApproved";
- public const string IsApprovedLabel = "Is Approved";
+ public const string IsApprovedLabel = "Is Approved";
///
/// Property alias for the Locked out boolean of a Member
///
public const string IsLockedOut = "umbracoMemberLockedOut";
- public const string IsLockedOutLabel = "Is Locked Out";
+ public const string IsLockedOutLabel = "Is Locked Out";
///
/// Property alias for the last date the Member logged in
///
public const string LastLoginDate = "umbracoMemberLastLogin";
- public const string LastLoginDateLabel = "Last Login Date";
+ public const string LastLoginDateLabel = "Last Login Date";
///
/// Property alias for the last date a Member changed its password
diff --git a/src/Umbraco.Web/Models/DynamicPublishedContent.cs b/src/Umbraco.Web/Models/DynamicPublishedContent.cs
index 4883becda4..4cb2402e9b 100644
--- a/src/Umbraco.Web/Models/DynamicPublishedContent.cs
+++ b/src/Umbraco.Web/Models/DynamicPublishedContent.cs
@@ -332,7 +332,7 @@ namespace Umbraco.Web.Models
var attempt = content.GetType().GetMemberIgnoreCase(content, alias);
- return !attempt.Success
+ return attempt.Success == false || attempt.Result == null
? null
: new PropertyResult(alias, attempt.Result, PropertyResultType.ReflectedProperty);
}
diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/nodeFactory/UmbracoSiteMapProvider.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/nodeFactory/UmbracoSiteMapProvider.cs
index f3f082e9e8..ff9cbfc9c0 100644
--- a/src/Umbraco.Web/umbraco.presentation/umbraco/nodeFactory/UmbracoSiteMapProvider.cs
+++ b/src/Umbraco.Web/umbraco.presentation/umbraco/nodeFactory/UmbracoSiteMapProvider.cs
@@ -14,125 +14,150 @@ using System.Configuration.Provider;
using System.Collections;
#endregion
-namespace umbraco.presentation.nodeFactory {
- public sealed class UmbracoSiteMapProvider : System.Web.StaticSiteMapProvider {
+namespace umbraco.presentation.nodeFactory
+{
+ public sealed class UmbracoSiteMapProvider : StaticSiteMapProvider
+ {
- private SiteMapNode m_root;
- private Dictionary m_nodes = new Dictionary(16);
- private string m_defaultDescriptionAlias = "";
- private bool m_enableSecurityTrimming;
-
- public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config) {
+ private SiteMapNode _root;
+ private readonly Dictionary _nodes = new Dictionary(16);
+ private string _defaultDescriptionAlias = "";
+ private bool _enableSecurityTrimming;
+ public override void Initialize(string name, NameValueCollection config)
+ {
if (config == null)
throw new ArgumentNullException("Config is null");
- if (String.IsNullOrEmpty(name))
+ if (string.IsNullOrEmpty(name))
name = "UmbracoSiteMapProvider";
- if (!String.IsNullOrEmpty(config["defaultDescriptionAlias"])) {
- m_defaultDescriptionAlias = config["defaultDescriptionAlias"].ToString();
+ if (string.IsNullOrEmpty(config["defaultDescriptionAlias"]) == false)
+ {
+ _defaultDescriptionAlias = config["defaultDescriptionAlias"];
config.Remove("defaultDescriptionAlias");
}
- if (config["securityTrimmingEnabled"] != null) {
- m_enableSecurityTrimming = bool.Parse(config["securityTrimmingEnabled"]);
+ if (config["securityTrimmingEnabled"] != null)
+ {
+ _enableSecurityTrimming = bool.Parse(config["securityTrimmingEnabled"]);
}
base.Initialize(name, config);
// Throw an exception if unrecognized attributes remain
- if (config.Count > 0) {
+ if (config.Count > 0)
+ {
string attr = config.GetKey(0);
- if (!String.IsNullOrEmpty(attr))
+ if (string.IsNullOrEmpty(attr) == false)
throw new ProviderException
- (String.Format("Unrecognized attribute: {0}", attr));
+ (string.Format("Unrecognized attribute: {0}", attr));
}
}
+ public override SiteMapNode BuildSiteMap()
+ {
+ lock (this)
+ {
+ if (_root != null)
+ return _root;
-
- public override System.Web.SiteMapNode BuildSiteMap() {
- lock (this) {
- if (m_root != null)
- return m_root;
-
- m_root = createNode("-1", "root", "umbraco root", "/", null);
- try {
- AddNode(m_root, null);
- } catch (Exception ex) {
+ _root = CreateNode("-1", "root", "umbraco root", "/", null);
+ try
+ {
+ AddNode(_root, null);
+ }
+ catch (Exception ex)
+ {
LogHelper.Error("Error adding to SiteMapProvider", ex);
}
- loadNodes(m_root.Key, m_root);
+ LoadNodes(_root.Key, _root);
}
- return m_root;
+ return _root;
}
- public void UpdateNode(NodeFactory.Node node) {
- lock (this) {
+ public void UpdateNode(NodeFactory.Node node)
+ {
+ lock (this)
+ {
// validate sitemap
BuildSiteMap();
SiteMapNode n;
- if (!m_nodes.ContainsKey(node.Id.ToString())) {
- n = createNode(node.Id.ToString(),
+ if (_nodes.ContainsKey(node.Id.ToString()) == false)
+ {
+ n = CreateNode(node.Id.ToString(),
node.Name,
- node.GetProperty(m_defaultDescriptionAlias) != null ? node.GetProperty(m_defaultDescriptionAlias).Value : "",
+ node.GetProperty(_defaultDescriptionAlias) != null ? node.GetProperty(_defaultDescriptionAlias).Value : "",
node.Url,
- findRoles(node.Id, node.Path));
+ FindRoles(node.Id, node.Path));
string parentNode = node.Parent == null ? "-1" : node.Parent.Id.ToString();
- try {
- AddNode(n, m_nodes[parentNode]);
- } catch (Exception ex) {
+ try
+ {
+ AddNode(n, _nodes[parentNode]);
+ }
+ catch (Exception ex)
+ {
LogHelper.Error(String.Format("Error adding node with url '{0}' and Id {1} to SiteMapProvider", node.Name, node.Id), ex);
}
- } else {
- n = m_nodes[node.Id.ToString()];
+ }
+ else
+ {
+ n = _nodes[node.Id.ToString()];
n.Url = node.Url;
- n.Description = node.GetProperty(m_defaultDescriptionAlias) != null ? node.GetProperty(m_defaultDescriptionAlias).Value : "";
+ n.Description = node.GetProperty(_defaultDescriptionAlias) != null ? node.GetProperty(_defaultDescriptionAlias).Value : "";
n.Title = node.Name;
- n.Roles = findRoles(node.Id, node.Path).Split(",".ToCharArray());
+ n.Roles = FindRoles(node.Id, node.Path).Split(",".ToCharArray());
}
}
}
- public void RemoveNode(int nodeId) {
- lock (this) {
- if (m_nodes.ContainsKey(nodeId.ToString()))
- RemoveNode(m_nodes[nodeId.ToString()]);
+ public void RemoveNode(int nodeId)
+ {
+ lock (this)
+ {
+ if (_nodes.ContainsKey(nodeId.ToString()))
+ RemoveNode(_nodes[nodeId.ToString()]);
}
}
- private void loadNodes(string parentId, SiteMapNode parentNode) {
- lock (this) {
+ private void LoadNodes(string parentId, SiteMapNode parentNode)
+ {
+ lock (this)
+ {
NodeFactory.Node n = new NodeFactory.Node(int.Parse(parentId));
foreach (NodeFactory.Node child in n.Children)
{
- string roles = findRoles(child.Id, child.Path);
- SiteMapNode childNode = createNode(
+ string roles = FindRoles(child.Id, child.Path);
+ SiteMapNode childNode = CreateNode(
child.Id.ToString(),
child.Name,
- child.GetProperty(m_defaultDescriptionAlias) != null ? child.GetProperty(m_defaultDescriptionAlias).Value : "",
+ child.GetProperty(_defaultDescriptionAlias) != null ? child.GetProperty(_defaultDescriptionAlias).Value : "",
child.Url,
roles);
- try {
+ try
+ {
AddNode(childNode, parentNode);
- } catch (Exception ex) {
+ }
+ catch (Exception ex)
+ {
LogHelper.Error(string.Format("Error adding node {0} to SiteMapProvider in loadNodes()", child.Id), ex);
}
- loadNodes(child.Id.ToString(), childNode);
+ LoadNodes(child.Id.ToString(), childNode);
}
}
}
- private string findRoles(int nodeId, string nodePath) {
+ private string FindRoles(int nodeId, string nodePath)
+ {
// check for roles
string roles = "";
- if (m_enableSecurityTrimming && !String.IsNullOrEmpty(nodePath) && nodePath.Length > 0) {
+ if (_enableSecurityTrimming && !string.IsNullOrEmpty(nodePath) && nodePath.Length > 0)
+ {
string[] roleArray = cms.businesslogic.web.Access.GetAccessingMembershipRoles(nodeId, nodePath);
if (roleArray != null)
roles = String.Join(",", roleArray);
@@ -142,13 +167,15 @@ namespace umbraco.presentation.nodeFactory {
return roles;
}
- protected override SiteMapNode GetRootNodeCore() {
+ protected override SiteMapNode GetRootNodeCore()
+ {
BuildSiteMap();
- return m_root;
+ return _root;
}
- public override bool IsAccessibleToUser(HttpContext context, SiteMapNode node) {
- if (!m_enableSecurityTrimming)
+ public override bool IsAccessibleToUser(HttpContext context, SiteMapNode node)
+ {
+ if (!_enableSecurityTrimming)
return true;
if (node.Roles == null || node.Roles.Count == -1)
@@ -164,9 +191,11 @@ namespace umbraco.presentation.nodeFactory {
return false;
}
- private SiteMapNode createNode(string id, string name, string description, string url, string roles) {
- lock (this) {
- if (m_nodes.ContainsKey(id))
+ private SiteMapNode CreateNode(string id, string name, string description, string url, string roles)
+ {
+ lock (this)
+ {
+ if (_nodes.ContainsKey(id))
throw new ProviderException(String.Format("A node with id '{0}' already exists", id));
// Get title, URL, description, and roles from the DataReader
@@ -178,21 +207,11 @@ namespace umbraco.presentation.nodeFactory {
// Create a SiteMapNode
SiteMapNode node = new SiteMapNode(this, id, url, name, description, rolelist, null, null, null);
- m_nodes.Add(id, node);
+ _nodes.Add(id, node);
// Return the node
return node;
}
}
-
-
- private SiteMapNode GetParentNode(string id) {
-
- // Make sure the parent ID is valid
- if (!m_nodes.ContainsKey(id))
- throw new ProviderException(String.Format("No parent with id '{0}' is found", id));
- // Return the parent SiteMapNode
- return m_nodes[id];
- }
}
}