diff options
author | Kim Alvefur <zash@zash.se> | 2012-10-12 18:49:22 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2012-10-12 18:49:22 +0200 |
commit | b7033ea7312aff393176c927d4fd067fc7f9f7ea (patch) | |
tree | 07c6ce9082c51cac1d5e3c66afb2ff184218a8c4 /plugins | |
parent | d6242f152988f935fdf15225850b0543be1ac818 (diff) | |
download | prosody-b7033ea7312aff393176c927d4fd067fc7f9f7ea.tar.gz prosody-b7033ea7312aff393176c927d4fd067fc7f9f7ea.zip |
mod_admin_telnet: user:list(): Allow filtering the set of users
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_admin_telnet.lua | 12 |
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 = {}; |