From fc911a43ff97a8878b90c50d7cb00f4feda68260 Mon Sep 17 00:00:00 2001 From: Badlop Date: Wed, 9 Jul 2008 18:39:41 +0000 Subject: [PATCH] * src/mod_muc/mod_muc_log.erl: Fix XHTML compliance: ensure some language is set, include ID attribute in each message, add microseconds to ensure unique value (EJAB-497) SVN Revision: 1426 --- ChangeLog | 4 ++++ src/mod_muc/mod_muc_log.erl | 19 ++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 49afcbbfc..eb0074ae1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2008-07-09 Badlop + * src/mod_muc/mod_muc_log.erl: Fix XHTML compliance: ensure some + language is set, include ID attribute in each message, add + microseconds to ensure unique value (EJAB-497) + * src/mod_register.erl: Support for io_lib newline character in the body of welcome_message (EJAB-501) * doc/guide.tex: Document the newline character diff --git a/src/mod_muc/mod_muc_log.erl b/src/mod_muc/mod_muc_log.erl index fce9c15b2..9ab8d4ce2 100644 --- a/src/mod_muc/mod_muc_log.erl +++ b/src/mod_muc/mod_muc_log.erl @@ -120,9 +120,11 @@ init([Host, Opts]) -> NoFollow = gen_mod:get_opt(spam_prevention, Opts, true), Lang = case ejabberd_config:get_local_option({language, Host}) of undefined -> - ""; - L -> - L + case ejabberd_config:get_global_option(language) of + undefined -> "en"; + L -> L + end; + L -> L end, {ok, #state{host = Host, out_dir = OutDir, @@ -286,9 +288,10 @@ add_message_to_log(Nick1, Message, RoomJID, Opts, State) -> top_link = TopLink} = State, Room = get_room_info(RoomJID, Opts), + Now = now(), TimeStamp = case Timezone of - local -> calendar:now_to_local_time(now()); - universal -> calendar:now_to_universal_time(now()) + local -> calendar:now_to_local_time(Now); + universal -> calendar:now_to_universal_time(Now) end, {Fd, Fn, _Dir} = build_filename_string(TimeStamp, OutDir, Room#room.jid, DirType), {Date, Time} = TimeStamp, @@ -382,10 +385,12 @@ add_message_to_log(Nick1, Message, RoomJID, Opts, State) -> {Hour, Minute, Second} = Time, STime = lists:flatten( io_lib:format("~2..0w:~2..0w:~2..0w", [Hour, Minute, Second])), + {_, _, Microsecs} = Now, + STimeUnique = io_lib:format("~s.~w", [STime, Microsecs]), % Write message - file:write(F, io_lib:format("[~s] ~s~n", - [STime, STime, STime, Text])), + file:write(F, io_lib:format("[~s] ~s~n", + [STimeUnique, STimeUnique, STimeUnique, STime, Text])), % Close file file:close(F),