summaryrefslogtreecommitdiff
path: root/src/mod_irc.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-01-08 11:29:17 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-01-08 11:29:17 +0300
commit9d943614668b0e88e4b28958cef165bdee165e9a (patch)
treea2a741b593b418ce850637f2e5a57cec4e578721 /src/mod_irc.erl
parentUpdate copyright dates in header files (diff)
Process 'name' option for all route-registering modules
The option allows to set arbitrary text for disco#info identity name. Previously, option 'name' was supported by mod_proxy65 and mod_http_upload only. Now, all the following modules support this option as well: - mod_disco - mod_irc - mod_muc - mod_multicast - mod_pubsub - mod_vcard Example: ``` modules: ... mod_disco: name: "Cool XMPP Server" ... ```
Diffstat (limited to 'src/mod_irc.erl')
-rw-r--r--src/mod_irc.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mod_irc.erl b/src/mod_irc.erl
index 0db4142b..ab8b31c2 100644
--- a/src/mod_irc.erl
+++ b/src/mod_irc.erl
@@ -45,6 +45,7 @@
-include("logger.hrl").
-include("xmpp.hrl").
-include("mod_irc.hrl").
+-include("translate.hrl").
-define(DEFAULT_IRC_ENCODING, <<"iso8859-15">>).
@@ -432,11 +433,12 @@ sm_route(Host, ServerHost, Packet) ->
closed_connection(Host, From, Server) ->
ets:delete(irc_connection, {From, Server, Host}).
-iq_disco(_ServerHost, <<"">>, Lang) ->
+iq_disco(ServerHost, <<"">>, Lang) ->
+ Name = gen_mod:get_module_opt(ServerHost, ?MODULE, name, ?T("IRC Transport")),
#disco_info{
identities = [#identity{category = <<"conference">>,
type = <<"irc">>,
- name = translate:translate(Lang, <<"IRC Transport">>)}],
+ name = translate:translate(Lang, Name)}],
features = [?NS_DISCO_INFO, ?NS_DISCO_ITEMS, ?NS_MUC,
?NS_REGISTER, ?NS_VCARD, ?NS_COMMANDS]};
iq_disco(ServerHost, Node, Lang) ->
@@ -986,11 +988,13 @@ mod_opt_type(access) ->
mod_opt_type(db_type) -> fun(T) -> ejabberd_config:v_db(?MODULE, T) end;
mod_opt_type(default_encoding) ->
fun iolist_to_binary/1;
+mod_opt_type(name) ->
+ fun iolist_to_binary/1;
mod_opt_type(host) -> fun iolist_to_binary/1;
mod_opt_type(hosts) ->
fun (L) -> lists:map(fun iolist_to_binary/1, L) end;
mod_opt_type(_) ->
- [access, db_type, default_encoding, host, hosts].
+ [access, db_type, default_encoding, host, hosts, name].
-spec extract_ident(stanza()) -> binary().
extract_ident(Packet) ->