Exemplo n.º 1
0
        /// <summary>
        /// Tries to load the specified configuration file, creating a default
        /// configuration file if the specified one does not exist.
        /// </summary>
        /// <param name="fname">the name of the configuration file to load</param>
        /// <returns>a <see cref="T:WCell.AuthServer.Privileges.RoleGroupConfig" /> object representing the loaded file</returns>
        public static RoleGroupConfig LoadConfigOrDefault(string fname)
        {
            string          fullPath        = RealmServerConfiguration.GetFullPath(RealmServerConfiguration.ConfigDir);
            string          str             = Path.Combine(fullPath, fname);
            RoleGroupConfig roleGroupConfig =
                File.Exists(str) ? XmlFile <RoleGroupConfig> .Load(str) : (RoleGroupConfig)null;

            if (RoleGroupInfo.HighestRole == null || RoleGroupInfo.HighestRole.IsStaff)
            {
                roleGroupConfig = new RoleGroupConfig()
                {
                    RoleGroups = RoleGroupInfo.CreateDefaultGroups().ToArray()
                };
                roleGroupConfig.SaveAs(fname, fullPath);
            }

            return(roleGroupConfig);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Tries to load the specified configuration file, creating a default
        /// configuration file if the specified one does not exist.
        /// </summary>
        /// <param name="fname">the name of the configuration file to load</param>
        /// <returns>a <see cref="RoleGroupConfig" /> object representing the loaded file</returns>
        public static RoleGroupConfig LoadConfigOrDefault(string fname)
        {
            var confFolder = RealmServerConfiguration.GetFullPath(RealmServerConfiguration.ConfigDir);
            var privFile   = Path.Combine(confFolder, fname);

            var cfg = File.Exists(privFile) ? Load(privFile) : null;

            if (RoleGroupInfo.HighestRole == null ||
                RoleGroupInfo.HighestRole.IsStaff)
            {
                cfg = new RoleGroupConfig
                {
                    RoleGroups = RoleGroupInfo.CreateDefaultGroups().ToArray()
                };
                cfg.SaveAs(fname, confFolder);
            }

            return(cfg);
        }