From: Perttu Ahola Date: Sat, 16 Jun 2012 20:35:11 +0000 (+0300) Subject: Fix /setpassword and /clearpassword X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=57550b2b3d5ce5a8a7616c08b6517dc6fd8e1075;p=zefram%2Fminetest%2Fminetest_engine.git Fix /setpassword and /clearpassword --- diff --git a/builtin/chatcommands.lua b/builtin/chatcommands.lua index eaafe9ee..9f033aa1 100644 --- a/builtin/chatcommands.lua +++ b/builtin/chatcommands.lua @@ -193,12 +193,27 @@ minetest.register_chatcommand("setpassword", { description = "set given password", privs = {password=true}, func = function(name, param) - if param == "" then - minetest.chat_send_player(name, "Password field required") + local toname, raw_password = string.match(param, "^([^ ]+) +(.+)$") + if not toname then + toname = string.match(param, "^([^ ]+) *$") + raw_password = nil + end + if not toname then + minetest.chat_send_player(name, "Name field required") return end - minetest.set_player_password(name, param) - minetest.chat_send_player(name, "Password set") + local actstr = "?" + if not raw_password then + minetest.set_player_password(toname, "") + actstr = "cleared" + else + minetest.set_player_password(toname, minetest.get_password_hash(toname, raw_password)) + actstr = "set" + end + minetest.chat_send_player(name, "Password of player \""..toname.."\" "..actstr) + if toname ~= name then + minetest.chat_send_player(toname, "Your password was "..actstr.." by "..name) + end end, }) minetest.register_chatcommand("clearpassword", { @@ -206,8 +221,13 @@ minetest.register_chatcommand("clearpassword", { description = "set empty password", privs = {password=true}, func = function(name, param) - minetest.set_player_password(name, '') - minetest.chat_send_player(name, "Password cleared") + toname = param + if not toname then + minetest.chat_send_player(toname, "Name field required") + return + end + minetest.set_player_password(toname, '') + minetest.chat_send_player(name, "Password of player \""..toname.."\" cleared") end, })