// ==================================================================== // Class: XAdmin.xAdminConfigIni // Parent: Engine.xAdminConfigBase // // Retains the list of Admin Users and Groups and keeps them into an // Ini file. // ==================================================================== class xAdminConfigIni extends xAdminConfigBase Config(xAdmin) ParseConfig; struct AdminUser { var string AdminName; var string Password; var string Privileges; var array Groups; // A User can be part of multiple groups var array ManagedGroups; }; struct AdminGroup { var string GroupName; var string Privileges; var byte GameSecLevel; }; var config array AdminUsers; var config array AdminGroups; // TODO: Define when it should return false static function bool Load(xAdminUserList Users, xAdminGroupList Groups, bool bDontAddDefaultAdmin) { local int i; local xAdminUser NewUser; local xAdminGroup NewGroup; local AdminUser User; local AdminGroup Group; local bool bDirty; Log("Loading Admins & Groups"); // Start with converting groups for (i = 0; i 0) { Default.AdminUsers[UserLen].Groups.Length = User.Groups.Count(); for (j = 0; j 0) { Default.AdminUsers[UserLen].ManagedGroups.Length = User.ManagedGroups.Count(); for (j = 0; j