summaryrefslogtreecommitdiff
path: root/src/mod_muc_log.erl
diff options
context:
space:
mode:
authorbadlop <badlop@ono.com>2014-05-21 17:31:22 +0200
committerbadlop <badlop@ono.com>2014-05-21 17:31:22 +0200
commit5d855f3723cc79817ac883f180d449c44d5e58a7 (patch)
tree361ce9a14adcbe10c5dc683c0b28e084782a33bb /src/mod_muc_log.erl
parentIf log uses file:write, no need to double escape ~ in messages (EJAB-1696) (diff)
parentDon't log MUC messages with <no-store/> hint (diff)
Merge pull request #207 from weiss/xep-0334
Honor XEP-0334: Message Processing Hints
Diffstat (limited to 'src/mod_muc_log.erl')
-rw-r--r--src/mod_muc_log.erl24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/mod_muc_log.erl b/src/mod_muc_log.erl
index b4db67b3..ac6bea4f 100644
--- a/src/mod_muc_log.erl
+++ b/src/mod_muc_log.erl
@@ -233,16 +233,22 @@ code_change(_OldVsn, State, _Extra) -> {ok, State}.
%%% Internal functions
%%--------------------------------------------------------------------
add_to_log2(text, {Nick, Packet}, Room, Opts, State) ->
- case {xml:get_subtag(Packet, <<"subject">>),
- xml:get_subtag(Packet, <<"body">>)}
+ case {xml:get_subtag(Packet, <<"no-store">>),
+ xml:get_subtag(Packet, <<"no-permanent-store">>)}
of
- {false, false} -> ok;
- {false, SubEl} ->
- Message = {body, xml:get_tag_cdata(SubEl)},
- add_message_to_log(Nick, Message, Room, Opts, State);
- {SubEl, _} ->
- Message = {subject, xml:get_tag_cdata(SubEl)},
- add_message_to_log(Nick, Message, Room, Opts, State)
+ {false, false} ->
+ case {xml:get_subtag(Packet, <<"subject">>),
+ xml:get_subtag(Packet, <<"body">>)}
+ of
+ {false, false} -> ok;
+ {false, SubEl} ->
+ Message = {body, xml:get_tag_cdata(SubEl)},
+ add_message_to_log(Nick, Message, Room, Opts, State);
+ {SubEl, _} ->
+ Message = {subject, xml:get_tag_cdata(SubEl)},
+ add_message_to_log(Nick, Message, Room, Opts, State)
+ end;
+ {_, _} -> ok
end;
add_to_log2(roomconfig_change, _Occupants, Room, Opts,
State) ->