Beispiel #1
0
        /// <summary>
        /// Migrate permissions from one group to another
        /// </summary>
        public void MigrateGroup(string oldGroup, string newGroup)
        {
            if (!IsLoaded)
            {
                return;
            }

            if (GroupExists(oldGroup))
            {
                var groups = ProtoStorage.GetFileDataPath("oxide.groups.data");
                File.Copy(groups, groups + ".old", true);

                foreach (var perm in GetGroupPermissions(oldGroup))
                {
                    GrantGroupPermission(newGroup, perm, null);
                }
                if (GetUsersInGroup(oldGroup).Length == 0)
                {
                    RemoveGroup(oldGroup);
                }

                SaveGroups();
            }
        }