aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2012-10-12 18:49:22 +0200
committerKim Alvefur <zash@zash.se>2012-10-12 18:49:22 +0200
commitb7033ea7312aff393176c927d4fd067fc7f9f7ea (patch)
tree07c6ce9082c51cac1d5e3c66afb2ff184218a8c4
parentd6242f152988f935fdf15225850b0543be1ac818 (diff)
downloadprosody-b7033ea7312aff393176c927d4fd067fc7f9f7ea.tar.gz
prosody-b7033ea7312aff393176c927d4fd067fc7f9f7ea.zip
mod_admin_telnet: user:list(): Allow filtering the set of users
-rw-r--r--plugins/mod_admin_telnet.lua12
1 files changed, 8 insertions, 4 deletions
diff --git a/plugins/mod_admin_telnet.lua b/plugins/mod_admin_telnet.lua
index 9e8d00ec..e9d595ba 100644
--- a/plugins/mod_admin_telnet.lua
+++ b/plugins/mod_admin_telnet.lua
@@ -228,7 +228,7 @@ function commands.help(session, data)
print [[user:create(jid, password) - Create the specified user account]]
print [[user:password(jid, password) - Set the password for the specified user account]]
print [[user:delete(jid) - Permanently remove the specified user account]]
- print [[user:list(hostname) - List users on the specified host]]
+ print [[user:list(hostname, pattern) - List users on the specified host, optionally filtering with a pattern]]
elseif section == "server" then
print [[server:version() - Show the server's version number]]
print [[server:uptime() - Show how long the server has been running]]
@@ -953,17 +953,21 @@ function def_env.user:password(jid, password)
end
end
-function def_env.user:list(host)
+function def_env.user:list(host, pat)
if not host then
return nil, "No host given";
elseif not hosts[host] then
return nil, "No such host";
end
local print = self.session.print;
+ local count = 0;
for user in um.users(host) do
- print(user.."@"..host);
+ if not pat or user:match(pat) then
+ print(user.."@"..host);
+ end
+ count = count + 1;
end
- return true;
+ return true, count .. " users total";
end
def_env.xmpp = {};