Ejemplo n.º 1
0
        //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));
                }
            }
        }
Ejemplo n.º 2
0
        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);
        }