diff options
author | badlop <badlop@ono.com> | 2014-05-21 17:31:22 +0200 |
---|---|---|
committer | badlop <badlop@ono.com> | 2014-05-21 17:31:22 +0200 |
commit | 5d855f3723cc79817ac883f180d449c44d5e58a7 (patch) | |
tree | 361ce9a14adcbe10c5dc683c0b28e084782a33bb /src/mod_muc_log.erl | |
parent | If log uses file:write, no need to double escape ~ in messages (EJAB-1696) (diff) | |
parent | Don'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.erl | 24 |
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) -> |