From 9bea4fc4515b556fc69412cccc3c3f186553fe7b Mon Sep 17 00:00:00 2001 From: Spp Date: Fri, 30 Aug 2013 16:26:52 +0200 Subject: Core/RBAC: Move ban commands to RBAC (using individual permissions) --- src/server/game/Accounts/RBAC.h | 18 +++++++++++++ src/server/scripts/Commands/cs_ban.cpp | 46 +++++++++++++++++----------------- 2 files changed, 41 insertions(+), 23 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index f0e6f547ba3..55f8527a125 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -136,6 +136,24 @@ enum RBACPermissions RBAC_PERM_COMMAND_ARENA_INFO = 236, RBAC_PERM_COMMAND_ARENA_LOOKUP = 237, RBAC_PERM_COMMAND_ARENA_RENAME = 238, + RBAC_PERM_COMMAND_BAN = 239, + RBAC_PERM_COMMAND_BAN_ACCOUNT = 240, + RBAC_PERM_COMMAND_BAN_CHARACTER = 241, + RBAC_PERM_COMMAND_BAN_IP = 242, + RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT = 243, + RBAC_PERM_COMMAND_BANINFO = 244, + RBAC_PERM_COMMAND_BANINFO_ACCOUNT = 245, + RBAC_PERM_COMMAND_BANINFO_CHARACTER = 246, + RBAC_PERM_COMMAND_BANINFO_IP = 247, + RBAC_PERM_COMMAND_BANLIST = 248, + RBAC_PERM_COMMAND_BANLIST_ACCOUNT = 249, + RBAC_PERM_COMMAND_BANLIST_CHARACTER = 250, + RBAC_PERM_COMMAND_BANLIST_IP = 251, + RBAC_PERM_COMMAND_UNBAN = 252, + RBAC_PERM_COMMAND_UNBAN_ACCOUNT = 253, + RBAC_PERM_COMMAND_UNBAN_CHARACTER = 254, + RBAC_PERM_COMMAND_UNBAN_IP = 255, + RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT = 256, // custom permissions 1000+ RBAC_PERM_MAX diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp index 932a1def6f0..b12e058a78f 100644 --- a/src/server/scripts/Commands/cs_ban.cpp +++ b/src/server/scripts/Commands/cs_ban.cpp @@ -39,41 +39,41 @@ public: { static ChatCommand unbanCommandTable[] = { - { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanAccountCommand, "", NULL }, - { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanCharacterCommand, "", NULL }, - { "playeraccount", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanAccountByCharCommand, "", NULL }, - { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleUnBanIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_UNBAN_ACCOUNT, true, &HandleUnBanAccountCommand, "", NULL }, + { "character", RBAC_PERM_COMMAND_UNBAN_CHARACTER, true, &HandleUnBanCharacterCommand, "", NULL }, + { "playeraccount", RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT, true, &HandleUnBanAccountByCharCommand, "", NULL }, + { "ip", RBAC_PERM_COMMAND_UNBAN_IP, true, &HandleUnBanIPCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand banlistCommandTable[] = { - { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListAccountCommand, "", NULL }, - { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListCharacterCommand, "", NULL }, - { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanListIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_BANLIST_ACCOUNT, true, &HandleBanListAccountCommand, "", NULL }, + { "character", RBAC_PERM_COMMAND_BANLIST_CHARACTER, true, &HandleBanListCharacterCommand, "", NULL }, + { "ip", RBAC_PERM_COMMAND_BANLIST_IP, true, &HandleBanListIPCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand baninfoCommandTable[] = { - { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoAccountCommand, "", NULL }, - { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoCharacterCommand, "", NULL }, - { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanInfoIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_BANINFO_ACCOUNT, true, &HandleBanInfoAccountCommand, "", NULL }, + { "character", RBAC_PERM_COMMAND_BANINFO_CHARACTER, true, &HandleBanInfoCharacterCommand, "", NULL }, + { "ip", RBAC_PERM_COMMAND_BANINFO_IP, true, &HandleBanInfoIPCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand banCommandTable[] = { - { "account", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanAccountCommand, "", NULL }, - { "character", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanCharacterCommand, "", NULL }, - { "playeraccount", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanAccountByCharCommand, "", NULL }, - { "ip", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleBanIPCommand, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "account", RBAC_PERM_COMMAND_BAN_ACCOUNT, true, &HandleBanAccountCommand, "", NULL }, + { "character", RBAC_PERM_COMMAND_BAN_CHARACTER, true, &HandleBanCharacterCommand, "", NULL }, + { "playeraccount", RBAC_PERM_COMMAND_BAN_PLAYERACCOUNT, true, &HandleBanAccountByCharCommand, "", NULL }, + { "ip", RBAC_PERM_COMMAND_BAN_IP, true, &HandleBanIPCommand, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "ban", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", banCommandTable }, - { "baninfo", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", baninfoCommandTable }, - { "banlist", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", banlistCommandTable }, - { "unban", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, NULL, "", unbanCommandTable }, - { NULL, 0, false, NULL, "", NULL } + { "ban", RBAC_PERM_COMMAND_BAN, true, NULL, "", banCommandTable }, + { "baninfo", RBAC_PERM_COMMAND_BANINFO, true, NULL, "", baninfoCommandTable }, + { "banlist", RBAC_PERM_COMMAND_BANLIST, true, NULL, "", banlistCommandTable }, + { "unban", RBAC_PERM_COMMAND_UNBAN, true, NULL, "", unbanCommandTable }, + { NULL, 0, false, NULL, "", NULL } }; return commandTable; } -- cgit v1.2.3