Mercurial > prosody-modules
view mod_http_muc_log/http_muc_log.html @ 3568:6b3181fe5617
mod_auth_token: Timezone fix for TOTP checking
luatz.time() returns milliseconds since epoch which is in UTC time, so we don't
need to convert to UTC with gmtime.
By calling gmtime, TOTP validation was failing when this module wasn't running
on machine set to UTC time.
author | JC Brand <jc@opkode.com> |
---|---|
date | Thu, 02 May 2019 11:07:27 +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? }{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>