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_disco.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_disco.erl')
-rw-r--r-- | src/mod_disco.erl | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mod_disco.erl b/src/mod_disco.erl index f77cb7ef..e2632a0b 100644 --- a/src/mod_disco.erl +++ b/src/mod_disco.erl @@ -41,7 +41,7 @@ -include("ejabberd.hrl"). -include("logger.hrl"). - +-include("translate.hrl"). -include("xmpp.hrl"). -include_lib("stdlib/include/ms_transform.hrl"). -include("mod_roster.hrl"). @@ -195,10 +195,12 @@ process_local_iq_info(#iq{type = get, lang = Lang, -spec get_local_identity([identity()], jid(), jid(), binary(), binary()) -> [identity()]. -get_local_identity(Acc, _From, _To, <<"">>, _Lang) -> +get_local_identity(Acc, _From, To, <<"">>, _Lang) -> + Host = To#jid.lserver, + Name = gen_mod:get_module_opt(Host, ?MODULE, name, ?T("ejabberd")), Acc ++ [#identity{category = <<"server">>, type = <<"im">>, - name = <<"ejabberd">>}]; + name = Name}]; get_local_identity(Acc, _From, _To, _Node, _Lang) -> Acc. @@ -456,6 +458,7 @@ depends(_Host, _Opts) -> mod_opt_type(extra_domains) -> fun (Hs) -> [iolist_to_binary(H) || H <- Hs] end; mod_opt_type(iqdisc) -> fun gen_iq_handler:check_type/1; +mod_opt_type(name) -> fun iolist_to_binary/1; mod_opt_type(server_info) -> fun (L) -> lists:map(fun (Opts) -> @@ -466,4 +469,4 @@ mod_opt_type(server_info) -> end, L) end; -mod_opt_type(_) -> [extra_domains, iqdisc, server_info]. +mod_opt_type(_) -> [extra_domains, iqdisc, server_info, name]. |