view mod_http_muc_log/http_muc_log.html @ 3571:f5ea0b886c7c

mod_storage_xmlarchive: Limit search to smallest time range in case of inexact match This should improve performance in case the exact days in the 'start' and 'end' range are missing from the index.
author Kim Alvefur <zash@zash.se>
date Fri, 03 May 2019 18:59:38 +0200
parents 181561d0aae5
children b5511c48c958
line wrap: on
line source

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{title}</title>
<style>
:link,:visited{color:#2e3436;text-decoration:none;}
:link:hover,:visited:hover{color:#3465a4;}
body{background-color:#eeeeec;margin:1ex 0;padding-bottom:3em;font-family:Arial,Helvetica,sans-serif;}
ul,ol{padding:0;}
li{list-style:none;}
hr{visibility:hidden;clear:both;}
br{clear:both;}
header,footer{margin:1ex 1em;}
footer{font-size:smaller;color:#babdb6;}
nav{font-size:large;margin:1ex 1ex;clear:both;line-height:1.5em;}
footer nav .up{display:none;}
@media screen and (min-width: 460px) {
nav {font-size:x-large;margin:1ex 1em;}
}
nav a{padding: 1ex;}
nav .up{font-size:smaller;display:block;clear:both;}
nav .prev{float:left;}
nav .next{float:right;}
nav .next::after{content:" →";}
nav .prev::before{content:"← ";}
nav :empty::after,nav :empty::before{content:""}
table{display:inline-block; margin:1ex 1em;vertical-align:top;}
th{font-size:x-small}
td{text-align:right;color:#bababa;padding:.5ex}
td a{padding:0}
.content{background-color:white;padding:1em;list-style-position:inside;}
.time{float:right;font-size:small;opacity:0.2;}
li:hover .time{opacity:1;}
.description{font-size:smaller;}
.body{white-space:pre-line;}
.body::before,.body::after{content:"";}
.presence .verb{font-style:normal;color:#30c030;}
.unavailable .verb{color:#c03030;}
form{text-align:right}
</style>
</head>
<body>
<header>
<h1 title="xmpp:{jid?}">{title}</h1>
<nav>
<a href="xmpp:{jid?}?join">Join using a client</a>{links#
<a class="{item.rel?}" href="{item.href}{hide_presence&?p=h}" rel="{item.rel?}">{item.text}</a>}
</nav>
</header>
<hr>
<div class="content">
<nav>
<dl class="room-list">
{rooms#
<dt class="name"><a href="{item.href}{hide_presence&?p=h}">{item.name}</a></dt>
<dd class="description">{item.description?}</dd>}
</dl>
{years#
<h2 id="{item.year}">{item.year}</h2>
{item.months#
<table id="{item.month}-{item.year}">
<caption>{item.month}</caption>
<tr><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th></tr>{item.weeks#
<tr>{item.days#<td>{item.href&<a href="{item.href}{hide_presence&?p=h}">}{item.day?&nbsp;}{item.href&</a>}</td>}</tr>}
</table>
}
}
</nav>

<div>
<form>
<label>
<input name="p" value="h" type="checkbox"{hide_presence& checked}>
<span>Hide joins and parts</span>
</label>
<noscript>
<button type="submit">Apply</button>
</noscript>
</form>
</div>

<ol class="chat-logs">{lines#
<li class="{item.st_name} {item.st_type?}" id="{item.key}">
<a class="time" href="#{item.key}"><time datetime="{item.datetime}">{item.time}</time></a>
<b class="nick">{item.nick}</b>
<em class="verb">{item.verb?}</em>
<q class="body">{item.body?}</q>
</li>}
</ol>
</div>
<hr>
<footer>
<nav>{links#
<a class="{item.rel?}" href="{item.href}{hide_presence&?p=h}" rel="{item.rel?}">{item.text}</a>}
</nav>
<br>
<div class="powered-by">Prosody</div>
</footer>
<script>
/*
* Local timestamps
*/
(function () {
var timeTags = document.getElementsByTagName("time");
var i = 0, tag, date;
while(timeTags[i]) {
tag = timeTags[i++];
if(date = tag.getAttribute("datetime")) {
date = new Date(date);
tag.textContent = date.toLocaleTimeString(navigator.language);
tag.setAttribute("title", date.toString());
}
}
document.forms[0].elements.p.addEventListener("change", function() {
document.forms[0].submit();
});
})();
</script>
</body>
</html>