From: Perttu Ahola Date: Sat, 31 Mar 2012 22:10:06 +0000 (+0300) Subject: granting and revoking of all privileges at once X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=d5594e431c841bf6a4c97bac946ef188404df129;p=zefram%2Fminetest%2Fminetest_engine.git granting and revoking of all privileges at once --- diff --git a/builtin/builtin.lua b/builtin/builtin.lua index d681faa7..862683a9 100644 --- a/builtin/builtin.lua +++ b/builtin/builtin.lua @@ -994,7 +994,7 @@ minetest.register_chatcommand("privs", { end, }) minetest.register_chatcommand("grant", { - params = " ", + params = " |all", description = "Give privilege to player", privs = {privs=true}, func = function(name, param) @@ -1004,6 +1004,9 @@ minetest.register_chatcommand("grant", { return end local grantprivs = minetest.string_to_privs(grantprivstr) + if grantprivstr == "all" then + grantprivs = minetest.registered_privileges + end local privs = minetest.get_player_privs(grantname) for priv, _ in pairs(grantprivs) do privs[priv] = true @@ -1016,7 +1019,7 @@ minetest.register_chatcommand("grant", { end, }) minetest.register_chatcommand("revoke", { - params = " ", + params = " |all", description = "Remove privilege from player", privs = {privs=true}, func = function(name, param) @@ -1027,8 +1030,12 @@ minetest.register_chatcommand("revoke", { end local revokeprivs = minetest.string_to_privs(revokeprivstr) local privs = minetest.get_player_privs(revokename) - for priv, _ in pairs(revokeprivs) do - privs[priv] = nil + if revokeprivstr == "all" then + privs = {} + else + for priv, _ in pairs(revokeprivs) do + privs[priv] = nil + end end minetest.set_player_privs(revokename, privs) minetest.chat_send_player(name, "Privileges of "..revokename..": "..minetest.privs_to_string(minetest.get_player_privs(revokename), ' '))