mod_webpresence: Support @HOST@ in 'baseurl' value

This commit is contained in:
Holger Weiss 2014-09-14 22:45:05 +02:00
parent a1eb77b91a
commit bb18e9f04b
2 changed files with 5 additions and 3 deletions

View File

@ -82,6 +82,7 @@ baseurl:
This informational option is used only when sending a message to the user This informational option is used only when sending a message to the user
and when building the JavaScript code. and when building the JavaScript code.
It is the base part of the URL of the webpresence HTTP content. It is the base part of the URL of the webpresence HTTP content.
You can use the keyword @HOST@.
If the option is not specified, it takes as default value: http://host:port/path/ If the option is not specified, it takes as default value: http://host:port/path/

View File

@ -93,15 +93,16 @@ init([Host, Opts]) ->
Access = gen_mod:get_opt(access, Opts, fun(O) -> O end, local), Access = gen_mod:get_opt(access, Opts, fun(O) -> O end, local),
Port = gen_mod:get_opt(port, Opts, fun(O) -> O end, 5280), Port = gen_mod:get_opt(port, Opts, fun(O) -> O end, 5280),
Path = gen_mod:get_opt(path, Opts, fun(O) -> O end, <<"presence">>), Path = gen_mod:get_opt(path, Opts, fun(O) -> O end, <<"presence">>),
BaseURL = gen_mod:get_opt(baseurl, Opts, fun(O) -> O end, BaseURL1 = gen_mod:get_opt(baseurl, Opts, fun(O) -> O end,
iolist_to_binary(io_lib:format(<<"http://~s:~p/~s/">>, [Host, Port, Path]))), iolist_to_binary(io_lib:format(<<"http://~s:~p/~s/">>, [Host, Port, Path]))),
BaseURL2 = ejabberd_regexp:greplace(BaseURL1, <<"@HOST@">>, Host),
ejabberd_router:register_route(MyHost), ejabberd_router:register_route(MyHost),
ejabberd_hooks:add(remove_user, Host, ?MODULE, remove_user, 50), ejabberd_hooks:add(remove_user, Host, ?MODULE, remove_user, 50),
ejabberd_hooks:add(webadmin_menu_host, Host, ?MODULE, web_menu_host, 50), ejabberd_hooks:add(webadmin_menu_host, Host, ?MODULE, web_menu_host, 50),
ejabberd_hooks:add(webadmin_page_host, Host, ?MODULE, web_page_host, 50), ejabberd_hooks:add(webadmin_page_host, Host, ?MODULE, web_page_host, 50),
{ok, #state{host = MyHost, {ok, #state{host = MyHost,
server_host = Host, server_host = Host,
base_url = BaseURL, base_url = BaseURL2,
access = Access}}. access = Access}}.
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------