//public static List<PermissionConfig> GetGeneralPermissions() //{ // var permissions = new List<PermissionConfig>(); // var path = PathUtils.MapPath(FilePath); // if (FileUtils.IsFileExists(path)) // { // var xmlDoc = new XmlDocument(); // xmlDoc.Load(path); // var coreNode = xmlDoc.SelectSingleNode("Config"); // var isGet = false; // foreach (XmlNode child in coreNode.ChildNodes) // { // if (child.Name == "generalPermissions") // { // isGet = true; // GetPermissions(child, permissions); // break; // } // } // if (isGet == false) // { // GetPermissions(coreNode, permissions); // } // } // return permissions; //} //public static List<PermissionConfig> GetWebsitePermissions() //{ // var permissions = new List<PermissionConfig>(); // var path = PathUtils.MapPath(FilePath); // if (FileUtils.IsFileExists(path)) // { // var xmlDoc = new XmlDocument(); // xmlDoc.Load(path); // var coreNode = xmlDoc.SelectSingleNode("Config"); // foreach (XmlNode child in coreNode.ChildNodes) // { // if (child.Name == "websitePermissions") // { // GetPermissions(child, permissions); // break; // } // } // } // return permissions; //} //public static List<PermissionConfig> GetChannelPermissions() //{ // var permissions = new List<PermissionConfig>(); // var path = PathUtils.MapPath(FilePath); // if (FileUtils.IsFileExists(path)) // { // var xmlDoc = new XmlDocument(); // xmlDoc.Load(path); // var coreNode = xmlDoc.SelectSingleNode("Config"); // foreach (XmlNode child in coreNode.ChildNodes) // { // if (child.Name == "channelPermissions") // { // GetPermissions(child, permissions); // break; // } // } // } // return permissions; //} private void LoadValuesFromConfigurationXml(XmlDocument doc) { var coreNode = doc.SelectSingleNode("Config"); if (coreNode != null) { var isMultiple = true; foreach (XmlNode child in coreNode.ChildNodes) { if (child.NodeType == XmlNodeType.Comment) { continue; } if (child.Name == "generalPermissions") { GetPermissions(child, GeneralPermissions); } else if (child.Name == "websitePermissions") { GetPermissions(child, WebsitePermissions); } else if (child.Name == "channelPermissions") { GetPermissions(child, ChannelPermissions); } else if (child.Name == "govInteractPermissions") { GetPermissions(child, GovInteractPermissions); } else { isMultiple = false; break; } } if (!isMultiple) { GetPermissions(coreNode, GeneralPermissions); } } foreach (var pluginPair in PluginManager.AllPlugins) { if (pluginPair.Metadata.Permissions == null || pluginPair.Metadata.Permissions.Count <= 0) { continue; } foreach (var permissionsKey in pluginPair.Metadata.Permissions.Keys) { var name = pluginPair.Metadata.Id + "_" + permissionsKey; var text = pluginPair.Metadata.Name + "->" + pluginPair.Metadata.Permissions[permissionsKey]; WebsitePermissions.Add(new PermissionConfig(name, text)); } } }
private void LoadValuesFromConfigurationXml(XmlDocument doc) { var coreNode = doc.SelectSingleNode("Config"); if (coreNode != null) { var isMultiple = true; foreach (XmlNode child in coreNode.ChildNodes) { if (child.NodeType == XmlNodeType.Comment) { continue; } if (child.Name == "generalPermissions") { GetPermissions(child, GeneralPermissions); } else if (child.Name == "websitePermissions") { GetPermissions(child, WebsiteSysPermissions); GetPermissions(child, WebsitePermissions); } else if (child.Name == "channelPermissions") { GetPermissions(child, ChannelPermissions); } else { isMultiple = false; break; } } if (!isMultiple) { GetPermissions(coreNode, GeneralPermissions); } } GeneralPermissions.AddRange(PluginMenuManager.GetTopPermissions()); var pluginPermissions = PluginMenuManager.GetSitePermissions(0); WebsitePluginPermissions.AddRange(pluginPermissions); WebsitePermissions.AddRange(pluginPermissions); }