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

@ -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/

@ -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}}.
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------