diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2018-01-08 11:29:17 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2018-01-08 11:29:17 +0300 |
commit | 9d943614668b0e88e4b28958cef165bdee165e9a (patch) | |
tree | a2a741b593b418ce850637f2e5a57cec4e578721 /src/mod_irc.erl | |
parent | Update 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.erl | 10 |
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) -> |