tazirc view tools/tazirc-lb.cgi @ rev 7

Add a small CGI example to have online logs
author Christophe Lincoln <pankso@slitaz.org>
date Tue Jan 14 21:44:19 2014 +0100 (2014-01-14)
parents
children
line source
1 #!/bin/sh
2 #
3 # Small CGI example to display TazIRC Log Bot logs.
4 #
5 . /usr/lib/slitaz/httphelper.sh
7 host="irc.freenode.net"
8 chan="slitaz"
9 logdir="log/$host/$chan"
11 # Send content type
12 header
14 # HTML Header
15 cat << EOT
16 <!DOCTYPE html>
17 <html lang="en">
18 <head>
19 <meta charset="utf-8" />
20 <title>TazIRC Log Bot</title>
21 <link rel="stylesheet" type="text/css" href="style.css" />
22 <style type="text/css">
23 html { height: 102%; }
24 body { margin: 40px 80px; font-size: 90%; }
25 </style>
26 </head>
27 <body>
28 EOT
30 # Handle GET actions
31 case " $(GET) " in
32 *\ log\ *)
33 log="$(GET log)"
34 echo "<h2>#${chan} $log</h2>"
35 IFS="|"
36 cat ${logdir}/${log}.log | while read time user text
37 do
38 cat << EOT
39 <div>
40 [$time] <span style="color: blue;">$user:</span> $text
41 </div>
42 EOT
43 done
44 unset IFS ;;
45 *)
46 # List all logs by date
47 echo "<h2>#${chan} Logs</h2>"
48 echo "<pre>"
49 for log in $(ls $logdir/*.log | sort -r -n)
50 do
51 log="$(basename ${log%.log})"
52 echo "<a href='?log=$log'>$log</a>"
53 done
54 echo "</pre>"
55 esac
57 # HTML Footer
58 cat << EOT
59 </body>
60 </html>
61 EOT