X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmod_console.lua;h=4ac3c5feb025847e6a5cd5d691138c89381dc668;hb=9ded002d6d01fa5df9a171c5618071ecde34d0f1;hp=4471dccb95323626a2b3cf0fdf00d35f20b4975b;hpb=599ff7d069aa26260471007f719f420e832e1cfd;p=prosody.git diff --git a/plugins/mod_console.lua b/plugins/mod_console.lua index 4471dccb..4ac3c5fe 100644 --- a/plugins/mod_console.lua +++ b/plugins/mod_console.lua @@ -1,3 +1,23 @@ +-- Prosody IM v0.1 +-- Copyright (C) 2008 Matthew Wild +-- Copyright (C) 2008 Waqas Hussain +-- +-- This program is free software; you can redistribute it and/or +-- modify it under the terms of the GNU General Public License +-- as published by the Free Software Foundation; either version 2 +-- of the License, or (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program; if not, write to the Free Software +-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +-- + + local connlisteners_register = require "net.connlisteners".register; @@ -37,7 +57,7 @@ function console_listener.listener(conn, data) -- Handle new connection session = console:new_session(conn); sessions[conn] = session; - session.print("Welcome to the lxmppd admin console!"); + printbanner(session); end if data then -- Handle data @@ -124,20 +144,29 @@ end def_env.server = {}; function def_env.server:reload() - dofile "main.lua" + dofile "prosody" return true, "Server reloaded"; end def_env.module = {}; -function def_env.module:load(name) +function def_env.module:load(name, host, config) local mm = require "modulemanager"; - local ok, err = mm.load(name); + local ok, err = mm.load(host or self.env.host, name, config); if not ok then return false, err or "Unknown error loading module"; end return true, "Module loaded"; end +function def_env.module:unload(name, host) + local mm = require "modulemanager"; + local ok, err = mm.unload(host or self.env.host, name); + if not ok then + return false, err or "Unknown error unloading module"; + end + return true, "Module unloaded"; +end + def_env.config = {}; function def_env.config:load(filename, format) local config_load = require "core.configmanager".load; @@ -163,3 +192,20 @@ end function def_env.hosts:add(name) end + +------------- + +function printbanner(session) +session.print [[ + ____ \ / _ + | _ \ _ __ ___ ___ _-_ __| |_ _ + | |_) | '__/ _ \/ __|/ _ \ / _` | | | | + | __/| | | (_) \__ \ |_| | (_| | |_| | + |_| |_| \___/|___/\___/ \__,_|\__, | + A study in simplicity |___/ + +]] +session.print("Welcome to the Prosody administration console. For a list of commands, type: help"); +session.print("You may find more help on using this console in our online documentation at "); +session.print("http://prosody.im/doc/console\n"); +end