361 end |
361 end |
362 |
362 |
363 function def_env.module:list(hosts) |
363 function def_env.module:list(hosts) |
364 if hosts == nil then |
364 if hosts == nil then |
365 hosts = array.collect(keys(prosody.hosts)); |
365 hosts = array.collect(keys(prosody.hosts)); |
|
366 table.insert(hosts, 1, "*"); |
366 end |
367 end |
367 if type(hosts) == "string" then |
368 if type(hosts) == "string" then |
368 hosts = { hosts }; |
369 hosts = { hosts }; |
369 end |
370 end |
370 if type(hosts) ~= "table" then |
371 if type(hosts) ~= "table" then |
371 return false, "Please supply a host or a list of hosts you would like to see"; |
372 return false, "Please supply a host or a list of hosts you would like to see"; |
372 end |
373 end |
373 |
374 |
374 local print = self.session.print; |
375 local print = self.session.print; |
375 for _, host in ipairs(hosts) do |
376 for _, host in ipairs(hosts) do |
376 print(host..":"); |
377 print((host == "*" and "Global" or host)..":"); |
377 local modules = array.collect(keys(prosody.hosts[host] and prosody.hosts[host].modules or {})):sort(); |
378 local modules = array.collect(keys(modulemanager.get_modules(host) or {})):sort(); |
378 if #modules == 0 then |
379 if #modules == 0 then |
379 if prosody.hosts[host] then |
380 if prosody.hosts[host] then |
380 print(" No modules loaded"); |
381 print(" No modules loaded"); |
381 else |
382 else |
382 print(" Host not found"); |
383 print(" Host not found"); |