summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2007-06-26 18:00:36 +0000
committerAlexey Shchepin <alexey@process-one.net>2007-06-26 18:00:36 +0000
commitef7e43b2dc8ba4020f0dd4b130fb3f5e6802e06b (patch)
tree58fd15d2b71a271833a3da4f9ee60d8b7edf559c /src
parent* doc/guide.tex: Typos (diff)
* src/mod_muc/mod_muc_room.erl: Include <body/> in MUC invitations
for older clients (thanks to Michael Scherer) SVN Revision: 796
Diffstat (limited to '')
-rw-r--r--src/mod_muc/mod_muc_room.erl33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl
index ef465768..4aa65521 100644
--- a/src/mod_muc/mod_muc_room.erl
+++ b/src/mod_muc/mod_muc_room.erl
@@ -205,7 +205,7 @@ normal_state({route, From, "",
From, Err),
{next_state, normal_state, StateData};
Type when (Type == "") or (Type == "normal") ->
- case catch check_invitation(From, Els, StateData) of
+ case catch check_invitation(From, Els, Lang, StateData) of
{error, Error} ->
Err = jlib:make_error_reply(
Packet, Error),
@@ -2625,7 +2625,7 @@ get_title(StateData) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Invitation support
-check_invitation(From, Els, StateData) ->
+check_invitation(From, Els, Lang, StateData) ->
FAffiliation = get_affiliation(From, StateData),
CanInvite = (StateData#state.config)#config.allow_user_invites
orelse (FAffiliation == admin) orelse (FAffiliation == owner),
@@ -2675,6 +2675,32 @@ check_invitation(From, Els, StateData) ->
_ ->
[]
end,
+ Body =
+ {xmlelement, "body", [],
+ [{xmlcdata,
+ lists:flatten(
+ io_lib:format(
+ translate:translate(
+ Lang,
+ "You have been invited to ~s by ~s"),
+ [jlib:jid_to_string({StateData#state.room,
+ StateData#state.host,
+ ""}),
+ jlib:jid_to_string(From)])) ++
+ case (StateData#state.config)#config.password_protected of
+ true ->
+ ", " ++
+ translate:translate(Lang, "the password is") ++
+ " '" ++
+ (StateData#state.config)#config.password ++ "'";
+ _ ->
+ ""
+ end ++
+ case Reason of
+ "" -> "";
+ _ -> " (" ++ Reason ++ ") "
+ end
+ }]},
Msg =
{xmlelement, "message",
[{"type", "normal"}],
@@ -2685,7 +2711,8 @@ check_invitation(From, Els, StateData) ->
{StateData#state.room,
StateData#state.host,
""})}],
- [{xmlcdata, Reason}]}]},
+ [{xmlcdata, Reason}]},
+ Body]},
ejabberd_router:route(StateData#state.jid, JID, Msg),
JID
end.