mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-28 16:34:13 +01:00
mod_muc_log: Hide join/leave lines, add method to show them
This commit is contained in:
parent
c0055b7a7f
commit
281515cd9f
@ -16,12 +16,14 @@ a.roomjid {color: #336699; font-size: 24px; font-weight: bold; font-family: sans
|
|||||||
div.logdate {color: #663399; font-size: 20px; font-weight: bold; font-family: sans-serif; letter-spacing: 2px; border-bottom: #224466 solid 1pt; margin-left:80pt; margin-top:20px;}
|
div.logdate {color: #663399; font-size: 20px; font-weight: bold; font-family: sans-serif; letter-spacing: 2px; border-bottom: #224466 solid 1pt; margin-left:80pt; margin-top:20px;}
|
||||||
div.roomsubject {color: #336699; font-size: 18px; font-family: sans-serif; margin-left: 80pt; margin-bottom: 10px;}
|
div.roomsubject {color: #336699; font-size: 18px; font-family: sans-serif; margin-left: 80pt; margin-bottom: 10px;}
|
||||||
div.rc {color: #336699; font-size: 12px; font-family: sans-serif; margin-left: 50%; text-align: right; background: #f3f6f9; border-bottom: 1px solid #336699; border-right: 4px solid #336699;}
|
div.rc {color: #336699; font-size: 12px; font-family: sans-serif; margin-left: 50%; text-align: right; background: #f3f6f9; border-bottom: 1px solid #336699; border-right: 4px solid #336699;}
|
||||||
div.rct {font-weight: bold; background: #e3e6e9; padding-right: 10px;}
|
div.rct {font-weight: bold; background: #e3e6e9; padding-right: 10px; cursor: pointer;}
|
||||||
|
div.rct:hover {text-decoration: underline;}
|
||||||
div.rcos {padding-right: 10px;}
|
div.rcos {padding-right: 10px;}
|
||||||
div.rcoe {color: green;}
|
div.rcoe {color: green;}
|
||||||
div.rcod {color: red;}
|
div.rcod {color: red;}
|
||||||
div.rcoe:after {content: ": v";}
|
div.rcoe:after {content: ": v";}
|
||||||
div.rcod:after {content: ": x";}
|
div.rcod:after {content: ": x";}
|
||||||
div.rcot:after {}
|
div.rcot:after {}
|
||||||
|
div.jl {display: none;}
|
||||||
.legend {width: 100%; margin-top: 30px; border-top: #224466 solid 1pt; padding: 10px 0px 10px 0px; text-align: left; font-family: monospace; letter-spacing: 2px;}
|
.legend {width: 100%; margin-top: 30px; border-top: #224466 solid 1pt; padding: 10px 0px 10px 0px; text-align: left; font-family: monospace; letter-spacing: 2px;}
|
||||||
.w3c {position: absolute; right: 10px; width: 60%; text-align: right; font-family: monospace; letter-spacing: 1px;}
|
.w3c {position: absolute; right: 10px; width: 60%; text-align: right; font-family: monospace; letter-spacing: 1px;}
|
||||||
|
@ -6,3 +6,14 @@ function sh(e) {
|
|||||||
document.getElementById(e).style.display='none';
|
document.getElementById(e).style.display='none';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Show/Hide join/leave elements
|
||||||
|
function jlf() {
|
||||||
|
var es = document.getElementsByClassName('jl');
|
||||||
|
for (var i = 0; i < es.length; i++) {
|
||||||
|
if (es[i].style.display === 'block') {
|
||||||
|
es[i].style.display = 'none';
|
||||||
|
} else {
|
||||||
|
es[i].style.display = 'block';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -443,11 +443,13 @@ add_message_to_log(Nick1, Message, RoomJID, Opts,
|
|||||||
{_, _, Microsecs} = Now,
|
{_, _, Microsecs} = Now,
|
||||||
STimeUnique = io_lib:format("~ts.~w",
|
STimeUnique = io_lib:format("~ts.~w",
|
||||||
[STime, Microsecs]),
|
[STime, Microsecs]),
|
||||||
|
maybe_print_jl(open, F, Message, FileFormat),
|
||||||
fw(F, io_lib:format("<a id=\"~ts\" name=\"~ts\" href=\"#~ts\" "
|
fw(F, io_lib:format("<a id=\"~ts\" name=\"~ts\" href=\"#~ts\" "
|
||||||
"class=\"ts\">[~ts]</a> ",
|
"class=\"ts\">[~ts]</a> ",
|
||||||
[STimeUnique, STimeUnique, STimeUnique, STime])
|
[STimeUnique, STimeUnique, STimeUnique, STime])
|
||||||
++ Text,
|
++ Text,
|
||||||
FileFormat),
|
FileFormat),
|
||||||
|
maybe_print_jl(close, F, Message, FileFormat),
|
||||||
file:close(F),
|
file:close(F),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
@ -598,6 +600,7 @@ put_header(F, Room, Date, CSSFile, Lang, Hour_offset,
|
|||||||
RoomOccupants = roomoccupants_to_string(Occupants,
|
RoomOccupants = roomoccupants_to_string(Occupants,
|
||||||
FileFormat),
|
FileFormat),
|
||||||
put_room_occupants(F, RoomOccupants, Lang, FileFormat),
|
put_room_occupants(F, RoomOccupants, Lang, FileFormat),
|
||||||
|
put_occupants_join_leave(F, Lang),
|
||||||
Time_offset_str = case Hour_offset < 0 of
|
Time_offset_str = case Hour_offset < 0 of
|
||||||
true -> io_lib:format("~p", [Hour_offset]);
|
true -> io_lib:format("~p", [Hour_offset]);
|
||||||
false -> io_lib:format("+~p", [Hour_offset])
|
false -> io_lib:format("+~p", [Hour_offset])
|
||||||
@ -663,6 +666,35 @@ put_room_occupants(F, RoomOccupants, Lang,
|
|||||||
[Now2, RoomOccupants]),
|
[Now2, RoomOccupants]),
|
||||||
fw(F, <<"</div>">>).
|
fw(F, <<"</div>">>).
|
||||||
|
|
||||||
|
put_occupants_join_leave(F, Lang) ->
|
||||||
|
fw(F, <<"<div class=\"rc\">">>),
|
||||||
|
fw(F,
|
||||||
|
<<"<div class=\"rct\" onclick=\"jlf();return "
|
||||||
|
"false;\">~ts</div>">>,
|
||||||
|
[tr(Lang, ?T("Show Occupants Join/Leave"))]),
|
||||||
|
fw(F, <<"</div>">>).
|
||||||
|
|
||||||
|
maybe_print_jl(_Direction, _F, _Message, plaintext) ->
|
||||||
|
ok;
|
||||||
|
maybe_print_jl(Direction, F, Message, html) ->
|
||||||
|
PrintJl = case Message of
|
||||||
|
join -> true;
|
||||||
|
leave -> true;
|
||||||
|
{leave, _} -> true;
|
||||||
|
_ -> false
|
||||||
|
end,
|
||||||
|
case PrintJl of
|
||||||
|
true -> print_jl(Direction, F);
|
||||||
|
false -> ok
|
||||||
|
end.
|
||||||
|
|
||||||
|
print_jl(Direction, F) ->
|
||||||
|
String = case Direction of
|
||||||
|
open -> "<div class=\"jl\">";
|
||||||
|
close -> "</div>"
|
||||||
|
end,
|
||||||
|
fw(F, io_lib:format(String, [])).
|
||||||
|
|
||||||
htmlize(S1) -> htmlize(S1, html).
|
htmlize(S1) -> htmlize(S1, html).
|
||||||
|
|
||||||
htmlize(S1, plaintext) ->
|
htmlize(S1, plaintext) ->
|
||||||
|
Loading…
Reference in New Issue
Block a user