Software / code / prosody
Comparison
plugins/mod_console.lua @ 1977:325a49f8edab
mod_console: Add commands host:activate(host, config) and host:deactivate(host, reason) to add/remove hosts at runtime
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 17 Oct 2009 15:26:32 +0100 |
| parent | 1927:c3384860e23f |
| child | 2007:b89d61db74d1 |
comparison
equal
deleted
inserted
replaced
| 1976:5f3eaab987c3 | 1977:325a49f8edab |
|---|---|
| 570 end | 570 end |
| 571 | 571 |
| 572 return true, "Closed "..count.." s2s session"..((count == 1 and "") or "s"); | 572 return true, "Closed "..count.." s2s session"..((count == 1 and "") or "s"); |
| 573 end | 573 end |
| 574 | 574 |
| 575 def_env.host = {}; def_env.hosts = def_env.host; | |
| 576 function def_env.host:activate(hostname, config) | |
| 577 local hostmanager_activate = require "core.hostmanager".activate; | |
| 578 if hosts[hostname] then | |
| 579 return false, "The host "..tostring(hostname).." is already activated"; | |
| 580 end | |
| 581 | |
| 582 local defined_hosts = config or configmanager.getconfig(); | |
| 583 if not config and not defined_hosts[hostname] then | |
| 584 return false, "Couldn't find "..tostring(hostname).." defined in the config, perhaps you need to config:reload()?"; | |
| 585 end | |
| 586 hostmanager_activate(hostname, config or defined_hosts[hostname]); | |
| 587 return true, "Host "..tostring(hostname).." activated"; | |
| 588 end | |
| 589 | |
| 590 function def_env.host:deactivate(hostname, reason) | |
| 591 local hostmanager_deactivate = require "core.hostmanager".deactivate; | |
| 592 local host = hosts[hostname]; | |
| 593 if not host then | |
| 594 return false, "The host "..tostring(hostname).." is not activated"; | |
| 595 end | |
| 596 if reason then | |
| 597 reason = { condition = "host-gone", text = reason }; | |
| 598 end | |
| 599 hostmanager_deactivate(hostname, reason); | |
| 600 return true, "Host "..tostring(hostname).." deactivated"; | |
| 601 end | |
| 602 | |
| 575 ------------- | 603 ------------- |
| 576 | 604 |
| 577 function printbanner(session) | 605 function printbanner(session) |
| 578 local option = config.get("*", "core", "console_banner"); | 606 local option = config.get("*", "core", "console_banner"); |
| 579 if option == nil or option == "full" or option == "graphic" then | 607 if option == nil or option == "full" or option == "graphic" then |