Mercurial > prosody-modules
comparison mod_muc_log/mod_muc_log.lua @ 57:cddcea7c091a
mod_muc_log: set content-type header; escape some html stuff in messages (>, <, \n, http://....)
| author | Thilo Cestonaro <thilo@cestona.ro> |
|---|---|
| date | Mon, 19 Oct 2009 22:43:30 +0200 |
| parents | e9de45beaf5e |
| children | 50e3d5b87119 |
comparison
equal
deleted
inserted
replaced
| 56:e9de45beaf5e | 57:cddcea7c091a |
|---|---|
| 24 --[[ | 24 --[[ |
| 25 * Default templates for the html output. | 25 * Default templates for the html output. |
| 26 ]]-- | 26 ]]-- |
| 27 local html = {}; | 27 local html = {}; |
| 28 html.doc = [[<html> | 28 html.doc = [[<html> |
| 29 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" > | |
| 29 <head> | 30 <head> |
| 30 <title>muc_log</title> | 31 <title>muc_log</title> |
| 31 </head> | 32 </head> |
| 32 <style type="text/css"> | 33 <style type="text/css"> |
| 33 <!-- | 34 <!-- |
| 155 function createDoc(body) | 156 function createDoc(body) |
| 156 return html.doc:gsub("###BODY_STUFF###", body); | 157 return html.doc:gsub("###BODY_STUFF###", body); |
| 157 end | 158 end |
| 158 | 159 |
| 159 local function htmlEscape(t) | 160 local function htmlEscape(t) |
| 161 t = t:gsub("<", "<"); | |
| 162 t = t:gsub(">", ">"); | |
| 163 t = t:gsub("(http://[%a%d@%.:/&%?=%-_#]+)", [[<a href="%1">%1</a>]]); | |
| 160 t = t:gsub("\n", "<br />"); | 164 t = t:gsub("\n", "<br />"); |
| 161 -- TODO link text into klickable link and such stuff | 165 -- TODO do any html escaping stuff ... |
| 162 return t; | 166 return t; |
| 163 end | 167 end |
| 164 | 168 |
| 165 function splitQuery(query) | 169 function splitQuery(query) |
| 166 local ret = {}; | 170 local ret = {}; |
