summaryrefslogtreecommitdiff
path: root/src/servercommand.cpp
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-05-29 22:34:04 +0300
committerPerttu Ahola <celeron55@gmail.com>2011-05-29 22:34:04 +0300
commite81919c818c6040de7401a037e3fdfac88b28eea (patch)
tree077500573681ea9f75c2cede5741e4aad1f2ef6c /src/servercommand.cpp
parente8b8ed0280cd70efd2c6ce3e579520a95d3f270d (diff)
downloadminetest-e81919c818c6040de7401a037e3fdfac88b28eea.tar.gz
minetest-e81919c818c6040de7401a037e3fdfac88b28eea.tar.bz2
minetest-e81919c818c6040de7401a037e3fdfac88b28eea.zip
hopefully fixed the privilege problems
--HG-- extra : rebase_source : 9826d20176134a53ff232816a10407465d8c0f50
Diffstat (limited to 'src/servercommand.cpp')
-rw-r--r--src/servercommand.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/servercommand.cpp b/src/servercommand.cpp
index e14f326f4..e05578b39 100644
--- a/src/servercommand.cpp
+++ b/src/servercommand.cpp
@@ -35,7 +35,8 @@ void cmd_privs(std::wostringstream &os,
{
// Show our own real privs, without any adjustments
// made for admin status
- os<<L"-!- " + narrow_to_wide(privsToString(ctx->player->privs));
+ os<<L"-!- " + narrow_to_wide(privsToString(
+ ctx->server->getPlayerAuthPrivs(ctx->player->getName())));
return;
}
@@ -52,7 +53,7 @@ void cmd_privs(std::wostringstream &os,
return;
}
- os<<L"-!- " + narrow_to_wide(privsToString(tp->privs));
+ os<<L"-!- " + narrow_to_wide(privsToString(ctx->server->getPlayerAuthPrivs(tp->getName())));
}
void cmd_grantrevoke(std::wostringstream &os,
@@ -83,14 +84,19 @@ void cmd_grantrevoke(std::wostringstream &os,
os<<L"-!- No such player";
return;
}
+
+ std::string playername = wide_to_narrow(ctx->parms[1]);
+ u64 privs = ctx->server->getPlayerAuthPrivs(playername);
if(ctx->parms[0] == L"grant")
- tp->privs |= newprivs;
+ privs |= newprivs;
else
- tp->privs &= ~newprivs;
+ privs &= ~newprivs;
+
+ ctx->server->setPlayerAuthPrivs(playername, privs);
os<<L"-!- Privileges change to ";
- os<<narrow_to_wide(privsToString(tp->privs));
+ os<<narrow_to_wide(privsToString(privs));
}
void cmd_time(std::wostringstream &os,