]> granicus.if.org Git - ejabberd/commitdiff
* src/mod_muc/mod_muc_log.erl: Fix XHTML compliance: ensure some
authorBadlop <badlop@process-one.net>
Wed, 9 Jul 2008 18:39:41 +0000 (18:39 +0000)
committerBadlop <badlop@process-one.net>
Wed, 9 Jul 2008 18:39:41 +0000 (18:39 +0000)
language is set, include ID attribute in each message, add
microseconds to ensure unique value (EJAB-497)

SVN Revision: 1426

ChangeLog
src/mod_muc/mod_muc_log.erl

index 4e1453d528f7cbf2eb85df34654110a9cd27fd17..9b7fe685a0986c0840639b053caa7d9a5498d844 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2008-07-09  Badlop  <badlop@process-one.net>
 
+       * 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/ejabberd_config.erl (load_file): error message on sasl.log
        is not flattened (EJAB-616)
 
index fce9c15b26347ae691c6453e77f0f27eb3b63e39..9ab8d4ce2e2b7104ec5ea271777d1f0cb4210ff1 100644 (file)
@@ -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("<a name=\"~s\" href=\"#~s\" class=\"ts\">[~s]</a> ~s~n", 
-                               [STime, STime, STime, Text])),
+    file:write(F, io_lib:format("<a id=\"~s\" name=\"~s\" href=\"#~s\" class=\"ts\">[~s]</a> ~s~n",
+                               [STimeUnique, STimeUnique, STimeUnique, STime, Text])),
 
     % Close file
     file:close(F),